/* ==========================================================================
   Vizentini Advocacia — Regularização de imóveis
   Direção: editorial jurídico premium · arquitetura contemporânea · linhas cadastrais
   Estrutura: 1 tokens · 2 base · 3 layout · 4 componentes · 5 seções · 6 movimento · 7 responsivo
   ========================================================================== */

/* 1 · TOKENS ============================================================== */
:root{
  /* cor */
  --green-950:#041F1A;
  --green-900:#062E27;
  --green-800:#0B453A;
  --ivory:#F4F0E7;
  --paper:#E9E1D3;
  --paper-soft:#EFE9DD;
  --warm-white:#FBF8F2;
  --graphite:#17231F;
  --muted:#4B5751;
  --bronze:#D5A25D;
  --bronze-hover:#E0B373;
  --bronze-press:#C58F4A;
  --bronze-ink:#7A5626;          /* bronze legível (AA) sobre fundos claros */
  --terra:#A47C56;
  --terra-soft:#D9B287;          /* dourado da paleta, legível (AA) sobre verde profundo */
  --on-dark:#F4F0E7;
  --on-dark-muted:#B9C6BE;
  --line:rgba(23,35,31,.12);
  --line-strong:rgba(23,35,31,.2);
  --line-dark:rgba(244,240,231,.12);
  --line-bronze:rgba(213,162,93,.32);

  /* tipografia */
  --sans:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;
  --heading:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* layout */
  --container:1240px;
  --gutter:clamp(48px,4.4vw,72px);
  --col-gap:clamp(20px,2.2vw,32px);
  --header-h:84px;
  --section-y:clamp(104px,9vw,132px);

  /* movimento */
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-soft:cubic-bezier(.33,.9,.35,1);

  /* texturas geradas em código */
  --grain-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .09 0 0 0 0 .14 0 0 0 0 .12 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

  /* teste local: textura fotográfica de fundo para as seções verdes escuras */
  --tex-dark:url("./assets/texture-verde.jpg");
}

/* 2 · BASE ================================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;font:400 17px/1.68 var(--sans);color:var(--graphite);background:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
figure,p{margin:0}
h1,h2,h3{font-family:var(--heading);margin:0;text-wrap:balance;color:inherit}
p{text-wrap:pretty}
em{font-weight:inherit}
button{font:inherit;color:inherit}
svg{flex-shrink:0}
::selection{background:var(--bronze);color:var(--green-950)}
:focus-visible{outline:2px solid var(--bronze-ink);outline-offset:4px;border-radius:2px}
.hero-shell :focus-visible,.section--dark :focus-visible,.section--deep :focus-visible,.final-section :focus-visible,.site-footer :focus-visible,.site-header :focus-visible{outline-color:var(--bronze)}

h1{font-size:clamp(44px,4.9vw,72px);font-weight:700;line-height:1.03;letter-spacing:-.045em}
h2{font-size:clamp(34px,3.6vw,52px);font-weight:600;line-height:1.08;letter-spacing:-.04em}
.h2-statement{font-size:clamp(38px,4.4vw,62px);font-weight:700;line-height:1.03;letter-spacing:-.045em}
h3{font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.022em}

.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:12px 20px;background:var(--ivory);color:var(--green-950);font-weight:600;border-radius:3px;transform:translateY(-180%);transition:transform .2s}
.skip-link:focus{transform:none}

/* 3 · LAYOUT ============================================================== */
.container{width:min(calc(100% - var(--gutter) * 2),var(--container));margin-inline:auto}
.section{position:relative;padding-block:var(--section-y)}
.section>.container{position:relative;z-index:1}
.section--dark{background-color:var(--green-900);color:var(--on-dark)}
.section--deep{background-color:var(--green-950);color:var(--on-dark)}
.section--dark p,.section--deep p{color:var(--on-dark-muted)}

/* 4 · COMPONENTES ========================================================= */

/* eyebrow */
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 24px;font:600 12.5px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-ink)}
.eyebrow--center{justify-content:center}
.hero-shell .eyebrow,.section--dark .eyebrow,.section--deep .eyebrow,.final-panel .eyebrow{color:var(--bronze)}

/* cabeçalho de seção */
.sec-head{max-width:700px}
.sec-head--wide{max-width:860px}
.sec-head>p:not(.eyebrow){margin-top:26px;max-width:620px;font-size:18px;line-height:1.66;color:var(--muted)}
.section--dark .sec-head>p:not(.eyebrow){color:var(--on-dark-muted)}

/* botão principal */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;max-width:100%;min-height:54px;padding:0 26px;border:1px solid rgba(255,236,204,.45);border-radius:3px;background:var(--bronze);color:var(--green-950);font:600 15.5px/1.25 var(--heading);letter-spacing:-.005em;text-align:center;cursor:pointer;isolation:isolate;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,244,226,.45),0 18px 36px -18px rgba(213,162,93,.55);
  transition:background-color .25s var(--ease-soft),transform .25s var(--ease-soft),box-shadow .25s var(--ease-soft)}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,246,230,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease-out)}
.btn__arrow{transition:transform .3s var(--ease-out)}
.btn--lg{min-height:56px;padding-inline:30px;font-size:16px}
.btn--xl{min-height:60px;padding-inline:36px;font-size:17px;gap:16px}
.btn:active{transform:translateY(0) scale(.985);background:var(--bronze-press);box-shadow:inset 0 1px 0 rgba(255,244,226,.3),0 8px 18px -12px rgba(213,162,93,.5)}
.btn:focus-visible{outline:2px solid var(--on-dark);outline-offset:3px;box-shadow:0 0 0 6px rgba(213,162,93,.35)}
.btn-note{margin-top:16px;max-width:430px;font-size:14.5px;line-height:1.6;color:var(--muted)}
.hero-shell .btn-note,.section--dark .btn-note,.final-panel .btn-note{color:var(--on-dark-muted)}

/* 5 · SEÇÕES ============================================================== */

