/* BAHIA Productions — Amplitude Mono · child-theme registered CSS · v2.3 */
:root{
    --ink:#373a36;
    --ink-2:#3f423d;
    --ink-3:#474a44;
    --bone:#eae6dd;
    --bone-dim:#a7a8a3;
    --rule:#4c4f49;
    --amber:#999998;
    --amber-2:#b0b0af;
    --amber-glow:rgba(153,153,152,.35);

    /* BAHIA v2.3 editable brand controls */
    --bahia-font-main:"Archivo",system-ui,sans-serif;
    --bahia-font-display:"Archivo Black",sans-serif;
    --bahia-font-mono:"JetBrains Mono",ui-monospace,monospace;
    --bahia-base-font-size:16px;
    --bahia-hero-title-size:clamp(60px,9.5vw,180px);
    --bahia-hero-title-line-height:.86;
    --bahia-section-title-size:clamp(48px,6.5vw,104px);
    --bahia-section-title-line-height:.92;
    --bahia-card-title-size:clamp(32px,2.4vw,42px);
    --bahia-section-padding-y:140px;
    --bahia-hero-padding-top:140px;
    --bahia-button-radius:0px;
    --bahia-hero-overlay-opacity:1;
  }
  .bahia-amplitude *, .bahia-amplitude *::before, .bahia-amplitude *::after{box-sizing:border-box}
  body.bahia-amplitude-page{background:var(--ink);color:var(--bone);font-family:var(--bahia-font-main);font-size:var(--bahia-base-font-size);-webkit-font-smoothing:antialiased;overflow-x:hidden}.bahia-amplitude{background:var(--ink);color:var(--bone);font-family:var(--bahia-font-main);font-size:var(--bahia-base-font-size);-webkit-font-smoothing:antialiased;overflow-x:hidden}
  .bahia-amplitude a{color:inherit;text-decoration:none}
  .bahia-amplitude button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
  .bahia-amplitude img{display:block;max-width:100%}
  .bahia-amplitude ::selection{background:var(--amber);color:var(--ink)}

  .mono{font-family:var(--bahia-font-mono);letter-spacing:.02em}
  .display{font-family:var(--bahia-font-display);font-weight:400;letter-spacing:-.02em;line-height:.9;text-transform:uppercase}
  .upper{text-transform:uppercase;letter-spacing:.16em}
  .amber{color:var(--amber)}

  /* ============== NAV ============== */
  .nav{position:fixed;inset:0 0 auto 0;z-index:50;background:linear-gradient(180deg,rgba(13,14,16,.95),rgba(13,14,16,.4) 70%,transparent);padding-bottom:24px;transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
  .nav.scrolled{background:rgba(40,42,38,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);box-shadow:0 8px 28px rgba(13,14,16,.45)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:22px 40px 14px;gap:24px}
  .nav-logo{height:28px!important;width:auto!important;max-width:220px;display:block}
  .nav-links{display:flex;gap:36px}
  .nav-links a{font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone);opacity:.82;position:relative;padding:6px 0;transition:color .2s}
  .nav-links a:hover{color:var(--amber);opacity:1}
  .nav-right{display:flex;align-items:center;gap:18px}
  .lang{display:flex;font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.16em}
  .lang button{padding:6px 8px;color:var(--bone-dim);transition:color .2s}
  .lang button.active{color:var(--amber)}
  .lang span{color:#62655d;padding:6px 2px}

  .cta-btn{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;background:var(--amber);color:var(--ink);font-family:var(--bahia-font-main);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:all .25s;position:relative;border-radius:var(--bahia-button-radius);overflow:hidden;white-space:nowrap}
  .cta-btn::after{content:"";position:absolute;inset:0;background:var(--bone);transform:translateX(-101%);transition:transform .35s cubic-bezier(.6,0,.2,1)}
  .cta-btn:hover::after{transform:translateX(0)}
  .cta-btn span{position:relative;z-index:1}
  .cta-btn .arrow{transition:transform .2s}
  .cta-btn:hover .arrow{transform:translateX(4px)}
  .cta-ghost{background:transparent;color:var(--bone);border:1px solid var(--rule)}
  .cta-ghost::after{background:var(--amber)}
  .cta-ghost:hover{color:var(--ink);border-color:var(--amber)}

  .nav-meta{display:flex;justify-content:space-between;padding:0 40px;font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-dim)}
  .nav-meta .dot{width:7px;height:7px;background:var(--amber);display:inline-block;margin-right:8px;animation:pulse 2s ease-in-out infinite;vertical-align:middle;box-shadow:0 0 10px var(--amber-glow)}
  @keyframes pulse{50%{opacity:.4;transform:scale(.85)}}

  /* ============== HERO ============== */
  .hero{position:relative;min-height:100vh;padding:var(--bahia-hero-padding-top) 40px 60px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
  .hero-bg{position:absolute;inset:0;z-index:0}
  .hero-bg::after{content:"";position:absolute;inset:0;background:
    radial-gradient(ellipse 80% 60% at 70% 110%, var(--amber-glow), transparent 60%),
    linear-gradient(180deg,rgba(13,14,16,.1) 0%,rgba(13,14,16,.45) 55%,rgba(13,14,16,.96) 100%);
    z-index:2;opacity:var(--bahia-hero-overlay-opacity)}
  .hero-bg .img{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.15) contrast(1.05) brightness(.92);animation:slowzoom 18s ease-in-out infinite alternate}
  @keyframes slowzoom{to{transform:scale(1.12)}}
  .hero-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;color:var(--bone-dim);font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
  .hero-ph::before{content:"";position:absolute;inset:0;background:
    linear-gradient(45deg,#474a44 0%,#373a36 60%),
    radial-gradient(ellipse at 30% 40%,#54574f,transparent 60%),
    radial-gradient(ellipse at 70% 80%,rgba(153,153,152,.35),transparent 60%);
    background-blend-mode:overlay}
  .hero-ph::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0,transparent 8px,rgba(255,255,255,.02) 8px,rgba(255,255,255,.02) 9px)}
  .hero-ph span{position:relative;z-index:2}
  .grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.12;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

  .hero-top{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-dim)}
  .hero-top .left{display:flex;flex-direction:column;gap:8px}
  .hero-top .right{text-align:right;display:flex;flex-direction:column;gap:8px}
  .hero-top .ticker{padding:5px 9px;border:1px solid var(--rule);background:rgba(13,14,16,.5)}

  .hero-headline{position:relative;z-index:5;margin-top:auto;padding-bottom:24px}
  .hero-headline .pre{font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:24px;display:flex;align-items:center;gap:12px}
  .hero-headline .pre .bar{width:36px;height:1px;background:var(--amber)}
  .hero-headline h1{font-family:var(--bahia-font-display);font-size:var(--bahia-hero-title-size);line-height:var(--bahia-hero-title-line-height);text-transform:uppercase;letter-spacing:-.025em;color:var(--bone)}
  .hero-headline h1 .row{display:block;position:relative}
  .hero-headline h1 .row.r2{color:transparent;-webkit-text-stroke:1.5px var(--bone);padding-left:.6em}
  .hero-headline h1 .row.r4{padding-left:1.2em;display:flex;align-items:baseline;gap:.3em}
  .hero-headline h1 .row.r4 em{font-style:normal;color:var(--amber)}
  .hero-headline h1 .arrow-blob{display:inline-block;width:.65em;height:.65em;background:var(--amber);vertical-align:middle;margin-left:.2em;clip-path:polygon(0 20%,60% 20%,60% 0%,100% 50%,60% 100%,60% 80%,0 80%)}

  .hero-bottom{position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;align-items:end;padding-top:48px;border-top:1px solid var(--rule)}
  .hero-tag{font-family:var(--bahia-font-main);font-size:16px;line-height:1.5;color:var(--bone);max-width:380px;font-weight:400}
  .hero-tag strong{color:var(--amber);font-weight:600}
  .hero-cta{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
  .hero-mini-stats{display:flex;gap:32px}
  .hero-mini-stats .ms{}
  .hero-mini-stats .ms .v{font-family:var(--bahia-font-display);font-size:42px;line-height:1;color:var(--bone)}
  .hero-mini-stats .ms .k{font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-dim);margin-top:6px}

  /* Brand bar */
  .brand-bar{position:relative;display:flex;justify-content:space-between;align-items:center;padding:32px 40px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--ink-2);overflow:hidden}
  .brand-bar .label{font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim);white-space:nowrap;padding-right:32px;border-right:1px solid var(--rule);margin-right:32px}
  .brand-marquee{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .brand-track{display:flex;gap:64px;animation:scroll 24s linear infinite;white-space:nowrap}
  .brand-track span{font-family:var(--bahia-font-display);font-size:24px;letter-spacing:-.01em;color:var(--bone);text-transform:uppercase}
  .brand-track i{font-style:normal;color:var(--amber)}
  @keyframes scroll{to{transform:translateX(-50%)}}

  /* ============== SECTIONS ============== */
  .section{padding:var(--bahia-section-padding-y) 40px;border-bottom:1px solid var(--rule);position:relative}
  .sec-num{position:absolute;top:80px;right:40px;font-family:var(--bahia-font-display);font-size:96px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--rule);letter-spacing:-.02em;pointer-events:none}
  .sec-tag{font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:32px;display:inline-flex;align-items:center;gap:12px}
  .sec-tag::before{content:"";width:24px;height:1px;background:var(--amber);display:inline-block}
  .sec-title{font-family:var(--bahia-font-display);font-size:var(--bahia-section-title-size);line-height:var(--bahia-section-title-line-height);text-transform:uppercase;letter-spacing:-.02em;max-width:1100px}
  .sec-title em{font-style:normal;color:var(--amber)}
  .sec-title .stroke{color:transparent;-webkit-text-stroke:1.2px var(--bone)}

  /* About */
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:80px;align-items:start}
  .about-body{font-family:var(--bahia-font-main);font-size:clamp(22px,1.8vw,30px);line-height:1.4;color:var(--bone);font-weight:400}
  .about-body em{font-style:normal;color:var(--amber);font-weight:600}
  .about-side{display:flex;flex-direction:column;gap:0;border-left:1px solid var(--rule);padding-left:40px}
  .about-row{padding:20px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:baseline}
  .about-row .k{font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim)}
  .about-row .v{font-family:var(--bahia-font-main);font-size:16px;font-weight:500;color:var(--bone);letter-spacing:-.01em}
  .about-row .v.big{font-family:var(--bahia-font-display);font-size:32px;line-height:1;letter-spacing:-.02em}
  .about-row .v.big em{font-style:normal;color:var(--amber)}

  /* Services — card grid w/ reveal */
  .svc-grid{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .svc-card{position:relative;background:var(--ink-2);border:1px solid var(--rule);padding:32px 28px 28px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;overflow:hidden;transition:border-color .35s ease,transform .35s ease}
  /* Background image layer */
  .svc-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.4,0,.2,1),filter .4s ease;filter:grayscale(.5) contrast(1.05) brightness(.85)}  .svc-card:hover .svc-bg,.svc-card.open .svc-bg{transform:scale(1.07);filter:grayscale(.2) brightness(.7)}
  /* Readability overlay over the image */
  .svc-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(55,58,54,.35) 0%,rgba(55,58,54,.55) 45%,rgba(55,58,54,.92) 100%);transition:background .4s ease}
  .svc-card:hover .svc-bg::after,.svc-card.open .svc-bg::after{background:linear-gradient(180deg,rgba(55,58,54,.5) 0%,rgba(55,58,54,.78) 60%,rgba(55,58,54,.96) 100%)}
  .svc-head,.svc-body{position:relative;z-index:2}
  .svc-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--amber);transition:width .5s cubic-bezier(.6,0,.2,1);z-index:3}
  .svc-card:hover,.svc-card.open{border-color:var(--amber)}
  .svc-card:hover::before,.svc-card.open::before{width:100%}
  .svc-ph-tag{position:absolute;top:16px;left:18px;font-family:var(--bahia-font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(234,230,221,.55);z-index:1}
  .svc-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim)}
  .svc-head .plus{width:30px;height:30px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:14px;transition:transform .35s,background .25s,color .25s,border-color .25s;color:var(--bone-dim)}
  .svc-card:hover .svc-head .plus,.svc-card.open .svc-head .plus{transform:rotate(45deg);background:var(--amber);color:var(--ink);border-color:var(--amber)}
  .svc-card-name{font-family:var(--bahia-font-display);font-size:var(--bahia-card-title-size);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;color:var(--bone);margin-top:auto;transition:color .25s}
  .svc-card:hover .svc-card-name,.svc-card.open .svc-card-name{color:var(--amber)}
  .svc-short{font-size:14px;line-height:1.55;color:var(--bone-dim);margin-top:14px;max-width:320px}
  .svc-reveal{position:absolute;inset:0;background:var(--ink-2);padding:28px 30px;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease;z-index:5;border:1px solid var(--amber);color:var(--bone)}
  .svc-card:hover .svc-reveal,.svc-card.open .svc-reveal{opacity:1;pointer-events:auto;transform:translateY(0)}
  .svc-reveal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--rule)}
  .svc-reveal-head .name{font-family:var(--bahia-font-display);font-size:30px;line-height:.95;letter-spacing:.02em;color:var(--bone-dim);text-transform:uppercase;max-width:70%}
  .svc-reveal-head .label{font-family:var(--bahia-font-mono);font-size:11px;line-height:1;letter-spacing:.35em;text-transform:uppercase;color:var(--bone-dim);padding-top:6px;white-space:nowrap}
  .svc-list{list-style:none;display:flex;flex-direction:column;gap:0;flex:1;overflow:auto;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:rgba(234,230,221,.35) transparent}
  .svc-list::-webkit-scrollbar{width:4px}
  .svc-list::-webkit-scrollbar-track{background:transparent}
  .svc-list::-webkit-scrollbar-thumb{background:rgba(234,230,221,.35);border-radius:999px}
  .svc-list li{font-family:var(--bahia-font-main);font-size:18px;line-height:1.35;color:var(--bone);padding:13px 0;border-bottom:1px solid rgba(234,230,221,.12);display:flex;align-items:center;gap:14px;letter-spacing:-.01em}
  .svc-list li::before{content:"";width:6px;height:6px;background:var(--bone-dim);transform:rotate(45deg);display:inline-block;flex:0 0 6px;opacity:.9;margin-right:2px}
  .svc-reveal-foot{margin-top:22px;padding-top:20px;border-top:1px solid var(--rule);font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--bone-dim);display:flex;justify-content:space-between;gap:18px}
  @media (max-width:1100px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:680px){.svc-grid{grid-template-columns:1fr}}

  /* Reel carousel (We are Bahia) */
  .work-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;margin-top:72px}
  .work-intro .sec-tag{margin-bottom:28px}
  .work-intro .sec-title{font-size:clamp(40px,4.4vw,72px)}
  .work-lead{margin-top:28px;font-size:16px;line-height:1.6;color:var(--bone-dim);max-width:420px}
  .work-hashtag{margin-top:32px;display:inline-flex;align-items:center;gap:10px;font-family:var(--bahia-font-mono);font-size:13px;letter-spacing:.04em;color:var(--bone);text-decoration:none;border:1px solid var(--rule);padding:12px 16px;transition:border-color .2s,color .2s}
  .work-hashtag b{font-weight:700}
  .work-hashtag .arr{color:var(--amber);transition:transform .2s}
  .work-hashtag:hover{border-color:var(--amber);color:var(--amber)}
  .work-hashtag:hover .arr{transform:translate(2px,-2px)}

  /* Video lightbox */
  .video-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:rgba(15,16,14,.93);padding:24px}
  .video-modal.open{display:flex}
  .vm-inner{position:relative;width:min(1100px,92vw)}
  .vm-frame-wrap{position:relative;padding-bottom:56.25%;height:0;border:1px solid var(--rule);background:#000;overflow:hidden}
  .vm-frame-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .vm-poster{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#000;display:flex;align-items:center;justify-content:center}
  .vm-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;transition:opacity .25s}
  .vm-poster:hover img{opacity:.92}
  .vm-play{position:relative;z-index:2;width:76px;height:76px;border-radius:50%;background:rgba(15,16,14,.62);border:1px solid var(--bone);color:var(--bone);font-size:24px;display:flex;align-items:center;justify-content:center;padding-left:5px;transition:background .2s,transform .2s,color .2s}
  .vm-poster:hover .vm-play{background:var(--amber);color:var(--ink);transform:scale(1.06)}
  .vm-close{position:absolute;top:-46px;right:0;background:none;border:none;color:var(--bone);font-family:var(--bahia-font-mono);font-size:20px;cursor:pointer;padding:8px;line-height:1;transition:color .2s}
  .vm-close:hover{color:var(--amber)}
  .vm-fallback{display:block;margin-top:14px;text-align:center;font-family:var(--bahia-font-mono);font-size:12px;letter-spacing:.04em;color:var(--bone-dim);text-decoration:none}
  .vm-fallback b{color:var(--bone);font-weight:700}
  .vm-fallback:hover b{color:var(--amber)}
  .reel{position:relative}
  .reel-viewport{position:relative;overflow:hidden;border:1px solid var(--rule);background:var(--ink-2)}
  .reel-track{display:flex;transition:transform .7s cubic-bezier(.6,0,.2,1);will-change:transform}
  .reel-slide{position:relative;min-width:100%;aspect-ratio:16/9;overflow:hidden}
  .reel-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.45) contrast(1.05) brightness(.82);transform:scale(1.02)}
  .reel-slide.active .reel-img{animation:reelzoom 6.5s ease-out forwards}
  @keyframes reelzoom{to{transform:scale(1.12)}}
  .reel-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 62%,rgba(55,58,54,.55) 88%,rgba(55,58,54,.88) 100%)}
  .reel-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2.4vw,30px);display:flex;align-items:flex-end;opacity:0;transform:translateY(12px);transition:opacity .6s ease .15s,transform .6s ease .15s}
  .reel-slide.active .reel-cap{opacity:1;transform:translateY(0)}
  .reel-cap .tags{font-family:var(--bahia-font-mono);font-size:11px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);padding-left:16px;border-left:2px solid var(--amber)}
  .reel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:56px;height:56px;border:1px solid rgba(234,230,221,.4);background:rgba(55,58,54,.45);backdrop-filter:blur(8px);color:var(--bone);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
  .reel-nav:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
  .reel-nav.prev{left:24px}
  .reel-nav.next{right:24px}
  .reel-index{position:absolute;top:24px;right:24px;z-index:3;font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.18em;color:var(--bone);background:rgba(55,58,54,.5);border:1px solid var(--rule);padding:7px 13px;backdrop-filter:blur(6px)}
  .reel-bottom{display:flex;align-items:center;gap:28px;margin-top:20px}
  .reel-dots{display:flex;gap:8px}
  .reel-dot{width:11px;height:11px;border:1px solid var(--rule);background:transparent;cursor:pointer;transition:background .2s,border-color .2s;padding:0}
  .reel-dot.on{background:var(--amber);border-color:var(--amber)}
  .reel-progress{flex:1;height:2px;background:var(--rule);position:relative;overflow:hidden}
  .reel-progress span{position:absolute;left:0;top:0;height:100%;width:0;background:var(--amber)}
  @media (max-width:680px){.reel-nav{width:44px;height:44px}.reel-nav.prev{left:12px}.reel-nav.next{right:12px}}

  /* Projects */
  .proj-list{margin-top:80px;display:flex;flex-direction:column}
  .proj-card{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;padding:72px 0;border-bottom:1px solid var(--rule);align-items:center;position:relative}
  .proj-card:nth-child(even){grid-template-columns:1.2fr 1fr}
  .proj-card:nth-child(even) .proj-text{order:2}
  .proj-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--rule)}
  .proj-img-wrap .ph{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:24px;color:var(--bone-dim);font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
  .proj-img-wrap .ph::before{content:"";position:absolute;inset:0;background:
    linear-gradient(135deg,#474a44,#373a36);
    z-index:0}
  .proj-img-wrap .ph::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0,transparent 8px,rgba(255,255,255,.025) 8px,rgba(255,255,255,.025) 9px);z-index:1}
  .proj-img-wrap .ph .label{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px}
  .proj-img-wrap .ph .label .px{color:#787b72}
  .proj-img-wrap:hover .ph::before{background:linear-gradient(135deg,#474a44,#5a5d56);transition:background .4s}
  .proj-num{position:absolute;top:24px;left:24px;font-family:var(--bahia-font-display);font-size:88px;line-height:.85;color:transparent;-webkit-text-stroke:1.5px rgba(234,230,221,.5);letter-spacing:-.02em;z-index:3;pointer-events:none}
  .proj-num em{font-style:normal;color:var(--amber);-webkit-text-stroke:0}
  .proj-text{display:flex;flex-direction:column;gap:20px}
  .proj-kind{font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);display:flex;gap:14px;align-items:center}
  .proj-kind .dot{width:5px;height:5px;background:var(--amber);border-radius:50%}
  .proj-title{font-family:var(--bahia-font-display);font-size:clamp(36px,4vw,64px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em}
  .proj-body{font-size:15px;line-height:1.6;color:var(--bone-dim);max-width:520px}
  .proj-meta{display:flex;gap:48px;padding-top:20px;border-top:1px solid var(--rule)}
  .proj-meta .m .v{font-family:var(--bahia-font-display);font-size:28px;line-height:1;letter-spacing:-.02em}
  .proj-meta .m .k{font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-dim);margin-top:6px}
  .proj-link{font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);display:inline-flex;align-items:center;gap:8px;margin-top:8px;transition:gap .25s}
  .proj-link:hover{gap:14px}

  /* Why us */
  .why{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--rule)}
  .why-card{padding:48px 32px;border-right:1px solid var(--rule);position:relative;transition:background .25s}
  .why-card:last-child{border-right:none}
  .why-card:hover{background:var(--ink-2)}
  .why-num{font-family:var(--bahia-font-display);font-size:160px;line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--rule);letter-spacing:-.04em;margin-bottom:24px;transition:color .3s,-webkit-text-stroke .3s}
  .why-card:hover .why-num{color:var(--amber);-webkit-text-stroke:0}
  .why-title{font-family:var(--bahia-font-display);font-size:24px;line-height:1.1;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:20px;color:var(--bone)}
  .why-body{font-size:15px;line-height:1.6;color:var(--bone-dim)}

  /* Clients */
  .clients{margin-top:80px;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
  .client{padding:48px 40px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:80px 1fr;gap:32px;align-items:start;transition:background .25s}
  .client:hover{background:var(--ink-2)}
  .client-num{font-family:var(--bahia-font-display);font-size:56px;line-height:.9;color:transparent;-webkit-text-stroke:1.2px var(--rule);letter-spacing:-.02em;transition:color .25s,-webkit-text-stroke .25s}
  .client:hover .client-num{color:var(--amber);-webkit-text-stroke:0}
  .client-title{font-family:var(--bahia-font-display);font-size:28px;line-height:1;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:14px}
  .client-body{font-size:14px;line-height:1.6;color:var(--bone-dim)}

  /* FAQ */
  .faq-list{margin-top:80px;border-top:1px solid var(--rule)}
  .faq-item{border-bottom:1px solid var(--rule)}
  .faq-q{width:100%;display:grid;grid-template-columns:60px 1fr 32px;gap:24px;align-items:center;padding:32px 0;text-align:left;cursor:pointer;transition:color .2s}
  .faq-q .n{font-family:var(--bahia-font-mono);font-size:11px;letter-spacing:.18em;color:var(--bone-dim)}
  .faq-q .t{font-family:var(--bahia-font-display);font-size:clamp(20px,2vw,30px);line-height:1.15;text-transform:uppercase;letter-spacing:-.01em;color:var(--bone);transition:color .2s}
  .faq-q:hover .t{color:var(--amber)}
  .faq-q .x{font-family:var(--bahia-font-mono);font-size:18px;color:var(--amber);width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:transform .3s}
  .faq-item.open .faq-q .x{transform:rotate(45deg)}
  .faq-item.open .faq-q .t{color:var(--amber)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
  .faq-a-inner{padding:0 0 36px 84px;font-size:16px;line-height:1.6;color:var(--bone-dim);max-width:780px}
  .faq-item.open .faq-a{max-height:400px}

  /* Big CTA */
  .bigcta{padding:180px 40px;text-align:left;position:relative;overflow:hidden}
  .bigcta-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;filter:grayscale(.15) contrast(1.03) brightness(.95);animation:slowzoom 20s ease-in-out infinite alternate}
  .bigcta::before{content:"";position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(55,58,54,.72) 0%,rgba(55,58,54,.35) 50%,rgba(55,58,54,.08) 100%),
    linear-gradient(180deg,rgba(55,58,54,.3) 0%,rgba(55,58,54,.08) 45%,rgba(55,58,54,.6) 100%);
    pointer-events:none;z-index:1}
  .bigcta-inner{position:relative;z-index:2}
  .bigcta h2{font-family:var(--bahia-font-display);font-size:clamp(64px,11vw,196px);line-height:.85;text-transform:uppercase;letter-spacing:-.03em;color:var(--bone);margin-bottom:48px;max-width:1300px}
  .bigcta h2 em{font-style:normal;color:var(--amber)}
  .bigcta h2 .stroke{color:transparent;-webkit-text-stroke:1.5px var(--bone)}
  .bigcta-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .cta-lg{padding:22px 36px;font-size:13px}

  /* Contact */
  .contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;margin-top:80px}
  .contact-info{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--rule)}
  .contact-info .blk{padding:24px 0;border-bottom:1px solid var(--rule)}
  .contact-info .k{font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.2em;color:var(--bone-dim);text-transform:uppercase;margin-bottom:10px}
  .contact-info .v{font-family:var(--bahia-font-main);font-size:18px;color:var(--bone);font-weight:500;line-height:1.5}
  .contact-info .v.amber{color:var(--amber)}
  .contact-info a.v{transition:opacity .2s}
  .contact-info a.v:hover{opacity:.7;text-decoration:underline}
  .jotform-wrap{border:1px solid var(--rule);background:var(--ink-2);padding:8px}
  .jotform-wrap iframe{display:block;width:100%}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .field{display:flex;flex-direction:column;gap:8px}
  .field.full{grid-column:span 2}
  .field label{font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim)}
  .field input,.field select,.field textarea{background:var(--ink-2);border:1px solid var(--rule);padding:14px 16px;color:var(--bone);font-family:var(--bahia-font-main);font-size:15px;outline:none;transition:border-color .2s,background .2s}
  .field select{appearance:none}
  .field textarea{resize:vertical;min-height:120px}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--amber);background:var(--ink-3)}
  .field input::placeholder,.field textarea::placeholder{color:#62655d}

  /* Footer */
  .bahia-footer{padding:80px 40px 32px;background:var(--ink-2);border-top:1px solid var(--rule);position:relative;overflow:hidden}
  .bahia-footer::before{content:"";position:absolute;top:0;right:0;width:50%;height:240px;background:radial-gradient(ellipse,var(--amber-glow),transparent 60%);pointer-events:none;opacity:.6}
  .footer-top{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:80px;align-items:end}
  .footer-cta-text{font-family:var(--bahia-font-display);font-size:clamp(36px,4.5vw,64px);line-height:.95;text-transform:uppercase;letter-spacing:-.02em}
  .footer-cta-text em{font-style:normal;color:var(--amber)}
  .footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:80px;padding-top:48px;border-top:1px solid var(--rule)}
  .footer-logo img{height:40px!important;width:auto!important;margin-bottom:24px}
  .footer-tag{font-size:14px;line-height:1.6;color:var(--bone-dim);max-width:320px}
  .footer-col h4{font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:20px}
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
  .footer-col a{font-family:var(--bahia-font-main);font-size:15px;color:var(--bone);transition:color .2s}
  .footer-col a:hover{color:var(--amber)}
  .footer-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;padding-top:32px;border-top:1px solid var(--rule);font-family:var(--bahia-font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-dim);flex-wrap:wrap;gap:16px}

  /* Reveal */
  .rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
  .rv.in{opacity:1;transform:translateY(0)}
  .rv-stagger > *{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
  .rv-stagger.in > *{opacity:1;transform:translateY(0)}
  .rv-stagger.in > *:nth-child(1){transition-delay:.0s}
  .rv-stagger.in > *:nth-child(2){transition-delay:.1s}
  .rv-stagger.in > *:nth-child(3){transition-delay:.2s}
  .rv-stagger.in > *:nth-child(4){transition-delay:.3s}

  @media (max-width:900px){
    .nav-links{display:none}
    .hero-bottom,.about-grid,.contact-grid,.footer-grid,.footer-top,.work-grid{grid-template-columns:1fr}
    .svc-row{grid-template-columns:1fr;gap:16px}
    .why,.clients{grid-template-columns:1fr}
    .proj-card,.proj-card:nth-child(even){grid-template-columns:1fr}
    .proj-card:nth-child(even) .proj-text{order:1}
    .form-grid{grid-template-columns:1fr}
    .field.full{grid-column:span 1}
  }


/* Elementor editor helpers */
.elementor-editor-active .rv,
.elementor-editor-active .rv-stagger > *{opacity:1;transform:none}

/* Custom widget aliases */
.bahia-services-grid{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bahia-services-grid .svc-card{width:100%}
.bahia-brand-marquee{position:relative}
.bahia-reel-carousel{position:relative}
.bahia-reel-carousel .reel-slide{display:block}
.bahia-reel-carousel .reel-slide:not(.active){opacity:1}

@media (max-width:1100px){.bahia-services-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.bahia-services-grid{grid-template-columns:1fr}}


/* ===== BAHIA v2 editable widget helpers ===== */
.bahia-amplitude-page .elementor-widget-container > .bahia-amplitude,
.bahia-amplitude-page .bahia-amplitude{width:100%;}
.bahia-amplitude .brand-bar{margin:0;}
.bahia-video-trigger{cursor:pointer;}
.bahia-contact-embed iframe{display:block;width:100%;}
.bahia-header-widget .nav{position:fixed;}
.bahia-footer-widget footer{margin:0;}
.bahia-edit-note{font-family:var(--bahia-font-mono);font-size:11px;color:var(--bone-dim);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule);padding:12px;margin:12px 0;}


/* ===== BAHIA v2.1 — Elementor full-bleed reset =====
/* Fixes viewport margins caused by Elementor/Hello wrappers even when widgets are set to Full Width. */
html,
body.bahia-amplitude-page {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ink) !important;
  overflow-x: hidden;
}

