/* Ownable Sites · modelo «Precisão» (o primeiro modelo, criado para a Orotech Lab)
   Estrutura de UX/UI baseada em reformhq.com: página branca, nav em pílula, hero num cartão arredondado com
   gradiente granulado, secções com título em dois tons, cartões brancos de 12–20px, bloco de cor sólida para números,
   tabela de prazos com réguas verticais na cor da marca.
   Este ficheiro não tem cores da marca: usa as variáveis de tema.css (--marca, --gelo, --hero-*, --solido-*, --cta-*,
   --elemento-*, --fonte-*), geradas pelo motor a partir do tema.json de cada laboratório. */
:root{
  /* tokens neutros do modelo; as cores da marca, as fontes e o elemento gráfico vêm de tema.css (gerado por laboratório) */
  --page:#fff;
  --card:#f6f9fb;
  --line:#e4ecf1;
  --line-2:#d3e0e8;
  --ink:#10222e;
  --ink-2:#4b5d69;
  --ink-3:#7d8c96;          /* segundo tom dos títulos */
  --dark:#10222e;
  --shell:min(100% - 64px,1200px);
  --ease:cubic-bezier(.2,.8,.2,1);
  --grain: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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);font:400 16px/1.5 var(--fonte-texto);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--marca-texto);outline-offset:3px;border-radius:6px}
.shell{width:var(--shell);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px}
.skip:focus{top:12px}

/* ---------- logótipo ---------- */
.o-sym{fill:var(--marca)}
.o-word{fill:currentColor}
.sym-svg{display:block;height:1em;width:auto}
.logo-svg{display:block;height:20px;width:auto}