/* 5.1 header ------------------------------------------------------------- */
.site-header{position:fixed;inset:0 0 auto;z-index:80;height:var(--header-h);border-bottom:1px solid rgba(244,240,231,.08);transition:background-color .4s var(--ease-soft),border-color .4s var(--ease-soft),box-shadow .4s var(--ease-soft),backdrop-filter .4s}
.site-header.is-scrolled{background-color:rgba(6,46,39,.9);border-color:rgba(213,162,93,.18);box-shadow:0 18px 40px -30px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:100%}
.brand{display:inline-flex;align-items:center;min-height:44px}
.site-header .brand img{width:176px;height:auto}
.site-header nav{display:flex;align-items:center;gap:28px}
.header-nav-link{position:relative;display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:rgba(244,240,231,.86);transition:color .25s}
.header-nav-link::after{content:'';position:absolute;left:0;right:0;bottom:10px;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.header-oab{padding-left:28px;border-left:1px solid rgba(244,240,231,.16);font-size:13px;letter-spacing:.06em;color:var(--bronze);white-space:nowrap}

/* 5.2 hero --------------------------------------------------------------- */
.hero-shell{position:relative;z-index:2;isolation:isolate;overflow-x:clip;padding-top:var(--header-h);color:var(--on-dark);
  background:
    var(--grain-light),
    radial-gradient(58% 70% at 78% 42%,rgba(213,162,93,.13),transparent 62%),
    radial-gradient(70% 80% at 100% 0%,rgba(11,69,58,.95),transparent 70%),
    linear-gradient(rgba(4,20,17,.62),rgba(4,20,17,.62)),
    var(--tex-dark) center/cover no-repeat,
    var(--green-900)}
.hero-lines{position:absolute;z-index:-1;top:calc(var(--header-h) - 20px);right:max(0px,calc((100% - 1440px)/2));width:min(58vw,820px);height:calc(100% - var(--header-h));color:var(--bronze);opacity:.17;pointer-events:none;
  -webkit-mask-image:radial-gradient(70% 70% at 60% 45%,#000 30%,transparent 78%);mask-image:radial-gradient(70% 70% at 60% 45%,#000 30%,transparent 78%)}
.hero{display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);gap:clamp(56px,6vw,88px);align-items:center;padding-block:clamp(40px,4.4vw,64px) clamp(64px,5.6vw,84px)}
.hero-content{min-width:0}
.hero h1{margin-top:4px}
.h1-line{display:block}
.hero h1 em{color:var(--bronze);font-style:italic;padding-right:.06em}
.hero-lead{margin-top:30px;max-width:540px;font-size:18.5px;line-height:1.68;color:#CBD6CF}
.hero-actions{margin-top:40px}
.hero-actions .btn-note{margin-top:18px}

.hero-photo{position:relative;justify-self:end;width:100%;max-width:490px;isolation:isolate}
.hero-photo::before{content:'';position:absolute;z-index:-1;inset:26px -26px -26px 26px;border:1px solid rgba(213,162,93,.42);border-radius:2px}
.hero-photo::after{content:'';position:absolute;z-index:-2;inset:-22% -30% -18% -20%;background:radial-gradient(closest-side,rgba(213,162,93,.16),transparent);pointer-events:none}
.hero-photo__media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:var(--green-800);box-shadow:0 50px 90px -40px rgba(0,0,0,.6)}
.hero-photo__media img{width:100%;height:100%;object-fit:cover;object-position:56% 50%;transform:translate3d(0,var(--py,0px),0) scale(1.08);will-change:transform}
.hero-photo figcaption{position:absolute;left:22px;bottom:22px;display:flex;align-items:center;gap:10px;padding:10px 15px 10px 13px;border:1px solid rgba(213,162,93,.4);border-radius:2px;background:rgba(4,31,26,.84);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark)}
.hero-photo figcaption::before{content:'';width:7px;height:7px;background:var(--bronze);transform:rotate(45deg)}

/* faixa de confiança: atravessa a divisão entre hero e a próxima seção */
.proof-wrap{position:relative;z-index:5;transform:translateY(50%)}
.proof-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:96px;border:1px solid rgba(23,35,31,.08);border-radius:3px;background:var(--warm-white);color:var(--green-900);box-shadow:0 40px 70px -40px rgba(4,31,26,.45),0 2px 0 rgba(213,162,93,.35) inset}
.proof-bar span{position:relative;display:flex;align-items:center;gap:16px;padding:22px clamp(20px,2.6vw,36px);font:600 15px/1.4 var(--heading);letter-spacing:-.01em}
.proof-bar span+span{border-left:1px solid var(--line)}
.proof-bar span::before{content:'';flex-shrink:0;width:14px;height:14px;border-left:1.5px solid var(--bronze);border-bottom:1.5px solid var(--bronze);transform:translateY(-3px)}

/* 5.3 situações ---------------------------------------------------------- */
.section--situations{--container:1240px;padding-top:calc(48px + var(--section-y));background:var(--ivory) var(--grain-dark);overflow:hidden}
.section--situations::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(23,35,31,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(23,35,31,.03) 1px,transparent 1px);background-size:104px 104px;background-position:center top;
  -webkit-mask-image:radial-gradient(55% 40% at 90% 6%,#000,transparent 70%);mask-image:radial-gradient(55% 40% at 90% 6%,#000,transparent 70%)}
.section--situations .sec-head{margin-bottom:clamp(56px,5.6vw,84px)}

/* grade: cards independentes, mesma largura, mesma altura por linha */
.recognize-grid{--rec-gap:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr) auto;gap:var(--rec-gap)}
.rec-item{--pad:34px;
  position:relative;display:flex;flex-direction:column;justify-content:flex-start;min-width:0;
  padding:var(--pad);border:1px solid rgba(6,46,39,.1);border-radius:12px;background:#FCFAF5;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(7,45,37,.04),0 10px 28px rgba(7,45,37,.08),0 24px 50px rgba(7,45,37,.04);
  transition:transform .28s var(--ease-soft),box-shadow .28s var(--ease-soft),border-color .28s var(--ease-soft)}