body.bahia-amplitude-page .site,
body.bahia-amplitude-page #page,
body.bahia-amplitude-page #content,
body.bahia-amplitude-page .site-main,
body.bahia-amplitude-page .page-content,
body.bahia-amplitude-page .entry-content,
body.bahia-amplitude-page .hentry,
body.bahia-amplitude-page .elementor,
body.bahia-amplitude-page .elementor-section-wrap,
body.bahia-amplitude-page .elementor-section,
body.bahia-amplitude-page .elementor-container,
body.bahia-amplitude-page .elementor-column,
body.bahia-amplitude-page .elementor-widget-wrap,
body.bahia-amplitude-page .elementor-widget-container,
body.bahia-amplitude-page .e-con,
body.bahia-amplitude-page .e-con-inner {
  max-width: none !important;
}

body.bahia-amplitude-page .page-content,
body.bahia-amplitude-page .entry-content,
body.bahia-amplitude-page .elementor,
body.bahia-amplitude-page .elementor-section,
body.bahia-amplitude-page .elementor-container,
body.bahia-amplitude-page .elementor-column,
body.bahia-amplitude-page .elementor-widget-wrap,
body.bahia-amplitude-page .elementor-widget-container,
body.bahia-amplitude-page .e-con,
body.bahia-amplitude-page .e-con-inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.bahia-amplitude-page .elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}