/* ---------- tipografia ---------- */
.h1{font:300 clamp(40px,5vw,72px)/1.1 var(--fonte-titulos);letter-spacing:-.035em;margin:0;text-wrap:balance}
.h2{font:300 clamp(32px,3.7vw,52px)/1.14 var(--fonte-titulos);letter-spacing:-.03em;margin:0;text-wrap:balance}
.h2 .soft,.h1 .soft{color:var(--ink-3)}
.lead{font-size:18px;line-height:1.5;color:var(--ink-2);margin:0}
.center{text-align:center}
.center .lead{max-width:56ch;margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--marca-texto);font-weight:500}
.eyebrow svg{width:17px;height:11px;fill:var(--marca)}
.chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sec{padding:120px 0}
.sec-head{margin-bottom:56px}
.sec-head .lead{margin-top:16px}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border-radius:8px;border:0;background:var(--dark);color:#fff;font:600 15px var(--fonte-texto);cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),background .2s}
.btn:hover{transform:translateY(-2px);background:#1d3647}
.btn--white{background:#fff;color:var(--ink)}
.btn--white:hover{background:var(--gelo)}
.btn--marca{background:var(--marca);color:#fff}
.btn--marca:hover{background:var(--marca-hover)}
.btn--line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn--line:hover{background:var(--gelo)}

/* ---------- navegação em pílula ---------- */
.nav{position:fixed;top:12px;left:0;right:0;z-index:100;display:flex;justify-content:center;pointer-events:none;transition:top .3s}
.nav__bar{pointer-events:auto;width:min(100% - 24px,1000px);height:60px;display:flex;align-items:center;gap:20px;padding:0 8px 0 10px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px -18px rgba(16,34,46,.25)}
.nav__home{display:flex;align-items:center;gap:10px;color:var(--ink)}
.nav__home .badge{width:42px;height:42px;border-radius:9px;background:var(--marca);display:grid;place-items:center}
.nav__home .badge .sym-svg{height:15px}
.nav__home .badge .o-sym{fill:#fff}
.nav__home .logo-svg{height:15px}
.nav__links{display:flex;align-items:center;gap:4px;margin:0 auto}
.nav__links>a,.path__btn{padding:8px 12px;font-size:15px;font-weight:500;color:rgba(16,34,46,.5);border-radius:8px;transition:color .2s,background .2s}
.nav__links>a:hover,.nav__links>a[aria-current="page"],.path__btn:hover,.path__btn[aria-expanded="true"]{color:var(--ink)}
.path{position:relative}
.path__btn{display:flex;align-items:center;gap:6px;border:0;background:none;cursor:pointer}
.path__btn .chev{transition:transform .3s var(--ease)}
.path__btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.path__menu{position:absolute;left:50%;top:50px;width:300px;padding:6px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px -24px rgba(16,34,46,.3);opacity:0;transform:translate(-50%,-6px);pointer-events:none;transition:opacity .2s,transform .25s var(--ease)}
.path__menu.open{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.path__menu a{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:8px;font-size:15px;font-weight:500}
.path__menu a small{display:block;color:var(--ink-3);font-size:13px;font-weight:400;margin-top:2px}
.path__menu a:hover{background:var(--gelo)}
.path__menu i{flex:none;width:32px;height:32px;border-radius:8px;background:var(--marca-suave);display:grid;place-items:center}
.path__menu i svg{width:16px;height:16px;fill:none;stroke:var(--marca-texto);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav__burger{display:none;margin-left:auto;height:42px;padding:0 16px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:15px;font-weight:500;cursor:pointer}
.mnav{position:fixed;inset:0;z-index:99;background:#fff;display:flex;flex-direction:column;padding:100px 24px 40px;opacity:0;pointer-events:none;transition:opacity .25s}
.mnav.open{opacity:1;pointer-events:auto}
.mnav a{font:300 30px var(--fonte-titulos);letter-spacing:-.03em;padding:12px 0;border-bottom:1px solid var(--line)}
.mnav p{margin:28px 0 6px;color:var(--marca-texto);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.mnav .mnav__path{font:500 19px var(--fonte-texto);letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center}
.mnav .btn{margin-top:28px;justify-content:center;height:52px}

/* ---------- hero em cartão ---------- */
.hero{padding:12px 12px 0}
.hero__card{position:relative;overflow:hidden;border-radius:18px;min-height:min(92vh,860px);display:grid;place-items:center;text-align:center;color:#fff;padding:140px 24px 120px;background:
  radial-gradient(40% 50% at 14% 16%,rgba(255,255,255,.4),transparent 70%),
  radial-gradient(45% 55% at 85% 80%,var(--hero-brilho-escuro),transparent 70%),
  radial-gradient(30% 40% at 78% 14%,var(--hero-brilho-claro),transparent 70%),
  radial-gradient(45% 50% at 22% 96%,var(--hero-brilho-medio),transparent 70%),
  linear-gradient(135deg,var(--hero-a) 0%,var(--hero-b) 45%,var(--hero-c) 100%)}
.hero__copy{text-shadow:0 1px 24px color-mix(in srgb,var(--marca-tinta) 18%,transparent)}
.hero__card::before{content:"";position:absolute;inset:0;background:var(--elemento-esq-claro) left -7% center/auto 58% no-repeat,var(--elemento-dir-claro) right -7% center/auto 58% no-repeat;animation:sym-open 1.6s var(--ease) both;pointer-events:none}
.hero__card::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.32;mix-blend-mode:overlay;pointer-events:none}
@keyframes sym-open{from{background-position:left 3% center,right 3% center;opacity:0}to{opacity:1}}
.hero__lines{display:none}
.hero__copy{position:relative;z-index:2;max-width:980px;width:100%;min-width:0}
.hero__tag{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:30px;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13.5px;letter-spacing:.02em;margin-bottom:28px}
.hero__copy .hero__tag b{background:#fff;color:var(--marca-texto);text-shadow:none;border-radius:20px;padding:3px 9px;font-weight:600;font-size:12px}
.hero h1 .soft{color:rgba(255,255,255,.62)}
.hero__copy p{margin:22px auto 0;max-width:46ch;font-size:18px;line-height:1.5;color:rgba(255,255,255,.88)}
.hero__copy p b{color:#fff;font-weight:600}
.hero__cta{display:flex;justify-content:center;gap:10px;margin-top:32px;flex-wrap:wrap}
.hero__cta .btn--ghost{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero__cta .btn--ghost:hover{background:rgba(255,255,255,.26)}
.hero__sign{position:absolute;left:28px;bottom:24px;z-index:2;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.hero__float{position:absolute;right:28px;bottom:24px;z-index:2;display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border-radius:12px;background:rgba(255,255,255,.95);color:var(--ink);font-size:13px;text-align:left;box-shadow:0 18px 40px -20px color-mix(in srgb,var(--marca-tinta) 50%,transparent)}
.hero__float img{width:46px;height:46px;border-radius:8px;object-fit:cover}
.hero__float small{display:block;color:var(--ink-3);font-size:12px}
.hero--page .hero__card{min-height:min(70vh,620px);padding:150px 24px 100px}
.hero--page .hero__card::before{background-size:auto 66%,auto 66%}

/* faixa de materiais e tecnologia (logótipos da referência) */
.marks{padding:34px 0 10px}
.marks ul{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.marks li{font:400 18px var(--fonte-titulos);letter-spacing:-.01em;color:#8a98a2;display:flex;align-items:center;gap:8px}
.marks li svg{width:19px;height:12px;fill:var(--marca)}

/* ---------- painel de fluxo (grelha de pontos + passos) ---------- */
.flowp{position:relative;border-radius:16px;border:1px solid var(--line);overflow:hidden;height:min(64vw,640px);background:radial-gradient(circle,#d5dee4 1px,transparent 1.4px) 0 0/22px 22px,#fbfdfe}
.flowp::before{content:"";position:absolute;width:60%;height:70%;right:-10%;top:-20%;background:radial-gradient(closest-side,color-mix(in srgb,var(--marca) 22%,transparent),transparent);filter:blur(10px)}
.flowp::after{content:"";position:absolute;width:50%;height:60%;left:-10%;bottom:-25%;background:radial-gradient(closest-side,color-mix(in srgb,var(--marca) 16%,transparent),transparent);filter:blur(10px)}
.flowp__stage{position:absolute;inset:0 0 72px;display:grid;place-items:center;z-index:1}
.flowp__item{grid-area:1/1;display:grid;place-items:center;transition:opacity .5s,transform .6s var(--ease)}
.flowp__item[aria-hidden="true"]{opacity:0;transform:translateY(16px) scale(.97);pointer-events:none}
.flowp__img{width:min(60vw,680px);aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:#fff;border:6px solid #fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--marca) 35%,transparent),0 30px 60px -30px color-mix(in srgb,var(--marca-tinta) 45%,transparent)}
.flowp__img img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.flowp__toast{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:2;width:min(92%,460px);padding:12px 16px 14px;border-radius:10px;background:var(--dark);color:#fff;font-size:13.5px}
.flowp__toast div{display:flex;justify-content:space-between;gap:10px}
.flowp__toast em{font-style:normal;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.7)}
.flowp__toast i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.18);margin-top:10px;overflow:hidden}
.flowp__toast i b{display:block;height:100%;width:var(--p,0%);background:var(--marca);transition:width .3s linear}
.flowp__chip{position:absolute;z-index:2;padding:8px 12px;border-radius:30px;background:#fff;border:1px solid var(--line);font-size:13px;box-shadow:0 12px 30px -18px rgba(16,34,46,.35);display:flex;gap:8px;align-items:center}
.flowp__chip i{width:8px;height:8px;border-radius:50%;background:var(--marca)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:28px}
.step{position:relative;padding-top:24px;text-align:left;border:0;background:none;cursor:pointer;color:var(--ink-3);transition:color .3s}
.step::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-2)}
.step .bar{position:absolute;left:0;top:0;height:2px;width:0;background:var(--marca)}
.step[aria-selected="true"]{color:var(--ink)}
.step[aria-selected="true"] .bar.run{animation:prog var(--dur,5s) linear forwards}
@keyframes prog{to{width:100%}}
.step h3{font:500 19px/1.25 var(--fonte-titulos);letter-spacing:-.02em;margin:0 0 8px}
.step p{margin:0;font-size:15px;line-height:1.5}
.step[aria-selected="true"] p{color:var(--ink-2)}

/* ---------- números (bloco ciano sólido, como a capa da tabela) ---------- */
.stats{position:relative;background:linear-gradient(120deg,var(--solido-a) 0%,var(--solido-b) 100%);color:#fff;overflow:hidden}
.stats::before{content:"";position:absolute;right:-190px;top:50%;height:115%;aspect-ratio:59/80;transform:translateY(-50%);background:var(--elemento-dir-claro) center/contain no-repeat}
.stats::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.18;mix-blend-mode:overlay;pointer-events:none}
.stats .shell{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.25fr;gap:60px;align-items:stretch}
.stats__l{display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.stats__l .h2{font-weight:300;color:#fff}
.stats__l .h2 u{text-decoration-thickness:2px;text-underline-offset:8px;text-decoration-color:rgba(255,255,255,.6)}
.stats__l p{margin:0;font-size:18px;line-height:1.5;color:rgba(255,255,255,.9);max-width:36ch}
.stats__grid{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid rgba(255,255,255,.35)}
.stats__grid div{padding:24px 26px 28px;border-bottom:1px solid rgba(255,255,255,.35);border-right:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column;justify-content:space-between;gap:46px;min-height:190px}
.stats__grid div:nth-child(-n+2){border-top:1px solid rgba(255,255,255,.35)}
.stats__grid span{font-size:14.5px;color:rgba(255,255,255,.9)}
.stats__grid b{font:300 clamp(46px,5vw,72px)/1 var(--fonte-titulos);letter-spacing:-.04em}
.stats__grid b small{font-size:.55em;color:rgba(255,255,255,.62);margin-left:2px}

/* ---------- áreas de trabalho (lista + imagem, estilo tabela) ---------- */
.areas{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr) 40px;gap:48px;align-items:start}
.alist{border-top:1px solid var(--line)}
.aitem{border-bottom:1px solid var(--line)}
.aitem>button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border:0;background:none;text-align:left;cursor:pointer;font:300 clamp(22px,2vw,28px)/1.2 var(--fonte-titulos);letter-spacing:-.025em;color:var(--ink-3);transition:color .25s}
.aitem>button:hover,.aitem>button[aria-expanded="true"]{color:var(--ink)}
.aitem>button span{font-size:13px;font-family:var(--fonte-texto);letter-spacing:.06em;color:var(--marca-texto)}
.abody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.aitem>button[aria-expanded="true"]+.abody{grid-template-rows:1fr}
.abody>div{overflow:hidden}
.abody p{margin:0 0 16px;color:var(--ink-2);font-size:16px;line-height:1.55;max-width:48ch}
.tlist{margin:0 0 26px;padding:0 0 0 16px;list-style:none;border-left:2px solid var(--marca);display:grid;gap:7px;font-size:15px;color:var(--ink-2)}
.tlist li{display:flex;gap:10px}
.tlist li::before{content:"";width:5px;height:5px;margin-top:9px;border-radius:50%;background:var(--marca);flex:none}
.abody .btn{margin-bottom:26px}
.aimg{position:sticky;top:110px;border-radius:16px;overflow:hidden;aspect-ratio:1/1;max-height:calc(100vh - 140px);background:var(--gelo);display:grid}
.aimg figure{grid-area:1/1;margin:0;transition:opacity .5s,transform .7s var(--ease)}
.aimg figure[aria-hidden="true"]{opacity:0;transform:scale(1.04)}
.aimg img{width:100%;height:100%;object-fit:cover}
.aimg figcaption{position:absolute;left:14px;bottom:14px;padding:7px 12px;border-radius:8px;background:rgba(255,255,255,.94);font-size:13px;font-weight:500}
.acount{position:sticky;top:110px;display:flex;flex-direction:column;align-items:center;gap:8px;font:500 15px var(--fonte-titulos);color:var(--ink-3)}
.acount b{color:var(--ink);font-weight:500}
.acount i{width:2px;height:120px;background:var(--line);border-radius:2px;position:relative;overflow:hidden}
.acount i::after{content:"";position:absolute;left:0;right:0;top:0;height:var(--h,16%);background:var(--marca);transition:height .4s var(--ease)}

/* ---------- citação ---------- */
.quote{padding:40px 0 120px}
.quote blockquote{margin:0 auto;max-width:900px;text-align:center;font:300 clamp(26px,2.8vw,38px)/1.3 var(--fonte-titulos);letter-spacing:-.025em}
.quote blockquote .soft{color:var(--ink-3)}
.quote cite{display:block;margin-top:24px;font:500 14px var(--fonte-texto);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--marca-texto)}

/* ---------- portfólio em acordeão horizontal (fundo azul-gelo com o símbolo aberto) ---------- */
.works{position:relative;padding:110px 0;background:linear-gradient(180deg,#fff 0%,var(--gelo) 18%,var(--gelo-2) 100%);overflow:hidden}
.works::before{content:"";position:absolute;inset:0;background:var(--elemento-esq-marca) left -70px top 60px/auto 300px no-repeat,var(--elemento-dir-marca) right -70px top 60px/auto 300px no-repeat}
.works::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.2;mix-blend-mode:overlay;pointer-events:none}
.works .shell{position:relative;z-index:1}
.acc{display:flex;gap:10px;height:440px}
.acard{position:relative;flex:0 0 76px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);cursor:pointer;transition:flex-grow .6s var(--ease);padding:0;text-align:left}
.acard.on{flex:1 1 76px;cursor:default}
.acard__mini{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:18px 0;transition:opacity .3s}
.acard__mini svg{width:22px;height:14px;fill:var(--marca)}
.acard__mini svg.plus{width:20px;height:20px;fill:none;stroke:var(--marca);stroke-width:1.8}
.acard__mini span{writing-mode:vertical-rl;transform:rotate(180deg);font:300 21px var(--fonte-titulos);letter-spacing:-.02em;white-space:nowrap}
.acard.on .acard__mini{opacity:0;pointer-events:none}
.acard__full{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);opacity:0;transition:opacity .4s .15s;pointer-events:none}
.acard.on .acard__full{opacity:1;pointer-events:auto}
.acard__txt{padding:28px;display:flex;flex-direction:column;gap:12px;min-width:320px}
.acard__txt h3{font:300 27px/1.2 var(--fonte-titulos);letter-spacing:-.03em;margin:0;display:flex;align-items:center;gap:10px}
.acard__txt h3 svg{width:24px;height:15px;fill:var(--marca);flex:none}
.acard__txt p{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.55}
.acard__txt .tlist{margin-top:6px}
.acard__img{margin:10px 10px 10px 0;border-radius:10px;overflow:hidden}
.acard__img img{width:100%;height:100%;object-fit:cover}

/* ---------- FAQ ---------- */
.faq .shell{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.faq .sec-head{position:sticky;top:110px}
.faq__list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font:400 19px/1.35 var(--fonte-titulos);letter-spacing:-.025em;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:none;width:30px;height:30px;border-radius:8px;background:var(--gelo);display:grid;place-items:center;transition:background .2s}
.faq summary .pm svg{width:14px;height:14px;stroke:var(--marca-texto);stroke-width:1.8;fill:none;transition:transform .3s var(--ease)}
.faq details[open] summary .pm{background:var(--marca)}
.faq details[open] summary .pm svg{stroke:#fff;transform:rotate(45deg)}
.faq details p{margin:0 0 24px;color:var(--ink-2);font-size:16px;line-height:1.6;max-width:62ch}

/* ---------- chamada final (ciano, enquadrada pelo símbolo aberto) ---------- */
.cta{padding:0 12px}
.cta__card{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,var(--cta-a) 0%,var(--marca) 50%,var(--cta-c) 100%);color:#fff;padding:110px 24px;text-align:center}
.cta__card::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.25;mix-blend-mode:overlay;pointer-events:none}
.cta__card .h2{color:#fff;font-weight:300;position:relative;z-index:1}
.cta__card .h2 .soft{color:rgba(255,255,255,.65)}
.cta__card p{position:relative;z-index:1;margin:18px auto 0;max-width:46ch;font-size:18px;color:rgba(255,255,255,.9)}
.cta__card .hero__cta{position:relative;z-index:1}
.cta__card::before{content:"";position:absolute;inset:0;background:var(--elemento-esq-claro) left -6% center/auto 72% no-repeat,var(--elemento-dir-claro) right -6% center/auto 72% no-repeat}

/* ---------- rodapé em cartão claro ---------- */
.foot{padding:12px}
.foot__card{border-radius:18px;background:var(--gelo);border:1px solid var(--line);padding:56px clamp(24px,4vw,56px) 28px}
.foot__top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}
.foot__brand{display:inline-flex;color:var(--ink)}
.foot__brand .logo-svg{height:24px}
.foot__sign{margin:14px 0 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--marca-texto)}
.foot__about{margin:18px 0 0;font-size:15px;color:var(--ink-2);max-width:34ch;line-height:1.55}
.foot h4{margin:4px 0 16px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;font-size:15px}
.foot ul a:hover{color:var(--marca-texto)}
.foot__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:60px;padding-top:22px;border-top:1px solid var(--line-2);font-size:13.5px;color:var(--ink-3)}
.foot__bottom nav{display:flex;gap:22px;flex-wrap:wrap}
.foot__bottom a:hover{color:var(--ink)}

/* ---------- sobre ---------- */
.story .shell{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:start}
.story .sec-head{position:sticky;top:110px}
.story__txt p{margin:0 0 24px;font:300 clamp(20px,1.8vw,25px)/1.45 var(--fonte-titulos);letter-spacing:-.015em;color:var(--ink-3)}
.story__txt p b{color:var(--ink);font-weight:400}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:80px}
.fact{border-radius:14px;padding:24px 22px;background:var(--card);border:1px solid var(--line)}
.fact b{display:block;font:300 clamp(34px,3.4vw,48px)/1 var(--fonte-titulos);letter-spacing:-.04em}
.fact b small{font-size:.45em;color:var(--marca-texto);margin-left:4px;letter-spacing:-.02em}
.fact span{display:block;margin-top:14px;font-size:14.5px;color:var(--ink-2)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:10px}
.gallery figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:var(--gelo)}
.gallery figure.w2{grid-column:span 2}
.gallery figure.t2{grid-row:span 2}
.gallery figure[hidden]{display:none}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:10px;bottom:10px;padding:6px 11px;border-radius:8px;background:rgba(255,255,255,.94);font-size:13px;font-weight:500}
.filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px}
.filters button{height:38px;padding:0 14px;border-radius:8px;border:1px solid var(--line-2);background:#fff;font-size:14px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:background .2s,color .2s}
.filters button:hover{background:var(--gelo)}
.filters button[aria-pressed="true"]{background:var(--marca);border-color:var(--marca);color:#fff}

/* ---------- clínicas ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tile{border-radius:14px;padding:26px 24px;background:var(--card);border:1px solid var(--line);transition:background .3s,transform .4s var(--ease)}
.tile:hover{background:var(--gelo);transform:translateY(-4px)}
.tile .ic{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);margin-bottom:34px}
.tile .ic svg{width:20px;height:20px;fill:none;stroke:var(--marca-texto);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tile h3{font:500 20px/1.2 var(--fonte-titulos);letter-spacing:-.03em;margin:0 0 8px}
.tile p{font-size:15px;line-height:1.5;color:var(--ink-2);margin:0}
.start{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.start>div{border-radius:14px;padding:28px 26px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;background:var(--card);border:1px solid var(--line)}
.start>div:nth-child(2){background:var(--gelo-2)}
.start>div:nth-child(3){background:linear-gradient(140deg,var(--solido-a),var(--solido-b));border-color:var(--solido-b);color:#fff}
.start>div:nth-child(3) p{color:rgba(255,255,255,.9)}
.start b{font:300 64px/1 var(--fonte-titulos);letter-spacing:-.04em}
.start h3{font:500 22px/1.2 var(--fonte-titulos);letter-spacing:-.03em;margin:0 0 8px}
.start p{margin:0;font-size:15px;color:var(--ink-2);line-height:1.5}
/* tabela de prazos no estilo da tabela de preços: colunas com réguas verticais ciano */
.ptable{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,var(--gelo) 0%,#fff 100%);border:1px solid var(--line);padding:40px clamp(20px,4vw,48px) 30px}
.ptable::before{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:200px;background:var(--elemento-dir-marca) center/contain no-repeat}
.ptable__h{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.ptable__h h3{margin:0;font:300 clamp(28px,3vw,40px)/1 var(--fonte-texto);letter-spacing:.01em;text-transform:uppercase;color:var(--marca)}
.ptable__h span{font-size:13px;color:var(--ink-3)}
.prow{position:relative;display:grid;grid-template-columns:1.2fr 0 .8fr 0 1.4fr;column-gap:22px}
.prow>span{padding:11px 0;font-size:15.5px}
.prow>i{background:var(--marca);width:2px}
.prow--h>span{font:300 18px var(--fonte-texto);color:var(--marca);padding-bottom:16px}
.prow--h>span:nth-child(3){text-align:center}
.prow:not(.prow--h)>span:nth-child(3){text-align:center;color:var(--ink);font-weight:500}
.prow:not(.prow--h)>span:nth-child(5){color:var(--ink-2);font-size:14.5px}
.prow--h>i{border-radius:2px 2px 0 0}
.prow:last-of-type>i{border-radius:0 0 2px 2px}
.ptable__note{position:relative;margin:22px 0 0;font-size:13px;color:var(--marca-texto)}
.files{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.files span{padding:8px 13px;border-radius:8px;background:#fff;border:1px solid var(--line);font-size:14px}
/* formulário */
.join__card{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;border-radius:18px;padding:clamp(28px,4vw,56px);background:var(--gelo);border:1px solid var(--line);position:relative;overflow:hidden}
.join__card::before{content:"";position:absolute;left:-40px;bottom:-50px;width:190px;height:255px;background:var(--elemento-esq-marca) center/contain no-repeat;pointer-events:none}
.join__l{position:relative}
.join__l .lead{margin-top:16px;max-width:38ch}
.join__l ul{list-style:none;margin:30px 0 0;padding:0 0 0 16px;border-left:2px solid var(--marca);display:grid;gap:12px;font-size:15.5px}
.join__contact{margin-top:34px;padding-top:22px;border-top:1px solid var(--line-2);font-size:15px;color:var(--ink-2);line-height:1.7}
.join__contact a{color:var(--marca-texto);font-weight:500}
.form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 30px 60px -40px color-mix(in srgb,var(--marca-tinta) 35%,transparent)}
.form .full{grid-column:1/-1}
.f label,.f legend{display:block;font-size:13.5px;font-weight:500;margin-bottom:7px}
.f input,.f select,.f textarea{width:100%;height:48px;padding:0 14px;border-radius:8px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font:400 15px var(--fonte-texto);transition:border-color .2s,box-shadow .2s}
.f select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%237d8c96' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center/14px}
.f textarea{height:100px;padding:12px 14px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--marca);box-shadow:0 0 0 3px var(--marca-suave)}
fieldset.f{border:0;margin:0;padding:0;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips label{margin:0;position:relative;font-weight:400}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:inline-block;padding:9px 13px;border-radius:8px;border:1px solid var(--line-2);font-size:14px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.chips input:checked+span{background:var(--marca);border-color:var(--marca);color:#fff}
.chips input:focus-visible+span{outline:2px solid var(--marca-texto);outline-offset:2px}
.consent{display:flex;gap:10px;font-size:13.5px;font-weight:400!important;color:var(--ink-2);line-height:1.5}
.f input[type=checkbox]{width:16px;height:16px;padding:0;flex:none;margin-top:2px;accent-color:var(--marca)}
.f .err{display:none;font-size:12.5px;color:#c0392b;margin:6px 0 0}
.f.bad input,.f.bad select{border-color:#c0392b}
.f.bad .err{display:block}
.form .btn{justify-self:start;margin-top:4px}
.form__ok{display:none;padding:16px 18px;border-radius:10px;background:var(--marca-suave);font-size:15px;line-height:1.5}
.form.sent .form__ok{display:block}

/* ---------- revelar ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* ---------- responsivo ---------- */
@media (max-width:960px){
  .nav__links,.nav__bar>.btn{display:none}
  .nav__burger{display:block}
  .steps{grid-template-columns:1fr 1fr;row-gap:30px}
  .stats .shell{grid-template-columns:1fr;gap:40px}
  .areas{grid-template-columns:1fr}
  .aimg{position:relative;top:0;order:-1;aspect-ratio:4/3;max-height:none}
  .acount{display:none}
  .acc{flex-direction:column;height:auto}
  .acard{flex:none;height:64px}
  .acard.on{height:auto;flex:none}
  .acard__mini{flex-direction:row;padding:0 20px}
  .acard__mini span{writing-mode:horizontal-tb;transform:none;font-size:19px}
  .acard__full{position:relative;grid-template-columns:1fr}
  .acard:not(.on) .acard__full{display:none}
  .acard__txt{min-width:0}
  .acard__img{margin:0 10px 10px;height:240px}
  .faq .shell,.story .shell{grid-template-columns:1fr;gap:30px}
  .faq .sec-head,.story .sec-head{position:static}
  .foot__top{grid-template-columns:1fr 1fr}
  .tiles,.start{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
  .join__card{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
}
@media (max-width:600px){
  :root{--shell:calc(100% - 32px)}
  .sec{padding:80px 0}
  .hero{padding:8px 8px 0}
  .hero__card{min-height:640px;padding:120px 18px 120px}
  .hero__card::before,.hero--page .hero__card::before{background-size:auto 36%,auto 36%;background-position:left -96px center,right -96px center;animation:none}
  .cta__card::before{background-size:auto 60%,auto 60%;background-position:left -60px center,right -60px center}
  .hero__sign{left:18px;bottom:18px;font-size:10.5px}
  .hero__float{display:none}
  .hero__tag{font-size:11.5px;margin-bottom:22px;max-width:100%}
  .hero__copy .hero__tag b{flex:none}
  .lead,.hero__copy p{font-size:16.5px}
  .marks li{font-size:16px}
  .marks ul{justify-content:center;gap:12px 22px}
  .flowp{height:auto;aspect-ratio:auto;min-height:0}
  .flowp__stage{position:relative;inset:auto;padding:12px 12px 0;place-items:stretch}
  .flowp__item{place-items:stretch}
  .flowp__img{width:100%;aspect-ratio:4/4.2;border-width:4px}
  .flowp__toast{position:relative;left:auto;bottom:auto;transform:none;width:auto;margin:12px}
  .aimg{aspect-ratio:1/1}
  .flowp__chip{display:none}
  .steps{grid-template-columns:1fr}
  .stats__grid div{min-height:150px;padding:18px 16px}
  .tiles,.start,.facts{grid-template-columns:1fr}
  .start>div{min-height:0}
  .prow{grid-template-columns:1.3fr 0 1fr;column-gap:14px}
  .prow>span:nth-child(5),.prow>i:nth-child(4){display:none}
  .form{grid-template-columns:1fr;padding:20px}
  .foot__top{grid-template-columns:1fr}
  .cta__card{padding:80px 20px}
  .gallery{grid-auto-rows:140px;gap:8px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* texto legal (política de privacidade) */
.legal__txt{max-width:760px}
.legal__data{color:var(--ink-3);font-size:14px;margin:0 0 32px}
.legal__txt section{margin:0 0 36px}
.legal__txt h2{font:400 clamp(20px,1.7vw,24px)/1.3 var(--fonte-titulos);letter-spacing:-.01em;margin:0 0 12px}
.legal__txt p,.legal__txt li{font-size:16px;line-height:1.65;margin:0 0 12px}
.legal__txt ul{margin:0 0 12px;padding-left:20px}