/* assinatura editorial: linha bronze curta + número pequeno */
.rec-item::before{content:'';display:block;width:32px;height:2px;margin-bottom:14px;border-radius:2px;background:var(--bronze);transition:width .28s var(--ease-soft)}
.rec-num{display:block;font:500 14px/1 var(--heading);letter-spacing:.12em;color:var(--bronze-ink)}
.rec-item h3{margin-top:22px;font-size:21px;font-weight:600;line-height:1.28;letter-spacing:-.02em;color:var(--green-900)}
.rec-item p{margin-top:12px;font-size:16px;line-height:1.64;color:var(--muted)}

/* card 07: fechamento da seção, linha própria em toda a largura */
.rec-item--conclusion{grid-column:1 / -1;display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:32px;align-items:start;
  border-color:rgba(213,162,93,.22);background:var(--green-900);
  box-shadow:inset 0 1px 0 rgba(244,240,231,.06),0 1px 2px rgba(4,31,26,.08),0 14px 34px rgba(4,31,26,.18),0 30px 60px rgba(4,31,26,.1)}
.rec-item--conclusion::before{grid-column:1;grid-row:1;align-self:start;margin:0}
.rec-item--conclusion .rec-num{grid-column:1;grid-row:1;align-self:start;margin-top:16px;color:var(--bronze)}
.rec-body{grid-column:2;grid-row:1;max-width:680px}
.rec-item--conclusion h3{margin-top:0;font-size:24px;line-height:1.24;color:#E3B472}
.rec-item--conclusion p{max-width:62ch;color:#DCE3DE}

/* 5.4 custo -------------------------------------------------------------- */
.section--cost{padding-block:clamp(112px,10vw,144px);
  background:
    var(--grain-light),
    radial-gradient(50% 55% at 92% 8%,rgba(164,124,86,.14),transparent 70%),
    radial-gradient(60% 70% at 0% 100%,rgba(11,69,58,.9),transparent 72%),
    linear-gradient(rgba(4,20,17,.62),rgba(4,20,17,.62)),
    var(--tex-dark) center/cover no-repeat,
    var(--green-900)}
.accent-risk{color:var(--terra-soft);font-style:italic;padding-right:.06em}
.cost-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,2.8vw,44px);margin-top:clamp(64px,6vw,88px)}
.cost-rail{position:absolute;top:21px;left:0;right:0;height:1px;background:var(--line-dark);pointer-events:none}
.cost-rail__fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--terra) 0%,var(--terra-soft) 45%,var(--bronze) 100%);transform-origin:left center;transition:transform 1.6s var(--ease-out)}
.cost-item{position:relative;padding-top:calc(78px + var(--i) * 44px)}
.cost-item::before{content:'';position:absolute;left:4px;top:34px;width:1px;height:calc(28px + var(--i) * 44px);background:linear-gradient(to bottom,rgba(228,143,111,.55),rgba(244,240,231,.06))}
.cost-num{position:absolute;top:0;left:0;display:flex;align-items:center;gap:14px;height:42px;font:700 13px/1 var(--heading);letter-spacing:.1em;color:var(--terra-soft)}
.cost-num::before{content:'';width:9px;height:9px;background:var(--terra);box-shadow:0 0 0 5px rgba(164,124,86,.2);transform:rotate(45deg)}
.cost-item h3{font-size:clamp(21px,1.8vw,24px);line-height:1.22;letter-spacing:-.025em;color:var(--on-dark)}
.cost-item p{margin-top:14px;font-size:16px;line-height:1.66;color:var(--on-dark-muted)}
.cost-consequence{display:block;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-dark);background:linear-gradient(var(--terra-soft),var(--terra-soft)) no-repeat 0 -1px/32px 1px;color:var(--on-dark);font-weight:400}
.cost-cta{margin-top:clamp(64px,6vw,96px);display:flex;align-items:center;gap:28px}
.cost-cta::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--line-bronze),transparent)}

/* 5.5 caminhos ----------------------------------------------------------- */
.section--paths{background:linear-gradient(to bottom,var(--paper-soft) 0,var(--warm-white) 280px) ;}
.paths-layout{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:clamp(56px,7vw,104px);align-items:start}
.paths-aside{min-width:0}
.cadastral-plate{position:relative;margin-top:clamp(40px,4vw,56px);max-width:440px;aspect-ratio:3/2;padding:0;border:1px solid var(--line);border-radius:3px;background:var(--paper-soft);box-shadow:0 24px 50px -30px rgba(7,45,37,.3)}
.cadastral-plate::before{content:'';position:absolute;top:-1px;left:-1px;width:40px;height:40px;border-top:2px solid var(--bronze);border-left:2px solid var(--bronze)}
.cadastral-plate::after{content:'';position:absolute;right:-1px;bottom:-1px;width:40px;height:40px;border-right:2px solid var(--bronze);border-bottom:2px solid var(--bronze)}
.cadastral-plate img{width:100%;height:100%;object-fit:cover;border-radius:2px}

.paths-list{position:relative;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.paths-list::before{content:'';position:absolute;left:22px;top:0;bottom:0;width:1px;background:var(--line)}
.paths-list li{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 24px;gap:clamp(20px,2.2vw,32px);align-items:start;padding:30px 8px 30px 0;border-bottom:1px solid var(--line)}
.paths-list li::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}
.path-mark{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;background:var(--warm-white);font:600 13px/1 var(--heading);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);transition:background-color .35s,border-color .35s,color .35s,box-shadow .35s}
.paths-list h3{font-size:clamp(20px,1.7vw,23px);line-height:1.25;color:var(--graphite);transition:color .3s}
.paths-list p{margin-top:8px;max-width:52ch;font-size:16.5px;line-height:1.6;color:var(--muted)}
.path-dir{margin-top:10px;color:rgba(23,35,31,.28);transition:color .3s,transform .4s var(--ease-out)}
.paths-list li.is-active::after{transform:scaleX(1)}
.paths-list li.is-active .path-mark{background:var(--bronze);border-color:var(--bronze);color:var(--green-950);box-shadow:0 0 0 6px rgba(213,162,93,.14)}
.paths-list li.is-active h3{color:var(--green-900)}
.paths-list li.is-active .path-dir{color:var(--bronze-ink);transform:translate(3px,-3px)}
.paths-note{position:relative;margin-top:44px;padding:28px 32px 28px 36px;border-left:2px solid var(--bronze);background:var(--ivory);font-size:17.5px;line-height:1.66;color:var(--graphite)}
.paths-note::after{content:'';position:absolute;top:0;right:0;width:22px;height:22px;border-top:1px solid var(--bronze);border-right:1px solid var(--bronze)}

