/* reset herdado do container do artifact */
:root{color-scheme:light}
body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}
img{max-width:100%}

/* ---------------------------------------------------------------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 500;src:url(../assets/fonts/inter-regular.woff2) format('woff2');font-display:swap;}
  @font-face{font-family:'Inter';font-style:italic;font-weight:500;src:url(../assets/fonts/inter-italic.woff2) format('woff2');font-display:swap;}

  :root{
    --bg:#000000; --bg-card:#1E1E1E; --bg-card-hover:#292929;
    --fg:#FFFFFF; --fg-soft:#C6C6BE; --fg-faint:#9E9E96;
    --accent:#2FC16D; --accent-deep:#249757; --accent-tint:#0C2417;
    --stamp:#2FC16D;
    --line:#3A3A34; --line-strong:#565650;
    --shadow: 0 1px 0 var(--line-strong);
    --radius: 8px;
    --glass-bg: rgba(255,255,255,.07);
    --glass-border: rgba(255,255,255,.16);
    --glass-shadow: 0 8px 32px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.09);
    color-scheme: dark;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --bg:#000000; --bg-card:#1E1E1E; --bg-card-hover:#292929;
      --fg:#FFFFFF; --fg-soft:#C6C6BE; --fg-faint:#9E9E96;
      --accent:#2FC16D; --accent-deep:#249757; --accent-tint:#0C2417;
      --stamp:#2FC16D;
      --line:#3A3A34; --line-strong:#565650;
      color-scheme: dark;
    }
  }
  :root[data-theme="dark"]{
    --bg:#000000; --bg-card:#1E1E1E; --bg-card-hover:#292929;
    --fg:#FFFFFF; --fg-soft:#C6C6BE; --fg-faint:#9E9E96;
    --accent:#2FC16D; --accent-deep:#249757; --accent-tint:#0C2417;
    --stamp:#2FC16D;
    --line:#3A3A34; --line-strong:#565650;
    color-scheme: dark;
  }
  :root[data-theme="light"]{
    --bg:#000000; --bg-card:#1E1E1E; --bg-card-hover:#292929;
    --fg:#FFFFFF; --fg-soft:#C6C6BE; --fg-faint:#9E9E96;
    --accent:#2FC16D; --accent-deep:#249757; --accent-tint:#0C2417;
    --stamp:#2FC16D;
    --line:#3A3A34; --line-strong:#565650;
    color-scheme: dark;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

  body{
    margin:0; background:var(--bg); color:var(--fg);
    font-family:'Inter', ui-sans-serif, system-ui, sans-serif;
    font-size:16px; line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  h1,h2,h3{font-family:'Inter', ui-serif, Georgia, serif; font-weight:500; margin:0; text-wrap:balance;}
  p{margin:0;}
  a{color:inherit;}
  ul,ol{margin:0; padding:0; list-style:none;}
  button{font:inherit;}

  .mono{font-family:'Inter', ui-monospace, monospace;}
  .br-mobile{display:none;}
  .eyebrow{
    font-family:'Inter', monospace; font-size:.72rem; font-weight:700;
    text-transform:uppercase; letter-spacing:.1em; color:var(--fg-soft);
  }

  .sr-only{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

  #grain{
    position:fixed; inset:0; width:100%; height:100%;
    pointer-events:none; z-index:1; mix-blend-mode:overlay; opacity:.5;
  }

  .orc-plane{
    position:fixed; left:0; top:0; z-index:9998;
    width:26px; height:26px; margin:-13px 0 0 -13px; color:var(--accent);
    opacity:0; pointer-events:none;
  }
  .orc-plane.flying{animation:orcPlaneFly 1.3s linear forwards;}
  @keyframes orcPlaneFly{
    0%{opacity:0; transform:translate(0,0) rotate(0deg);}
    4%{opacity:1; transform:translate(.3vw,-.2vh) rotate(-10deg);}
    8%{transform:translate(1.2vw,-.6vh) rotate(-25deg);}
    12%{transform:translate(2.3vw,-1.6vh) rotate(-42deg);}
    16%{transform:translate(3.3vw,-3.2vh) rotate(-58deg);}
    20%{transform:translate(3.9vw,-5.1vh) rotate(-75deg);}
    24%{transform:translate(4vw,-7.2vh) rotate(-92deg);}
    28%{transform:translate(3.5vw,-9.3vh) rotate(-108deg);}
    32%{transform:translate(2.6vw,-11vh) rotate(-125deg);}
    36%{transform:translate(1.4vw,-11.9vh) rotate(-142deg);}
    40%{transform:translate(0,-12vh) rotate(-158deg);}
    44%{transform:translate(-1.4vw,-11.4vh) rotate(-175deg);}
    48%{transform:translate(-2.6vw,-10vh) rotate(-192deg);}
    52%{transform:translate(-3.5vw,-8vh) rotate(-208deg);}
    56%{transform:translate(-3.9vw,-5.6vh) rotate(-225deg);}
    60%{transform:translate(-3.6vw,-3.3vh) rotate(-242deg);}
    64%{transform:translate(-2.6vw,-1.6vh) rotate(-260deg);}
    68%{transform:translate(-1.2vw,-1vh) rotate(-278deg);}
    72%{transform:translate(.5vw,-2vh) rotate(-296deg);}
    76%{transform:translate(3vw,-6vh) rotate(-315deg);}
    80%{transform:translate(7vw,-14vh) rotate(-334deg);}
    84%{transform:translate(12vw,-24vh) rotate(-352deg);}
    88%{transform:translate(18vw,-38vh) rotate(-368deg);}
    92%{opacity:1; transform:translate(24vw,-53vh) rotate(-380deg);}
    96%{opacity:.5; transform:translate(29vw,-70vh) rotate(-388deg);}
    100%{opacity:0; transform:translate(34vw,-88vh) rotate(-394deg);}
  }
  @media (prefers-reduced-motion: reduce){ .orc-plane.flying{animation:none;} }

  .container{max-width:1560px; margin:0 auto; padding-inline:clamp(1.25rem, 4vw, 3.5rem);}

  /* ---------- masthead (floating glass pill) ---------- */
  .masthead{
    position:sticky; top:1rem; z-index:20;
    margin:1rem clamp(1rem,3vw,2rem) 1rem;
    border-radius:20px;
    background:rgba(0,0,0,.32);
    backdrop-filter: blur(26px) saturate(160%);
    -webkit-backdrop-filter: blur(26px) saturate(160%);
    border:1px solid var(--glass-border);
    box-shadow:var(--glass-shadow);
    transition:background .3s ease;
  }
  .masthead.on-light{background:rgba(255,255,255,.55);}
  .masthead .container{
    display:flex; align-items:center; justify-content:space-between;
    padding-block:.7rem; max-width:none;
  }
  .brandmark{display:flex; align-items:center; gap:.6rem; text-decoration:none; margin-left:-15px;}
  @media (max-width:760px){ .brandmark{margin-left:-5px;} }
  .brandmark img{height:22px; width:auto; display:block;}
  .topnav{display:flex; align-items:center; gap:clamp(1rem,2.4vw,2rem); margin-right:-15px;}
  .topnav a{
    font-size:.85rem; text-decoration:none; color:var(--fg);
    border-bottom:1px solid transparent; padding-bottom:2px;
    transition:color .25s ease, border-color .25s ease;
  }
  .brandmark img{transition:filter .25s ease;}
  .arrow-flip{display:inline-block; transform:scaleX(-1);}
  .topnav a:hover, .topnav a:focus-visible{color:var(--fg); border-color:var(--accent);}
  .topnav a.cta-link{
    color:#000; background:#fff; padding:.5rem .9rem;
    border-bottom:none; font-weight:600; border-radius:var(--radius);
  }
  .topnav a.cta-link:hover{background:#DADAD5; color:#000;}
  .masthead.on-light .topnav a{color:#111;}
  .masthead.on-light .topnav a:hover, .masthead.on-light .topnav a:focus-visible{color:#111;}
  .masthead.on-light .brandmark img{filter:brightness(0);}

  main{position:relative; z-index:2;}
  section{padding-block:clamp(3.5rem, 8vw, 6.5rem);}

  /* ---------- hero ---------- */
  .hero{
    padding-top:clamp(7.5rem,16.3vw,10.9rem); padding-bottom:clamp(8.4rem,17.7vw,12rem);
    display:flex; align-items:center;
    position:relative; overflow:hidden;
  }
  .hero::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background-image:
      linear-gradient(180deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.45) 45%, #000 100%),
      url(../assets/img/texture-bg.jpg);
    background-size:cover; background-position:center 38%; background-repeat:no-repeat;
  }
  .hero .container{display:flex; flex-direction:column; align-items:center; text-align:center;}
  .hero h1{
    font-size:clamp(2.2rem, 5.2vw, 4.2rem); line-height:1.04; letter-spacing:-.01em;
  }
  @media (max-width:400px){ .hero .container{padding-inline:.6rem;} }
  .hero .lede{
    font-size:clamp(1.05rem,1.6vw,1.25rem); color:var(--fg);
    margin-block:1.6rem 2.2rem;
  }
  .cta-row{display:flex; flex-wrap:wrap; gap:.9rem; justify-content:center;}
  .btn{
    display:inline-flex; align-items:center; gap:.5rem;
    padding:.85rem 1.4rem; text-decoration:none; font-weight:600; font-size:.95rem;
    border:1px solid var(--fg); border-radius:var(--radius);
    transition:transform .15s ease, background .15s ease, color .15s ease;
  }
  .btn-primary{background:#fff; border-color:#fff; color:#000; transition:background .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;}
  .btn-primary:hover{background:var(--accent); border-color:var(--accent); color:#fff; transform:translateY(-2px) rotate(-1deg);}
  .btn-ghost{background:#fff; border-color:#fff; color:#000;}
  .btn-ghost:hover{background:#DADAD5; border-color:#DADAD5; transform:translateY(-2px) rotate(1deg);}
  .btn-glass{
    background:var(--glass-bg); border-color:var(--glass-border); color:var(--fg);
    backdrop-filter:blur(16px) saturate(160%); -webkit-backdrop-filter:blur(16px) saturate(160%);
    box-shadow:var(--glass-shadow);
  }
  .btn-glass:hover{background:rgba(255,255,255,.14); transform:translateY(-2px) rotate(-1deg);}
  .hero .btn-glass{
    background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.22);
    backdrop-filter:blur(48px) saturate(220%) brightness(1.15); -webkit-backdrop-filter:blur(48px) saturate(220%) brightness(1.15);
    box-shadow:0 8px 40px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12);
  }
  .hero .btn-glass:hover{background:rgba(255,255,255,.16);}

  .dab{
    position:fixed; top:0; left:0; width:10px; height:10px;
    background:var(--stamp); pointer-events:none; z-index:9999;
    opacity:0; transform:translate(-100px,-100px) scale(1) rotate(0deg);
    will-change:transform, opacity;
    clip-path:polygon(50% 0%, 0% 100%, 100% 100%);
  }

  /* ---------- reveal ---------- */
  .reveal{
    opacity:0; transform:translateY(14px);
    transition:opacity 1s cubic-bezier(.22,.61,.36,1), transform 1s cubic-bezier(.22,.61,.36,1);
  }
  .reveal.in-view{opacity:1; transform:none;}
  @media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} }

  /* ---------- hero entrance ---------- */
  @keyframes heroIn{ from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:none;} }
  .hero-in{opacity:0; animation:heroIn 1.1s cubic-bezier(.22,.61,.36,1) forwards;}
  .hero-in:nth-of-type(1){animation-delay:.05s;}
  .hero-in:nth-of-type(2){animation-delay:.2s;}
  .hero-in:nth-of-type(3){animation-delay:.38s;}
  @media (prefers-reduced-motion: reduce){ .hero-in{opacity:1; animation:none;} }

  /* ---------- section heads ---------- */
  .section-head{display:flex; flex-direction:column; gap:.9rem; margin-bottom:2.6rem; position:relative;}
  .value-prop .section-head{gap:1.4rem;}
  .value-prop .section-lede{max-width:74ch;}
  .section-head h2{font-size:55px; line-height:1.04; letter-spacing:-.01em; position:relative;}
  .section-lede{color:var(--fg-soft); max-width:52ch; font-size:1.02rem; position:relative;}
  hr.rule{border:none; border-top:1px solid var(--line); margin:0;}

  /* ---------- cases showcase (light, right after hero) ---------- */
  .cases-showcase{
    background:#FFFFFF; color:#151513; padding-block:clamp(3rem,7vw,5rem);
  }
  .cases-showcase h2{
    font-family:'Inter'; font-weight:500; font-size:55px;
    color:#111; letter-spacing:-.02em; line-height:1.04;
  }
  .cases-showcase-controls{display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin:.4rem 0 2.3rem;}
  .cases-showcase-lede{color:#5c5c58; font-size:1.02rem; max-width:44ch;}
  .showcase-controls-right{display:flex; align-items:center; gap:1.1rem; flex:none;}
  .showcase-view-all{
    display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; background:#f9f9f9;
    font-family:'Inter'; font-weight:600; font-size:.88rem; color:#111;
    border:1px solid #d8d8d5; border-radius:var(--radius); padding:.75rem 1.2rem;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .showcase-view-all:hover{background:#111; color:#fff; border-color:#111;}
  .showcase-controls-arrows{display:flex; gap:.7rem;}
  .showcase-prev, .showcase-next{
    all:unset; box-sizing:border-box; cursor:pointer; flex:none;
    width:46px; height:46px; border-radius:50%; border:1px solid #d8d8d5; background:#f9f9f9;
    display:flex; align-items:center; justify-content:center; color:#111;
    transition:background .2s ease, color .2s ease, transform .2s ease, opacity .2s ease;
  }
  .showcase-prev:hover{background:#111; color:#fff; transform:translateX(-3px);}
  .showcase-next:hover{background:#111; color:#fff; transform:translateX(3px);}
  .showcase-prev svg, .showcase-next svg{width:18px; height:18px;}
  .showcase-prev{
    opacity:0; pointer-events:none; width:0; border-width:0; margin-right:-.7rem;
    transition:opacity .25s ease, width .25s ease, margin .25s ease, border-width .25s ease;
    overflow:hidden;
  }
  .showcase-prev.visible{opacity:1; pointer-events:auto; width:46px; border-width:1px; margin-right:0;}
  .showcase-grid-wrap{padding-left:max(clamp(1.25rem,4vw,3.5rem), calc((100% - 1560px) / 2 + clamp(1.25rem,4vw,3.5rem)));}
  .showcase-grid{
    display:flex; gap:2.2rem; overflow-x:auto; scroll-snap-type:x proximity;
    padding-right:clamp(1.25rem,4vw,3.5rem); padding-bottom:.5rem; margin-bottom:-.5rem;
    cursor:grab; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none;
    user-select:none;
  }
  .showcase-grid::-webkit-scrollbar{display:none;}
  .showcase-grid.dragging{cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto;}
  .showcase-card{
    all:unset; cursor:pointer; display:block; box-sizing:border-box;
    flex:0 0 clamp(315px,37vw,435px); scroll-snap-align:start;
  }
  .sc-frame{padding-top:2%;}
  .sc-screen{
    aspect-ratio:5/4; border-radius:var(--radius); overflow:hidden;
    background:#fff; border:1px solid #e2e2df; box-shadow:0 24px 44px -24px rgba(20,20,15,.28);
    display:flex; flex-direction:column; transition:transform .35s ease, box-shadow .35s ease;
  }
  .showcase-card:hover .sc-screen{transform:translateY(-4px); box-shadow:0 30px 50px -22px rgba(20,20,15,.32);}
  .sc-shot{flex:1;}
  .showcase-meta{display:flex; justify-content:space-between; align-items:center; margin-top:1.1rem;}
  .showcase-meta h3{font-family:'Inter'; font-weight:500; font-size:1.05rem; color:#111;}
  .showcase-meta .cat{display:block; font-size:.85rem; color:#8a8a86; margin-top:.15rem;}
  .showcase-arrow{
    width:40px; height:40px; border-radius:50%; border:1px solid #e2e2df; flex:none;
    display:flex; align-items:center; justify-content:center; color:#111;
    transition:background .25s ease, color .25s ease, transform .25s ease;
  }
  .showcase-card:hover .showcase-arrow{background:#111; color:#fff; transform:rotate(-45deg);}

  /* ---------- clients marquee ---------- */
  .clients{
    padding-block:clamp(2.8rem,5.5vw,4rem); border-block:1px solid #E4E4E0;
    background:#FFFFFF;
  }
  .marquee-label{
    text-align:center; font-family:'Inter'; font-weight:500; font-size:.95rem;
    color:#B5B5B5; margin-bottom:1.8rem;
  }
  .marquee{
    overflow:hidden; width:100%; cursor:grab; user-select:none; touch-action:pan-y;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .marquee.dragging{cursor:grabbing;}
  .marquee-track{
    display:flex; align-items:center; gap:clamp(2rem,3.6vw,3.2rem); width:max-content;
    animation:marqueeLoop 42s linear infinite;
  }
  .marquee-track.dragging{animation-play-state:paused;}
  @keyframes marqueeLoop{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;} }
  .marquee-logo{
    display:inline-block; height:clamp(15px,1.9vw,21px); width:auto; flex:none;
    background-color:#B5B5B5;
    -webkit-mask-image:var(--logo-src); mask-image:var(--logo-src);
    -webkit-mask-size:contain; mask-size:contain;
    -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
    -webkit-mask-position:center; mask-position:center;
    opacity:.85; transition:opacity .25s ease;
    -webkit-user-drag:none; user-drag:none; pointer-events:none;
  }
  .marquee-logo-lg{height:clamp(18px,2.3vw,26px);}
  .marquee:hover .marquee-logo{opacity:1;}
  @media (prefers-reduced-motion: reduce){ .marquee-track{transform:none;} }

  /* ---------- services v2: light card, list + photo ---------- */
  .services-v2{background:var(--bg); padding-block:clamp(3rem,7vw,5rem);}
  .services-v2-card{
    background:#fff; border-radius:24px; padding:clamp(1.6rem,3.4vw,2.8rem);
    display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(1.6rem,3vw,2.6rem);
    box-shadow:0 30px 60px -34px rgba(20,20,15,.35);
    --bg-card:#fff; --fg:#151513; --fg-soft:#5C5C58; --fg-faint:#8A8A86;
    --line:#E4E4E0; --line-strong:#D5D5D0; --accent:#151513;
  }
  @media (max-width:860px){ .services-v2-card{grid-template-columns:1fr; gap:1.6rem;} }
  .services-v2-left h2{font-family:'Inter'; font-weight:500; font-size:55px; color:var(--fg); line-height:1.04; margin-bottom:1rem;}
  .services-v2-title{
    font-family:'Inter'; font-weight:500; font-size:55px;
    color:var(--fg); letter-spacing:-.02em; line-height:1.04; margin-bottom:1.4rem;
  }
  .services-v2-lede{
    color:var(--fg-soft); font-size:1.15rem; white-space:nowrap;
    margin-bottom:clamp(2rem,4vw,3rem);
  }
  @media (max-width:900px){ .services-v2-lede{white-space:normal;} }
  .services-v2-right{position:relative; border-radius:16px; overflow:hidden; min-height:320px;}
  .services-v2-photo{
    position:absolute; inset:0; background:#E4E4E0;
    display:flex; align-items:center; justify-content:center;
  }
  .services-v2-video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:1; transition:opacity .5s ease;
  }
  .services-v2-video.hidden-media{opacity:0;}
  .services-v2-photo-img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:0; transition:opacity .5s ease;
  }
  .services-v2-photo-img.visible{opacity:1;}
  .services-v2-photo.has-image .services-v2-photo-placeholder{display:none;}
  @media (prefers-reduced-motion: reduce){ .services-v2-photo-img{transition:none;} }
  .services-v2-cta{
    position:absolute; left:1.1rem; bottom:1.1rem; z-index:1;
    display:inline-flex; align-items:center; gap:.6rem;
    background:rgba(20,20,18,.38); color:#fff; text-decoration:none; font-weight:500; font-size:.88rem;
    padding:.6rem .9rem .6rem 1.1rem; border-radius:var(--radius);
    backdrop-filter:blur(14px) saturate(160%); -webkit-backdrop-filter:blur(14px) saturate(160%);
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 10px 24px -10px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.15);
    transition:transform .2s ease, background .2s ease;
  }
  .services-v2-cta:hover{transform:translateY(-2px); background:rgba(20,20,18,.5);}
  .services-v2-cta-icon{
    width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.22);
    border:1px solid rgba(255,255,255,.3);
    display:flex; align-items:center; justify-content:center; font-size:.85rem; color:#fff;
  }

  .service-list{border-top:1px solid var(--line);}
  .service-item{border-bottom:1px solid var(--line);}
  .service-toggle{
    all:unset; box-sizing:border-box; cursor:pointer; width:100%;
    display:flex; align-items:center; gap:1rem;
    padding:1.85rem .1rem; transition:opacity .15s ease;
  }
  .service-toggle:hover{opacity:.7;}
  .service-toggle:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
  .service-title{
    flex:1; font-family:'Inter'; font-weight:500; font-size:1.05rem; color:var(--fg-soft);
    transition:color .2s ease;
  }
  .service-item.open .service-title{color:var(--fg); font-weight:600;}
  .service-icon{
    font-size:1.2rem; line-height:1; color:var(--fg-faint); flex:none;
    transition:transform .3s ease, color .3s ease;
  }
  .service-item.open .service-icon{transform:rotate(45deg); color:var(--fg);}
  .service-panel-wrap{
    display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease;
  }
  .service-item.open .service-panel-wrap{grid-template-rows:1fr;}
  .service-panel-inner{overflow:hidden;}
  .service-panel-inner p{
    color:var(--fg-soft); font-size:.92rem; max-width:60ch;
    padding:0 .2rem 1.15rem 0;
  }
  @media (prefers-reduced-motion: reduce){ .service-panel-wrap{transition:none;} }

  /* ---------- cta strip: services → method ---------- */
  .cta-strip{
    display:block; position:relative; background:#fff; text-decoration:none;
    padding-block:clamp(1.7rem,4.2vw,2.7rem);
  }
  .cta-strip .container{position:relative; min-height:1.5em;}
  .cta-strip-left{
    font-family:'Inter'; font-weight:600; color:#111;
    font-size:clamp(1.15rem,2.3vw,1.6rem); letter-spacing:-.01em;
    transition:opacity .4s ease;
  }
  .cta-strip-right{
    font-family:'Inter'; font-weight:600; color:#111; white-space:nowrap;
    font-size:clamp(1.15rem,2.3vw,1.6rem); letter-spacing:-.01em;
    position:absolute; top:50%; left:100%; transform:translate(-100%,-50%);
    transition:left .5s cubic-bezier(.22,.61,.36,1), transform .5s cubic-bezier(.22,.61,.36,1);
  }
  .cta-strip:hover .cta-strip-left{opacity:0;}
  .cta-strip:hover .cta-strip-right{left:50%; transform:translate(-50%,-50%);}
  @media (prefers-reduced-motion: reduce){ .cta-strip-left, .cta-strip-right{transition:none;} }

  /* ---------- method: climbing the mountain (scroll-locked unlock) ---------- */
  .climb-scroller{position:relative; height:calc(100vh + 25vh + var(--steps,5) * 40vh);}
  .climb-scroller.climb-static{height:auto;}
  .climb-sticky{position:sticky; top:76px; height:calc(100vh - 76px); display:flex; align-items:center; overflow:hidden;}
  .climb-scroller.climb-static .climb-sticky{position:static; height:auto; overflow:visible;}
  .climb-inner{display:flex; flex-direction:column; gap:1rem; width:100%; padding-top:calc(7.5rem - 20px); padding-bottom:8rem;}

  .climb-inner .section-head{transform:translateY(35px);}
  .climb-inner .section-lede{max-width:74ch;}

  .climb-mountain{display:block; width:100%; height:auto;}
  .climb-mountain .ridge{fill:var(--bg-card);}
  .climb-mountain .trail{fill:none; stroke:var(--line-strong); stroke-width:2.5; stroke-linecap:round;}
  .climb-mountain .trail-progress{fill:none; stroke:var(--accent); stroke-width:2.5; stroke-linecap:round;}
  .climb-mountain .dots circle{
    fill:var(--bg-card); stroke:var(--line-strong); stroke-width:2;
    transition:fill .18s ease-out, stroke .18s ease-out;
  }
  .climb-mountain .dots circle.reached{fill:var(--accent); stroke:var(--accent);}
  .climb-mountain .dot-nums text{fill:var(--fg); font-family:'Inter'; font-weight:600; font-size:12px; text-anchor:middle;}
  @media (prefers-reduced-motion: reduce){ .climb-mountain .dots circle{transition:none;} }

  .climb-steps{display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem;}
  @media (max-width:760px){ .climb-steps{grid-template-columns:1fr; gap:1.8rem;} }
  .climb-step{
    border-top:2px solid var(--line-strong); padding-top:1rem;
    opacity:.14; filter:grayscale(1); transform:translateY(22px);
    transition:opacity .18s ease-out, transform .18s ease-out, filter .18s ease-out, border-color .18s ease-out;
  }
  .climb-step.unlocked{border-top-color:var(--accent); opacity:1; filter:none; transform:none;}
  @media (max-width:760px){
    .climb-step{border-top:none; border-left:2px solid var(--line-strong); padding:.2rem 0 .2rem 1rem;}
    .climb-step.unlocked{border-left-color:var(--accent);}
  }
  @media (prefers-reduced-motion: reduce){ .climb-step{transition:none;} }
  .climb-steps .step-num{font-family:'Inter'; font-size:.75rem; color:var(--fg-faint);}
  .climb-steps h3{font-size:1.1rem; margin-block:.4rem .5rem;}
  .climb-steps p{color:var(--fg); font-size:.9rem;}
  .climb-scroll-hint{margin-top:2.4rem; display:flex; flex-direction:column; gap:.55rem; max-width:220px; transform:translateY(-10px);}
  .climb-scroller.climb-static .climb-scroll-hint{display:none;}
  .climb-scroll-hint span{
    font-family:'Inter'; font-weight:600; font-size:.7rem; letter-spacing:.1em;
    text-transform:uppercase; color:var(--fg-faint);
  }
  .climb-scroll-bar{width:100%; height:2px; background:var(--line); position:relative; overflow:hidden;}
  .climb-scroll-bar-fill{
    position:absolute; inset:0 auto 0 0; width:0%; background:var(--accent);
  }
  @media (prefers-reduced-motion: reduce){ .climb-scroll-hint{display:none;} }
  /* ---------- testimonials marquee ---------- */
  .testimonials{
    padding-block:clamp(3rem,7vw,5rem); border-block:1px solid var(--line); overflow:hidden;
    background:#FFFFFF; color:#151513;
    --bg-card:#f9f9f9; --fg:#151513; --fg-soft:#5C5C58; --fg-faint:#8A8A86;
    --line:#E4E4E0; --line-strong:#D5D5D0;
  }
  .testimonials .eyebrow{margin-bottom:1.6rem;}
  .testimonials-head{margin-top:30px; margin-bottom:clamp(3rem,7vw,5rem); text-align:center; display:flex; flex-direction:column; align-items:center;}
  .testimonials-head h2{font-family:'Inter'; font-weight:400; font-size:clamp(2.2rem,5.2vw,4.2rem); line-height:1.04; color:#111; margin-bottom:1.2rem; letter-spacing:-.01em;}
  .testimonials-head p{color:var(--fg-soft); max-width:56ch; font-size:clamp(1.05rem,1.6vw,1.25rem);}
  .testimonials-wrap{
    width:100%; overflow-x:hidden; overflow-y:visible; padding-block:2.4rem;
    cursor:grab; user-select:none;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .testimonials-wrap.dragging{cursor:grabbing;}
  .testimonials-track{
    display:flex; align-items:flex-start; gap:1.4rem; width:max-content;
    animation:testimonialScroll 50s linear infinite;
  }
  @media (max-width:640px){ .testimonials-track{animation-duration:520s;} }
  @keyframes testimonialScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion: reduce){ .testimonials-track{animation:none;} }
  /* staggered zigzag rhythm instead of a flat aligned row */
  .t-card:nth-child(5n+1){transform:translateY(1.6rem);}
  .t-card:nth-child(5n+2){transform:translateY(-.8rem);}
  .t-card:nth-child(5n+3){transform:translateY(2.6rem);}
  .t-card:nth-child(5n+4){transform:translateY(.2rem);}
  .t-card:nth-child(5n+5){transform:translateY(1.9rem);}

  .t-card{
    flex:0 0 480px; background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius);
    padding:1.75rem; display:flex; flex-direction:column; gap:1rem; cursor:pointer;
    transition:background .3s ease, border-color .3s ease, transform .3s ease;
  }
  .t-card:hover{transform:translateY(-3px);}
  .t-card.active{background:#111; border-color:#111; transform:translateY(-3px);}
  .t-head{display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;}
  .t-avatars{position:relative; width:54px; height:38px; flex:none;}
  .t-avatar-logo{
    position:absolute; left:0; top:0; width:34px; height:34px; border-radius:50%; z-index:1;
    background:var(--accent-tint); border:2px solid var(--bg-card); box-sizing:content-box;
    display:flex; align-items:center; justify-content:center; color:var(--accent);
    font-family:'Inter'; font-weight:600; font-size:.68rem;
    transition:background .3s ease, border-color .3s ease, color .3s ease;
  }
  .t-card.active .t-avatar-logo{background:rgba(255,255,255,.2); border-color:var(--accent); color:#fff;}
  .t-avatar-photo{
    position:absolute; left:18px; top:0; width:38px; height:38px; border-radius:50%; z-index:2;
    border:2px solid var(--bg-card); box-sizing:content-box;
    display:flex; align-items:center; justify-content:center;
    font-family:'Inter'; font-weight:600; font-size:.78rem; color:#fff;
    transition:border-color .3s ease;
  }
  .t-card.active .t-avatar-photo{border-color:var(--accent);}
  .t-stars{color:#E8B93E; font-size:.8rem; letter-spacing:.08em; white-space:nowrap; transition:color .3s ease;}
  .t-card.active .t-stars{color:#fff;}
  .t-name{display:block; font-family:'Inter'; font-weight:500; font-size:.95rem; transition:color .3s ease;}
  .t-card.active .t-name{color:#fff;}
  .t-role{display:block; font-size:.76rem; color:var(--fg-faint); margin-top:.1rem; transition:color .3s ease;}
  .t-card.active .t-role{color:rgba(255,255,255,.75);}
  .t-quote{color:var(--fg-soft); font-size:.9rem; line-height:1.5; transition:color .3s ease;}
  .t-card.active .t-quote{color:rgba(255,255,255,.92);}
  .testimonials-cta{margin-top:clamp(3rem,7vw,5rem); display:flex; justify-content:center;}
  .testimonials-cta-btn{background:#000; border-color:#000; color:#fff; box-shadow:none;}
  .testimonials-cta-btn:hover{background:#222; border-color:#222;}

  /* ---------- value proposition ---------- */
  .value-prop{background:#FFFFFF; color:#151513; padding-block:clamp(3.5rem,8vw,6.5rem); --fg-soft:#5C5C58;}
  .value-prop-card{
    position:relative; overflow:hidden; border-radius:28px; color:#fff;
    background:#0a0a0a;
    border:1px solid rgba(255,255,255,.14); padding:clamp(2.2rem,5vw,3.6rem);
    --fg:#fff; --fg-soft:#fff; --fg-faint:#fff;
  }
  .value-prop-video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
    opacity:.4; z-index:0;
  }
  .value-prop-card::before{
    content:""; position:absolute; inset:0; z-index:0;
    background:linear-gradient(155deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.85) 100%);
  }
  .value-prop-card > *:not(.value-prop-video){position:relative; z-index:1;}
  @media (prefers-reduced-motion: reduce){ .value-prop-video{display:none;} }
  .value-prop-list{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:2.2rem 1.6rem;
  }
  .value-prop-item{display:flex; flex-direction:column; gap:.9rem;}
  .value-prop-icon{
    width:38px; height:38px; border-radius:10px;
    background:var(--glass-bg); border:1px solid var(--glass-border);
    backdrop-filter:blur(12px) saturate(160%); -webkit-backdrop-filter:blur(12px) saturate(160%);
    display:flex; align-items:center; justify-content:center; color:#fff; flex:none;
  }
  .value-prop-icon svg{width:19px; height:19px;}
  .value-prop-item h3{font-family:'Inter'; font-weight:600; font-size:1.02rem; color:#fff;}
  .value-prop-item p{color:var(--fg-soft); font-size:.9rem; line-height:1.5;}
  .value-prop-cta:hover{background:rgba(255,255,255,.22); transform:translateY(-2px);}

  /* ---------- about v2 (photo + stats, light) ---------- */
  .about-v2{background:var(--bg); color:var(--fg); padding-block:clamp(3rem,7vw,5rem);}
  .about-v2-grid{
    display:grid; grid-template-columns:1.3fr .85fr; align-items:stretch;
    column-gap:3rem; row-gap:0;
  }
  @media (max-width:900px){ .about-v2-grid{grid-template-columns:1fr;} }
  .about-v2-content{grid-column:1; grid-row:1; display:flex; flex-direction:column; justify-content:flex-start;}
  
  .about-v2-title{
    font-family:'Inter'; font-weight:500; font-size:55px;
    color:var(--fg); line-height:1.04; margin-bottom:2rem;
  }
  .about-v2-title .muted{color:var(--fg-faint); font-weight:400;}
  .about-v2-title .about-v2-name{display:block; font-size:1.05rem; font-weight:500; color:var(--fg-faint); line-height:1.4; margin-top:.9rem;}
  .about-v2-photo{
    grid-column:2; grid-row:1; position:relative;
    border-radius:var(--radius); overflow:hidden; background:var(--bg-card);
    display:flex; align-items:center; justify-content:center;
  }
  @media (max-width:900px){ .about-v2-photo{grid-column:1; grid-row:1; margin-bottom:2rem;} }
  @media (max-width:900px){ .about-v2-content{grid-column:1; grid-row:2;} }
  .about-v2-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .about-v2-photo-placeholder{font-family:'Inter'; font-weight:600; font-size:3rem; color:var(--fg-faint);}
  .about-v2-lede{
    font-size:1.15rem; line-height:1.55; color:#fff; max-width:60ch; margin-bottom:2.4rem;
  }
  .about-v2-lede p + p{margin-top:1rem;}
  .about-v2-lede strong{font-weight:600; color:var(--fg);}
  .about-v2-stats{
    display:grid; grid-template-columns:repeat(3,1fr); flex:1;
    border-radius:var(--radius); overflow:hidden;
  }
  @media (max-width:640px){ .about-v2-stats{grid-template-columns:1fr;} }
  .about-v2-stat{
    background:var(--bg-card); padding:1.8rem 1.5rem; min-height:180px;
    display:flex; flex-direction:column; justify-content:space-between;
  }
  .about-v2-stat:nth-child(2){background:#111111;}
  .about-v2-stat .stat-num{display:block; font-family:'Inter'; font-weight:600; font-size:2.4rem; color:var(--fg);}
  .about-v2-stat .stat-label{display:block; font-size:.9rem; color:var(--fg-soft); margin-top:1rem;}

  /* ---------- intake form (glass) ---------- */
  .intake-card{}
  .field-grid{display:grid; grid-template-columns:1fr 1fr; gap:2.4rem 1.6rem;}
  @media (max-width:640px){ .field-grid{grid-template-columns:1fr;} }
  .field{display:flex; flex-direction:column; gap:.4rem;}
  .field.full{grid-column:1/-1;}
  .field label{font-family:'Inter'; font-size:15.2px; font-weight:500; color:var(--fg);}
  .field label .req{color:var(--fg-faint); font-weight:400; margin-left:.15em;}
  .choice-group{
    display:flex; flex-direction:column; gap:.2rem;
    background:#141414; border:1px solid var(--line-strong); border-radius:14px;
    padding:.4rem;
  }
  .choice-option{
    display:flex; align-items:center; gap:.7rem;
    font-family:'Inter'; font-size:15.2px; font-weight:400; color:var(--fg);
    padding:.7rem .7rem; border-radius:10px; cursor:pointer;
    transition:background .15s ease;
  }
  .choice-option:hover{background:rgba(255,255,255,.05);}
  .choice-option input{accent-color:var(--accent); width:17px; height:17px; flex:none;}

  .multiselect{position:relative;}
  .multiselect-trigger{
    all:unset; box-sizing:border-box; width:100%;
    display:flex; align-items:center; justify-content:space-between; gap:.6rem;
    font:inherit; font-family:'Inter'; font-size:.98rem; color:var(--fg-faint);
    background:#141414; border:1px solid var(--line-strong); border-radius:14px;
    padding:.95rem 1.1rem; cursor:pointer;
  }
  .multiselect-trigger span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .multiselect-trigger.has-value{color:var(--fg);}
  .multiselect-arrow{width:16px; height:16px; flex:none; color:var(--fg-faint);}
  .multiselect-panel{
    position:absolute; top:calc(100% + .5rem); left:0; right:0; z-index:5;
    background:#141414; border:1px solid var(--line-strong); border-radius:14px;
    padding:.4rem; display:flex; flex-direction:column; gap:.2rem;
    box-shadow:0 16px 36px rgba(0,0,0,.45); max-height:280px; overflow-y:auto;
  }
  .multiselect-panel[hidden]{display:none;}
  .field input, .field select, .field textarea{
    font:inherit; font-family:'Inter'; font-size:.98rem; color:var(--fg-faint);
    background:#141414; border:1px solid var(--line-strong); border-radius:14px;
    padding:.95rem 1.1rem; outline-offset:2px;
  }
  .field input::placeholder, .field textarea::placeholder{color:var(--fg-faint); opacity:1;}
  .field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible{outline:2px solid var(--accent);}
  .field textarea{resize:vertical; min-height:6em; font-family:'Inter';}
  .field select{
    appearance:none; -webkit-appearance:none;
    padding-right:2.8rem;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8A86' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 1.1rem center; background-size:16px;
  }
  .intake-submit{
    margin-top:2rem; display:flex; align-items:flex-end; gap:1.4rem; flex-wrap:wrap;
  }
  .form-status[hidden]{display:none;}
  .form-status{
    font-family:'Inter'; font-size:.82rem; color:var(--accent);
    border:1px solid rgba(47,193,109,.35); padding:.9rem 1.2rem; border-radius:var(--radius);
    background:rgba(47,193,109,.12);
    backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
    box-shadow:0 8px 24px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.06);
  }
  .form-status{margin-top:1.4rem;}

  /* ---------- orçamento page ---------- */
  .orcamento-page{padding-top:2.5rem;}
  .orc-layout{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2.5rem,5vw,5rem); align-items:start;}
  @media (max-width:900px){ .orc-layout{grid-template-columns:1fr;} }
  .orc-left{display:flex; flex-direction:column; gap:3rem;}

  .orc-hero h1{font-size:clamp(2rem,3.6vw,2.8rem); line-height:1.04; letter-spacing:-.01em; margin-bottom:1.1rem;}
  .orc-hero-lede{color:var(--fg-soft); font-size:1.05rem; line-height:1.6;}

  .orc-contact h3{font-size:1.05rem; font-weight:500; margin-bottom:1.4rem;}
  .orc-contact ul{list-style:none; display:flex; flex-direction:column; gap:1.2rem;}
  .orc-contact li{display:flex; align-items:center; gap:.9rem;}
  .orc-contact-icon{
    width:42px; height:42px; border-radius:var(--radius); flex:none;
    background:#141414; border:1px solid var(--line-strong);
    display:flex; align-items:center; justify-content:center; color:var(--fg);
  }
  .orc-contact-icon svg{width:18px; height:18px;}
  .orc-contact .pm-label, .orc-contact .pm-value{font-family:'Inter'; font-weight:500; font-size:15.2px; color:var(--fg);}
  .orc-contact .pm-value{color:#878787;}
  .orc-contact a.pm-value{text-decoration:none; transition:color .2s ease;}
  .orc-contact a.pm-value:hover{color:var(--accent);}
  .orc-faq-section{
    background:#F4F4F2; color:#151513; margin-top:clamp(3rem,6vw,5rem);
    padding-block:clamp(3rem,7vw,5rem);
    --bg-card:#fff; --fg:#151513; --fg-soft:#5C5C58; --fg-faint:#8A8A86;
    --line:#E4E4E0; --line-strong:#D5D5D0;
  }
  .orc-faq-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2.5rem,5vw,5rem); align-items:start;}
  @media (max-width:900px){ .orc-faq-grid{grid-template-columns:1fr;} }
  .orc-faq-grid h2{font-size:clamp(2rem,3.6vw,2.8rem); line-height:1.04; letter-spacing:-.01em; color:var(--fg);}
  .orc-faq-lede{color:var(--fg-soft); font-size:1.05rem; line-height:1.6; margin-top:1.1rem;}
  .orc-faq-list .service-list{border-top:1px solid var(--line);}

  /* ---------- project detail page ---------- */
  .project-page{
    padding-top:calc(clamp(4.5rem,9vw,6.5rem) - 30px); padding-bottom:5rem; min-height:100vh;
    background:#FFFFFF;
    --bg:#FFFFFF; --bg-card:#F2F2EF; --bg-card-hover:#E8E8E4;
    --fg:#000000; --fg-soft:#000000; --fg-faint:#000000;
    --line:#E4E4E0; --line-strong:#D5D5D0;
    --glass-bg: rgba(0,0,0,.05); --glass-border: rgba(0,0,0,.12);
    --glass-shadow: 0 8px 32px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.6);
    color-scheme: light;
  }
  .project-back{
    display:inline-flex; align-items:center; gap:.5rem; font-family:'Inter'; font-size:.8rem;
    color:var(--fg-soft); text-decoration:none; margin-bottom:2.4rem; background:none; border:none; cursor:pointer; padding:0;
  }
  .project-back:hover{color:var(--fg);}
  .project-hero{max-width:820px;}
  .project-hero-eyebrow{
    display:none; font-family:'Inter'; font-size:.78rem; text-transform:uppercase;
    color:var(--fg-faint); letter-spacing:.08em; margin-bottom:.9rem;
  }
  .project-hero h1{font-size:clamp(2.2rem,4.8vw,3.6rem); margin-bottom:1.3rem; text-wrap:balance; color:var(--fg);}
  .project-hero-intro{color:var(--fg-soft); font-size:1.1rem; line-height:1.6; max-width:68ch;}

  .project-meta-row{
    display:flex; flex-wrap:wrap; gap:2.5rem; margin:3rem 0 3.5rem;
    padding-block:1.8rem; border-block:1px solid var(--line);
  }
  .project-meta-item{display:flex; align-items:center; gap:.9rem;}
  .project-meta-icon{
    width:42px; height:42px; border-radius:var(--radius); flex:none;
    background:#f9f9f9; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; color:var(--fg);
  }
  .project-meta-icon svg{width:18px; height:18px;}
  .project-meta-item div{display:flex; flex-direction:column; gap:.3rem;}
  .pm-label{font-family:'Inter'; font-weight:600; font-size:15.2px; color:var(--fg);}
  .pm-value{font-family:'Inter'; font-size:15.2px; line-height:1.55; color:#707070;}

  .project-about{
    margin-bottom:.6rem; border-radius:8px; overflow:hidden;
    background:#f9f9f9;
    padding-block:calc(clamp(2.2rem,5vw,3.5rem) + 10px);
    padding-inline:clamp(2.2rem,5vw,3.5rem);
    display:grid; grid-template-columns:.8fr 1.2fr; gap:2.5rem clamp(2rem,5vw,5rem);
  }
  @media (max-width:820px){ .project-about{grid-template-columns:1fr;} }
  .project-about-head{max-width:340px; display:flex; flex-direction:column; height:100%;}
  .project-about h2{font-size:clamp(2rem,4vw,2.8rem); line-height:1.04; margin-bottom:2rem; color:var(--fg);}
  .project-about-block h3{
    font-family:'Inter'; font-weight:600; font-size:15.2px;
    color:var(--fg); margin-bottom:.8rem;
  }
  .project-about-block p{color:var(--fg-soft); font-size:15.2px; line-height:1.55;}
    .project-about-credits{margin-top:auto; padding-top:2.4rem;}
  .project-about-credits h3{font-family:'Inter'; font-weight:600; font-size:15.2px; color:var(--fg); margin-bottom:.9rem;}
  .project-about-credits ul{list-style:none; display:flex; flex-direction:column; gap:.6rem;}
  .project-about-credits li{color:var(--fg-soft); font-size:15.2px; line-height:1.5; white-space:nowrap;}
  @media (max-width:640px){ .project-about-credits li{white-space:normal;} }
  .project-about-credits li span{color:var(--fg);}
  .project-about-credits li a{color:var(--fg-soft); text-decoration:none; border-bottom:1px solid var(--line-strong); transition:color .2s ease, border-color .2s ease;}
  .project-about-credits li a:hover{color:var(--accent); border-color:var(--accent);}
  .project-about-text{display:flex; flex-direction:column; gap:1.6rem;}
  .cases-index-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:2.8rem 2rem;}
  @media (max-width:900px){ .cases-index-grid{grid-template-columns:1fr;} }
  .project-about-text p{color:var(--fg-soft); font-size:15.2px; line-height:1.7; max-width:68ch;}

  .project-screens{display:flex; flex-direction:column; gap:.6rem; margin-bottom:5rem;}
  .project-screens-first{margin-bottom:.6rem;}
  .project-screen{
    border-radius:8px; overflow:hidden; background:var(--bg-card); position:relative;
    aspect-ratio:16/9;
  }
  .project-screen .shot{width:100%; height:100%; object-fit:cover; display:block;}

  .project-nav-row{
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    padding-block:1.4rem; border-top:1px solid var(--line); margin-top:1rem;
  }
  .project-nav-btn{
    all:unset; box-sizing:border-box; cursor:pointer;
    display:inline-flex; align-items:center; gap:.5rem;
    font-family:'Inter'; font-weight:500; font-size:.85rem; color:var(--fg);
    background:#f9f9f9; border:1px solid var(--line); border-radius:var(--radius);
    padding:.75rem 1.3rem; transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .project-nav-btn:hover{background:#111; color:#fff; border-color:#111;}
  .project-nav-top{
    all:unset; box-sizing:border-box; cursor:pointer; width:42px; height:42px; flex:none;
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:#f9f9f9; border:1px solid var(--line); color:var(--fg);
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .project-nav-top:hover{background:#111; color:#fff; border-color:#111;}
  .project-nav-top svg{width:16px; height:16px;}

  .project-nav-utility{display:flex; justify-content:flex-start; align-items:center; margin-top:1.2rem;}
  .project-nav-utility a{
    display:inline-flex; align-items:center;
    font-family:'Inter'; font-weight:500; font-size:.85rem; color:var(--fg); text-decoration:none;
    background:#f9f9f9; border:1px solid var(--line); border-radius:var(--radius);
    padding:.75rem 1.3rem; transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .project-nav-utility a:hover{background:#111; color:#fff; border-color:#111;}

  /* ---------- footer ---------- */
  footer{background:#000; border-top:1px solid var(--line);}
  .footer-cta{
    display:flex; flex-direction:column; align-items:center; text-align:center;
    padding-block:clamp(3rem,8vw,6rem);
  }
  body.page-orcamento-active .footer-cta{display:none;}
  .footer-cta-text h2{
    font-family:'Inter'; font-weight:500; font-size:clamp(2.2rem, 5.2vw, 4.2rem);
    line-height:1.04; letter-spacing:-.01em; margin-bottom:1.6rem; max-width:18ch;
  }
  .footer-cta-text p{color:var(--fg-soft); max-width:80ch; font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.55; margin-bottom:2.2rem;}
  .footer-cta-btn{
    display:inline-flex; align-items:center; gap:.6rem; background:rgba(255,255,255,.14); color:#fff;
    border:1px solid rgba(255,255,255,.3);
    backdrop-filter:blur(20px) saturate(180%); -webkit-backdrop-filter:blur(20px) saturate(180%);
    font-family:'Inter'; font-weight:600; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase;
    padding:.95rem 1.6rem; border-radius:var(--radius); text-decoration:none; width:fit-content;
    transition:background .2s ease, transform .2s ease;
  }
  .footer-cta-btn:hover{background:rgba(255,255,255,.22); transform:translateY(-2px);}
  .footer-columns{
    border-top:1px solid var(--line); padding-block:clamp(2.6rem,6vw,4rem);
    display:grid; grid-template-columns:.8fr 1fr 1fr 1.2fr; gap:2rem clamp(2rem,5vw,4rem);
  }
  @media (max-width:820px){ .footer-columns{grid-template-columns:1fr; text-align:left;} }
  .footer-nav a{
    display:block; font-family:'Inter'; font-weight:500; font-size:1.35rem; letter-spacing:-.01em;
    color:var(--fg-soft); text-decoration:none; margin-bottom:.5rem; transition:color .2s ease;
  }
  .footer-nav a:hover{color:#fff;}
  .footer-contact h4{font-family:'Inter'; font-weight:600; font-size:.9rem; color:var(--fg); margin:0 0 1.1rem;}
  .footer-columns > div:nth-child(2){margin-left:-30px;}
  @media (max-width:820px){ .footer-columns > div:nth-child(2){margin-left:0;} }
  .footer-contact p, .footer-contact a{
    display:block; font-family:'Inter'; font-size:.88rem; color:var(--fg-soft);
    text-decoration:none; margin-bottom:.45rem; transition:color .2s ease;
  }
  .footer-contact a:hover{color:#fff;}
  .footer-brand-col{text-align:right;}
  @media (max-width:820px){ .footer-brand-col{text-align:left;} }
  .footer-brand-col .fb-word{
    font-family:'Inter'; font-weight:700; font-size:clamp(1.5rem,3vw,2.1rem);
    letter-spacing:.02em; color:#fff; margin-top:-.45rem; margin-bottom:.9rem;
  }
  .footer-brand-col p{color:var(--fg-soft); font-size:.85rem; line-height:1.5; margin-bottom:1.3rem; max-width:46ch; margin-left:auto; transform:translateY(-10px);}
  @media (max-width:820px){ .footer-brand-col p{margin-left:0;} }
  .footer-bottom{
    border-top:1px solid var(--line); padding-block:1.4rem;
    display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem;
  }
  .footer-copyright{font-family:'Inter'; font-size:.78rem; color:var(--fg-faint);}
  .footer-credit{font-family:'Inter'; font-size:.78rem; color:var(--fg-faint);}
  .footer-credit a{color:var(--fg-faint); text-decoration:none; transition:color .2s ease;}
  .footer-credit a:hover{color:#fff;}
  .footer-legal{display:flex; gap:1.4rem;}
  .footer-legal a{font-family:'Inter'; font-size:.78rem; color:var(--fg-faint); text-decoration:none; transition:color .2s ease;}
  .footer-legal a:hover{color:#fff;}
  .footer-top{
    display:inline-flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--fg-soft);
    font-family:'Inter'; font-size:.78rem; transition:color .2s ease;
  }
  .footer-top:hover{color:#fff;}
  .footer-top-icon{
    display:inline-flex; align-items:center; justify-content:center; flex:none;
    width:28px; height:28px; border-radius:8px;
    background:var(--bg-card); border:1px solid var(--line);
    transition:border-color .2s ease;
  }
  .footer-top:hover .footer-top-icon{border-color:var(--fg-soft);}
  .footer-top-icon svg{width:13px; height:13px;}
  .footer-top:hover .footer-top-icon svg{animation:footerTopRise .8s ease-in-out infinite;}
  @keyframes footerTopRise{
    0%, 100%{transform:translateY(0);}
    50%{transform:translateY(-3px);}
  }
  @media (prefers-reduced-motion: reduce){ .footer-top:hover .footer-top-icon svg{animation:none;} }

  /* ---------- intro ---------- */
  html.intro-active, html.intro-active body{overflow:hidden; height:100%;}
  #introOverlay{
    position:fixed; inset:0; z-index:10000; background:#000;
    display:flex; align-items:center; justify-content:center;
    transform:translateY(0); transition:transform 1.1s cubic-bezier(.22,.61,.36,1);
  }
  #introOverlay.hide{transform:translateY(-100%); pointer-events:none;}
  #introVideo{
    width:min(68vw, 980px); aspect-ratio:16/9; height:auto;
    object-fit:cover; object-position:center;
  }
  @media (prefers-reduced-motion: reduce){ #introOverlay{display:none;} }

  /* ---------- mobile nav ---------- */
  .nav-burger{
    all:unset; display:none; box-sizing:border-box; cursor:pointer;
    width:38px; height:38px; align-items:center; justify-content:center; flex:none; flex-direction:column;
  }
  .nav-burger span{display:block; width:20px; height:2px; background:var(--fg); border-radius:2px; transition:transform .25s ease, opacity .25s ease;}
  .nav-burger span + span{margin-top:5px;}
  .masthead.on-light .nav-burger span{background:#111;}
  .nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-nav{
    position:fixed; inset:0; z-index:9997; background:rgba(0,0,0,.32);
    backdrop-filter:blur(26px) saturate(160%); -webkit-backdrop-filter:blur(26px) saturate(160%);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:opacity .3s ease, visibility .3s ease, transform .3s ease;
  }
  html.nav-open .masthead{z-index:9998;}
  .mobile-nav.open{opacity:1; visibility:visible; transform:none;}
  .mobile-nav nav{display:flex; flex-direction:column; align-items:center; gap:1.7rem;}
  .mobile-nav a{font-family:'Inter'; font-weight:500; font-size:1.7rem; color:#fff; text-decoration:none;}
  .mobile-nav a.mobile-nav-cta{color:#000; background:#fff; padding:.85rem 1.7rem; border-radius:var(--radius); font-weight:600; font-size:1.1rem; margin-top:.5rem;}
  html.nav-open, html.nav-open body{overflow:hidden;}

  /* ---------- mobile (tablet/phone) adjustments ---------- */
  @media (max-width:760px){
    .nav-burger{display:inline-flex;}
    .topnav{display:none;}
  }
  @media (max-width:640px){
    .br-desktop{display:none;}
    .br-mobile{display:inline;}
    .hero{padding-top:6.5rem; padding-bottom:5rem;}
    .section-head h2, .cases-showcase h2, .services-v2-left h2, .services-v2-title, .about-v2-title{font-size:clamp(2rem,8.5vw,2.6rem);}
    .t-card{flex-basis:86vw;}
    .project-nav-row{flex-direction:column; align-items:stretch; gap:.8rem;}
    .project-nav-btn{justify-content:center;}
    #pdPrevBtn{order:1;}
    #pdNextBtn{order:2;}
    #pdScrollTop{order:3; align-self:center;}
  }