body.bahia-amplitude-page .elementor-widget-bahia_hero_section,
body.bahia-amplitude-page .elementor-widget-bahia_header_nav,
body.bahia-amplitude-page .elementor-widget-bahia_banner_cta,
body.bahia-amplitude-page .elementor-widget-bahia_footer_section,
body.bahia-amplitude-page .elementor-widget-bahia_hero_section > .elementor-widget-container,
body.bahia-amplitude-page .elementor-widget-bahia_header_nav > .elementor-widget-container,
body.bahia-amplitude-page .elementor-widget-bahia_banner_cta > .elementor-widget-container,
body.bahia-amplitude-page .elementor-widget-bahia_footer_section > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Force selected BAHIA visual blocks to break out of any remaining boxed parent. */
body.bahia-amplitude-page .hero,
body.bahia-amplitude-page .bahia-hero,
body.bahia-amplitude-page .nav,
body.bahia-amplitude-page .bigcta,
body.bahia-amplitude-page .bahia-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

body.bahia-amplitude-page .hero {
  min-height: 100vh;
}

body.bahia-amplitude-page .hero-bg,
body.bahia-amplitude-page .hero-bg .img,
body.bahia-amplitude-page .bigcta-bg {
  left: 0;
  right: 0;
}


/* ===== BAHIA v2.4 — Claude Design alignment fixes ===== */
.bahia-header-widget .nav-logo-wrap { display:flex; align-items:center; }
.bahia-header-widget .nav-logo { height:32px !important; max-width:150px; object-fit:contain; }
.bahia-header-widget .nav { background:linear-gradient(180deg,rgba(13,14,16,.82),rgba(13,14,16,.28) 70%,transparent); }