/* 5.6 por que advogado --------------------------------------------------- */
.section--why{overflow-x:clip;padding-block:clamp(120px,11vw,156px) calc(clamp(120px,11vw,156px) + 16px);
  background:
    var(--grain-light),
    radial-gradient(55% 60% at 100% 50%,rgba(213,162,93,.09),transparent 70%),
    radial-gradient(50% 70% at 0% 0%,rgba(11,69,58,.55),transparent 70%),
    linear-gradient(rgba(4,20,17,.62),rgba(4,20,17,.62)),
    var(--tex-dark) center/cover no-repeat,
    var(--green-950)}
.why-layout{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:clamp(56px,6.4vw,104px);align-items:center}
.why-copy .h2-statement{max-width:12ch;color:var(--on-dark)}
.why-body{position:relative;margin-top:40px;max-width:520px;padding-left:32px}
.why-body::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line-dark)}
.why-body::after{content:'';position:absolute;left:-1px;top:4px;width:3px;height:88px;background:var(--bronze)}
.why-body p{font-size:18px;line-height:1.7}
.why-body p+p{margin-top:22px}
.why-photo{position:relative;isolation:isolate}
.why-photo::before{content:'';position:absolute;z-index:-1;inset:40px 40px -40px -40px;border:1px solid rgba(213,162,93,.2);background:linear-gradient(135deg,rgba(213,162,93,.1),rgba(213,162,93,.02));border-radius:2px}
.why-photo__media{aspect-ratio:16/11;overflow:hidden;border-radius:2px;background:var(--green-800);box-shadow:0 60px 110px -50px rgba(0,0,0,.7)}
.why-photo__media img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transition:transform 1.4s var(--ease-out)}

/* 5.7 advogado ----------------------------------------------------------- */
.section--attorney{padding-block:0 clamp(104px,9vw,132px);background:var(--ivory) var(--grain-dark)}
.attorney-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(56px,7.6vw,120px);align-items:start}
.attorney-photo{position:relative;margin-top:-44px;margin-left:clamp(0px,2vw,24px);isolation:isolate}
.attorney-photo::before{content:'';position:absolute;z-index:-1;inset:56px -36px -36px 56px;background:linear-gradient(160deg,rgba(11,69,58,.12),rgba(11,69,58,.05));border-radius:2px}
.attorney-photo::after{content:'';position:absolute;z-index:-1;inset:-20px 64px 88px -20px;border:1px solid rgba(213,162,93,.7);border-radius:2px;pointer-events:none}
.attorney-photo__media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px;background:var(--paper);box-shadow:0 50px 90px -50px rgba(4,31,26,.6)}
.attorney-photo__media img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.attorney-copy{padding-top:clamp(64px,6vw,96px);max-width:640px}
.attorney-copy h2{font-size:clamp(40px,4.4vw,60px);font-weight:700;line-height:1.02;letter-spacing:-.045em;color:var(--green-900)}
.attorney-copy>p:not(.eyebrow){margin-top:28px;font-size:18.5px;line-height:1.7;color:var(--muted)}
.attorney-meta{display:flex;flex-wrap:wrap;margin-top:40px;padding-top:26px;border-top:1px solid var(--line-strong)}
.attorney-meta span{display:inline-flex;align-items:center;gap:10px;padding:6px 22px 6px 0;margin-right:22px;border-right:1px solid var(--line);font:600 14.5px/1.4 var(--heading);letter-spacing:-.005em;color:var(--green-900)}
.attorney-meta span:last-child{border-right:0;margin-right:0;padding-right:0}
.attorney-meta span::before{content:'';width:6px;height:6px;background:var(--bronze);transform:rotate(45deg)}
.attorney-meta span:first-child{color:var(--bronze-ink)}

/* 5.8 como funciona ------------------------------------------------------ */
.section--how{padding-block:clamp(112px,10vw,144px);
  background:
    var(--grain-light),
    radial-gradient(55% 70% at 0% 20%,rgba(11,69,58,.95),transparent 70%),
    radial-gradient(40% 50% at 100% 100%,rgba(213,162,93,.08),transparent 70%),
    linear-gradient(rgba(4,20,17,.62),rgba(4,20,17,.62)),
    var(--tex-dark) center/cover no-repeat,
    var(--green-900)}
.how-layout{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:clamp(56px,7vw,112px);align-items:start}
.how-layout h2 em{color:var(--bronze);font-style:italic;padding-right:.06em}
.steps{--progress:1;position:relative;list-style:none;margin:0;padding:0}
.steps::before,.steps::after{content:'';position:absolute;left:36px;top:36px;bottom:36px;width:1px;background:var(--line-dark)}
.steps::after{background:linear-gradient(to bottom,var(--bronze),rgba(213,162,93,.55));transform:scaleY(var(--progress));transform-origin:top}
.steps li{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:clamp(24px,2.6vw,36px);padding-bottom:60px}
.steps li:last-child{padding-bottom:0}
.step-num{position:relative;z-index:1;display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--bronze);border-radius:50%;background:var(--green-900);font:700 24px/1 var(--heading);letter-spacing:-.04em;color:var(--bronze);box-shadow:0 0 0 8px rgba(213,162,93,.07);transition:color .45s,border-color .45s,box-shadow .45s,background-color .45s}
.steps h3{margin-top:12px;font-size:clamp(22px,2vw,27px);line-height:1.2;letter-spacing:-.028em;color:var(--on-dark);transition:color .45s}
.steps p{margin-top:12px;max-width:52ch;font-size:17px;line-height:1.66;transition:color .45s}
.how-cta{margin-top:64px;padding-left:calc(72px + clamp(24px,2.6vw,36px))}

