/* =========================================================
   Estúdio Nasser — estilos
   Desktop (≥1100px): canvas fiel ao Figma (1440px) escalado
   pela largura da tela via --z. Mobile/tablet: layout fluido.
   ========================================================= */

/* ---------- Fontes ---------- */
/* Fontes do projeto (licenciadas): coloque os arquivos em assets/fonts/
   com estes nomes, ou instale-as no computador. Enquanto não existirem,
   entram as alternativas abaixo. */
@font-face{font-family:'Redrains';font-weight:300;font-style:normal;font-display:swap;
  src:local('Redrains Light'),local('Redrains-Light'),local('Redrains'),
      url('../fonts/Redrains-Light.woff2') format('woff2'),
      url('../fonts/Redrains-Light.otf') format('opentype'),
      url('../fonts/Redrains-Light.ttf') format('truetype');}
@font-face{font-family:'New Icon Script';font-weight:400;font-style:normal;font-display:swap;
  src:local('New Icon Script'),local('NewIconScript-Regular'),local('NewIconScript'),
      url('../fonts/NewIconScript.woff2') format('woff2'),
      url('../fonts/NewIconScript.otf') format('opentype'),
      url('../fonts/NewIconScript.ttf') format('truetype');}
/* alternativas */
@font-face{font-family:'Redrains Alt';font-weight:300 400;font-display:swap;size-adjust:97%;
  src:url('../fonts/italiana-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Script Alt';font-weight:400;font-display:swap;size-adjust:118%;
  src:url('../fonts/pinyon-script-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-weight:400;font-display:swap;src:url('../fonts/jost-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Jost';font-weight:500;font-display:swap;src:url('../fonts/jost-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Raleway';font-weight:400;font-display:swap;src:url('../fonts/raleway-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Raleway';font-weight:600;font-display:swap;src:url('../fonts/raleway-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2');}

/* ---------- Tokens ---------- */
:root{
  --bg:#f7f4f1;
  --blue:#a8c1ca;
  --ink:#212025;
  --ink-2:#1d1d1b;
  --ink-3:#313232;
  --ink-4:#191919;
  --muted:#4a4948;
  --muted-2:#4d4d4d;
  --rule:#dcd9d7;
  --serif:'Redrains','Redrains Alt',Georgia,serif;
  --script:'New Icon Script','Script Alt',cursive;
  --sans:'Jost',system-ui,sans-serif;
  --z:1;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-x:clip}
img{display:block;max-width:none}
a{color:inherit;text-decoration:none}
p,h1,h2,h3,h4,ul{margin:0;padding:0}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.page{overflow:hidden;overflow:clip;position:relative}
.cover{width:100%;height:100%;object-fit:cover}
:focus-visible{outline:1px solid var(--ink-2);outline-offset:3px}

/* tipografia compartilhada */
.serif{font-family:var(--serif);font-weight:300}
.script{font-family:var(--script);font-weight:400}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:26px;padding:16px 24px;white-space:nowrap;transition:background-color .25s}
.btn:hover{background:#97b4bf}
.pill{display:block;width:46.185px;height:25.592px;transition:transform .25s}
.pill img{width:46.185px;height:25.592px}
a:hover > .pill, .pill:hover{transform:translateX(4px)}

/* ======================================================
   DESKTOP — canvas 1440 (fiel ao Figma)
   ====================================================== */
@media (min-width:1100px){
  .page{width:1440px;zoom:var(--z)}
  .sec{position:relative;width:1440px}
  .a{position:absolute;left:var(--l,auto);top:var(--t,auto);width:var(--w,auto);height:var(--h,auto)}
  .m-only{display:none!important}
}
@media (max-width:1099.98px){
  .d-only{display:none!important}
}

/* ---------- Menu (barra + overlay) ---------- */
.menubar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--bg);
  border-top:1px solid var(--ink-2);border-bottom:1px solid var(--ink-2);height:66px}
.nav-in{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 120px}
.nav-logo{justify-self:start;display:inline-flex;align-items:center;line-height:0;transition:opacity .2s}
.nav-logo img{height:34px;width:auto}
a.nav-logo:hover{opacity:.7}
.nav-links{display:flex;gap:46px}
.nav-links a,.nav-cta{font-size:11.714px;line-height:16.92px;letter-spacing:1.4057px;text-transform:uppercase;color:var(--ink)}
.nav-links a{position:relative;display:block;padding:8px 0}
.nav-links a::after{content:'';position:absolute;left:50%;right:50%;bottom:2px;height:1px;background:var(--blue);opacity:0;transition:left .35s cubic-bezier(.2,.7,.2,1),right .35s cubic-bezier(.2,.7,.2,1),opacity .2s}
.nav-links a:hover::after,.nav-links a.on::after{left:0;right:0;opacity:1}
.nav-links a.on{color:var(--ink-2)}
.nav-cta{justify-self:end;display:inline-flex;align-items:center;gap:14px;padding:8px 0}
.nav-cta img{width:46.185px;height:25.592px;transition:transform .25s}
.nav-cta:hover img{transform:translateX(4px)}
.nav-toggle{justify-self:end;font-family:var(--sans);font-size:11.714px;line-height:16.92px;letter-spacing:1.4057px;text-transform:uppercase;color:var(--ink);padding:10px 0 10px 14px}

.menu-overlay{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;overflow:hidden;
  padding:env(safe-area-inset-top,0px) 24px env(safe-area-inset-bottom,0px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.menu-overlay.open{opacity:1;visibility:visible}
.mo-top{height:66px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink-2);margin:0 -24px;padding:0 20px}
.mo-links{display:flex;flex-direction:column;margin-top:40px;position:relative;z-index:1}
.mo-links li{border-bottom:1px solid var(--rule)}
.mo-links a{display:block;padding:20px 0 18px;font-family:var(--sans);font-weight:400;font-size:clamp(17px,4.6vw,22px);line-height:1.2;letter-spacing:2.6px;text-transform:uppercase;color:var(--ink);
  transform:translateY(10px);opacity:0;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .5s,color .2s}
.menu-overlay.open .mo-links a{transform:none;opacity:1}
.menu-overlay.open .mo-links li:nth-child(2) a{transition-delay:.04s}
.menu-overlay.open .mo-links li:nth-child(3) a{transition-delay:.08s}
.menu-overlay.open .mo-links li:nth-child(4) a{transition-delay:.12s}
.menu-overlay.open .mo-links li:nth-child(5) a{transition-delay:.16s}
.mo-links a:hover{color:var(--blue)}
.mo-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:32px;position:relative;z-index:1}
.mo-ig{font-size:11.714px;letter-spacing:1.4057px;text-transform:uppercase;color:var(--ink)}
.mo-mark{position:absolute;left:-6%;bottom:-2%;width:112%;height:auto;opacity:.55;pointer-events:none}

@media (max-width:1099.98px){
  .nav-in{grid-template-columns:1fr auto;padding:0 20px}
  .nav-logo img{height:30px}
}

/* ======================================================
   HOME
   ====================================================== */
/* hero */
.hero-title{font-family:var(--serif);font-weight:300;font-size:50.88px;line-height:1.1;text-transform:uppercase;color:var(--ink-3);text-align:center}
.hero-sub{font-size:18px;line-height:26px;color:var(--ink);text-align:center}
@media (min-width:1100px){
  .s-hero{height:806px}
  .s-hero .hero-title{z-index:2}
}

/* problema */
.prob-num{font-size:12px;line-height:26px;color:var(--ink-4)}
.prob-title{font-family:var(--serif);font-weight:300;font-size:50.876px;line-height:1.01;text-transform:uppercase;color:var(--ink-4)}
.prob-script{font-family:var(--script);font-size:23.023px;line-height:1.39;color:var(--blue);white-space:nowrap;transform:rotate(-10.29deg)}
.prob-item h3{font-weight:400;font-size:16px;line-height:26px;color:var(--ink-2)}
.prob-item p{font-size:16px;line-height:26px;color:rgba(0,0,0,.7)}
.rule{height:1px;background:var(--ink-2)}
@media (min-width:1100px){
  .s-prob{height:1040px}
  .s-prob .prob-script-wrap{display:flex;align-items:center;justify-content:center;transform:translateX(-50%)}
}

/* serviços */
.svc-title{font-family:var(--serif);font-weight:300;font-size:36px;line-height:1.4;color:#fff;text-align:center}
.svc-row{display:flex;align-items:center;gap:14px}
.svc-col{display:flex;flex-direction:column;align-items:center;width:360px;text-align:center}
.svc-col .n{font-size:12px;line-height:26px;color:var(--ink);width:100%}
.svc-col h3{font-family:var(--serif);font-weight:300;font-size:32px;line-height:1.1;text-transform:uppercase;color:var(--ink-3)}
.svc-col p{font-size:16px;line-height:26px;color:var(--muted-2);width:320px}
.svc-vline{width:1px;height:327px;background:var(--rule);flex:none}
@media (min-width:1100px){
  .s-svc{height:877px;background:var(--blue)}
  .svc-col.c1{gap:27px}.svc-col.c2,.svc-col.c3{gap:28px}
  .svc-col.c1 h3{height:75px;width:100%}
  .svc-col.c2 h3{height:70px;width:306px}
  .svc-col.c3 h3{height:70px;width:100%}
}

/* método */
.met-lead{font-family:var(--serif);font-weight:300;font-size:36.703px;line-height:43.228px;color:var(--ink)}
.underline{height:1px;background:rgba(29,29,27,.74)}
.etapas{display:flex;flex-direction:column;align-items:center;gap:70px}
.etapas-head{display:flex;flex-direction:column;align-items:center;gap:49px;width:750px;text-align:center;text-transform:uppercase;color:var(--ink)}
.etapas-head .k{font-size:11.714px;line-height:16.92px;letter-spacing:1.4057px;width:100%}
.etapas-head h2{font-family:var(--serif);font-weight:300;font-size:50px;line-height:1.01;width:100%}
.etapas-grid{position:relative;width:1154px;height:155.7px}
.etapa{position:absolute;top:9px;display:flex;flex-direction:column;align-items:center;gap:36px;text-align:center}
.etapa h3{font-weight:400;font-size:14px;line-height:29.757px;letter-spacing:1.68px;text-transform:uppercase;color:var(--ink);width:100%}
.etapa p{font-size:16px;line-height:23.85px;letter-spacing:.64px;color:var(--muted);width:100%}
.etapa-line{position:absolute;top:0;width:1px;height:155.7px;background:var(--rule)}
.etapas-foot{font-size:10.434px;line-height:13.416px;letter-spacing:1.2521px;text-transform:uppercase;color:var(--ink);text-align:center;width:100%}
@media (min-width:1100px){
  .s-met{height:1261px}
}

/* depoimento */
.depo-text{font-size:14.942px;line-height:23.907px;letter-spacing:.5977px;color:#000;text-align:justify}
.depo-name{font-family:'Raleway',sans-serif;font-size:16.436px;line-height:23.907px;letter-spacing:.6575px;color:#000;white-space:pre}
.depo-name b{font-weight:600}
.depo-nav button{display:block;width:56.226px;height:31.004px;transition:opacity .2s,transform .2s}
.depo-nav button img{width:56.226px;height:31.004px}
.depo-nav button:hover{opacity:.6}
.depo-slide{transition:opacity .35s}
.depo-slide.fade{opacity:0}
@media (min-width:1100px){
  .s-depo{height:643px;background:var(--blue)}
}

/* ======================================================
   FECHAMENTO (Conheça a Fernanda + orçamento + rodapé)
   ====================================================== */
.fer-title{font-family:var(--serif);font-weight:300;font-size:47.394px;line-height:51.338px;color:#25140b}
.fer-text{font-size:16px;line-height:28px;letter-spacing:.48px;color:var(--muted);text-align:justify}
.fer-text p + p{margin-top:28px}
.fer-sign{font-weight:500;font-size:16px;line-height:28px;letter-spacing:.48px;text-transform:uppercase;color:#182d25;white-space:nowrap}
.fer-block{display:flex;flex-direction:column;align-items:flex-start;gap:25px}
.fer-block .underline{width:140.83px}
.circle-text{width:144.215px;height:144.709px}
.circle-text text{font-family:var(--sans);font-size:10.4px;letter-spacing:1.6px;text-transform:uppercase;fill:#1d1d1b}
.ready{font-family:var(--script);font-size:84.386px;line-height:.85;color:var(--bg);text-align:center;text-transform:lowercase;transform:rotate(-10.29deg);width:420.339px}
.ready-wrap{display:flex;align-items:center;justify-content:center}
.ready-sub{font-size:16px;line-height:26px;color:var(--ink);text-align:center}
.form{display:flex;flex-direction:column;align-items:flex-start;gap:38px}
.form .fields{display:flex;flex-direction:column;gap:16px;width:100%}
.field{display:flex;align-items:center;border:1px solid rgba(168,193,202,.2);padding:0 20px;height:63px;width:100%;transition:border-color .25s;cursor:text}
.field:focus-within{border-color:rgba(168,193,202,.75)}
.field{-webkit-tap-highlight-color:transparent}
.field input{flex:1;min-width:0;background:transparent;border:0;border-radius:0;outline:0;box-shadow:none;-webkit-appearance:none;appearance:none;color:var(--bg);caret-color:var(--bg);font:400 16px/normal var(--sans);padding:0;height:100%}
.field input:focus,.field input:focus-visible{outline:0;box-shadow:none}
.field input::placeholder{color:var(--bg);opacity:.72;transition:opacity .2s}
.field input:focus::placeholder{opacity:.4}
/* preenchimento automático/colar do navegador: mantém o fundo transparente e o texto na cor da marca */
.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--bg);caret-color:var(--bg);-webkit-box-shadow:0 0 0 1000px transparent inset;transition:background-color 600000s 0s,color 600000s 0s}
.field input:autofill{background:transparent}
.form .send{background:var(--blue);color:var(--ink);font-size:16px;line-height:normal;height:60px;padding:8px 16px;transition:background-color .25s}
.form .send:hover{background:#bcd0d7}
.form-msg{font-size:14px;line-height:22px;color:var(--bg);min-height:22px;margin-top:-22px}
.foot{font-size:12px;line-height:1.39;color:#292929;text-align:center;white-space:nowrap}
.foot a:hover{text-decoration:underline}
@media (min-width:1100px){
  .s-fim{background:var(--bg)}
  .s-fim .fim-blue{background:var(--blue)}
  .s-fim .fer-svg{z-index:1;pointer-events:none}
  .s-fim .fim-blue,.s-fim .fim-photo{z-index:2}
  .s-fim .z3{z-index:3}
  .s-fim .ready-wrap{transform:translateX(-50%)}
  .s-fim .ready-sub{transform:translateX(-50%)}
  .s-fim .foot{transform:translateX(-50%)}
}

/* ======================================================
   PORTFÓLIO
   ====================================================== */
.topbar{display:flex;align-items:center;justify-content:space-between;border-top:.631px solid currentColor;border-bottom:.631px solid currentColor;
  height:46.13px;padding:0 6px 0 3px;font-size:10.096px;line-height:20.193px;text-transform:uppercase}
.topbar a{transition:opacity .2s}
.topbar a:hover{opacity:.6}
.topbar.light{color:#f7f4ed}
.topbar.dark{color:var(--ink-2)}
.card{display:block}
.card .img{position:relative;overflow:hidden;width:285px;height:412px}
.card .img img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover .img img{transform:scale(1.03)}
.card .lbl{display:flex;align-items:center;justify-content:space-between;width:282px;margin:11px 0 0 3px}
.card .lbl span{font-size:16px;line-height:1.4;text-transform:lowercase;color:#000;white-space:nowrap}
@media (min-width:1100px){
  .s-phero{height:463px}
  .s-grid{height:1188px}
  .card{position:absolute;left:var(--l);top:var(--t)}
}

/* carrossel */
.car-sec{position:relative}
.car-block{background:#373737}
.car-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}
.car-track::-webkit-scrollbar{display:none}
.car-track a{flex:none;width:387px;height:499px;scroll-snap-align:start;overflow:hidden}
.car-track a img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.car-track a:hover img{transform:scale(1.03)}
.car-btn{width:42px;height:42px;border-radius:100px;background:#ede9e0;border:1px solid #9c8875;display:flex;align-items:center;justify-content:center;z-index:3;transition:background-color .2s}
.car-btn:hover{background:#fff}
.car-btn img{width:18px;height:18px}
@media (min-width:1100px){
  .car-sec{height:551px}
  .car-track{position:absolute;left:var(--l);top:26px;width:calc(1440px - var(--l));padding-right:40px}
  .car-btn{position:absolute;top:255px}
}

/* ======================================================
   PROJETO (case)
   ====================================================== */
.case{display:flex;flex-direction:column;gap:32px}
.case .big{width:100%;overflow:hidden}
.case .trio{display:flex;gap:30px}
.case .trio div{overflow:hidden;flex:1}
.case-info{display:flex;flex-direction:column;gap:32px;padding:16px 0;font-size:16px;line-height:26px;color:var(--ink-2)}
.case-info .row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--blue);border-bottom:1px solid var(--blue);padding:16px 0}
.case-info .row span{color:rgba(29,29,27,.7)}
.case-info .desc{text-align:justify}
@media (min-width:1100px){
  .s-case{padding:229px 0 0 123px}
  .s-case .topbar{position:absolute;left:120px;top:68px;width:1200px}
  .case{width:1197px}
  .case .h639{height:639px}.case .h794{height:794px}.case .h543{height:543px}
  .case .trio div{height:341px;width:379px;flex:none}
  .case-info .row{width:1199px}
  .case-info .row .p{width:600px}.case-info .row .s{width:264px}
  .s-case + .car-sec{margin-top:43px}
}

/* ======================================================
   MOBILE / TABLET  (< 1100px)
   ====================================================== */
@media (max-width:1099.98px){
  .wrap{padding:0 24px}
  .sec{position:relative}

  /* hero */
  .s-hero{display:flex;flex-direction:column}
  .s-hero .hero-copy{position:relative;padding:56px 24px 40px;display:flex;flex-direction:column;align-items:center;text-align:center}
  .s-hero .hero-title{position:relative;z-index:2;font-size:clamp(30px,8.4vw,50px);max-width:560px}
  .s-hero .hero-oval{width:140px;height:auto;margin-top:-58px;position:relative;z-index:1}
  .s-hero .hero-sub{font-size:16px;line-height:24px;margin-top:26px;max-width:420px}
  .s-hero .btn{margin-top:22px}
  .s-hero .hero-img{width:100%;height:min(118vw,720px);object-position:50% 30%}

  /* problema */
  .s-prob{padding:48px 0 64px}
  .s-prob .mesa{width:calc(100% - 48px);margin:0 24px;aspect-ratio:610/870;height:auto;max-height:640px}
  .s-prob .prob-head{position:relative;padding:40px 24px 0}
  .s-prob .prob-num{position:absolute;right:24px;top:36px}
  .s-prob .prob-title{font-size:clamp(30px,8.6vw,50px);max-width:480px}
  .s-prob .prob-script-wrap{display:flex;justify-content:flex-end;padding:18px 24px 0;max-width:520px}
  .s-prob .prob-list{padding:28px 24px 0}
  .s-prob .prob-item{display:grid;grid-template-columns:26px 1fr;column-gap:12px;padding:22px 0;border-bottom:1px solid var(--ink-2)}
  .s-prob .prob-item img{width:38px;height:38px;margin:-5.6px 0 0 -10px}
  .s-prob .prob-item p{font-size:15px;line-height:24px}

  /* serviços */
  .s-svc{background:var(--blue);padding-bottom:56px}
  .s-svc .svc-bg{height:300px;width:100%}
  .s-svc .svc-title{position:absolute;left:24px;right:24px;top:72px;font-size:clamp(26px,6.4vw,36px)}
  .s-svc .svc-card{position:relative;margin:-120px 16px 0;background:var(--bg);padding:16px 20px}
  .s-svc .svc-row{flex-direction:column;gap:0}
  .s-svc .svc-col{width:100%;gap:16px;padding:36px 0}
  .s-svc .svc-col p{width:auto;max-width:340px;font-size:15px;line-height:24px}
  .s-svc .svc-col h3{font-size:28px}
  .s-svc .svc-vline{width:100%;height:1px}

  /* método */
  .s-met{padding:56px 0 64px;overflow:hidden}
  .s-met .met-top{display:flex;flex-direction:column;gap:28px;padding:0 24px}
  .s-met .met-lead{font-size:clamp(28px,7vw,36.7px);line-height:1.18}
  .s-met .underline{width:140px;margin-top:12px}
  .s-met .revista{width:100%;height:auto;aspect-ratio:675/334}
  .s-met .nasser{width:118%;max-width:none;margin:-8% 0 0 -4%;height:auto}
  .s-met .etapas{padding:40px 24px 0;gap:44px}
  .s-met .etapas-head{width:100%;gap:24px}
  .s-met .etapas-head h2{font-size:clamp(30px,8vw,50px)}
  .s-met .etapas-grid{width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:0}
  .s-met .etapa{position:static;padding:24px 12px;gap:12px;border-top:1px solid var(--rule)}
  .s-met .etapa:nth-child(odd){border-right:1px solid var(--rule)}
  .s-met .etapa p{font-size:14px;line-height:21px;letter-spacing:.3px}
  .s-met .etapa-line{display:none}

  /* depoimento */
  .s-depo{background:var(--blue);padding:64px 24px;display:flex;flex-direction:column;gap:28px}
  .s-depo .depo-quote{width:180px;height:auto}
  .s-depo .depo-quote.photo{width:150px}
  .s-depo .depo-text{font-size:14.5px}
  .s-depo .depo-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
  .s-depo .depo-name{white-space:pre}
  .s-depo .depo-nav{display:flex;gap:12px}

  /* fechamento — segue o frame FORMS MOBILE */
  .s-fim{display:flex;flex-direction:column}
  .s-fim .fim-quote{background:var(--blue);padding:64px 24px 40px;display:flex;flex-direction:column;align-items:center}
  .s-fim .ready-box{position:relative;width:min(390px,100%);height:270px;display:flex;align-items:center;justify-content:center}
  .s-fim .ready-oval{width:158.944px;height:247.388px;position:absolute;left:50%;top:22px;transform:translateX(-50%)}
  .s-fim .ready{font-size:72.739px;width:362.324px;position:relative}
  .s-fim .ready-sub{font-size:13.792px;line-height:22.411px;max-width:328px;margin-top:22px}
  .s-fim .arrow-down{width:32px;height:32px;margin-top:56px}
  .s-fim .fim-form{position:relative;padding:123px 24px 120px;display:flex;justify-content:center;background:#3a3a3a}
  .s-fim .fim-form .fim-photo{position:absolute;inset:0}
  .s-fim .fim-form .fim-photo img{object-position:50% 100%}
  .s-fim .form{position:relative;width:min(327.55px,100%)}
  .s-fim .fim-about{position:relative;padding-top:57px}
  .s-fim .fim-pics{position:relative;height:420px}
  .s-fim .retrato{position:absolute;left:calc(50% + 0px);top:0;width:258.37px;height:343.11px;transform:translateX(-42%)}
  .s-fim .monitor{position:absolute;left:calc(50% - 333px);top:25px;width:213px;height:auto}
  .s-fim .fer-svg{position:absolute;left:calc(50% - 405px);top:210px;width:560px;height:auto;pointer-events:none}
  .s-fim .circle-text{position:absolute;left:calc(50% + 128px);top:-32px;width:63.4px;height:63.4px}
  .s-fim .fim-fade{position:absolute;left:0;right:0;top:293px;height:176px;background:linear-gradient(to bottom,rgba(247,244,241,0),var(--bg))}
  .s-fim .fer-block{position:relative;align-items:center;text-align:center;gap:16px;padding:0 29px;max-width:420px;margin:0 auto}
  .s-fim .fer-title{font-size:32px}
  .s-fim .fer-text{font-size:13.79px;letter-spacing:.4137px;text-align:center;max-width:306px}
  .s-fim .fer-sign{font-size:12px;letter-spacing:.36px}
  .s-fim .socials{display:flex;gap:16px}
  .s-fim .socials a{width:32px;height:32px;color:var(--ink-2);transition:opacity .2s}
  .s-fim .socials a:hover{opacity:.6}
  .s-fim .socials img{width:32px;height:32px}
  .s-fim .fim-foot{margin-top:30px;border-top:1px solid #c9c6c3;padding:24px 16px 28px}
  .s-fim .foot{white-space:normal}

  /* portfólio */
  .s-phero{height:360px;position:relative;color:#f7f4ed}
  .s-phero .topbar{position:absolute;left:16px;right:16px;bottom:40px}
  .s-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 16px;padding:48px 16px 56px}
  .card .img{width:100%;height:auto;aspect-ratio:285/412}
  .card .lbl{width:auto;margin:10px 0 0;gap:8px}
  .card .lbl span{font-size:14px;white-space:normal}
  .card .pill{flex:none}
  .car-sec{padding:26px 0}
  .car-block{position:absolute;left:24px;top:0;bottom:0;width:62%}
  .car-track{position:relative;padding:0 24px;scroll-padding:0 24px}
  .car-track a{width:min(72vw,387px);height:auto;aspect-ratio:387/499}
  .car-btn{position:absolute;top:50%;transform:translateY(-50%)}
  .car-btn.prev{left:12px}.car-btn.next{right:12px}

  /* projeto */
  .s-case{padding:28px 16px 0}
  .s-case .topbar{margin-bottom:28px}
  .case{gap:16px}
  .case .h639{aspect-ratio:1197/639}.case .h794{aspect-ratio:1197/794}.case .h543{aspect-ratio:1197/543}
  .case .trio{gap:16px;flex-direction:column}
  .case .trio div{aspect-ratio:379/341}
  .case-info{gap:20px;padding:8px 0;font-size:15px;line-height:24px}
  .case-info .row{flex-direction:column;align-items:flex-start;gap:4px}
  .s-case + .car-sec{margin-top:48px}
}
@media (min-width:640px) and (max-width:1099.98px){
  .s-grid{grid-template-columns:repeat(3,1fr);padding:56px 32px 64px;gap:44px 20px}
  .case .trio{flex-direction:row}
  .s-prob .prob-head,.s-prob .prob-list{max-width:640px}
  .s-svc .svc-card{margin:-120px 32px 0}
  .s-met .etapas-grid{grid-template-columns:repeat(4,1fr)}
  .s-met .etapa{border-right:1px solid var(--rule)}
  .s-met .etapa:last-child{border-right:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---- ajustes de posicionamento ---- */
.depo-photo{border-radius:50%;object-fit:cover}
@media (min-width:1100px){
  .s-fim{height:var(--hh)}
  .svc-card{background:var(--bg)}
  .svc-card .svc-row{position:absolute;left:32px;top:66px;width:1136px;height:327px}
  .etapa{left:var(--l);top:var(--t);width:var(--w);gap:var(--g)}
  .car-btn.prev{left:165px}.car-btn.next{left:1321px}
}
@media (max-width:1099.98px){
  .s-phero > img{position:absolute;inset:0;width:100%;height:100%}
}
@media (max-width:1099.98px){
  .s-hero .hero-title{order:1}
  .s-hero .hero-oval{order:2}
  .s-hero .hero-sub{order:3}
  .s-hero .btn{order:4}
  .s-depo{padding-bottom:40px}
}
.sec[id]{scroll-margin-top:66px}

/* ---- mobile: método conforme referência + títulos balanceados ---- */
@media (max-width:1099.98px){
  .hero-title br,.prob-title br,.etapas-head h2 br,.svc-col h3 br{display:none}
  .hero-title,.prob-title,.etapas-head h2,.svc-title,.svc-col h3,.fer-title,.met-lead{text-wrap:balance}
  .s-hero .hero-title{max-width:370px}

  .s-met{padding:0 0 64px}
  .s-met .met-top{position:relative;display:block;padding:0}
  .s-met .revista{position:absolute;right:0;top:0;width:48%;aspect-ratio:675/334;object-fit:cover;z-index:0}
  .s-met .met-top > div{position:relative;z-index:1;padding:64px 20px 0}
  .s-met .met-lead{font-size:clamp(26px,7vw,36px);line-height:1.08}
  .s-met .met-lead br{display:inline}
  .s-met .underline{width:104px;margin-top:14px}
  .s-met .nasser{width:112%;margin:28px 0 0 -4%}
  .s-met .etapas{padding:56px 20px 0;gap:36px}
  .s-met .etapas-head{gap:22px}
  .s-met .etapas-head .k{font-size:11px}
  .s-met .etapas-head h2{font-size:clamp(28px,8vw,40px);line-height:1.05}
  .s-met .etapas-grid,
  .s-met .etapas-grid{display:flex;flex-direction:column;align-items:center;gap:0}
  .s-met .etapa{position:relative;width:100%;max-width:300px;padding:26px 0;gap:14px;border:0!important}
  .s-met .etapa + .etapa-line + .etapa::before,
  .s-met .etapa + .etapa::before{content:'';position:absolute;top:0;left:50%;width:170px;height:1px;background:var(--rule);transform:translateX(-50%)}
  .s-met .etapa h3{font-size:13px}
  .s-met .etapa p{font-size:15px;line-height:23px;letter-spacing:.3px}
}
@media (min-width:640px) and (max-width:1099.98px){
  .s-met .etapas-grid{display:flex}
  .s-met .etapa{border-right:0}
}
@media (max-width:1099.98px){.hero-sub,.ready-sub,.svc-col p,.etapa p{text-wrap:pretty}}

/* ---- mobile: fechamento fiel ao frame FORMS MOBILE (canvas 420 × 2271) ---- */
@media (max-width:1099.98px){
  .s-fim{display:block}
  .fim-m{width:420px;zoom:var(--zm,1);overflow:hidden}
  .fim-m .mcv{position:relative;width:420px;height:2184px}
  .fim-m .b{position:absolute;margin:0}
  .fim-m .ready-wrap{display:flex;align-items:center;justify-content:center}
  .fim-m .fim-photo-m{overflow:hidden;background:#3a3a3a}
  .fim-m .fim-photo-m img{object-position:50% 100%}
  .fim-m .form{display:flex;flex-direction:column;gap:38px;align-items:flex-start}
  .fim-m .fer-block-m{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
  .fim-m .fer-title{line-height:51.338px}
  .fim-m .fer-text{width:306px;font-size:13.79px;line-height:28px;letter-spacing:.4137px;text-align:center}
  .fim-m .fer-text p + p{margin-top:28px}
  .fim-m .fer-sign{font-size:12px;letter-spacing:.36px}
  .fim-m .socials{display:flex;gap:16px}
  .fim-m .socials a{display:block;width:32px;height:32px;transition:opacity .2s}
  .fim-m .socials a:hover{opacity:.6}
  .fim-m .socials img{width:32px;height:32px}
  .fim-m .foot{white-space:nowrap}
}
@media (max-width:1099.98px){
  .fim-m .fer-block-m{align-items:flex-start;text-align:left}
  .fim-m .fer-text{width:100%;max-width:none;text-align:left}
}

.mo-social{display:flex;gap:18px}
.mo-social a{display:block;width:28px;height:28px;transition:opacity .2s}
.mo-social a:hover{opacity:.6}
.mo-social img{width:28px;height:28px}

/* ---- portfólio mobile: 1 projeto por linha + carrossel contínuo ---- */
@media (max-width:639.98px){
  .s-grid{grid-template-columns:1fr;gap:40px;padding:40px 20px 56px}
  .card .lbl span{font-size:16px}
}
.car-clone{display:none}
@media (max-width:1099.98px){
  .car-btn{display:none!important}
  .car-sec{overflow:hidden}
  .car-track.marquee{display:flex;gap:0;width:max-content;overflow:visible;padding:0;scroll-snap-type:none;animation:car-marquee 48s linear infinite}
  .car-track.marquee a{margin-right:16px;scroll-snap-align:none}
  .car-track.marquee .car-clone{display:block}
}
@keyframes car-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.car-track.marquee{animation:none}}

/* ======================================================
   RODAPÉ
   ====================================================== */
.site-foot{background:var(--bg);border-top:1px solid var(--ink-2);color:var(--ink);overflow:hidden}
.sf-in{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding:88px 120px 40px}
.sf-brand{display:flex;flex-direction:column;align-items:flex-start;gap:26px;max-width:360px}
.sf-logo img{height:46px;width:auto}
.sf-logo{transition:opacity .2s}.sf-logo:hover{opacity:.7}
.sf-tag{font-size:16px;line-height:26px;color:var(--muted)}
.sf-cta{display:inline-flex;align-items:center;gap:14px;font-size:11.714px;line-height:16.92px;letter-spacing:1.4057px;text-transform:uppercase;color:var(--ink)}
.sf-cta img{width:46.185px;height:25.592px;transition:transform .25s}
.sf-cta:hover img{transform:translateX(4px)}
.sf-h{font-size:11.714px;line-height:16.92px;letter-spacing:1.4057px;text-transform:uppercase;color:var(--ink);padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--blue)}
.sf-col ul{display:flex;flex-direction:column;gap:10px}
.sf-col a{font-size:16px;line-height:26px;color:var(--muted);background:linear-gradient(var(--blue),var(--blue)) 0 100%/0 1px no-repeat;transition:background-size .35s cubic-bezier(.2,.7,.2,1),color .2s}
.sf-col a:hover{color:var(--ink-2);background-size:100% 1px}
.sf-social{display:flex;gap:16px;margin-top:24px}
.sf-social a{display:block;width:26px;height:26px;background:none!important;transition:opacity .2s}
.sf-social a:hover{opacity:.55}
.sf-social img{width:26px;height:26px}
.sf-mark{height:330px;overflow:hidden;margin-top:8px;pointer-events:none}
.sf-mark img{width:100%;height:auto;margin-top:-34px;opacity:.9}
.sf-bar{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;border-top:1px solid var(--ink-2);padding:24px 120px 28px;font-size:12px;line-height:1.39;color:#292929}
.sf-legal{display:flex;align-items:center;gap:14px;justify-self:center}
.sf-legal span{color:var(--blue)}
.sf-bar a{transition:opacity .2s}.sf-bar a:hover{opacity:.6}
.sf-top{font-size:11px;letter-spacing:1.2px;text-transform:uppercase}
.sf-credit{justify-self:end;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.sf-credit b{font-weight:500;color:var(--ink-2);text-transform:none;letter-spacing:.3px;font-size:12.5px}

@media (max-width:1099.98px){
  .sf-in{grid-template-columns:1fr 1fr;gap:40px 24px;padding:56px 24px 32px}
  .sf-brand{grid-column:1 / -1;max-width:none;gap:22px}
  .sf-logo img{height:40px}
  .sf-tag{font-size:15px;line-height:24px;max-width:420px}
  .sf-col:last-child{grid-column:1 / -1}
  .sf-col a{font-size:15px}
  .sf-mark{height:auto;aspect-ratio:1440/360;margin-top:0}
  .sf-mark img{margin-top:-2.8%}
  .sf-bar{grid-template-columns:1fr;justify-items:center;text-align:center;gap:0;padding:0 24px 32px}
  .sf-legal{order:1;width:calc(100% + 48px);margin:0 -24px;justify-content:center;padding:20px 24px;border-top:1px solid var(--ink-2);border-bottom:1px solid var(--rule)}
  .sf-copy{order:2;padding-top:24px}
  .sf-credit{order:3;justify-self:center;padding-top:8px}
}

/* ---- carrosseis contínuos em todas as telas ---- */
.car-btn{display:none!important}
.car-sec{overflow:hidden}
.car-track.marquee{gap:0;width:max-content;overflow:visible;scroll-snap-type:none;animation:car-marquee 60s linear infinite}
.car-track.marquee .car-clone{display:block}
.car-track.marquee a{scroll-snap-align:none}
@media (min-width:1100px){
  .car-track.marquee{padding:0}
  .car-track.marquee a{margin-right:20px}
}
@media (prefers-reduced-motion:reduce){.car-track.marquee{animation:none}}

/* ---- depoimento: mesma composição em todas as páginas ---- */
@media (max-width:1099.98px){
  .s-depo .depo-mark{position:relative;width:209px;height:218px}
  .s-depo .depo-mark .depo-quote{position:absolute;left:0;top:0;width:144.5px;height:auto}
  .s-depo .depo-mark .depo-photo{position:absolute;left:88.6px;top:98px;width:120px;height:120px}
}
.depo-photo[hidden]{display:none!important}
/* páginas de políticas */
.legal-upd{font-size:13px;line-height:20px;letter-spacing:.3px;color:var(--muted);margin:12px 0 8px}
.legal{text-align:left;margin-bottom:48px}
.legal h2{font-family:var(--serif);font-weight:300;font-size:26px;line-height:32px;color:#25140b;margin:44px 0 12px}
.legal h2 + p{margin-top:0}
.legal ul{list-style:disc;padding-left:22px;margin-top:14px}
.legal ul + p,.legal p + ul{margin-top:14px}
.legal li + li{margin-top:8px}
.legal a{text-decoration:underline;text-underline-offset:3px}
.legal strong{font-weight:500;color:var(--ink-2)}