.bahia-hero--claude { padding-top:122px; }
.bahia-hero--claude .hero-headline { margin-top:22px; }
.bahia-hero--claude .hero-headline .pre { display:none !important; }
.bahia-hero--claude .hero-headline h1 { font-size:var(--bahia-hero-title-size); line-height:.82; letter-spacing:-.035em; }
.bahia-hero--claude .hero-headline h1 .row { display:block; }
.bahia-hero--claude .hero-headline h1 .row.r1,
.bahia-hero--claude .hero-headline h1 .row.r3 { color:var(--bone); -webkit-text-stroke:0; padding-left:0; }
.bahia-hero--claude .hero-headline h1 .row.r2 { color:transparent; -webkit-text-stroke:1.8px var(--bone); padding-left:.055em; }
.bahia-hero--claude .hero-headline h1 .row.r4 { color:var(--amber); -webkit-text-stroke:0; padding-left:1.15em; display:flex; align-items:baseline; gap:.12em; }
.bahia-hero--claude .hero-headline h1 .row.r4 em { color:var(--amber); font-style:normal; }
.bahia-hero--claude .hero-headline h1 .row.r4 .plus-mark { color:var(--amber); font-size:.86em; line-height:1; }
.bahia-hero--claude .hero-headline h1 .row.r5,
.bahia-hero--claude .hero-headline h1 .row.r6 { color:var(--amber); -webkit-text-stroke:0; }
.bahia-hero--claude .hero-headline h1 .row.r5 { padding-left:1.48em; }
.bahia-hero--claude .hero-headline h1 .row.r6 { padding-left:1.48em; }
.bahia-hero--claude .hero-top { font-family:"JetBrains Mono",ui-monospace,monospace; font-size:10px; letter-spacing:.22em; }
.bahia-hero--claude .hero-top .ticker { width:max-content; }
.bahia-hero--claude .hero-top-line { padding-left:52px; color:var(--bone-dim); }
.bahia-hero--claude .hero-tag { font-family:var(--bahia-font-main); font-size:16px; line-height:1.5; letter-spacing:0; max-width:380px; color:var(--bone); font-weight:400; }
.bahia-hero--claude .hero-mini-stats .ms .v { font-family:"Archivo Black",sans-serif; }
.bahia-hero--claude .hero-mini-stats .ms .k { font-family:"JetBrains Mono",ui-monospace,monospace; }