/* 5.9 FAQ ---------------------------------------------------------------- */
.section--faq{background:var(--ivory)}
.faq-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);align-items:start}
.faq-layout .sec-head{grid-column:1 / span 4;padding-right:clamp(0px,2vw,24px)}
.faq-list{grid-column:5 / span 8;border-top:1px solid var(--line-strong)}
.faq-item{border-bottom:1px solid var(--line-strong)}
.faq-q{margin:0;font-size:inherit;font-weight:inherit;letter-spacing:normal}
.faq-q button{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;min-height:84px;padding:22px 0;border:0;background:none;text-align:left;cursor:pointer;font:600 clamp(18px,1.5vw,20px)/1.35 var(--heading);letter-spacing:-.018em;color:var(--graphite);transition:color .3s}
.faq-q button:focus-visible{outline-offset:2px}
.faq-icon{position:relative;flex-shrink:0;width:36px;height:36px;border:1px solid var(--line-strong);border-radius:50%;transition:transform .45s var(--ease-out),border-color .3s,background-color .3s}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;top:50%;left:50%;width:13px;height:1.5px;margin:-.75px 0 0 -6.5px;background:var(--bronze-ink);transition:transform .45s var(--ease-out),background-color .3s}
.faq-icon::after{transform:rotate(90deg)}
.faq-a{display:grid;grid-template-rows:1fr}
.faq-a__inner{min-height:0;overflow:hidden}
.faq-answer{padding:0 64px 30px 0;max-width:68ch;font-size:17px;line-height:1.72;color:var(--muted)}
/* estados com JS */
.faq-list.is-enhanced .faq-a{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .45s var(--ease-out),visibility 0s linear .45s}
.faq-list.is-enhanced .faq-answer{opacity:0;transform:translateY(-6px);transition:opacity .35s var(--ease-soft),transform .45s var(--ease-out)}
.faq-list.is-enhanced .faq-item.is-open .faq-a{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .5s var(--ease-out),visibility 0s linear 0s}
.faq-list.is-enhanced .faq-item.is-open .faq-answer{opacity:1;transform:none;transition-delay:.08s}
.faq-item.is-open .faq-q button{color:var(--green-900)}
.faq-item.is-open .faq-icon{transform:rotate(135deg);border-color:var(--bronze);background:var(--bronze)}
.faq-item.is-open .faq-icon::before,.faq-item.is-open .faq-icon::after{background:var(--green-950)}

/* 5.10 CTA final --------------------------------------------------------- */
.final-section{position:relative;padding-top:clamp(24px,3vw,40px);background:linear-gradient(to bottom,var(--ivory) 0,var(--ivory) 56%,var(--green-950) 56%)}
.final-panel{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:clamp(400px,31vw,440px);padding:clamp(56px,6vw,88px) clamp(28px,6vw,96px);border:1px solid rgba(213,162,93,.3);border-radius:4px;text-align:center;color:var(--on-dark);
  background:
    var(--grain-light),
    radial-gradient(60% 90% at 50% 0%,rgba(213,162,93,.17),transparent 62%),
    radial-gradient(50% 80% at 0% 100%,rgba(11,69,58,.95),transparent 70%),
    radial-gradient(45% 70% at 100% 100%,rgba(11,69,58,.7),transparent 70%),
    linear-gradient(rgba(4,20,17,.62),rgba(4,20,17,.62)),
    var(--tex-dark) center/cover no-repeat,
    var(--green-900);
  box-shadow:0 70px 120px -70px rgba(4,31,26,.75)}
.final-panel::before{content:'';position:absolute;top:0;left:50%;width:120px;height:2px;margin-left:-60px;background:var(--bronze)}
.final-lines{position:absolute;z-index:-1;width:clamp(260px,30vw,420px);height:clamp(290px,34vw,470px);color:var(--bronze);opacity:.16;pointer-events:none}
.final-lines--tl{top:-18%;left:-7%}
.final-lines--br{right:-7%;bottom:-20%;transform:rotate(180deg)}
.final-content{max-width:820px}
.final-panel h2{max-width:17ch;margin-inline:auto;font-size:clamp(40px,4.8vw,68px);font-weight:700;line-height:1.02;letter-spacing:-.048em;color:var(--on-dark)}
.final-lead{max-width:560px;margin:28px auto 44px;font-size:19px;line-height:1.66;color:var(--on-dark-muted)}
.final-panel .btn-note{max-width:none;margin-top:20px;font-size:15px}

/* 5.11 rodapé ------------------------------------------------------------ */
.site-footer{background:var(--green-950);color:var(--on-dark-muted);padding:clamp(72px,7vw,96px) 0 56px;font-size:15px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:44px;border-bottom:1px solid var(--line-dark)}
.footer-id{display:flex;align-items:center;gap:40px}
.site-footer .brand img{width:196px;height:auto}
.footer-reg{padding-left:40px;border-left:1px solid var(--line-dark);font:600 12.5px/2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-muted)}
.footer-reg p:first-child{color:var(--on-dark)}
.footer-link{display:inline-flex;align-items:center;min-height:50px;padding:0 22px;border:1px solid rgba(213,162,93,.4);border-radius:3px;font:600 15px/1 var(--heading);color:var(--bronze);transition:background-color .3s,border-color .3s}
.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-top:30px;font-size:14.5px;line-height:1.7;color:#A9B8AF}
.footer-bottom p:last-child{max-width:640px;text-align:right}

