/* Layout: editorial em grade de 12 colunas, alternando planos claros (papel/névoa) e escuros (tinta/verde profundo), com pranchas técnicas no lugar das fotos até a chegada do acervo real. */
:root{
  --ink:#0B1413; --ink-2:#1B2727; --paper:#FFFFFF; --mist:#F3F7F6; --mist-2:#E9F0EF; --line:#DDE6E5; --line-dark:rgba(234,243,241,.14);
  --muted:#57706E; --muted-dark:#9FB6B3; --green:#087A46; --green-dark:#064426; --deep:#084949; --teal:#319EA3; --teal-2:#426665;
  --warn-bg:#FBEBD3; --warn:#8A5A0F; --err:#B3402F; --ok-bg:#EAF7EF; --ok:#0B5C33;
  --grad:linear-gradient(90deg,#319EA3 0%,#2C9A99 18%,#21907E 42%,#0E7F54 68%,#087A46 100%);
  --grad-diag:linear-gradient(135deg,#319EA3 0%,#1E8E85 35%,#0E7F54 70%,#087A46 100%);
  --f-display:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --gutter:clamp(16px,4vw,56px);
  --hdr:96px; --hdr-top:30px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-display);font-weight:300;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;letter-spacing:-.025em;line-height:1.02;margin:0;text-wrap:balance}
p{margin:0}
::selection{background:var(--teal);color:#fff}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;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:8px;font-weight:600}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}

.wrap{width:100%;max-width:1360px;margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:clamp(72px,10vw,148px);position:relative}
.sec--tight{padding-block:clamp(48px,6vw,88px)}
.bg-mist{background:var(--mist)}
.bg-ink{background:var(--ink);color:#EAF3F1}
.bg-deep{background:var(--deep);color:#fff}
.bg-ink p,.bg-deep p{color:var(--muted-dark)}
.bg-deep p{color:rgba(255,255,255,.78)}

/* ---------- tipografia ---------- */
.eyebrow{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--green);display:inline-flex;align-items:center;gap:12px;margin-bottom:22px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--grad);border-radius:2px}
.bg-ink .eyebrow,.bg-deep .eyebrow,.on-dark .eyebrow{color:var(--teal)}
.bg-deep .eyebrow{color:#9FE3DA}
.display{font-size:clamp(2.6rem,6.2vw,6rem);line-height:.96;letter-spacing:-.035em}
.h2{font-size:clamp(2rem,4.3vw,3.75rem);line-height:1;letter-spacing:-.03em}
.h3{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.12;letter-spacing:-.02em}
.lead{font-size:clamp(1.06rem,1.35vw,1.25rem);line-height:1.6;color:var(--muted);max-width:60ch}
.bg-ink .lead,.on-dark .lead{color:var(--muted-dark)}
.bg-deep .lead{color:rgba(255,255,255,.8)}
.mono{font-family:var(--f-mono)}
.label{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bg-ink .label,.on-dark .label{color:var(--muted-dark)}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.outline-text{color:transparent;-webkit-text-stroke:1.2px currentColor}

/* ---------- placeholders (dados a confirmar) ---------- */
.ph{display:inline;background:rgba(198,135,30,.12);color:#8A5A0F;border-radius:4px;padding:0 .3em;font-weight:500;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.bg-ink .ph,.bg-deep .ph,.on-dark .ph{background:rgba(240,190,116,.16);color:#F0BE74}
.flag-ph .ph{outline:2px dashed #C6871E;outline-offset:1px;background:#FBEBD3;color:#6b4508}
.flag-ph .demo-tag{outline:2px dashed #319EA3}
.demo-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:rgba(49,158,163,.12);color:#1D6B6E;font-weight:500;white-space:nowrap}
.on-dark .demo-tag,.bg-ink .demo-tag{background:rgba(49,158,163,.18);color:#8FDADB}

/* ---------- botões ---------- */
.btn{--bh:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:var(--bh);padding:0 26px;border-radius:999px;font-weight:600;font-size:15.5px;letter-spacing:.005em;transition:transform .45s var(--ease),background-color .3s,color .3s,box-shadow .45s var(--ease),border-color .3s;white-space:nowrap;position:relative;isolation:isolate}
.btn .arr{width:18px;height:18px;transition:transform .45s var(--ease);flex:none}
.btn:hover .arr{transform:translateX(4px)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primary{color:#fff;background:var(--grad);box-shadow:0 12px 28px -14px rgba(8,122,70,.7)}
.btn--primary::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--green-dark);opacity:0;transition:opacity .35s;z-index:-1}
.btn--primary{z-index:0}
.btn--primary:hover{box-shadow:0 18px 34px -14px rgba(8,122,70,.75)}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{background:var(--mist)}
.btn--ghost{border:1.5px solid var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--teal);color:var(--green-dark)}
.on-dark .btn--ghost,.bg-ink .btn--ghost,.bg-deep .btn--ghost{border-color:rgba(255,255,255,.3);color:#fff}
.on-dark .btn--ghost:hover,.bg-ink .btn--ghost:hover,.bg-deep .btn--ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:var(--ink-2)}
.btn--sm{--bh:42px;padding:0 18px;font-size:14px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.wa-ico{width:18px;height:18px;flex:none}

.link{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--green-dark);padding-block:4px}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--grad);transform:scaleX(.25);transform-origin:left;transition:transform .5s var(--ease)}
.link:hover::after{transform:scaleX(1)}
.link .arr{width:16px;height:16px;transition:transform .45s var(--ease)}
.link:hover .arr{transform:translateX(4px)}
.bg-ink .link,.bg-deep .link,.on-dark .link{color:#fff}

/* ---------- header (estrutura editorial: bloco de marca + duas faixas com fios) ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:env(safe-area-inset-top,0px);display:flex;align-items:stretch;height:calc(var(--hdr) + env(safe-area-inset-top,0px));color:#fff;transition:background-color .45s var(--ease),height .45s var(--ease),box-shadow .45s}
.hdr.is-over{background:transparent}
.hdr.is-solid{background:rgba(11,20,19,.97);box-shadow:0 10px 30px -18px rgba(0,0,0,.55)}
@supports (backdrop-filter:blur(8px)){.hdr.is-solid{background:rgba(11,20,19,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}
.hdr-brand{flex:none;width:clamp(170px,16vw,236px);background:linear-gradient(135deg,#2A3B3A 0%,#141F1E 45%,#050A09 100%);box-shadow:inset 0 -3px 0 0 #087A46;display:flex;align-items:center;justify-content:center;padding:0 22px;position:relative}
.hdr-brand img{width:100%;max-width:156px;height:auto}
.hdr-brand::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.hdr-brand::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.05);opacity:0;transition:opacity .35s}
.hdr-brand:hover::before{opacity:1}

.hdr-main{flex:1;min-width:0;display:flex;flex-direction:column;padding-right:var(--gutter)}
.hdr-top{height:var(--hdr-top);display:flex;align-items:stretch;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);overflow:hidden;transition:height .45s var(--ease),opacity .3s,border-color .3s}
.hdr-bar{flex:1;display:flex;align-items:stretch;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18)}
.hdr.is-solid .hdr-bar{border-bottom-color:transparent}
.hdr.is-scrolled{--hdr-top:0px;height:calc(var(--hdr) - 30px + env(safe-area-inset-top,0px))}
.hdr.is-scrolled .hdr-top{opacity:0;border-bottom-color:transparent}
.hdr-social{display:flex;align-items:center;gap:20px;padding-left:clamp(20px,2.6vw,40px)}
.hdr-social a{width:16px;height:16px;display:grid;place-items:center;opacity:.85;transition:opacity .25s,color .25s,transform .35s var(--ease)}
.hdr-social a:hover{opacity:1;color:var(--teal);transform:translateY(-1px)}
.hdr-social svg{width:15px;height:15px}
.hdr-side{width:clamp(200px,18vw,270px);flex:none;display:flex;align-items:center;justify-content:flex-end;gap:12px;border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18);padding:0 18px;font-size:12.5px;font-weight:500;letter-spacing:.01em;white-space:nowrap}
.hdr-side .ph{font-weight:500}
.nav{display:flex;align-items:stretch;gap:clamp(4px,1.4vw,22px);padding-left:clamp(20px,2.6vw,40px)}
.nav-item{position:relative;display:flex;align-items:stretch}
.nav-link{display:inline-flex;align-items:center;gap:6px;padding:0 6px;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;position:relative;color:inherit;transition:color .25s}
.nav-link::after{content:"";position:absolute;left:6px;right:6px;bottom:-1px;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav-link:hover::after,.nav-item.open .nav-link::after{transform:scaleX(1)}
.nav-link.is-active{color:#9FE3DA}
.nav-link.is-active::after{transform:scaleX(1)}
.nav-link .chev{width:11px;height:11px;transition:transform .3s var(--ease);opacity:.8}
.nav-item.open .chev{transform:rotate(180deg)}
.hdr-search{display:inline-flex;align-items:center;gap:10px;height:100%;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:color .25s}
.hdr-search svg{width:15px;height:15px;transition:transform .4s var(--ease)}
.hdr-search:hover{color:var(--teal)}
.hdr-search:hover svg{transform:scale(1.12) rotate(-8deg)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);position:relative;flex:none}
.burger i{position:absolute;left:13px;right:13px;height:1.6px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease),opacity .2s}
.burger i:nth-child(1){top:16px}.burger i:nth-child(2){top:21px}.burger i:nth-child(3){top:26px}
.drawer-open .burger i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.drawer-open .burger i:nth-child(2){opacity:0}
.drawer-open .burger i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
@media (max-width:1240px){.hdr-side{width:auto;min-width:150px}.nav{gap:2px;padding-left:20px}.nav-link{font-size:12px;letter-spacing:.04em}}
@media (max-width:999px){
  :root{--hdr:72px;--hdr-top:0px}
  .hdr.is-scrolled{height:calc(var(--hdr) + env(safe-area-inset-top,0px))}
  .hdr-top,.nav{display:none}
  .hdr-bar{justify-content:flex-end}
  .hdr-side{width:auto;border:0;padding:0;gap:14px}
  .hdr-search span{display:none}
  .hdr-search{width:44px;justify-content:center}
  .burger{display:block}
  .hdr-brand{width:clamp(150px,40vw,190px)}
  .hdr-brand img{max-width:132px}
}
/* busca */
.srch{position:fixed;inset:0;z-index:92;background:rgba(11,20,19,.97);color:#fff;overflow-y:auto;padding-top:calc(clamp(40px,10vh,120px) + env(safe-area-inset-top,0px));animation:fadeIn .3s ease both}
.srch-in{max-width:900px}
.srch-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.srch-head .label{color:var(--teal)}
.srch .x{border-color:rgba(255,255,255,.3);color:#fff}
.srch .x:hover{background:#fff;color:var(--ink)}
.srch-field{position:relative;border-bottom:2px solid rgba(255,255,255,.25);transition:border-color .3s}
.srch-field:focus-within{border-color:var(--teal)}
.srch-field svg{position:absolute;left:0;top:50%;width:26px;height:26px;transform:translateY(-50%);color:var(--muted-dark)}
.srch-field input{width:100%;background:transparent;border:0;outline:0;color:#fff;font:inherit;font-size:clamp(1.6rem,4vw,3rem);font-weight:600;letter-spacing:-.02em;padding:14px 0 14px 44px}
.srch-field input::placeholder{color:rgba(234,243,241,.3)}
.srch-res{list-style:none;margin:28px 0 60px;padding:0;display:flex;flex-direction:column}
.srch-res li a{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line-dark);font-size:18px;animation:pIn .4s var(--ease) both}
.srch-res li a b{font-weight:600}
.srch-res li a .arr{width:18px;height:18px;transition:transform .4s var(--ease)}
.srch-res li a:hover{color:var(--teal)}
.srch-res li a:hover .arr{transform:translateX(4px)}
.srch-res .label{color:var(--muted-dark)}
.srch-empty{color:var(--muted-dark);padding:18px 0}
.srch-hint{display:flex;flex-wrap:wrap;gap:10px}
.srch-hint .chip{background:transparent;color:#fff;border-color:var(--line-dark)}
.srch-hint .chip:hover{border-color:var(--teal)}
@media (max-width:560px){.srch-res li a{grid-template-columns:1fr auto}.srch-res li a .label{grid-column:1/-1;margin-bottom:-12px}}
.mega{position:absolute;top:calc(100% + 10px);left:-10px;width:min(620px,90vw);transform:translate(0,8px);background:#fff;color:var(--ink);border-radius:20px;box-shadow:0 30px 70px -30px rgba(11,20,19,.45),0 0 0 1px var(--line);padding:14px;display:grid;grid-template-columns:1.1fr .9fr;gap:14px;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .4s var(--ease),visibility .3s}
.nav-item.open .mega{opacity:1;visibility:visible;transform:translate(0,0)}
.mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.mega-list{display:flex;flex-direction:column;gap:2px}
.mega-list a{display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;transition:background-color .2s}
.mega-list a:hover,.mega-list a:focus-visible{background:var(--mist)}
.mega-list b{font-weight:600;font-size:15.5px;display:flex;align-items:center;gap:8px}
.mega-list span{font-size:13.5px;color:var(--muted);line-height:1.4}
.mega-card{border-radius:14px;overflow:hidden;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:220px;position:relative}
.mega-card .media{position:absolute;inset:0}
.mega-card .mc-txt{position:relative;padding:16px;background:linear-gradient(0deg,rgba(11,20,19,.92),rgba(11,20,19,0));}
.mega-card .mc-txt b{display:block;font-size:15px;margin-bottom:2px}
.mega-card .mc-txt span{font-size:12.5px;color:var(--muted-dark)}

.drawer{position:fixed;inset:0;z-index:55;background:var(--ink);color:#fff;padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 12px) var(--gutter) calc(28px + env(safe-area-inset-bottom,0px));overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;display:flex;flex-direction:column}
.drawer.open{opacity:1;visibility:visible}
.drawer-nav{display:flex;flex-direction:column;border-top:1px solid var(--line-dark)}
.drawer-nav > a,.drawer-acc > button{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:26px;font-weight:600;letter-spacing:-.02em;padding:16px 0;border-bottom:1px solid var(--line-dark);text-align:left}
.drawer-nav > a.is-active{color:var(--teal)}
.drawer-acc .chev{width:18px;height:18px;transition:transform .3s var(--ease)}
.drawer-acc.open .chev{transform:rotate(180deg)}
.drawer-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.drawer-acc.open .drawer-sub{grid-template-rows:1fr}
.drawer-sub > div{overflow:hidden}
.drawer-sub a{display:block;padding:11px 0 11px 16px;font-size:17px;color:var(--muted-dark);border-left:1px solid var(--line-dark)}
.drawer-sub a:first-child{margin-top:10px}.drawer-sub a:last-child{margin-bottom:14px}
.drawer-foot{margin-top:auto;padding-top:28px;display:grid;gap:10px}
.drawer-foot .btn{width:100%}
.drawer .drawer-nav > *{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.drawer.open .drawer-nav > *{opacity:1;transform:none}
.drawer.open .drawer-nav > *:nth-child(2){transition-delay:.04s}.drawer.open .drawer-nav > *:nth-child(3){transition-delay:.08s}.drawer.open .drawer-nav > *:nth-child(4){transition-delay:.12s}.drawer.open .drawer-nav > *:nth-child(5){transition-delay:.16s}.drawer.open .drawer-nav > *:nth-child(6){transition-delay:.2s}.drawer.open .drawer-nav > *:nth-child(7){transition-delay:.24s}


/* ---------- mídia / pranchas ---------- */
.media{position:relative;overflow:hidden;background:var(--ink)}
.media--light{background:var(--mist)}
.media--green{background:var(--deep)}
.media .plate,.media img{position:absolute;inset:0;width:100%;height:100%}
.media .plate svg{width:100%;height:100%;display:block;transition:transform 1.2s var(--ease)}
.media img{object-fit:cover}
.zoom:hover .plate svg,.zoom:hover img,.card:hover .media .plate svg,.card:hover .media img{transform:scale(1.035)}
.media-tag{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(11,20,19,.55);color:rgba(234,243,241,.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media--light .media-tag{background:rgba(255,255,255,.75);color:var(--muted);border-color:var(--line)}
.media-tag i{width:6px;height:6px;border-radius:50%;background:#F0BE74;flex:none}
.flag-ph .media-tag{outline:2px dashed #C6871E}

/* ---------- animações ---------- */
@media (prefers-reduced-motion:no-preference){
  html.anim .rv{opacity:0;transform:translate3d(0,24px,0);transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 110ms)}
  html.anim .rv.in{opacity:1;transform:none}
  html.anim .rv-fade{opacity:0;transition:opacity .9s var(--ease);transition-delay:calc(var(--d,0) * 110ms)}
  html.anim .rv-fade.in{opacity:1}
  html.anim .rv-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease);transition-delay:calc(var(--d,0) * 110ms)}
  html.anim .rv-img .plate svg,html.anim .rv-img img{transform:scale(1.08);transition:transform 1.6s var(--ease)}
  html.anim .rv-img.in{clip-path:inset(0 0 0 0)}
  html.anim .rv-img.in .plate svg,html.anim .rv-img.in img{transform:scale(1)}
  html.anim .rv-img.in.zoom:hover .plate svg{transform:scale(1.035)}
  html.anim .lr .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
  html.anim .lr .ln > span{display:block;transform:translate3d(0,105%,0);transition:transform 1s var(--ease);transition-delay:calc(var(--d,0) * 110ms + var(--i,0) * 90ms)}
  html.anim .lr.in .ln > span{transform:none}
  .page{animation:pageIn .7s var(--ease) both}
  .page.leaving{animation:pageOut .22s ease-in both}
}
.lr .ln{display:block}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
@keyframes pageOut{from{opacity:1}to{opacity:0}}

/* ---------- HERO HOME ---------- */
.hero{position:relative;background:var(--ink);color:#fff;min-height:min(90vh,920px);display:flex;flex-direction:column;overflow:hidden;isolation:isolate}
.hero-media{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:-1}
.hero-media .media{position:absolute;inset:0}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(11,20,19,.6) 22%,rgba(11,20,19,0) 55%),linear-gradient(0deg,rgba(11,20,19,.85),rgba(11,20,19,0) 35%);pointer-events:none}
.hero-rings{position:absolute;left:-12vw;top:50%;width:min(64vw,820px);aspect-ratio:1;transform:translateY(-50%);opacity:.07;z-index:-1;pointer-events:none}
.hero-body{flex:1;display:flex;align-items:center;padding-top:calc(var(--hdr) + 36px);padding-bottom:40px}
.hero-copy{max-width:min(860px,64vw);position:relative}
@media (max-width:1100px){.hero-copy{max-width:760px}}
.hero h1{font-size:clamp(2.35rem,4.5vw,4.4rem);line-height:.98;letter-spacing:-.035em;margin-bottom:26px}
.hero h1 em{font-style:normal}
.hero .sub{font-size:clamp(1.05rem,1.4vw,1.3rem);color:rgba(234,243,241,.78);max-width:54ch;margin-bottom:36px}
.hero-micro{margin-top:18px;font-size:14px;color:var(--muted-dark)}
.hero-foot{position:relative;border-top:1px solid var(--line-dark)}
.hero-foot .wrap{display:grid;grid-template-columns:repeat(3,1fr) minmax(280px,1.15fr);align-items:stretch}
.pillar-mini{padding:22px 24px 26px 0;border-right:1px solid var(--line-dark);margin-right:24px}
.pillar-mini b{display:block;font-size:17px;font-weight:600;margin-bottom:4px;color:#fff}
.pillar-mini span{font-size:14px;color:var(--muted-dark);line-height:1.45;display:block}
.hero-stat{background:var(--grad-diag);padding:22px 26px;clip-path:polygon(18px 0,100% 0,100% 100%,0 100%,0 18px);display:flex;flex-direction:column;justify-content:center;margin-top:-36px;position:relative}
.hero-stat .k{font-size:clamp(1.25rem,1.7vw,1.6rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#fff}
.hero-stat .go{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:600;font-size:14.5px;color:#fff}
.hero-stat .go svg{width:16px;height:16px;transition:transform .45s var(--ease)}
.hero-stat:hover .go svg{transform:translateX(4px)}
.hero-stat .l{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;margin-top:8px;color:rgba(255,255,255,.88)}
.scroll-cue{position:absolute;right:var(--gutter);top:calc(var(--hdr) + 40px);writing-mode:vertical-rl;font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(234,243,241,.5);display:flex;align-items:center;gap:12px}
.scroll-cue::after{content:"";width:1px;height:60px;background:linear-gradient(rgba(234,243,241,.5),transparent);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (prefers-reduced-motion:no-preference){
  .hero .h-in{opacity:0;transform:translateY(22px);animation:hIn .9s var(--ease) forwards;animation-delay:calc(.1s + var(--i,0) * .08s)}
  .hero-media .media{animation:hReveal 1.6s var(--ease) both}
}
@keyframes hIn{to{opacity:1;transform:none}}
@keyframes hReveal{from{clip-path:inset(0 0 0 100%);transform:scale(1.06)}to{clip-path:inset(0 0 0 0);transform:none}}
@media (max-width:1100px){
  .hero-media{width:100%;opacity:.55}
  .hero-media::after{background:linear-gradient(0deg,var(--ink) 8%,rgba(11,20,19,.55) 60%,rgba(11,20,19,.3))}
  .hero-foot .wrap{grid-template-columns:1fr 1fr}
  .pillar-mini:nth-child(3){display:none}
  .hero-stat{grid-column:1/-1;margin-top:0;margin-inline:calc(var(--gutter) * -1);clip-path:none}
  .scroll-cue{display:none}
}
@media (max-width:640px){
  .hero{min-height:auto}
  .hero-body{padding-top:calc(var(--hdr) + 28px);padding-bottom:36px}
  .hero-foot .wrap{grid-template-columns:1fr}
  .pillar-mini{display:none}
  .hero .btn-row .btn{flex:1 1 100%}
}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding-block:clamp(18px,3vw,34px);user-select:none}
.marquee-track{display:inline-flex;gap:48px;animation:mq 46s linear infinite;padding-right:48px}
.marquee span{font-size:clamp(3rem,9vw,8.5rem);font-weight:700;letter-spacing:-.04em;line-height:1;display:inline-flex;align-items:center;gap:48px}
.marquee span::after{content:"";width:.42em;height:.42em;border-radius:50%;border:.08em solid var(--teal);flex:none}
.marquee .outline-text{-webkit-text-stroke:1.5px var(--ink)}
.bg-ink .marquee{border-color:var(--line-dark)}
.bg-ink .marquee .outline-text{-webkit-text-stroke-color:rgba(234,243,241,.6)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ---------- números ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stat{padding:30px 24px 8px 0;border-right:1px solid var(--line);margin-right:24px}
.stat:last-child{border-right:0;margin-right:0}
.stat .k{font-size:clamp(2.6rem,5vw,4.6rem);font-weight:700;letter-spacing:-.04em;line-height:1}
.stat .k.is-ph{color:transparent;-webkit-text-stroke:1.3px #C6871E;font-style:normal}
.stat .l{margin-top:12px;font-size:15px;color:var(--muted);max-width:22ch;line-height:1.4}
.stat .demo-tag{margin-top:12px}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0;margin-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:28px}}
@media (max-width:480px){.stat{padding:22px 12px 8px 0;margin-right:12px}.stat .l{font-size:14px}}

.logos{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,64px);align-items:center}
.logo-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.logo-slot{height:72px;border:1.5px dashed var(--line);border-radius:12px;display:grid;place-items:center;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:6px}
@media (max-width:900px){.logos{grid-template-columns:1fr}.logo-slots{grid-template-columns:repeat(3,1fr)}.logo-slot:nth-child(n+4){display:none}}

/* ---------- pilares ---------- */
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);align-items:start}
.split > *{min-width:0}
.sticky{position:sticky;top:calc(var(--hdr) + 40px)}
@media (max-width:960px){.split{grid-template-columns:1fr}.sticky{position:static}}
.pillars{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.pillar{display:grid;grid-template-columns:72px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--line);position:relative}
.pillar::before{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.pillar:hover::before{transform:scaleX(1)}
.pillar svg{width:64px;height:64px}
.pillar h3{font-size:clamp(1.6rem,2.6vw,2.3rem);margin-bottom:10px}
.pillar p{color:var(--muted);max-width:52ch}
@media (max-width:560px){.pillar{grid-template-columns:1fr;gap:14px}.pillar svg{width:46px;height:46px}}

/* ---------- declaração ---------- */
.statement{font-size:clamp(2rem,5.4vw,5rem);line-height:1.02;letter-spacing:-.035em;font-weight:700;max-width:18ch}
.statement .muted{color:var(--teal-2)}
.bg-ink .statement .muted{color:#3E5A58}
.state-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,6vw,96px);align-items:end}
.state-grid > *{min-width:0}
@media (max-width:900px){.state-grid{grid-template-columns:1fr}}

/* ---------- serviços explorer ---------- */
.svc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:stretch}
.svc > *{min-width:0}
.svc-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.svc-item{border-bottom:1px solid var(--line);color:var(--muted);transition:color .35s}
.svc-btn{display:flex;width:100%;justify-content:space-between;align-items:center;gap:24px;text-align:left;padding:28px 0 22px;color:inherit}
.svc-name{font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700;letter-spacing:-.025em;line-height:1.02;transition:transform .5s var(--ease)}
.svc-btn .arr-c{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:all .4s var(--ease);flex:none}
.svc-btn .arr-c svg{width:18px;height:18px}
.svc-item .desc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.svc-item .desc > div{overflow:hidden}
.svc-item .desc p{color:var(--muted);max-width:46ch;font-size:16px;margin-bottom:12px}
.svc-item .desc .link{margin-bottom:26px}
.svc-item.on{color:var(--ink)}
.svc-item.on .svc-name{transform:translateX(6px)}
.svc-item.on .arr-c{background:var(--ink);border-color:var(--ink);color:#fff}
.svc-item.on .desc{grid-template-rows:1fr}
.svc-stage{position:relative;min-height:520px;border-radius:4px;overflow:hidden}
.svc-stage .media{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease)}
.svc-stage .media.on{opacity:1}
.svc-stage .stage-cap{position:absolute;right:0;top:0;z-index:3;background:#fff;padding:16px 20px;border-bottom-left-radius:14px;max-width:70%}
.svc-stage .stage-cap b{display:block;font-size:15px}
.svc-stage .stage-cap span{font-size:13px;color:var(--muted)}
.support{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:22px 24px;border-radius:16px;background:var(--mist)}
.chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);font-size:14px;font-weight:500;background:#fff;transition:border-color .25s,background-color .25s,color .25s}
button.chip:hover,a.chip:hover{border-color:var(--teal)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.bg-ink .chip{background:transparent;border-color:var(--line-dark);color:#EAF3F1}
.bg-ink .chip.on{background:#fff;color:var(--ink);border-color:#fff}
@media (max-width:960px){.svc{grid-template-columns:1fr}.svc-stage{min-height:340px;order:-1}}

/* ---------- segmentos bento ---------- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(150px,auto);gap:16px}
.tile{position:relative;overflow:hidden;border-radius:4px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;min-height:260px;color:#fff;isolation:isolate}
.tile .media{position:absolute;inset:0;z-index:-2}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,20,19,.88) 0%,rgba(11,20,19,.15) 60%,rgba(11,20,19,0));transition:opacity .5s}
.tile h3{font-size:clamp(1.4rem,2.2vw,2rem);margin-bottom:8px}
.tile p{color:rgba(234,243,241,.78);font-size:15px;max-width:40ch}
.tile .t-go{position:absolute;top:22px;right:22px;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;transform:scale(.85) rotate(-45deg);opacity:.9;transition:transform .5s var(--ease),background-color .3s}
.tile .t-go svg{width:18px;height:18px}
.tile:hover .t-go{transform:scale(1) rotate(0);background:var(--teal);color:#fff}
.tile .label{color:rgba(234,243,241,.7);margin-bottom:10px}
.tile--a{grid-column:span 7;grid-row:span 2;min-height:520px}
.tile--b{grid-column:span 5}
.tile--c{grid-column:span 5}
.tile--d{grid-column:span 4}
.tile--e{grid-column:span 8;background:var(--grad-diag)}
.tile--e::after{display:none}
.tile--e p{color:rgba(255,255,255,.88)}
.tile--e .rings{position:absolute;right:-60px;top:-60px;width:320px;height:320px;opacity:.22;z-index:-1}
@media (max-width:960px){.tile--a,.tile--b,.tile--c,.tile--d,.tile--e{grid-column:span 12;grid-row:auto;min-height:300px}.tile--a{min-height:400px}}

/* ---------- cards de obra ---------- */
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,28px)}
.card{display:flex;flex-direction:column;gap:16px;position:relative}
.card .media{border-radius:4px}
.card .meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.card h3{font-size:clamp(1.25rem,1.8vw,1.6rem);transition:color .3s}
.card:hover h3{color:var(--green)}
.card p{color:var(--muted);font-size:15.5px}
.card .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;color:var(--green-dark)}
.card .go svg{width:16px;height:16px;transition:transform .45s var(--ease)}
.card:hover .go svg{transform:translateX(4px)}
.bg-ink .card h3{color:#fff}.bg-ink .card:hover h3{color:var(--teal)}.bg-ink .card .go{color:#fff}
.ratio-wide{aspect-ratio:16/10}.ratio-tall{aspect-ratio:4/5}.ratio-sq{aspect-ratio:1}.ratio-pan{aspect-ratio:21/9}
.feat{grid-column:span 7}.feat-side{grid-column:span 5;display:flex;flex-direction:column;gap:clamp(16px,2vw,28px)}
.feat-side .card{flex-direction:row;gap:20px;align-items:stretch}
.feat-side .card .media{width:46%;flex:none;aspect-ratio:1}
.feat-side .card .c-body{display:flex;flex-direction:column;gap:10px;justify-content:center;min-width:0}
@media (max-width:960px){.feat,.feat-side{grid-column:span 12}}
@media (max-width:520px){.feat-side .card{flex-direction:column}.feat-side .card .media{width:100%;aspect-ratio:16/10}}

/* ---------- processo ---------- */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:64px}
.process::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:var(--line-dark)}
.process::after{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:var(--grad);transform:scaleX(var(--p,0));transform-origin:left;transition:transform .2s linear}
.step{padding-right:28px;position:relative}
.step .n{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--ink);border:1.5px solid var(--line-dark);font-family:var(--f-mono);font-size:14px;margin-bottom:28px;position:relative;z-index:1;transition:background-color .4s,border-color .4s,color .4s}
.step.lit .n{background:var(--teal);border-color:var(--teal);color:#fff}
.step h3{font-size:clamp(1.3rem,2vw,1.7rem);margin-bottom:10px;color:#fff}
.step p{font-size:15.5px;max-width:30ch}
@media (max-width:860px){.process{grid-template-columns:1fr;gap:6px}.process::before,.process::after{left:27px;right:auto;top:0;bottom:0;width:1px;height:auto}.process::after{width:2px;transform:scaleY(var(--p,0));transform-origin:top}.step{display:grid;grid-template-columns:56px 1fr;gap:20px;padding-bottom:28px}.step .n{margin:0}}

/* ---------- prova social (reservado) ---------- */
.proof{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,56px)}
.quote{border-left:2px solid var(--teal);padding:4px 0 4px clamp(18px,3vw,40px)}
.quote blockquote{margin:0;font-size:clamp(1.4rem,2.6vw,2.3rem);line-height:1.2;letter-spacing:-.02em;font-weight:500;color:#fff}
.quote figcaption{margin-top:20px;font-size:15px;color:var(--muted-dark)}
.cred-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cred-slots div{border:1.5px dashed var(--line-dark);border-radius:12px;min-height:96px;display:grid;place-items:center;text-align:center;padding:10px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
@media (max-width:900px){.proof{grid-template-columns:1fr}}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#0A5232 0%,#064426 45%,#062E1C 100%);color:#fff;border-radius:4px;display:grid;grid-template-columns:1.2fr .8fr;isolation:isolate}
.cta-body{padding:clamp(32px,6vw,88px);position:relative;z-index:1}
.cta h2{font-size:clamp(2rem,4.2vw,3.7rem);margin-bottom:20px}
.cta p{color:rgba(255,255,255,.86);max-width:48ch;margin-bottom:32px}
.cta-img{position:relative;min-height:320px;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.cta-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.cta .rings{position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;opacity:.14;z-index:0}
.cta .micro{margin-top:16px;font-size:14px;color:rgba(255,255,255,.8);margin-bottom:0}
@media (max-width:900px){.cta{grid-template-columns:1fr}.cta-img{min-height:220px;clip-path:polygon(0 12%,100% 0,100% 100%,0 100%);order:-1}}

/* ---------- faixa casas ---------- */
.homes-band{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(20px,4vw,56px);padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:4px;background:#fff}
.homes-band .media{width:clamp(120px,16vw,220px);aspect-ratio:4/3;border-radius:2px}
.homes-band h3{font-size:clamp(1.3rem,2vw,1.8rem);margin-bottom:6px}
.homes-band p{color:var(--muted)}
@media (max-width:760px){.homes-band{grid-template-columns:1fr}.homes-band .media{width:100%}}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;padding:24px 0;font-size:clamp(1.08rem,1.6vw,1.3rem);font-weight:600;letter-spacing:-.01em}
.faq-q .pm{width:34px;height:34px;flex:none;border-radius:50%;border:1.5px solid var(--line);position:relative;transition:background-color .3s,border-color .3s}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.6px;background:currentColor;transform:translate(-50%,-50%);transition:transform .4s var(--ease)}
.faq-q .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.open .pm{background:var(--ink);border-color:var(--ink);color:#fff}
.faq-item.open .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a > div{overflow:hidden}
.faq-a p{padding:0 54px 26px 0;color:var(--muted);max-width:70ch}

/* ---------- footer ---------- */
.ftr{background:var(--ink);color:#EAF3F1;padding-top:clamp(64px,8vw,110px);position:relative;overflow:hidden}
.ftr-top{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:clamp(24px,4vw,56px);padding-bottom:64px;border-bottom:1px solid var(--line-dark)}
.ftr-top > *{min-width:0}
.ftr img.flogo{height:44px;width:auto;margin-bottom:22px}
.ftr p{color:var(--muted-dark);font-size:15px}
.ftr h4{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--teal);margin-bottom:18px}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ftr li a,.ftr li span{font-size:15px;color:#EAF3F1;opacity:.82;transition:opacity .25s,color .25s}
.ftr li a:hover{opacity:1;color:var(--teal)}
.ftr li span.dis{opacity:.45}
.ftr-big{font-size:clamp(4rem,17vw,16rem);font-weight:700;letter-spacing:-.06em;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(234,243,241,.16);margin:44px 0 -0.08em;white-space:nowrap;user-select:none}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding:26px 0 calc(30px + env(safe-area-inset-bottom,0px));font-size:13.5px;color:var(--muted-dark);border-top:1px solid var(--line-dark)}
.ftr-bot a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-top > :first-child{grid-column:1/-1}}
@media (max-width:480px){.ftr-top{grid-template-columns:1fr}}

/* ---------- page hero (internas) ---------- */
.phero{padding-top:calc(var(--hdr) + clamp(36px,6vw,80px));padding-bottom:clamp(48px,7vw,96px);position:relative;overflow:hidden}
.phero.bg-ink{color:#fff}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.crumbs a:hover{color:var(--green)}
.crumbs i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}
.bg-ink .crumbs,.on-dark .crumbs{color:var(--muted-dark)}
.phero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px);align-items:end}
.phero-grid > *{min-width:0}
.phero h1{font-size:clamp(2.2rem,4.2vw,4rem);line-height:.98;letter-spacing:-.035em;margin-bottom:26px}
.phero .answer{font-size:clamp(1.05rem,1.3vw,1.2rem);color:var(--muted);max-width:58ch;margin-bottom:34px}
.bg-ink .phero .answer,.phero.bg-ink .answer{color:var(--muted-dark)}
.phero-media{aspect-ratio:5/4;border-radius:4px}
.phero-media.cut{clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,0 12%)}
@media (max-width:960px){.phero-grid{grid-template-columns:1fr}.phero-media{aspect-ratio:16/10}}

.big-rule{height:1px;background:var(--line);margin-block:0}

/* ---------- listas ---------- */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.checks li{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px;font-weight:400}
.checks li svg{width:26px;height:26px;margin-top:1px}
.bg-ink .checks,.bg-ink .checks li{border-color:var(--line-dark);color:#EAF3F1}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
@media (max-width:760px){.cols-2{grid-template-columns:1fr}}

.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.step3{padding:30px;border-radius:4px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:14px;min-height:240px;position:relative;overflow:hidden}
.step3 .n{font-family:var(--f-mono);font-size:13px;color:var(--teal);letter-spacing:.1em}
.step3 h3{font-size:1.35rem}
.step3 p{color:var(--muted);font-size:15.5px}
.step3::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.step3:hover::after{transform:scaleX(1)}
@media (max-width:860px){.steps3{grid-template-columns:1fr}.step3{min-height:0}}

.gain{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.gain svg.rings{width:clamp(90px,14vw,180px);height:auto}
@media (max-width:700px){.gain{grid-template-columns:1fr}}

/* ---------- filtros / obras ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filters-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:40px}
.count{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.port{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2.4vw,32px) clamp(16px,2vw,28px)}
.port .card{grid-column:span 4;transition:opacity .4s var(--ease),transform .5s var(--ease)}
.port .card.w8{grid-column:span 8}
.port .card.w6{grid-column:span 6}
.port .card.w4{grid-column:span 4}
.port .card.w12{grid-column:span 12}
@media (max-width:960px){.port .card,.port .card.w8,.port .card.w6,.port .card.w4{grid-column:span 6}.port .card.w12{grid-column:span 12}}
@media (max-width:620px){.port .card,.port .card.w8,.port .card.w6,.port .card.w4,.port .card.w12{grid-column:span 12}.port .ratio-pan{aspect-ratio:16/10}}
.empty{grid-column:1/-1;padding:48px;text-align:center;border:1.5px dashed var(--line);border-radius:8px;color:var(--muted)}
.select{height:42px;border-radius:999px;border:1.5px solid var(--line);padding:0 38px 0 16px;font:inherit;font-size:14px;font-weight:500;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230B1413' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;appearance:none;-webkit-appearance:none;color:var(--ink)}

/* ---------- detalhe de obra ---------- */
.case-hero{position:relative;min-height:min(86vh,860px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;padding-top:var(--hdr)}
.case-hero .media{position:absolute;inset:0;z-index:-2}
.case-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,20,19,.92) 0%,rgba(11,20,19,.35) 50%,rgba(11,20,19,.15))}
.case-hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.98;letter-spacing:-.035em;max-width:20ch;margin-bottom:22px}
.case-hero .wrap{padding-bottom:clamp(36px,6vw,72px)}
.spec{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);margin-top:30px}
.spec div{padding:18px 18px 0 0}
.spec dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:6px}
.spec dd{margin:0;font-size:17px;font-weight:500}
@media (max-width:760px){.spec{grid-template-columns:1fr 1fr}}
.case-body{display:grid;grid-template-columns:4fr 8fr;gap:clamp(28px,6vw,96px)}
.case-body > *{min-width:0}
.case-side{position:sticky;top:calc(var(--hdr) + 32px);align-self:start;display:flex;flex-direction:column;gap:16px}
.sheet{border:1px solid var(--line);border-radius:4px;padding:24px;background:#fff}
.sheet h4{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:12px}
.sheet dl{margin:0;display:grid;gap:0}
.sheet dl div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.sheet dl div:last-child{border-bottom:0}
.sheet dt{color:var(--muted)}
.sheet dd{margin:0;font-weight:500;text-align:right}
.case-sec{padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid var(--line)}
.case-sec:last-child{border-bottom:0}
.case-sec h2{font-size:clamp(1.6rem,2.8vw,2.4rem);margin-bottom:18px}
.case-sec p{color:var(--muted);font-size:18px;max-width:62ch}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.gallery .media{border-radius:4px}
.g1{grid-column:span 8;aspect-ratio:16/10}.g2{grid-column:span 4;aspect-ratio:auto}.g3{grid-column:span 12;aspect-ratio:21/8}
@media (max-width:760px){.g1,.g2,.g3{grid-column:span 12;aspect-ratio:16/10}}
@media (max-width:960px){.case-body{grid-template-columns:1fr}.case-side{position:static}}
.pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.pager a{padding:32px 0;display:flex;flex-direction:column;gap:6px}
.pager a:last-child{text-align:right;border-left:1px solid var(--line);padding-left:24px}
.pager b{font-size:clamp(1.15rem,2vw,1.6rem);letter-spacing:-.02em;transition:color .3s}
.pager a:hover b{color:var(--green)}

/* ---------- métodos ---------- */
.mtabs{display:grid;grid-template-columns:320px 1fr;gap:clamp(24px,4vw,64px)}
.mtabs > *{min-width:0}
.mtab-list{display:flex;flex-direction:column;gap:4px}
.mtab{text-align:left;padding:16px 18px;border-radius:12px;font-weight:600;font-size:17px;display:flex;justify-content:space-between;align-items:center;transition:background-color .25s,color .25s;color:var(--muted)}
.mtab:hover{background:var(--mist);color:var(--ink)}
.mtab.on{background:var(--ink);color:#fff}
.mtab svg{width:16px;height:16px;opacity:0;transition:opacity .3s,transform .4s var(--ease);transform:translateX(-6px)}
.mtab.on svg{opacity:1;transform:none}
.mpanel{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.mpanel > *{min-width:0}
.mpanel .media{aspect-ratio:4/3;border-radius:4px}
.mpanel h3{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:16px}
.mpanel p{color:var(--muted);margin-bottom:22px}
.mpanel-anim{animation:pIn .6s var(--ease) both}
@keyframes pIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:1000px){.mtabs{grid-template-columns:1fr}.mtab-list{flex-direction:row;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.mtab{white-space:nowrap;flex:none}.mtab svg{display:none}.mpanel{grid-template-columns:1fr}}
.questions{counter-reset:q;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.questions li{list-style:none;counter-increment:q;padding:26px 22px;border-top:2px solid var(--ink);font-size:18px;font-weight:500;line-height:1.3;letter-spacing:-.01em}
.questions li::before{content:"0" counter(q);display:block;font-family:var(--f-mono);font-size:12px;color:var(--teal);margin-bottom:28px;letter-spacing:.1em}
.questions{padding:0;margin:0}
@media (max-width:1000px){.questions{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.questions{grid-template-columns:1fr}}

/* ---------- blog ---------- */
.post-feat{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,64px);align-items:center}
.post-feat > *{min-width:0}
.post-feat .media{aspect-ratio:16/11;border-radius:4px}
.post-feat h2{font-size:clamp(1.8rem,3.4vw,3rem);margin:14px 0 16px}
.search{position:relative;flex:1;min-width:220px;max-width:340px}
.search input{width:100%;height:44px;border-radius:999px;border:1.5px solid var(--line);padding:0 16px 0 42px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.search input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(49,158,163,.15)}
.search svg{position:absolute;left:15px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--muted)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,36px)}
.posts .media{aspect-ratio:16/11}
@media (max-width:960px){.posts{grid-template-columns:1fr 1fr}.post-feat{grid-template-columns:1fr}}
@media (max-width:600px){.posts{grid-template-columns:1fr}}
.article{max-width:760px;margin-inline:auto}
.article h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:48px 0 16px}
.article p{font-size:18.5px;line-height:1.75;color:#2B3B3A;margin-bottom:20px;font-weight:300}
.article .answer-box{background:var(--mist);border-left:3px solid var(--teal);padding:24px 28px;font-size:19px;line-height:1.6;margin:0 0 36px;font-weight:400}
.compare{width:100%;border-collapse:collapse;font-size:15px;margin:10px 0 28px}
.compare th,.compare td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.compare th{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.tbl-wrap{overflow-x:auto;margin-inline:-4px;padding-inline:4px}
.byline{display:flex;align-items:center;gap:14px;padding:22px 0;border-block:1px solid var(--line);margin:36px 0}
.byline .av{width:48px;height:48px;border-radius:50%;background:var(--grad-diag);flex:none}
.progress-read{position:fixed;left:0;top:0;height:3px;background:var(--grad);z-index:70;transform-origin:left;transform:scaleX(var(--rp,0))}

/* ---------- casas ---------- */
.homes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px)}
.home-card .media{aspect-ratio:4/3}
.home-card .badge{position:absolute;top:14px;left:14px;z-index:2}
.facts{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14.5px;color:var(--muted)}
.facts b{color:var(--ink);font-weight:600}
@media (max-width:960px){.homes{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.homes{grid-template-columns:1fr}}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;background:#fff;color:var(--ink);box-shadow:0 4px 14px -6px rgba(11,20,19,.3)}
.badge i{width:7px;height:7px;border-radius:50%;background:var(--green)}
.badge.warn i{background:#C6871E}
.notice{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border-radius:12px;background:var(--warn-bg);color:var(--warn);font-size:14.5px;line-height:1.5}
.notice svg{width:20px;height:20px;flex:none;margin-top:1px}
.notice b{font-weight:600}
.notice.info{background:#EAF6F6;color:#1B5C5E}

/* ---------- formulários ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 18px}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label,.field .flabel{font-size:14px;font-weight:600;color:var(--ink)}
.field label .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-weight:400;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:0 16px;height:52px;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2357706E' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px}
.field textarea{height:auto;min-height:120px;padding:14px 16px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(49,158,163,.15)}
.field.err input,.field.err select,.field.err textarea{border-color:var(--err);box-shadow:0 0 0 4px rgba(179,64,47,.1)}
.field.ok input,.field.ok select{border-color:#7FC6A1}
.field .msg{font-size:13.5px;color:var(--err);display:flex;gap:6px;align-items:center;font-weight:500}
.field .hint{font-size:13px;color:var(--muted)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt-btn{height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);font-size:15px;font-weight:500;background:#fff;transition:all .25s}
.opt-btn:hover{border-color:var(--teal)}
.opt-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.err .opts .opt-btn{border-color:rgba(179,64,47,.5)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--muted);cursor:pointer}
.consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--green);flex:none}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.form-foot .micro{font-size:13.5px;color:var(--muted);max-width:48ch}
.success{border-radius:16px;padding:clamp(24px,4vw,40px);background:var(--ok-bg);color:var(--ok);display:flex;flex-direction:column;gap:14px;align-items:flex-start;animation:pIn .6s var(--ease) both}
.success h3{font-size:1.6rem;color:var(--ink)}
.success p{color:#2B4A3B}
.success .demo-tag{background:rgba(8,122,70,.12);color:var(--ok)}
.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:640px){.form{grid-template-columns:1fr}}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,80px)}
.contact-grid > *{min-width:0}
.info-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.info-list > div{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:16px}
.info-list dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.info-list dd{margin:0;font-size:16.5px;font-weight:400;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.copy-btn{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;border:1.5px solid var(--line);color:var(--muted);transition:all .2s}
.copy-btn:hover{border-color:var(--teal);color:var(--ink)}
.map{position:relative;aspect-ratio:16/10;border-radius:4px;overflow:hidden;background:var(--mist);border:1px solid var(--line)}
.map svg{width:100%;height:100%;display:block}
.map .pin{position:absolute;left:54%;top:46%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:6px}
.map .pin b{background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;white-space:nowrap}
.map .pin i{width:18px;height:18px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 6px rgba(49,158,163,.25);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(49,158,163,.08)}}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:480px){.info-list > div{grid-template-columns:1fr;gap:6px}}

/* ---------- modal orçamento ---------- */
.modal-bg{position:fixed;inset:0;z-index:90;background:rgba(11,20,19,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .3s ease both}
@keyframes fadeIn{from{opacity:0}}
.modal{width:min(760px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 40px 100px -30px rgba(0,0,0,.5);display:grid;grid-template-columns:240px 1fr;animation:modalIn .55s var(--ease) both}
@keyframes modalIn{from{opacity:0;transform:translateY(24px) scale(.98)}}
.modal-side{background:var(--ink);color:#fff;padding:28px 24px;display:flex;flex-direction:column;gap:24px;position:relative;overflow:hidden}
.modal-side .rings{position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;opacity:.12}
.msteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;position:relative}
.msteps li{display:flex;gap:12px;align-items:center;font-size:14.5px;color:var(--muted-dark)}
.msteps li i{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-dark);display:grid;place-items:center;font-style:normal;font-family:var(--f-mono);font-size:12px;transition:all .3s}
.msteps li.on{color:#fff}
.msteps li.on i{background:var(--teal);border-color:var(--teal);color:#fff}
.msteps li.done i{background:transparent;border-color:var(--teal);color:var(--teal)}
.modal-main{padding:28px clamp(20px,4vw,36px) 28px;display:flex;flex-direction:column;gap:22px;min-width:0}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.modal-head h2{font-size:clamp(1.5rem,3vw,2rem)}
.x{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex:none;transition:all .25s}
.x:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.x svg{width:16px;height:16px}
.mbar{height:3px;background:var(--mist-2);border-radius:3px;overflow:hidden}
.mbar i{display:block;height:100%;background:var(--grad);transition:width .6s var(--ease)}
.modal-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-top:auto}
.step-anim{animation:pIn .5s var(--ease) both}
@media (max-width:720px){.modal{grid-template-columns:1fr;border-radius:18px}.modal-side{display:none}.modal-bg{align-items:flex-end;padding:0}.modal{max-height:94dvh;border-bottom-left-radius:0;border-bottom-right-radius:0}}

/* ---------- flutuantes ---------- */
.wa-float{position:fixed;right:clamp(14px,2vw,26px);bottom:calc(clamp(14px,2vw,26px) + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 16px;border-radius:999px;background:#0B1413;color:#fff;box-shadow:0 16px 36px -14px rgba(11,20,19,.6);font-weight:600;font-size:15px;transition:transform .45s var(--ease),background-color .3s}
.wa-float:hover{transform:translateY(-3px);background:var(--green)}
.wa-float .dot{width:30px;height:30px;border-radius:50%;background:#25D366;display:grid;place-items:center}
.wa-float .dot svg{width:17px;height:17px;color:#fff}
@media (max-width:640px){.wa-float span.t{display:none}.wa-float{padding:0;width:56px;justify-content:center}}
.proto{position:fixed;left:clamp(14px,2vw,26px);bottom:calc(clamp(14px,2vw,26px) + env(safe-area-inset-bottom,0px));z-index:50;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.proto-btn{height:44px;padding:0 16px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 10px 30px -12px rgba(11,20,19,.45),0 0 0 1px var(--line);font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.proto-btn i{width:8px;height:8px;border-radius:50%;background:#C6871E}
.proto-panel{width:min(320px,calc(100vw - 32px));background:#fff;border-radius:16px;box-shadow:0 30px 70px -24px rgba(11,20,19,.5),0 0 0 1px var(--line);padding:18px;display:flex;flex-direction:column;gap:12px;animation:pIn .35s var(--ease) both;font-size:14px}
.proto-panel p{color:var(--muted);font-size:13.5px;line-height:1.5}
.switch-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600}
.switch{width:44px;height:26px;border-radius:99px;background:var(--line);position:relative;flex:none;transition:background-color .3s}
.switch i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:left .3s var(--ease)}
.switch[aria-checked="true"]{background:var(--green)}
.switch[aria-checked="true"] i{left:21px}
.proto-panel a{font-weight:600;color:var(--green-dark)}
.cookie{position:fixed;left:16px;right:16px;margin-inline:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;max-width:640px;background:var(--ink);color:#EAF3F1;border-radius:16px;padding:16px 18px;display:flex;gap:16px;align-items:center;box-shadow:0 24px 60px -20px rgba(0,0,0,.5);font-size:14px;animation:pIn .6s var(--ease) both}
.cookie p{color:var(--muted-dark);flex:1;font-size:13.5px}
@media (max-width:560px){.cookie{flex-direction:column;align-items:stretch;bottom:84px}}
.toast{position:fixed;left:0;right:0;margin-inline:auto;width:max-content;max-width:calc(100vw - 32px);top:calc(var(--hdr) + 16px);z-index:95;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:500;animation:pIn .4s var(--ease) both;box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}

/* ---------- arquitetura técnica ---------- */
.doc{display:grid;grid-template-columns:240px 1fr;gap:clamp(28px,5vw,72px)}
.doc > *{min-width:0}
.doc-nav{position:sticky;top:calc(var(--hdr) + 28px);align-self:start;display:flex;flex-direction:column;gap:2px;font-size:14.5px}
.doc-nav a{padding:8px 12px;border-radius:8px;color:var(--muted);border-left:2px solid transparent;transition:all .2s}
.doc-nav a:hover{background:var(--mist);color:var(--ink)}
.doc-nav a.on{color:var(--green-dark);border-left-color:var(--teal);background:var(--mist);font-weight:600}
.doc-sec{padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--hdr) + 24px)}
.doc-sec h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:14px}
.doc-sec h3{font-size:1.2rem;margin:28px 0 10px}
.doc-sec p,.doc-sec li{color:#2B3B3A;font-size:16px}
.doc-sec ul{padding-left:20px;margin:8px 0 0;display:grid;gap:6px}
.dtable{width:100%;border-collapse:collapse;font-size:14.5px}
.dtable th,.dtable td{text-align:left;padding:12px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.dtable th{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--mist)}
.dtable td code,.code{font-family:var(--f-mono);font-size:13px;background:var(--mist);padding:2px 6px;border-radius:5px;color:var(--deep)}
.rec{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#E1F3E9;color:#0A5C33}
.models{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.model{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.model h4{background:var(--ink);color:#fff;padding:10px 14px;font-size:14px;font-family:var(--f-mono);font-weight:500;letter-spacing:.04em;display:flex;justify-content:space-between}
.model h4 span{color:var(--teal);font-size:11px}
.model ul{list-style:none;margin:0;padding:8px 14px 12px;display:grid;gap:0}
.model li{font-family:var(--f-mono);font-size:12.5px;padding:5px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:10px;color:var(--ink)}
.model li:last-child{border-bottom:0}
.model li em{font-style:normal;color:var(--muted)}
.model li.rel{color:var(--green)}
.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0}
.flow span{padding:10px 14px;border-radius:10px;background:var(--mist);border:1px solid var(--line);font-size:14px;font-weight:500}
.flow span.k{background:var(--ink);color:#fff;border-color:var(--ink)}
.flow svg{width:16px;height:16px;color:var(--teal);flex:none}
.endpoint{display:grid;grid-template-columns:76px 1fr;gap:10px 16px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}
.endpoint b{font-family:var(--f-mono);font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;text-align:center}
.endpoint b.get{background:#DFF1F1;color:#1D6B6E}.endpoint b.post{background:#E1F3E9;color:#0A5C33}
.endpoint code{font-family:var(--f-mono);font-size:14px;color:var(--ink)}
.endpoint p{grid-column:2;font-size:14.5px;color:var(--muted)!important;margin-top:-4px}
.phases{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.phase{border-top:3px solid var(--ink);padding:16px 4px 0}
.phase .label{display:block;margin-bottom:8px}
.phase b{display:block;font-size:17px;margin-bottom:8px}
.phase ul{padding-left:18px}
@media (max-width:960px){.doc{grid-template-columns:1fr}.doc-nav{position:static;flex-direction:row;flex-wrap:wrap}.phases{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.phases{grid-template-columns:1fr}}

.nf{min-height:80vh;display:flex;align-items:center}
.nf h1{font-size:clamp(5rem,20vw,16rem);line-height:.8;letter-spacing:-.06em}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.about-strip > *{min-width:0}
@media (max-width:760px){.about-strip{grid-template-columns:1fr 1fr!important}.about-strip > :first-child{grid-column:1/-1}}

.cta .ph{background:rgba(255,255,255,.18);color:#fff}
.quote.is-ph blockquote{color:rgba(234,243,241,.35)}
.flag-ph .quote.is-ph blockquote{outline:2px dashed #C6871E;outline-offset:6px}
.feat .media{aspect-ratio:16/12}
.ftr-big{font-size:clamp(3.4rem,13vw,13rem);margin:56px 0 0;padding-bottom:.08em;line-height:.9}
.field .consent input{appearance:auto;-webkit-appearance:checkbox;width:20px;height:20px;padding:0;border-radius:4px;box-shadow:none}
.field.err .consent input{outline:2px solid var(--err);outline-offset:2px}
.dtable{min-width:640px}.compare{min-width:520px}
.srch-field input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}

/* ---------- v3: botão WhatsApp do header ---------- */
.hdr-wa-btn{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px 0 14px;border-radius:999px;background:var(--grad);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 24px -12px rgba(8,122,70,.8);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.hdr-wa-btn svg{width:17px;height:17px}
.hdr-wa-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(8,122,70,.9)}
@media (max-width:999px){.hdr-wa-btn{width:44px;height:44px;padding:0;justify-content:center}.hdr-wa-btn span:not(.sr){display:none}}

/* ---------- v3: hero ---------- */
.hero3{position:relative;min-height:max(620px,min(94vh,980px));display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate}
.hero3-media{position:absolute;inset:0;z-index:-2}
.hero3-media .media,.hero3-media video,.hero3-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero3-media .media .plate svg{transform:scale(1.15) translate(14%,-4%)}
.hero3::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,20,19,.92) 0%,rgba(11,20,19,.45) 45%,rgba(11,20,19,.2) 75%),linear-gradient(90deg,rgba(11,20,19,.7),rgba(11,20,19,0) 60%)}
.hero3-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:calc(100% / 6) 100%;opacity:.7}
.hero3 .wrap{padding-bottom:clamp(40px,7vh,88px);padding-top:calc(var(--hdr) + 40px)}
.hero3 h1{font-size:clamp(3rem,8.4vw,9rem);line-height:.92;letter-spacing:-.045em;margin-bottom:clamp(28px,4vh,44px)}
.hero3 h1 .h3-in{display:block;white-space:nowrap}
.hero3 h1 .h3-in > span{display:block}
.hero3 h1 .grad-text{background:linear-gradient(90deg,#4FC3C8,#1FA463);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero3 .btn{--bh:60px;padding:0 30px;font-size:16px}
@media (prefers-reduced-motion:no-preference){
  .hero3 .h3-in{display:block;overflow:hidden;padding-bottom:.04em}
  .hero3 .h3-in > span{display:block;transform:translateY(105%);animation:h3Up 1.1s var(--ease) forwards;animation-delay:calc(.15s + var(--i,0) * .1s)}
  .hero3 .h3-btn{opacity:0;transform:translateY(16px);animation:hIn .9s var(--ease) .6s forwards}
  .hero3-media{animation:h3Zoom 2.4s var(--ease) both}
}
@keyframes h3Up{to{transform:none}}
@keyframes h3Zoom{from{transform:scale(1.08);opacity:.2}to{transform:none;opacity:1}}
@media (max-width:640px){.hero3{min-height:max(560px,88svh)}.hero3 h1{font-size:clamp(2.7rem,14.5vw,4.6rem)}.hero3 .btn{width:100%}}

/* ---------- v3: números ---------- */
.stats--3{grid-template-columns:repeat(3,1fr);border-top:0}
.stats--3 .stat{padding-top:0;border-right:1px solid var(--line)}
.stats--3 .stat:last-child{border-right:0}
.stats--3 .stat .k{font-size:clamp(3.6rem,8.4vw,8.4rem);line-height:.95;letter-spacing:-.05em;font-variant-numeric:tabular-nums;white-space:nowrap}
.stats--3 .stat .k .suf{font-size:.5em;letter-spacing:-.02em;margin-left:.14em}
@media (max-width:760px){.stats--3 .stat .k{font-size:clamp(4.4rem,22vw,6rem)}}
.stats--3 .stat .k .plus{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats--3 .stat .l{font-size:clamp(1rem,1.4vw,1.2rem);color:var(--ink);font-weight:500;margin-top:16px}
@media (max-width:760px){.stats--3{grid-template-columns:1fr}.stats--3 .stat{border-right:0!important;margin-right:0;border-bottom:1px solid var(--line);padding:22px 0}.stats--3 .stat:last-child{border-bottom:0}}

/* ---------- v3: seção de orçamento com formulário ---------- */
.quote-sec{background:linear-gradient(160deg,#0A5232 0%,#064426 40%,#062E1C 100%);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.quote-sec .rings{position:absolute;right:-180px;top:-140px;width:560px;height:560px;opacity:.08;z-index:-1}
.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,96px);align-items:start}
.quote-grid > *{min-width:0}
.quote-sec h2{font-size:clamp(2.2rem,4.6vw,4rem);line-height:.98;letter-spacing:-.035em;margin-bottom:22px;color:#fff}
.quote-sec .lead{color:rgba(255,255,255,.8)}
.quote-sec .eyebrow{color:#9FE3DA}
.quote-info{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.16)}
.quote-info li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:15.5px}
.quote-info li span{color:rgba(255,255,255,.6);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding-top:3px}
.quote-info a{color:#fff}
.quote-next{margin-top:36px;padding:22px 24px;border:1px solid rgba(255,255,255,.2);border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;transition:background-color .3s,border-color .3s}
.quote-next:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4)}
.quote-next p{color:rgba(255,255,255,.7);font-size:14.5px;margin:0}
.quote-next b{display:block;font-size:17px;font-weight:600;color:#fff}
.quote-next .arr-c{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;flex:none;transition:transform .45s var(--ease)}
.quote-next .arr-c svg{width:18px;height:18px}
.quote-next:hover .arr-c{transform:translateX(4px)}
.quote-card{background:#fff;color:var(--ink);border-radius:20px;padding:clamp(22px,3.4vw,40px);box-shadow:0 40px 90px -40px rgba(0,0,0,.6)}
.quote-card .ph{background:rgba(198,135,30,.12);color:#8A5A0F}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:960px){.quote-grid{grid-template-columns:1fr}}

/* ---------- v3: prévia de e-mail ---------- */
.mail-prev{width:min(760px,100%);height:min(88dvh,900px);background:#fff;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;animation:modalIn .55s var(--ease) both}
.mail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.mail-meta{padding:10px 18px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);margin:0}
.mail-meta b{color:var(--ink);font-weight:600}
.mail-frame{flex:1;width:100%;border:0;background:#F3F7F6}
@media (max-width:720px){.mail-prev{height:94dvh;border-radius:18px 18px 0 0}}

/* ---------- v3: página de serviços ---------- */
.svx{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,64px);align-items:start}
.svx > *{min-width:0}
.svx-list{display:flex;flex-direction:column;gap:10px}
.svx-opt{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:24px 26px;border-radius:16px;background:#fff;border:1.5px solid var(--line);transition:border-color .3s,background-color .3s,color .3s,transform .45s var(--ease)}
.svx-opt b{font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;letter-spacing:-.02em;display:block}
.svx-opt small{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.svx-opt .arr-c{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex:none;transition:all .35s var(--ease)}
.svx-opt .arr-c svg{width:16px;height:16px}
.svx-opt:hover{border-color:var(--teal)}
.svx-opt[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.svx-opt[aria-selected="true"] small{color:var(--muted-dark)}
.svx-opt[aria-selected="true"] .arr-c{background:var(--teal);border-color:var(--teal);color:#fff;transform:rotate(-45deg)}
.svx-panel{position:sticky;top:calc(var(--hdr) + 24px);border-radius:20px;overflow:hidden;background:var(--ink);color:#fff;animation:pIn .5s var(--ease) both}
.svx-panel .media{aspect-ratio:16/8}
.svx-body{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:18px}
.svx-body h2{font-size:clamp(1.7rem,3vw,2.5rem);color:#fff}
.svx-body p{color:var(--muted-dark)}
.svx-body ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.svx-body li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#EAF3F1}
.svx-body li svg{width:20px;height:20px;flex:none;margin-top:2px}
.svx-clients{border-top:1px solid var(--line-dark);padding-top:16px;font-size:15px;color:#EAF3F1}
.svx-clients .label{display:block;margin-bottom:6px;color:var(--teal)}
.phase-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.phase3{border-top:3px solid var(--ink);padding-top:20px}
.phase3 .label{color:var(--green);display:block;margin-bottom:10px}
.phase3 h3{font-size:clamp(1.4rem,2.2vw,1.9rem);margin-bottom:14px}
.phase3 ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.phase3 li{font-size:15.5px;color:var(--muted);padding-left:16px;position:relative}
.phase3 li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--teal)}
@media (max-width:960px){.svx{grid-template-columns:1fr}.svx-panel{position:static}.phase-row{grid-template-columns:1fr}}
@media (max-width:520px){.svx-body ul{grid-template-columns:1fr}}
.field input,.field select,.field textarea,.opt-btn,.consent input{scroll-margin-top:calc(var(--hdr) + 90px)}

/* ---------- v5 ---------- */
.grad-hero{background:linear-gradient(90deg,#4FC3C8,#1FA463);-webkit-background-clip:text;background-clip:text;color:transparent}
.yt-bg{position:absolute;inset:0;overflow:hidden;z-index:1;opacity:0;transition:opacity 1.2s var(--ease);pointer-events:none}
.yt-bg.on{opacity:1}
.yt-bg iframe{position:absolute;top:50%;left:50%;width:max(100%,178vh);height:max(100%,56.25vw);transform:translate(-50%,-50%) scale(1.18);border:0;pointer-events:none}
.btn--outline-white{background:transparent;color:#fff;border:1.5px solid #fff;overflow:hidden}
.btn--outline-white::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--grad);opacity:0;transition:opacity .5s var(--ease);z-index:-1}
.btn--outline-white:hover{border-color:transparent;box-shadow:0 16px 34px -14px rgba(8,122,70,.75)}
.btn--outline-white:hover::before{opacity:1}
.stats--3 .stat{text-align:center;display:flex;flex-direction:column;align-items:center}
.stats--3 .stat .l{margin-inline:auto}

.hero3-media video{pointer-events:none}
.hero3-video::-webkit-media-controls{display:none!important}

/* ---------- faixa "Soluções construtivas para" ---------- */
.forwhom{background:linear-gradient(135deg,#2A3B3A 0%,#141F1E 45%,#050A09 100%);color:#fff;position:relative;overflow:hidden;border-top:3px solid transparent;border-image:var(--grad) 1}
.forwhom::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.forwhom-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;padding-block:clamp(44px,7vw,96px)}
.forwhom-t{margin:0;font-size:clamp(2.1rem,5vw,4.8rem);font-weight:700;letter-spacing:-.035em;line-height:1.05;display:block;min-width:0;flex:1 1 640px}
.forwhom-lead{display:block;white-space:nowrap}

.forwhom-l2{display:flex;align-items:baseline;gap:.28em;white-space:nowrap}
.forwhom-rot{position:relative;display:inline-grid;height:1.18em;overflow:hidden;vertical-align:bottom;align-self:flex-end}
.fw-word{grid-area:1/1;white-space:nowrap;transform:translateY(105%);opacity:0;transition:transform .45s var(--ease),opacity .35s var(--ease);padding-bottom:.08em}
.fw-word.on{transform:none;opacity:1}
.fw-word.out{transform:translateY(-105%);opacity:0}
.forwhom-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:#fff;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;padding:12px 20px;transition:border-color .3s,background-color .3s;white-space:nowrap}
.forwhom-link svg{width:16px;height:16px;transition:transform .45s var(--ease)}
.forwhom-link:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.forwhom-link:hover svg{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.fw-word{transition:none}}

.post-cta{grid-template-columns:1fr auto}
@media (max-width:760px){.post-cta{grid-template-columns:1fr}.post-cta .btn{width:100%;white-space:normal}}

/* ---------- processo fixo durante o scroll ---------- */
.proc-pin{--pin:1;position:relative;height:380vh}
.proc-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;padding-top:calc(var(--hdr) - 20px);overflow:hidden}
.proc-pin .process::after{transition:transform .8s var(--ease)}
.proc-pin .step{transition:opacity .6s var(--ease)}
.proc-pin .step:not(.lit){opacity:.32}
.proc-pin .step .n{transition:background-color .5s var(--ease),border-color .5s var(--ease),color .5s,transform .6s var(--ease)}
.proc-pin .step.cur .n{transform:scale(1.12);box-shadow:0 0 0 8px rgba(49,158,163,.14)}
.proc-pin .step p{color:var(--muted-dark)}
@media (max-width:860px){.proc-pin{height:300vh}.proc-sticky{align-items:flex-start;padding-top:calc(var(--hdr) + 24px)}.proc-pin .process{margin-top:32px}.proc-pin .lead{display:none}.proc-pin .step{padding-bottom:18px}}
@media (prefers-reduced-motion:reduce){.proc-pin{--pin:0;height:auto}.proc-sticky{position:static;height:auto;padding-block:96px}.proc-pin .step:not(.lit){opacity:1}}

.gallery--photos .g-ph{border-radius:4px;aspect-ratio:4/3;grid-column:span 6}
.gallery--photos .g-ph0{grid-column:span 12;aspect-ratio:16/9}
.gallery--photos .g-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gallery--photos .g-ph:hover img{transform:scale(1.03)}
@media (max-width:760px){.gallery--photos .g-ph{grid-column:span 12}}

.about-banner{position:relative;width:100%;aspect-ratio:21/8;max-height:78vh;overflow:hidden}
.about-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
@media (max-width:760px){.about-banner{aspect-ratio:4/3}}

.article .art-h3{font-size:clamp(1.15rem,1.8vw,1.4rem);margin:32px 0 10px}
.art-list{padding-left:22px;margin:0 0 24px;display:grid;gap:10px;font-size:18px;line-height:1.65;color:#2B3B3A}
.art-list li::marker{color:var(--teal);font-weight:700}
.art-faq{padding:18px 0;border-top:1px solid var(--line)}
.art-faq b{display:block;font-size:18px;margin-bottom:6px}
.art-faq p{margin:0}
.article em{color:var(--muted)}

.ct-hero{position:relative;isolation:isolate;color:#fff;background:var(--ink);min-height:min(70vh,640px);display:flex;align-items:flex-end}
.ct-hero .wrap{width:100%}
.ct-hero-bg{position:absolute;inset:0;z-index:-1}
.ct-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.ct-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,20,19,.9),rgba(11,20,19,.35) 60%,rgba(11,20,19,.55))}
.ct-hero h1{color:#fff}
.ct-hero .crumbs{color:rgba(255,255,255,.75)}

.mvv{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.mvv-card{position:relative;border-radius:16px;overflow:hidden;background:var(--ink);color:#fff;display:flex;flex-direction:column;min-height:460px;isolation:isolate;transition:transform .6s var(--ease)}
.mvv-card:hover{transform:translateY(-4px)}
.mvv-img{position:absolute;inset:0;z-index:-1}
.mvv-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mvv-card:hover .mvv-img img{transform:scale(1.05)}
.mvv-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,20,19,.96) 0%,rgba(11,20,19,.82) 45%,rgba(11,20,19,.25) 100%)}
.mvv-body{margin-top:auto;padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:12px}
.mvv-ico{width:52px;height:52px;border-radius:14px;background:var(--grad);display:grid;place-items:center;color:#fff;margin-bottom:6px}
.mvv-ico svg{width:26px;height:26px}
.mvv-card h3{font-size:clamp(1.5rem,2.4vw,2rem);color:#fff}
.mvv-card p{color:rgba(234,243,241,.85);font-size:16.5px;line-height:1.55}
.mvv-card ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mvv-card li{font-size:14px;font-weight:500;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06)}
@media (max-width:900px){.mvv{grid-template-columns:1fr}.mvv-card{min-height:380px}}

/* ---------- header v5: barra única, sem fios ---------- */
:root{--hdr:84px}
.hdr{display:block;height:calc(var(--hdr) + env(safe-area-inset-top,0px));transition:background-color .45s var(--ease),box-shadow .45s var(--ease),height .45s var(--ease),backdrop-filter .45s}
.hdr.is-over{background:linear-gradient(180deg,rgba(11,20,19,.55),rgba(11,20,19,0));box-shadow:none}
.hdr.is-solid{background:rgba(11,20,19,.82);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 12px 32px -20px rgba(0,0,0,.6)}
.hdr.is-scrolled{height:calc(68px + env(safe-area-inset-top,0px))}
.hdr-row{height:100%;display:flex;align-items:center;gap:clamp(20px,3vw,48px);padding-inline:var(--gutter);max-width:none}
.hdr-logo{flex:none;display:flex;align-items:center}
.hdr-logo img{height:38px;width:auto;transition:height .45s var(--ease)}
.hdr.is-scrolled .hdr-logo img{height:32px}
.hdr .nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,36px);padding:0;margin-inline:auto}
.hdr .nav-link{height:auto;padding:8px 0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.hdr .nav-link::after{left:0;right:0;bottom:0}
.hdr .nav-link:hover{color:#fff}
.hdr .nav-link.is-active{color:#fff}
.hdr-right{display:flex;align-items:center;gap:18px;flex:none}
.hdr-hours{font-size:12.5px;color:rgba(255,255,255,.7);white-space:nowrap}
.hdr-social{display:flex;align-items:center;gap:14px;padding:0}
@media (max-width:1240px){.hdr-hours{display:none}}
@media (max-width:999px){:root{--hdr:72px}.hdr .nav,.hdr-social{display:none}.hdr-right{margin-left:auto}.hdr.is-scrolled{height:calc(64px + env(safe-area-inset-top,0px))}.hdr-logo img{height:32px}}

/* ---------- hero: ressalva ---------- */
.h3-ast{font-size:.32em;vertical-align:super;margin-left:.05em;color:rgba(255,255,255,.85);-webkit-text-fill-color:rgba(255,255,255,.85)}
.h3-note{margin-top:18px;font-size:12.5px;line-height:1.5;color:rgba(234,243,241,.62);max-width:52ch}

/* ---------- "expansão" que se expande ---------- */
.expand-w{display:inline-flex;align-items:center;gap:.18em;white-space:nowrap}
.expand-txt{display:inline-block;letter-spacing:-.03em}
.expand-arrows{display:inline-grid;place-items:center;width:.62em;height:.62em;color:#1FA463;-webkit-text-fill-color:initial}
.expand-arrows svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:no-preference){
  .expand-txt{animation:expandLs 3.2s var(--ease) infinite}
  .expand-arrows svg{animation:expandArr 3.2s var(--ease) infinite}
}
@keyframes expandLs{0%,100%{letter-spacing:-.03em}45%,60%{letter-spacing:.06em}}
@keyframes expandArr{0%,100%{transform:scaleX(.7);opacity:.55}45%,60%{transform:scaleX(1.25);opacity:1}}

/* ---------- movimento nos fundos escuros ---------- */
.bg-video{position:relative;isolation:isolate;overflow:hidden}
.bgv{position:absolute;inset:0;z-index:-1}
.bgv video{width:100%;height:100%;object-fit:cover;opacity:.32;filter:grayscale(.35) contrast(1.05)}
.bgv::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,20,19,.92) 0%,rgba(11,20,19,.7) 55%,rgba(11,20,19,.55) 100%)}
.fx-flow{position:relative;isolation:isolate;overflow:hidden}
.fx-flow::before{content:"";position:absolute;inset:-40%;z-index:-1;pointer-events:none;
  background:radial-gradient(38% 30% at 30% 40%,rgba(49,158,163,.20),transparent 70%),radial-gradient(34% 28% at 70% 60%,rgba(8,122,70,.22),transparent 70%),radial-gradient(26% 22% at 50% 20%,rgba(49,158,163,.12),transparent 70%)}
.quote-sec.fx-flow::before{background:radial-gradient(40% 32% at 25% 35%,rgba(79,195,200,.18),transparent 70%),radial-gradient(36% 30% at 75% 65%,rgba(31,164,99,.22),transparent 70%)}
@media (prefers-reduced-motion:no-preference){.fx-flow::before{animation:flow 22s ease-in-out infinite alternate}}
@keyframes flow{0%{transform:translate3d(-6%,-4%,0) rotate(0deg)}50%{transform:translate3d(5%,3%,0) rotate(8deg)}100%{transform:translate3d(-3%,6%,0) rotate(-6deg)}}

/* ---------- processo em loop ---------- */
.ploop::after{transform:scaleX(var(--p,0));transition:transform .75s linear}
.ploop.is-v::after{transform:scaleY(var(--p,0))}
.ploop .step{transition:opacity .5s var(--ease)}
.ploop .step:not(.lit){opacity:.45}
.ploop .step .n{background:var(--ink);overflow:visible}
.ploop .step .n > span{position:relative;z-index:1}
.ploop .ring{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);transform:rotate(-90deg)}
.ploop .ring circle{fill:none;stroke:var(--teal);stroke-width:3;stroke-dasharray:170;stroke-dashoffset:170;transition:stroke-dashoffset .7s linear}
.ploop .step.lit .ring circle{stroke-dashoffset:0}
.ploop .step.lit .n{background:var(--teal);border-color:var(--teal);color:#fff;transition:background-color .3s .55s,border-color .3s .55s,color .3s .55s}
.ploop .step.cur .n{transform:scale(1.08)}
.ploop .step .n{transition:transform .5s var(--ease)}
.ploop .step p{color:var(--muted-dark)}
/* blog v7: excerpt clamp */
.posts .card > p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-feat p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
/* obras: prev/next preview */
.pager--pv{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:0;padding:0}
.pager--pv .pv{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:4px;color:#fff;text-decoration:none;background:#0b1a16;border:0;padding:0}
.pager--pv .pv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s}
.pager--pv .pv:hover img,.pager--pv .pv:focus-visible img{transform:scale(1.06)}
.pv-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,14,12,.05) 30%,rgba(5,14,12,.85));transition:opacity .5s}
.pv-txt{position:absolute;left:28px;right:28px;bottom:24px;display:flex;flex-direction:column;gap:6px}
.pv-next .pv-txt{text-align:right;align-items:flex-end}
.pv-txt .label{color:rgba(255,255,255,.75);transition:transform .4s}
.pv-prev:hover .label{transform:translateX(-6px)}.pv-next:hover .label{transform:translateX(6px)}
.pv-txt b{font-size:clamp(1.3rem,2.2vw,2rem);font-weight:500;letter-spacing:-.02em;line-height:1.1}
.pv-txt small{font-size:.85rem;color:rgba(255,255,255,.7)}
@media (max-width:720px){.pager--pv{grid-template-columns:1fr}.pv-txt{left:20px;right:20px;bottom:18px}}
.pager--pv a.pv:last-child{padding:0;border:0}.pager--pv a.pv:hover b{color:#fff}
@media (max-width:720px){.pv-shade{background:linear-gradient(180deg,rgba(5,14,12,.1),rgba(5,14,12,.9) 75%)}}
.gallery--photos .g-ph.g-pano{grid-column:span 12;aspect-ratio:auto}
.gallery--photos .g-ph.g-pano img{position:static;height:auto}
/* gallery lightbox */
.gallery--photos button.g-ph{padding:0;border:0;cursor:zoom-in;display:block;width:100%;font:inherit;background:#0b1a16}
.g-zoom{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(5,14,12,.55);backdrop-filter:blur(6px);opacity:0;transform:scale(.85);transition:opacity .35s,transform .35s}
.g-ph:hover .g-zoom,.g-ph:focus-visible .g-zoom{opacity:1;transform:none}
@media (hover:none){.g-zoom{opacity:1;transform:none;width:34px;height:34px;right:10px;bottom:10px}}
.lb{position:fixed;inset:0;z-index:200;background:rgba(4,10,9,.96);display:grid;grid-template-rows:auto 1fr auto;color:#fff;animation:lbIn .3s ease}
@keyframes lbIn{from{opacity:0}}
.lb-top{display:flex;align-items:center;gap:20px;padding:18px 24px}
.lb-name{font-weight:500;letter-spacing:-.01em}
.lb-count{margin-left:auto;font-size:.8rem;letter-spacing:.14em;color:rgba(255,255,255,.65);font-variant-numeric:tabular-nums}
.lb-x{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:background .3s}
.lb-x:hover{background:rgba(255,255,255,.12)}
.lb-fig{margin:0;display:grid;place-items:center;min-height:0;padding:0 88px}
.lb-fig img{max-width:100%;max-height:100%;object-fit:contain;border-radius:2px;animation:lbImg .45s cubic-bezier(.2,.7,.2,1)}
@keyframes lbImg{from{opacity:0;transform:scale(.97)}}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .3s}
.lb-nav:hover{background:rgba(255,255,255,.14)}
.lb-prev{left:20px}.lb-prev svg{transform:rotate(180deg)}.lb-next{right:20px}
.lb-thumbs{display:flex;gap:8px;justify-content:center;padding:16px 24px 22px;overflow-x:auto}
.lb-thumbs button{flex:0 0 auto;width:72px;height:48px;padding:0;border:0;border-radius:2px;overflow:hidden;opacity:.4;cursor:pointer;outline:1px solid transparent;transition:opacity .3s,outline-color .3s;background:none}
.lb-thumbs button.on{opacity:1;outline-color:#fff;outline-offset:2px}
.lb-thumbs button:hover{opacity:.85}
.lb-thumbs img{width:100%;height:100%;object-fit:cover}
@media (max-width:720px){.lb-fig{padding:0 8px}.lb-nav{top:auto;bottom:86px;transform:none;width:46px;height:46px}.lb-prev{left:12px}.lb-next{right:12px}.lb-thumbs{justify-content:flex-start}.lb-thumbs button{width:56px;height:40px}.lb-top{padding:12px 14px}.lb-name{font-size:.9rem}}
.lb{z-index:1000;background:#050d0b;height:100vh;height:100dvh}
.lb-fig{overflow:hidden}
.lb-fig img{max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px)}
.lb-nav svg{width:20px;height:20px}
.case-link{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;margin-top:16px;padding:18px 20px;border:1px solid var(--line);border-radius:4px;text-decoration:none;color:inherit;transition:border-color .3s,background .3s}
.case-link .label{grid-column:1}.case-link b{grid-column:1;font-weight:500;line-height:1.3}.case-link svg{grid-column:2;grid-row:1/3;transition:transform .3s}
.case-link:hover{border-color:var(--green)}.case-link:hover svg{transform:translateX(4px)}
.post-work{position:relative;display:block;aspect-ratio:16/7;overflow:hidden;border-radius:4px;color:#fff;margin:40px 0 24px}
.post-work img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.post-work:hover img{transform:scale(1.05)}
.post-work .pv-txt b{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:500}
@media (max-width:720px){.post-work{aspect-ratio:4/3}}
.case-link svg{width:20px;height:20px;color:var(--green)}
@media (max-width:760px){.why-h2 .expand-w{font-size:1.22em;line-height:1.05}}
@media (max-width:350px){.why-h2{font-size:1.72rem}}

/* ================= status da obra (site) ================= */
.wstat{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ok);background:var(--ok-bg);padding:6px 12px 6px 10px;border-radius:999px;line-height:1.2}
.wstat i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.wstat b{font-weight:700;letter-spacing:0}
.wstat--em{color:var(--warn);background:var(--warn-bg)}
.wstat--em i{animation:wstatPulse 1.6s ease-in-out infinite}
@keyframes wstatPulse{50%{opacity:.35;transform:scale(.7)}}
.wstat-bar{flex-basis:100%;height:3px;border-radius:3px;background:rgba(138,90,15,.18);overflow:hidden;min-width:120px}
.wstat-bar span{display:block;height:100%;background:currentColor;border-radius:3px}
.wstat--dark{background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(6px)}
.wstat--dark.wstat--em{background:rgba(251,235,211,.16);color:#FFD9A0}
.wstat--dark .wstat-bar{background:rgba(255,255,255,.2)}
@media (prefers-reduced-motion:reduce){.wstat--em i{animation:none}}

/* ================= vídeos do YouTube (site) ================= */
.yt-list{display:grid;gap:20px}
.yt{position:relative;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:radial-gradient(120% 120% at 20% 10%,#16403A,#0B1413 70%)}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-btn{position:absolute;inset:0;width:100%;display:grid;place-items:center;color:#fff}
.yt-btn img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;transition:transform .8s var(--ease),opacity .4s}
.yt-btn:hover img{transform:scale(1.03);opacity:1}
.yt-play{position:relative;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:rgba(8,122,70,.92);box-shadow:0 10px 40px rgba(0,0,0,.35);transition:transform .35s var(--ease)}
.yt-play svg{margin-left:4px}
.yt-btn:hover .yt-play{transform:scale(1.08)}
.yt-lab{position:absolute;left:20px;bottom:16px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.yt-ext{position:absolute;right:14px;bottom:12px;font-size:13px;color:#fff;background:rgba(5,14,12,.55);padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.yt-ext:hover{background:rgba(5,14,12,.8)}

/* ================= painel /admin ================= */
.adm{min-height:100vh;background:#F4F7F6;color:var(--ink);font-size:15px;line-height:1.5;font-weight:400}
.adm h1,.adm h2,.adm h3{letter-spacing:-.02em;line-height:1.15}
.adm input,.adm select,.adm textarea{font:inherit;color:inherit}
.adm-center{display:grid;place-items:center;min-height:60vh}
.adm-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--green);animation:admSpin .8s linear infinite}
@keyframes admSpin{to{transform:rotate(360deg)}}
.adm-muted{color:var(--muted)}
.adm-small{font-size:13.5px;margin-bottom:14px}
.adm-err{color:var(--err);font-size:13.5px;font-weight:500}
.adm-link{color:var(--green);font-weight:500;text-decoration:underline;text-underline-offset:3px}

.adm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:500;font-size:14.5px;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .2s}
.adm-btn:hover{border-color:#B7C8C6}
.adm-btn:active{transform:scale(.98)}
.adm-btn:disabled{opacity:.5;cursor:not-allowed}
.adm-btn--pri{background:var(--green);border-color:var(--green);color:#fff}
.adm-btn--pri:hover{background:#06663a;border-color:#06663a}
.adm-btn--danger{background:var(--err);border-color:var(--err);color:#fff}
.adm-btn--ghost{background:transparent;border-color:transparent}
.adm-btn--ghost:hover{background:#fff;border-color:var(--line)}
.adm-btn--ghost-d{background:transparent;border-color:rgba(255,255,255,.18);color:#fff;height:38px;padding:0 14px}
.adm-btn--ghost-d:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.adm-btn--sm{height:36px;padding:0 14px;font-size:13.5px}
.adm-btn--block{width:100%;height:48px}
.adm-ib{width:36px;height:36px;border-radius:10px;display:inline-grid;place-items:center;color:var(--muted);transition:background .2s,color .2s}
.adm-ib:hover{background:var(--mist-2);color:var(--ink)}
.adm-ib:disabled{opacity:.3;cursor:not-allowed;background:none}
.adm-ib--danger:hover{background:#FBE7E3;color:var(--err)}
.adm-star.on,.adm-ib.on{color:#C98A12}

.adm-top{position:sticky;top:0;z-index:20;background:var(--ink);color:#fff}
.adm-top-in{max-width:1240px;margin:auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.adm-brand{display:flex;align-items:center;gap:14px}
.adm-brand img{height:28px;width:auto}
.adm-brand span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-dark);padding-left:14px;border-left:1px solid rgba(255,255,255,.15)}
.adm-top-r{display:flex;gap:8px}
.adm-demo{max-width:1240px;margin:16px auto 0;padding:12px 16px;border-radius:12px;background:var(--warn-bg);color:#6b4508;font-size:13.5px;width:calc(100% - 40px)}
.adm-wrap{max-width:1240px;margin:auto;padding:28px 20px 120px}
.adm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.adm-head h1{font-size:34px}
.adm-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:26px}
.adm-search{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;background:#fff;border:1px solid var(--line);border-radius:999px;flex:1;max-width:420px;color:var(--muted)}
.adm-search input{border:0;outline:0;background:none;flex:1;min-width:0;color:var(--ink)}
.adm-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(49,158,163,.15)}
.adm-chips{display:flex;gap:6px;flex-wrap:wrap}
.adm-chip{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.adm-chip small{font-size:11.5px;color:var(--muted)}
.adm-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.adm-chip.on small{color:var(--muted-dark)}
.adm-sec{margin-bottom:30px}
.adm-sec-h{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;margin-bottom:12px}
.adm-sec-h h2{font-size:17px;display:inline-flex;align-items:center;gap:8px}
.adm-sec-h h2 svg{color:#C98A12}
.adm-sec-h p{font-size:13.5px;color:var(--muted)}
.adm-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.adm-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;transition:box-shadow .2s,border-color .2s}
.adm-row:hover{border-color:#C9D7D5;box-shadow:0 6px 24px rgba(11,20,19,.06)}
.adm-row.is-draft{background:#FAFBFB}
.adm-row.is-draft .adm-thumb img{filter:grayscale(.7);opacity:.7}
.adm-ord{display:flex;flex-direction:column;gap:2px;margin:-4px 0}
.adm-ord .adm-ib{width:30px;height:28px}
.adm-thumb{width:112px;height:72px;border-radius:9px;overflow:hidden;background:var(--mist-2);display:grid;place-items:center;color:var(--muted);flex:none}
.adm-thumb img{width:100%;height:100%;object-fit:cover}
.adm-row-main{flex:1;min-width:0}
.adm-row-name{font-weight:600;font-size:16px;text-align:left;letter-spacing:-.01em}
.adm-row-name:hover{color:var(--green)}
.adm-row-meta{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0 8px}
.adm-row-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.adm-row-tags .wstat{font-size:11px;padding:4px 10px 4px 8px}
.adm-row-tags .wstat-bar{display:none}
.adm-tag{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--mist-2);color:var(--muted)}
.adm-tag--ok{background:#E6F1FA;color:#1E5A8A}
.adm-row-act{display:flex;align-items:center;gap:4px}
.adm-empty{padding:22px;border:1px dashed #C9D7D5;border-radius:14px;color:var(--muted);font-size:14px;text-align:center;background:rgba(255,255,255,.5)}
.adm-reset{text-align:center;margin-top:40px;font-size:13.5px}

.adm-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:admUp .3s var(--ease)}
@keyframes admUp{from{opacity:0;transform:translate(-50%,10px)}}
.adm-modal{position:fixed;inset:0;z-index:70;background:rgba(5,14,12,.55);display:grid;place-items:center;padding:20px;animation:admFade .2s}
@keyframes admFade{from{opacity:0}}
.adm-modal-card{background:#fff;border-radius:18px;padding:26px;max-width:460px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.3);outline:0}
.adm-modal-card h2{font-size:22px;margin-bottom:12px}
.adm-modal-act{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}

/* login */
.adm-login{display:grid;place-items:center;padding:24px;background:radial-gradient(90% 70% at 15% 0%,#12403A 0%,#0B1413 60%)}
.adm-login-card{width:100%;max-width:400px;background:#fff;border-radius:20px;padding:32px 28px;box-shadow:0 30px 90px rgba(0,0,0,.35);display:grid;gap:14px}
.adm-login-logo{background:var(--ink);border-radius:12px;padding:14px 16px;justify-self:start}
.adm-login-logo img{height:30px;width:auto}
.adm-login-card h1{font-size:26px;margin-top:6px}
.adm-hint{font-size:13px;color:var(--muted);background:var(--mist);border-radius:10px;padding:10px 12px;text-align:center}

/* campos */
.adm-f{display:grid;gap:6px;align-content:start}
.adm-f > span{font-size:13.5px;font-weight:600}
.adm-f > span em{color:var(--err);font-style:normal}
.adm-f small{font-size:12.5px;color:var(--muted)}
.adm-f input:not([type=checkbox]):not([type=range]),.adm-f select,.adm-f textarea,.adm-inline input{width:100%;height:44px;border:1px solid #CBD8D6;border-radius:10px;background:#fff;padding:0 12px;outline:0;transition:border-color .2s,box-shadow .2s}
.adm-f textarea{height:auto;padding:10px 12px;resize:vertical;line-height:1.5}
.adm-f input:focus,.adm-f select:focus,.adm-f textarea:focus,.adm-inline input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(49,158,163,.15)}
.adm-f.has-err input,.adm-f.has-err select,.adm-f.has-err textarea{border-color:var(--err)}
.adm-inline{display:flex;gap:8px;align-items:center}
.adm-inline input{flex:1;min-width:0}

/* editor */
.adm-ed-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.adm-ed-head h1{font-size:26px;flex:1}
.adm-ed-head-act{display:flex;gap:8px}
.adm-alert{background:#FBE7E3;color:#8F2F21;border-radius:12px;padding:12px 16px;font-size:14px;margin-bottom:16px}
.adm-ed-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.adm-ed-form{display:grid;gap:16px;min-width:0}
.adm-ed-side{position:sticky;top:76px;display:grid;gap:16px}
.adm-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.adm-card.has-err{border-color:var(--err)}
.adm-card h2{font-size:17px;margin-bottom:16px}
.adm-card-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.adm-card-h h2{margin-bottom:8px}
.adm-card-h .adm-muted{font-size:13px;font-variant-numeric:tabular-nums}
.adm-card > .adm-f + .adm-f{margin-top:16px}
.adm-g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adm-seg{display:inline-flex;background:var(--mist);border-radius:999px;padding:4px;gap:4px}
.adm-seg button{height:38px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted)}
.adm-seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.adm-prog{margin-top:16px;display:grid;gap:12px}
.adm-check{display:inline-flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.adm-check input{width:18px;height:18px;accent-color:var(--green)}
.adm-range{display:flex;align-items:center;gap:14px;max-width:460px}
.adm-range input[type=range]{flex:1;accent-color:#C98A12}
.adm-num{display:inline-flex;align-items:center;gap:4px}
.adm-num input{width:72px;height:40px;border:1px solid #CBD8D6;border-radius:10px;padding:0 10px;text-align:right}

.adm-drop{border:2px dashed #BFD0CE;border-radius:14px;padding:26px 16px;display:grid;justify-items:center;gap:4px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .2s,background .2s}
.adm-drop b{color:var(--ink);font-weight:600;font-size:14.5px}
.adm-drop small{font-size:12.5px}
.adm-drop:hover,.adm-drop.over{border-color:var(--green);background:#F1F8F4;color:var(--green)}
.adm-msgs{margin:12px 0 0;padding:10px 14px 10px 30px;background:var(--warn-bg);border-radius:10px;color:#6b4508;font-size:13px}
.adm-photos{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.adm-ph{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--mist-2);cursor:grab;outline:2px solid transparent;outline-offset:2px;transition:outline-color .2s}
.adm-ph:active{cursor:grabbing}
.adm-ph img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.adm-ph.is-cover{outline-color:#C98A12}
.adm-ph-n{position:absolute;left:8px;top:8px;min-width:24px;height:24px;border-radius:999px;background:rgba(5,14,12,.6);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center;padding:0 6px}
.adm-ph-cover{position:absolute;right:8px;top:8px;background:#C98A12;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.adm-ph-size{position:absolute;right:8px;bottom:46px;font-size:11px;color:#fff;background:rgba(5,14,12,.55);padding:2px 7px;border-radius:999px}
.adm-ph-act{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:4px;background:linear-gradient(transparent,rgba(5,14,12,.75))}
.adm-ph-act .adm-ib{width:32px;height:32px;color:#fff}
.adm-ph-act .adm-ib:hover{background:rgba(255,255,255,.18);color:#fff}
.adm-ph-act .adm-ib.on{color:#FFC94D}
.adm-ph-act .adm-ib--danger:hover{background:var(--err)}
.adm-vids{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.adm-vids li{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px}
.adm-vids a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--teal-2)}
.adm-vid-ic{width:30px;height:22px;border-radius:6px;background:#E62117;color:#fff;display:grid;place-items:center;flex:none}

.adm-switch{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:6px 0}
.adm-switch + .adm-switch{margin-top:8px;border-top:1px solid var(--line);padding-top:14px}
.adm-switch input{position:absolute;opacity:0;width:1px;height:1px}
.adm-switch i{flex:none;width:44px;height:26px;border-radius:999px;background:#C7D3D1;position:relative;transition:background .2s;margin-top:1px}
.adm-switch i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .25s var(--ease)}
.adm-switch input:checked + i{background:var(--green)}
.adm-switch input:checked + i::after{transform:translateX(18px)}
.adm-switch input:focus-visible + i{outline:2px solid var(--teal);outline-offset:2px}
.adm-switch span{display:grid;gap:1px}
.adm-switch b{font-weight:600;font-size:14.5px}
.adm-switch small{font-size:12.5px;color:var(--muted)}
.adm-prev-card{display:grid;gap:8px}
.adm-prev-img{aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--mist-2);display:grid;place-items:center;color:var(--muted)}
.adm-prev-img img{width:100%;height:100%;object-fit:cover}
.adm-prev-img span{display:grid;justify-items:center;gap:6px;font-size:13px}
.adm-prev-meta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.adm-prev-card h3{font-size:19px}
.adm-prev-card p{font-size:14px;color:var(--muted)}
.adm-prev-card .wstat{justify-self:start}
.adm-ed-bar{display:none}

@media (max-width:980px){
  .adm-ed-grid{grid-template-columns:1fr}
  .adm-ed-side{position:static;order:-1;grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .adm-top-r .adm-btn span{display:none}
  .adm-brand span{display:none}
  .adm-head h1{font-size:28px}
  .adm-head .adm-btn span{display:none}
  .adm-head .adm-btn{width:46px;padding:0}
  .adm-row{flex-wrap:wrap;gap:10px 12px;padding:12px}
  .adm-thumb{width:88px;height:62px}
  .adm-row-main{flex:1 1 calc(100% - 140px)}
  .adm-row-act{width:100%;justify-content:flex-end;border-top:1px solid var(--line);padding-top:8px}
  .adm-ord{flex-direction:row}
  .adm-g2{grid-template-columns:1fr}
  .adm-ed-side{grid-template-columns:1fr}
  .adm-ed-head-act{display:none}
  .adm-ed-head h1{font-size:22px}
  .adm-card{padding:18px;border-radius:14px}
  .adm-ed-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
  .adm-ed-bar .adm-btn{flex:1}
  .adm-photos{grid-template-columns:repeat(2,1fr)}
  .adm-search{max-width:none;flex-basis:100%}
}
.adm-f small.adm-err{color:var(--err);font-weight:500}
.adm-list,.adm-vids{grid-template-columns:minmax(0,1fr)}
.adm-row{min-width:0}
@media (max-width:980px){.adm-ed-grid{grid-template-columns:minmax(0,1fr)}.adm-ed-side{order:0}}
.ftr-bot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ftr-team{font-size:13px;color:var(--muted-dark);opacity:.75;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(159,182,179,.4);transition:opacity .2s,color .2s}
.ftr-team:hover{opacity:1;color:#fff}
.adm-confirm-img{width:100%;max-height:220px;object-fit:cover;border-radius:10px;margin-bottom:14px}
/* vídeo do YouTube como fundo (sem player) */
.ytbg{position:absolute;inset:0;overflow:hidden;background:#0B1413;pointer-events:none}
.ytbg-frame{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease)}
.ytbg.on .ytbg-frame{opacity:1}
.ytbg-frame iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-width:177.78vh;min-height:100vh;transform:translate(-50%,-50%) scale(1.18);border:0;pointer-events:none}
.ytbg-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1s var(--ease)}
.ytbg.on .ytbg-poster{opacity:0}
.hero3-media .ytbg{position:absolute;inset:0}
.bgv .ytbg{opacity:.32;filter:grayscale(.35) contrast(1.05)}
.adm-head-act{display:flex;gap:8px;flex-wrap:wrap}@media (max-width:720px){.adm-head-act .adm-btn span{display:none}.adm-head-act .adm-btn{width:46px;padding:0}}
/* TEMPORÁRIO: tag de obra com informações faltando */
.wc-media{position:relative}
.wc-missing{position:absolute;left:12px;top:12px;z-index:3;display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 7px;border-radius:999px;background:#FBEBD3;color:#7A4D06;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.wc-missing i{width:18px;height:18px;border-radius:50%;background:#C98A12;color:#fff;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700}
/* página da obra: breadcrumb legível sobre a foto e segmento junto do status */
.case-crumbs .crumbs{display:inline-flex;background:rgba(5,14,12,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:rgba(255,255,255,.88);padding:7px 14px;border-radius:999px;margin-bottom:22px;font-size:11px}
.case-crumbs .crumbs a:hover{color:#fff;text-decoration:underline}
.case-crumbs .crumbs [aria-current]{color:#fff}
.case-crumbs .crumbs i{opacity:.7}
.wstat-sep{width:4px!important;height:4px!important;opacity:.7;animation:none!important}
.case-hero .wstat{background:rgba(5,14,12,.55)}
.case-hero .wstat.wstat--em{background:rgba(60,38,6,.6)}
@media (max-width:720px){.case-crumbs .crumbs{max-width:100%;overflow:hidden;white-space:nowrap;flex-wrap:nowrap}.case-crumbs .crumbs span{overflow:hidden;text-overflow:ellipsis}}

/* esconde as bordas do player do YouTube (título no topo, logo embaixo): o vídeo fica maior que a área e as bordas ficam cortadas */
.ytbg-frame iframe{transform:translate(-50%,-50%) scale(1.42)!important}
.ytbg-frame,.ytbg-frame *{pointer-events:none!important}
.ytbg::after{content:"";position:absolute;inset:0;z-index:1}