.bahia-footer-widget footer,
.bahia-footer-widget .footer-tag,
.bahia-footer-widget .footer-col a,
.bahia-footer-widget .footer-bottom { font-family:var(--bahia-font-mono); }
.bahia-footer-widget .footer-col h4,
.bahia-footer-widget .footer-bottom { font-family:"JetBrains Mono",ui-monospace,monospace; }
.bahia-footer-widget .footer-logo img { height:36px !important; max-width:180px; object-fit:contain; }

@media (max-width: 900px) {
  .bahia-hero--claude .hero-headline h1 { font-size:clamp(48px,15vw,120px); }
  .bahia-hero--claude .hero-headline h1 .row.r4,
  .bahia-hero--claude .hero-headline h1 .row.r5,
  .bahia-hero--claude .hero-headline h1 .row.r6 { padding-left:0; }
  .bahia-hero--claude .hero-top-line { padding-left:0; }
}

/* BAHIA v2.5 — restore source hero proportions */
.bahia-hero--claude .hero-top{display:none!important;}
.bahia-hero--claude .hero-headline h1{text-transform:uppercase;}
.bahia-hero--claude .hero-headline h1 .row.r4{padding-left:1.2em;display:flex;align-items:baseline;gap:.18em;}
.bahia-hero--claude .hero-headline h1 .row.r4 em{font-style:normal;color:var(--amber);}
.bahia-hero--claude .hero-headline h1 .arrow-blob{display:inline-block;width:.65em;height:.65em;background:var(--amber);vertical-align:middle;margin-left:.2em;clip-path:polygon(0 20%,60% 20%,60% 0%,100% 50%,60% 100%,60% 80%,0 80%);}