/* CTA flutuante ---------------------------------------------------------- */
.floating-attendance{position:fixed;right:28px;bottom:28px;z-index:70;transition:opacity .4s var(--ease-soft),transform .5s var(--ease-out),visibility 0s linear 0s}
.btn--float{min-height:52px;padding:0 20px 0 22px;gap:12px;font-size:14.5px;box-shadow:inset 0 1px 0 rgba(255,244,226,.45),0 22px 44px -18px rgba(4,31,26,.6),0 0 0 1px rgba(4,31,26,.1)}
.floating-attendance.is-hidden{opacity:0;visibility:hidden;transform:translateY(18px);pointer-events:none;transition:opacity .3s var(--ease-soft),transform .4s var(--ease-out),visibility 0s linear .4s}
/* no desktop, só aparece depois que o JS confirma que o CTA do hero saiu da tela */
.js .floating-attendance:not(.is-ready){opacity:0;visibility:hidden}

/* hover (somente dispositivos com ponteiro) ------------------------------ */
@media (hover:hover){
  .btn:hover{background:var(--bronze-hover);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,244,226,.55),0 24px 44px -18px rgba(213,162,93,.6)}
  .btn:hover::before{transform:translateX(120%)}
  .btn:hover .btn__arrow{transform:translateX(4px)}
  .btn:active{transform:translateY(0) scale(.985)}
  .header-nav-link:hover{color:var(--on-dark)}
  .header-nav-link:hover::after{transform:scaleX(1)}
  .rec-item:hover{transform:translateY(-4px);border-color:rgba(213,162,93,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 4px rgba(7,45,37,.05),0 16px 36px rgba(7,45,37,.1),0 32px 64px rgba(7,45,37,.06)}
  .rec-item:hover::before{width:48px}
  .rec-item--conclusion:hover{border-color:rgba(213,162,93,.4);box-shadow:inset 0 1px 0 rgba(244,240,231,.06),0 2px 4px rgba(4,31,26,.1),0 20px 44px rgba(4,31,26,.22),0 36px 72px rgba(4,31,26,.12)}
  .paths-list li:hover::after{transform:scaleX(1)}
  .paths-list li:hover .path-mark{border-color:var(--bronze);color:var(--bronze-ink)}
  .paths-list li:hover .path-dir{color:var(--bronze-ink);transform:translate(3px,-3px)}
  .why-photo:hover .why-photo__media img{transform:scale(1.02)}
  .faq-q button:hover{color:var(--green-900)}
  .faq-q button:hover .faq-icon{border-color:var(--bronze);transform:translateX(-3px)}
  .faq-item.is-open .faq-q button:hover .faq-icon{transform:rotate(135deg) translateY(3px)}
  .footer-link:hover{background:rgba(213,162,93,.1);border-color:var(--bronze)}
}
.rec-item:focus-within::before{width:48px}

/* 6 · MOVIMENTO =========================================================== */
/* Todos os estados iniciais ficam sob .js-motion. Sem JS ou com movimento reduzido, nada é ocultado. */

/* entrada do hero */
.js-motion .site-header{animation:header-in .7s var(--ease-out) both}
@keyframes header-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.js-motion [data-intro]{opacity:0;transform:translate3d(0,18px,0);transition:opacity .75s var(--ease-out),transform .85s var(--ease-out)}
.js-motion [data-intro="1"]{transition-delay:.08s}
.js-motion [data-intro="4"]{transition-delay:.34s}
.js-motion [data-intro="5"]{transition-delay:.44s}
.js-motion [data-intro="6"]{transform:none;transition-delay:.12s}
.js-motion [data-intro="7"]{transform:translate3d(0,calc(50% + 18px),0);transition-delay:.62s}
.js-motion .h1-line{opacity:1;transform:translate3d(0,.32em,0);clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-out),transform .9s var(--ease-out)}
.js-motion [data-intro="2"]{transition-delay:.14s}
.js-motion [data-intro="3"]{transition-delay:.23s}
.js-motion .hero-photo__media{clip-path:inset(100% 0 0 0);transition:clip-path 1.15s var(--ease-out) .2s}
.js-motion .hero-photo__media img{scale:1.1;transition:scale 1.6s var(--ease-out) .2s}
.js-motion.is-loaded [data-intro]{opacity:1;transform:none}
.js-motion.is-loaded [data-intro="7"]{transform:translateY(50%)}
.js-motion.is-loaded .h1-line{clip-path:inset(-.3em -.2em -.35em -.2em);transform:none}
.js-motion.is-loaded .hero-photo__media{clip-path:inset(0 0 0 0)}
.js-motion.is-loaded .hero-photo__media img{scale:1}

/* revelações por rolagem */
.js-motion [data-reveal]{--ry:22px;opacity:0;transform:translate3d(0,var(--ry),0);transition:opacity .8s var(--ease-out) var(--d,0ms),transform .9s var(--ease-out) var(--d,0ms),clip-path 1s var(--ease-out) var(--d,0ms)}
.js-motion [data-reveal="fade"]{transform:none}
.js-motion [data-reveal="mask"]{opacity:1;transform:translate3d(0,.35em,0);clip-path:inset(0 0 100% 0)}
.js-motion [data-reveal="image"]{opacity:1;transform:none;clip-path:inset(0 100% 0 0);transition:clip-path 1.25s var(--ease-out) var(--d,0ms)}
.js-motion .attorney-photo[data-reveal="image"]{clip-path:inset(100% 0 0 0)}
.js-motion [data-reveal="image"] img{scale:1.06;transition:scale 1.6s var(--ease-out) var(--d,0ms)}
.js-motion [data-reveal].is-in{opacity:1;transform:none}
.js-motion [data-reveal="mask"].is-in{clip-path:inset(-.3em -.2em -.35em -.2em)}
.js-motion [data-reveal="image"].is-in{clip-path:inset(-60px -60px -60px -60px)}
.js-motion [data-reveal="image"].is-in img{scale:1}
/* números entram com pequeno deslocamento lateral, depois do cartão */
.js-motion [data-reveal] .cost-num{opacity:0;translate:-12px 0;transition:opacity .7s var(--ease-out) calc(var(--d,0ms) + 180ms),translate .8s var(--ease-out) calc(var(--d,0ms) + 180ms),color .4s}
.js-motion [data-reveal].is-in .cost-num{opacity:1;translate:0 0}
/* cards de situações: mesma direção, 20px, 0.65s; stagger por linha via --d */
.js-motion .rec-item[data-reveal]{--ry:20px;transition:opacity .65s var(--ease-out) var(--d,0ms),transform .65s var(--ease-out) var(--d,0ms),box-shadow .28s var(--ease-soft),border-color .28s var(--ease-soft)}
.js-motion .rec-item[data-reveal].is-in{transition:opacity .65s var(--ease-out) var(--d,0ms),transform .28s var(--ease-soft),box-shadow .28s var(--ease-soft),border-color .28s var(--ease-soft)}
/* trilho do custo desenhado no desktop */
.js-motion .cost-rail__fill{transform:scaleX(0)}
.js-motion .is-drawn .cost-rail__fill{transform:scaleX(1)}
/* etapas ganham contraste quando ativas */
.js-motion .steps li:not(.is-active) .step-num{color:rgba(213,162,93,.5);border-color:rgba(213,162,93,.28);box-shadow:none}
.js-motion .steps li:not(.is-active) h3{color:rgba(244,240,231,.55)}
.js-motion .steps li:not(.is-active) p{color:rgba(185,198,190,.6)}
.js-motion .steps li.is-active .step-num{background:var(--green-800)}