/* BAHIA v2.8 — FAQ button reset
   Prevent Elementor global button hover/accent styles from turning FAQ rows pink. */
.bahia-amplitude .faq-q,
.bahia-amplitude .faq-q:hover,
.bahia-amplitude .faq-q:focus,
.bahia-amplitude .faq-q:active,
.bahia-amplitude .faq-item.open .faq-q,
body.elementor-page .bahia-amplitude .faq-q,
body.elementor-page .bahia-amplitude .faq-q:hover,
body.elementor-page .bahia-amplitude .faq-q:focus,
body.elementor-page .bahia-amplitude .faq-q:active {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--bone) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.bahia-amplitude .faq-q .t,
body.elementor-page .bahia-amplitude .faq-q .t {
  color: var(--bone) !important;
}

.bahia-amplitude .faq-q:hover .t,
.bahia-amplitude .faq-item.open .faq-q .t,
body.elementor-page .bahia-amplitude .faq-q:hover .t,
body.elementor-page .bahia-amplitude .faq-item.open .faq-q .t {
  color: var(--amber) !important;
}

.bahia-amplitude .faq-q .x,
body.elementor-page .bahia-amplitude .faq-q .x {
  color: var(--amber) !important;
  background: transparent !important;
}

.bahia-amplitude .faq-item,
.bahia-amplitude .faq-item:hover,
.bahia-amplitude .faq-item.open {
  background: transparent !important;
}