/* 7 · RESPONSIVO ========================================================== */

/* desktop amplo: conteúdo mantém escala, sem ficar minúsculo */
@media (min-width:1600px){
  :root{--container:1280px}
}

/* altura suficiente: título dos procedimentos acompanha a rolagem por um trecho curto */
@media (min-width:1024px) and (min-height:860px){
  .paths-aside{position:sticky;top:calc(var(--header-h) + 40px)}
}

/* tablet ----------------------------------------------------------------- */
@media (max-width:1023px){
  :root{--gutter:clamp(32px,4.4vw,40px);--section-y:clamp(80px,10vw,104px)}
  .hero{grid-template-columns:minmax(0,1fr);gap:56px;padding-block:40px 72px}
  .hero-content{max-width:680px}
  .hero-photo{justify-self:start;max-width:640px;width:calc(100% - 26px)}
  .hero-photo__media{aspect-ratio:16/11}
  .hero-lines{width:90vw;top:40%;opacity:.12}
  .proof-bar span{font-size:14px;padding-inline:20px}


  .cost-grid{grid-template-columns:minmax(0,1fr);gap:0;max-width:640px;padding-left:48px}
  .cost-rail{top:6px;bottom:6px;left:4px;right:auto;width:1px;height:auto}
  .cost-rail__fill{transform-origin:top center;transform:scaleY(var(--rail,1));transition:none}
  .js-motion .cost-rail__fill,.js-motion .is-drawn .cost-rail__fill{transform:scaleY(var(--rail,0))}
  .cost-item{padding:0 0 48px}
  .cost-item:last-child{padding-bottom:0}
  .cost-item::before{display:none}
  .cost-num{position:relative;height:auto;margin-bottom:14px}
  .cost-num::before{position:absolute;left:-48px;top:2px}
  .cost-cta::after{display:none}

  .paths-layout{grid-template-columns:minmax(0,1fr);gap:48px}
  .cadastral-plate{max-width:360px}

  .why-layout{grid-template-columns:minmax(0,1fr);gap:72px}
  .why-copy .h2-statement{max-width:14ch}
  .why-photo{margin-left:40px}
  .section--why{padding-bottom:calc(var(--section-y) + 16px)}

  .attorney-layout{grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:48px}
  .attorney-photo{margin-top:-40px}
  .attorney-copy{padding-top:48px}

  .how-layout{grid-template-columns:minmax(0,1fr);gap:56px}

  .faq-layout .sec-head{grid-column:1 / -1;margin-bottom:40px}
  .faq-list{grid-column:1 / -1}

  .final-panel h2{max-width:15ch}
  .footer-bottom{flex-direction:column;gap:14px}
  .footer-bottom p:last-child{text-align:left}
}

/* mobile ----------------------------------------------------------------- */
@media (max-width:767px){
  :root{--gutter:20px;--header-h:68px;--section-y:clamp(64px,17vw,80px)}
  body{font-size:16px}
  h2{font-size:clamp(30px,8.4vw,36px);line-height:1.1}
  .h2-statement{font-size:clamp(34px,9.4vw,40px)}
  .sec-head>p:not(.eyebrow){margin-top:20px;font-size:16.5px}
  .eyebrow{margin-bottom:18px;font-size:12px;letter-spacing:.13em}

  .site-header .brand img{width:140px}
  .header-nav-link{display:none}
  .header-oab{padding-left:0;border-left:0;font-size:12px}

  .hero{gap:44px;padding-block:28px 60px}
  h1{font-size:clamp(40px,11.2vw,48px);line-height:1.04}
  .hero-lead{margin-top:22px;font-size:17px;line-height:1.64}
  .hero-actions{margin-top:30px}
  .hero-photo{width:calc(100% - 14px)}
  .hero-photo::before{inset:14px -14px -14px 14px}
  .hero-photo__media{aspect-ratio:5/4}
  .hero-photo figcaption{left:14px;bottom:14px;font-size:11px}
  .hero-lines{display:none}

  .btn{width:100%;padding-inline:18px;gap:10px;font-size:15px}
  .btn--lg,.btn--xl{min-height:56px;font-size:15px;padding-inline:18px}

  .proof-wrap{transform:translateY(40px)}
  .js-motion.is-loaded [data-intro="7"]{transform:translateY(40px)}
  .js-motion [data-intro="7"]{transform:translate3d(0,58px,0)}
  .proof-bar{grid-template-columns:minmax(0,1fr);min-height:0;padding:6px 20px}
  .proof-bar span{padding:14px 0;font-size:14.5px;gap:14px}
  .proof-bar span+span{border-left:0;border-top:1px solid var(--line)}
  .section--situations{padding-top:calc(128px + 24px)}


  .section--cost{padding-block:80px}
  .cost-grid{margin-top:48px;padding-left:40px}
  .cost-num::before{left:-40px}
  .cost-item{padding-bottom:40px}
  .cost-item h3{font-size:21px}
  .cost-cta{margin-top:48px}

  .paths-list::before{left:18px}
  .paths-list li{grid-template-columns:36px minmax(0,1fr);gap:18px;padding:24px 0}
  .path-mark{width:36px;height:36px;font-size:13px}
  .path-dir{display:none}
  .paths-list h3{font-size:19px}
  .paths-list p{font-size:16px}
  .paths-note{margin-top:32px;padding:22px 20px 22px 22px;font-size:16.5px}
  .cadastral-plate{margin-top:32px;max-width:none}

  .section--why{padding-block:80px 96px}
  .why-layout{gap:56px}
  .why-body{margin-top:28px;padding-left:22px}
  .why-body::after{height:64px}
  .why-body p{font-size:16.5px}
  .why-photo{margin-left:22px}
  .why-photo::before{inset:22px 22px -22px -22px}
  .why-photo__media{aspect-ratio:4/3}

  .section--attorney{padding-bottom:72px}
  .attorney-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .attorney-photo{width:min(100% - 36px,360px);margin:-36px 0 0 18px}
  .attorney-photo::before{inset:36px -18px -18px 36px}
  .attorney-photo::after{inset:-12px 40px 56px -12px}
  .attorney-copy{padding-top:56px}
  .attorney-copy h2{font-size:clamp(34px,9.6vw,40px)}
  .attorney-copy>p:not(.eyebrow){margin-top:20px;font-size:16.5px}
  .attorney-meta{flex-direction:column;margin-top:28px;padding-top:18px}
  .attorney-meta span{margin-right:0;padding:10px 0;border-right:0;border-bottom:1px solid var(--line)}
  .attorney-meta span:last-child{border-bottom:0}

  .section--how{padding-block:80px}
  .steps::before,.steps::after{left:24px;top:24px;bottom:24px}
  .steps li{grid-template-columns:48px minmax(0,1fr);gap:20px;padding-bottom:40px}
  .step-num{width:48px;height:48px;font-size:17px;box-shadow:0 0 0 5px rgba(213,162,93,.07)}
  .steps h3{margin-top:9px;font-size:21px}
  .steps p{font-size:16px}
  .how-cta{margin-top:44px;padding-left:0}

  .faq-layout .sec-head{margin-bottom:28px}
  .faq-q button{min-height:72px;gap:18px;padding:18px 0;font-size:17px}
  .faq-icon{width:32px;height:32px}
  .faq-answer{padding:0 8px 24px 0;font-size:16px}

  .final-section{padding-top:8px;background:linear-gradient(to bottom,var(--ivory) 0,var(--ivory) 50%,var(--green-950) 50%)}
  .final-panel{min-height:0;padding:56px 22px 44px}
  .final-panel .btn--xl{width:calc(100% + 32px);max-width:calc(100% + 32px);margin-inline:-16px;padding-inline:12px;gap:8px;font-size:14.5px;letter-spacing:-.01em}
  .final-panel h2{font-size:clamp(34px,9.4vw,40px);max-width:none}
  .final-lead{margin:20px auto 32px;font-size:16.5px}
  .final-lines{width:240px;height:270px;opacity:.12}
  .final-lines--tl{top:-90px;left:-110px}
  .final-lines--br{right:-110px;bottom:-110px}

  .site-footer{padding:64px 0 calc(104px + env(safe-area-inset-bottom))}
  .footer-top{flex-direction:column;align-items:flex-start;gap:28px;padding-bottom:32px}
  .footer-id{flex-direction:column;align-items:flex-start;gap:22px}
  .footer-reg{padding-left:0;border-left:0}
  .footer-link{width:100%;justify-content:center}
  .footer-bottom{font-size:14px}

  /* CTA flutuante mobile: uma instância fixa, sempre disponível desde a abertura */
  html{scroll-padding-bottom:96px}
  .floating-attendance{left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom))}
  .btn--float{width:100%;min-height:54px;font-size:15px}

  .js-motion [data-reveal]{--ry:14px;transition-duration:.6s,.7s,.8s}
  .js-motion [data-reveal="image"]{transition-duration:.95s}
}

/* celulares estreitos: bento volta para uma coluna */
@media (max-width:379px){
  .btn,.btn--lg,.btn--xl,.btn--float{font-size:14px;padding-inline:14px}
  .final-panel{padding-inline:22px}
  .final-panel .btn--xl{font-size:13.5px}
}

/* situações: tablet 768 a 1099 em duas colunas */
@media (max-width:1099px){
  .recognize-grid{--rec-gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,1fr) auto}
  .rec-item{--pad:30px}
  .rec-item--conclusion{grid-template-columns:96px minmax(0,1fr);column-gap:24px}
}
/* situações: mobile em uma coluna, um card por linha */
@media (max-width:767px){
  .section--situations{padding-bottom:calc(var(--section-y) + 24px)}
  .section--situations .sec-head{margin-bottom:40px}
  .recognize-grid{--rec-gap:16px;grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .rec-item{--pad:24px}
  .rec-item h3{margin-top:18px;font-size:20px}
  .rec-item p{margin-top:10px;font-size:16px}
  .rec-item--conclusion{display:flex;flex-direction:column}
  .rec-item--conclusion::before{margin-bottom:14px}
  .rec-item--conclusion .rec-num{margin-top:0}
  .rec-body{max-width:none}
  .rec-item--conclusion h3{margin-top:18px;font-size:21px}
  .js-motion .rec-item[data-reveal]{--ry:12px;--d:0ms!important}
}

/* movimento reduzido: sem deslocamentos, sem smooth scroll, mudanças instantâneas */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .hero-photo__media img{transform:scale(1.02)!important}
}
