/* Performance legível — camada visual da página principal */
:root{
  --signal:#63d69a;
  --signal-soft:#b8efd0;
  --mineral:#0b100e;
  --mineral-2:#111815;
  --mineral-3:#18211d;
  --grid-light:rgba(174,238,203,.09);
  --grid-dark:rgba(13,17,16,.075);
}

body:not(.legal-page):not(.product-page){background:var(--mineral)}
body:not(.legal-page):not(.product-page) .site-header{height:84px}
body:not(.legal-page):not(.product-page) .site-header.is-scrolled{background:rgba(9,14,12,.9);box-shadow:0 12px 45px rgba(0,0,0,.12)}
body:not(.legal-page):not(.product-page) .brand-mark{position:relative}
body:not(.legal-page):not(.product-page) .brand-mark:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--signal);right:8px;top:1px;box-shadow:0 0 0 4px rgba(99,214,154,.08)}

.hero-v2{position:relative;min-height:940px;padding:146px 0 0;isolation:isolate;background:radial-gradient(circle at 80% 28%,rgba(66,143,101,.16),transparent 28%),linear-gradient(115deg,#0b100e 0%,#0d1310 56%,#101a15 100%)}
.hero-v2:before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(var(--grid-light) 1px,transparent 1px),linear-gradient(90deg,var(--grid-light) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,transparent 3%,#000 40%,#000 92%,transparent)}
.hero-v2:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--mineral) 0%,rgba(11,16,14,.96) 24%,rgba(11,16,14,.58) 56%,rgba(11,16,14,.08) 78%),linear-gradient(0deg,var(--mineral) 0%,transparent 24%);pointer-events:none}
.hero-v2 .hero-grid{position:relative;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);gap:32px;min-height:690px;align-items:center}
.hero-v2 .hero-copy{position:relative;z-index:5;padding-bottom:62px}
.hero-v2 .eyebrow{margin-bottom:34px}
.hero-v2 .eyebrow small{margin-left:auto;color:#718079;font:9px var(--mono);letter-spacing:.16em}
.hero-v2 h1{max-width:870px;margin-bottom:32px;font-size:clamp(64px,6.65vw,106px);line-height:.88;letter-spacing:-.067em;font-weight:570}
.hero-v2 h1 span{display:block;color:#eff3f0}
.hero-v2 h1 span:first-child{font-size:.52em;line-height:1.25;letter-spacing:-.04em;color:#abb7b0;margin-bottom:7px}
.hero-v2 h1 span:last-child{margin-top:8px}
.hero-v2 h1 em{position:relative;display:inline-block;color:var(--signal);font-weight:610}
.hero-v2 h1 em:after{content:"";position:absolute;left:.04em;right:.02em;bottom:-.09em;height:1px;background:linear-gradient(90deg,var(--signal),transparent)}
.hero-v2 .hero-lead{max-width:640px;color:#b8c3bd;font-size:17px}
.hero-v2 .hero-actions{margin:34px 0 36px}
.hero-v2 .btn{min-height:54px;padding-inline:22px}
.hero-v2 .btn-ghost{background:rgba(13,19,16,.36);backdrop-filter:blur(8px)}
.hero-signature{display:flex;align-items:center;gap:20px;margin:0;color:#89968f;font-size:13px}
.hero-signature:before{content:"";width:44px;height:1px;background:var(--signal)}
.hero-signature .mono{color:#5d6c64;font-size:8px}

.hero-v2 .hero-visual{position:absolute;z-index:2;inset:0 -4vw 0 auto;width:min(49vw,650px);height:720px;max-width:none;overflow:visible}
.hero-photo{position:absolute;inset:0 0 0 4%;overflow:hidden;filter:drop-shadow(-25px 22px 40px rgba(0,0,0,.24))}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--mineral) 0%,transparent 31%),linear-gradient(0deg,var(--mineral) 0%,transparent 28%),linear-gradient(180deg,rgba(9,14,12,.1),transparent 24%);pointer-events:none}
.hero-photo picture,.hero-photo img{width:100%;height:100%}
.hero-photo img{object-fit:cover;object-position:center 28%;filter:saturate(.76) contrast(1.04) brightness(.88)}
.hero-grid-lines{position:absolute;z-index:4;inset:40px 0 70px 18%;border:1px solid rgba(180,234,204,.16);background-image:linear-gradient(rgba(180,234,204,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(180,234,204,.075) 1px,transparent 1px);background-size:25% 25%;clip-path:polygon(26% 0,100% 0,100% 100%,0 100%,0 22%)}
.hero-grid-lines:before,.hero-grid-lines:after{content:"";position:absolute;background:var(--signal)}
.hero-grid-lines:before{width:7px;height:7px;border-radius:50%;left:24.5%;top:-4px;box-shadow:0 0 0 7px rgba(99,214,154,.08)}
.hero-grid-lines:after{width:52px;height:1px;right:0;bottom:25%}
.performance-curve{position:absolute;z-index:5;width:72%;height:auto;right:-1%;bottom:9%;overflow:visible;filter:drop-shadow(0 7px 12px rgba(0,0,0,.2))}
.performance-curve .curve-grid{fill:none;stroke:rgba(200,239,218,.1);stroke-width:1;vector-effect:non-scaling-stroke}
.performance-curve .curve-line{fill:none;stroke:var(--signal);stroke-width:1.6;vector-effect:non-scaling-stroke}
.performance-curve circle{fill:var(--mineral);stroke:var(--signal);stroke-width:2;vector-effect:non-scaling-stroke}
.hero-index{position:absolute;z-index:6;right:0;top:45px;display:flex;gap:18px;align-items:center;color:#94a39b;font-size:8px;letter-spacing:.18em;writing-mode:vertical-rl}
.hero-index span:first-child{color:var(--signal)}
.hero-markers{position:relative;z-index:7;display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin-top:0;padding:0;border-top:1px solid var(--line);background:rgba(10,15,13,.55);backdrop-filter:blur(12px)}
.hero-markers li{display:grid;grid-template-columns:40px 1fr;gap:3px 12px;padding:24px 28px;border-right:1px solid var(--line)}
.hero-markers li:last-child{border-right:0}
.hero-markers span{grid-row:1/3;color:var(--signal);font:9px var(--mono);padding-top:4px}
.hero-markers strong{font-size:14px;letter-spacing:.01em}
.hero-markers small{color:#69766f;font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em}

.statement{position:relative;overflow:hidden;background:var(--mineral-2)}
.statement:before{content:"TA / 02";position:absolute;top:50%;right:-28px;transform:rotate(90deg);color:rgba(99,214,154,.25);font:9px var(--mono);letter-spacing:.24em}
.statement:after{content:"";position:absolute;right:8%;top:0;width:1px;height:100%;background:linear-gradient(transparent,var(--grid-light),transparent)}
.statement h2{max-width:980px}

.services{position:relative;background-color:#f1f2ed;background-image:linear-gradient(var(--grid-dark) 1px,transparent 1px),linear-gradient(90deg,var(--grid-dark) 1px,transparent 1px);background-size:88px 88px}
.services .section-head{position:relative}
.services .section-head:after{content:"SERVIÇOS / SISTEMA";position:absolute;right:0;top:0;color:#87928c;font:8px var(--mono);letter-spacing:.16em}
.service-list{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-dark);background:rgba(243,241,236,.76);backdrop-filter:blur(4px)}
.service-item{min-height:250px;display:grid;grid-template-columns:48px 1fr 25px;grid-template-rows:auto 1fr;gap:22px 20px;padding:34px;border:0;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);overflow:hidden}
.service-item:nth-child(even){border-right:0}
.service-item:nth-child(n+3){border-bottom:0}
.service-item:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--signal);transition:height .4s var(--ease)}
.service-item:hover{padding:34px;background:rgba(255,255,255,.62)}
.service-item:hover:before{height:100%}
.service-item h3{font-size:clamp(24px,2.25vw,34px);letter-spacing:-.035em}
.service-item p{grid-column:2/4;align-self:end;max-width:520px}
.service-arrow{grid-column:3;grid-row:1;color:#738078;transition:transform .3s var(--ease),color .3s}
.service-item:hover .service-arrow{transform:translate(3px,-3px);color:#246243}

.method{position:relative;background:linear-gradient(135deg,var(--mineral-2),#0c120f)}
.method:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(180,234,204,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(180,234,204,.045) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,#000,transparent 74%)}
.method-grid{position:relative;grid-template-columns:minmax(340px,.9fr) minmax(0,1.22fr);gap:110px}
.method-grid>*{min-width:0}
.method-intro{top:112px}
.method-note{background:rgba(255,255,255,.02);padding:22px;border:1px solid var(--line)}
.method-portrait{position:relative;margin:34px 0 0;max-width:470px;height:245px;overflow:hidden;border:1px solid var(--line)}
.method-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,rgba(10,15,13,.92)),linear-gradient(0deg,rgba(10,15,13,.92),transparent 60%)}
.method-portrait picture,.method-portrait img{display:block;width:100%;height:100%}
.method-portrait img{object-fit:cover;object-position:center 22%;filter:saturate(.52) contrast(1.07) brightness(.78)}
.method-portrait figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:17px;display:grid;gap:5px}
.method-portrait figcaption span{color:var(--signal);font-size:8px}
.method-portrait figcaption strong{font-size:11px;max-width:260px}
.method-steps{counter-reset:method;border-top:1px solid rgba(255,255,255,.18)}
.method-steps li{position:relative;grid-template-columns:58px 1fr 180px;padding:39px 0;transition:padding .3s var(--ease),background .3s}
.method-steps li:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--signal);transition:width .5s var(--ease)}
.method-steps li:hover:after{width:100%}
.method-steps li:hover{padding-left:12px}
.method-steps h3{font-size:28px;letter-spacing:-.025em}

.technology{position:relative;background:#e7ece8;overflow:hidden}
.technology:before{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(13,17,16,.08);border-radius:50%;right:-220px;top:-210px;box-shadow:0 0 0 70px rgba(13,17,16,.025),0 0 0 140px rgba(13,17,16,.018)}
.observation-panel{position:relative;min-height:540px;padding:30px;background:linear-gradient(145deg,#101714,#080d0b);box-shadow:0 32px 85px rgba(13,17,16,.2)}
.observation-panel:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.12);pointer-events:none}
.observation-map{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:28px}
.observation-axis,.observation-events{display:flex;justify-content:space-between;color:#708078;font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.observation-axis{padding-bottom:14px;border-bottom:1px solid var(--line)}
.observation-events{padding-top:14px;border-top:1px solid var(--line)}
.observation-map svg{width:100%;height:250px;overflow:visible}
.map-grid{fill:none;stroke:rgba(200,239,218,.08);stroke-width:1;vector-effect:non-scaling-stroke}
.map-path{fill:none;stroke:var(--signal);stroke-width:1.5;vector-effect:non-scaling-stroke}
.map-path-muted{stroke:rgba(184,239,208,.24);stroke-dasharray:4 8}
.observation-map circle{fill:#0c120f;stroke:var(--signal);stroke-width:2;vector-effect:non-scaling-stroke}
.observation-panel>p{position:relative;padding-top:24px;border-top:1px solid var(--line);font-size:21px}
.tech-copy{position:relative}
.tech-copy:before{content:"03 / LEITURA";position:absolute;top:-46px;right:0;color:#708078;font:8px var(--mono);letter-spacing:.14em}

.about{position:relative;background:#f4f2ed;overflow:hidden}
.about:after{content:"";position:absolute;right:-12%;bottom:-45%;width:600px;height:600px;border:1px solid rgba(13,17,16,.07);border-radius:50%;box-shadow:0 0 0 80px rgba(13,17,16,.018),0 0 0 160px rgba(13,17,16,.012)}
.about-grid{position:relative;z-index:2;grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);gap:120px}
.about-photo-v2{height:720px;max-width:500px;background:#dadbd5;overflow:hidden;clip-path:polygon(0 0,88% 0,100% 8%,100% 100%,0 100%)}
.about-photo-v2:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,17,16,.22),transparent 28%);border:1px solid rgba(13,17,16,.12);pointer-events:none}
.about-photo-v2 picture,.about-photo-v2 img{width:100%;height:100%}
.about-photo-v2 img{object-fit:cover;object-position:center 19%;filter:contrast(1.03)}
.about-photo-v2 .image-index{z-index:2;bottom:18px;left:20px;color:rgba(255,255,255,.76)}
.about-copy{position:relative}
.about-copy:before{content:"IDENTIDADE / PROCESSO / EVOLUÇÃO";display:block;margin-bottom:42px;color:#7b8780;font:8px var(--mono);letter-spacing:.15em}
.principles{grid-template-columns:repeat(3,1fr);border:1px solid var(--line-dark)}
.principles span{display:grid;align-content:start;gap:20px;min-height:125px;padding:20px;border:0;border-right:1px solid var(--line-dark);font-size:12px}
.principles span:last-child{border-right:0}

.context{position:relative;background:var(--mineral);overflow:hidden}
.context:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-light) 1px,transparent 1px),linear-gradient(90deg,var(--grid-light) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,transparent,#000 60%,transparent)}
.context-grid{position:relative;grid-template-columns:1.08fr .72fr;gap:100px}
.context-system{position:relative;min-height:430px;display:grid;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.018)}
.context-system:before,.context-system:after{content:"";position:absolute;background:rgba(184,239,208,.15)}
.context-system:before{width:1px;height:100%}.context-system:after{width:100%;height:1px}
.context-orbit{position:absolute;width:270px;height:270px;border:1px solid rgba(99,214,154,.28);border-radius:50%;box-shadow:0 0 0 55px rgba(99,214,154,.025)}
.context-point{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 7px rgba(99,214,154,.07)}
.point-a{top:18%;left:49%}.point-b{right:24%;bottom:32%}.point-c{left:28%;bottom:23%}
.context-system>div{position:relative;z-index:2;width:190px;padding:20px;background:rgba(11,16,14,.86);border:1px solid var(--line);display:grid;gap:8px}
.context-system small{color:var(--signal);font-size:8px;margin-bottom:8px}.context-system strong{font-size:12px;font-weight:550;color:#b5c0ba}

.contact{position:relative;overflow:hidden}
.contact:after{content:"TA/";position:absolute;right:-20px;bottom:-105px;color:rgba(13,17,16,.08);font:700 260px/1 var(--mono);letter-spacing:-.12em}
.contact-grid{position:relative;z-index:2}
.contact-link{transition:padding .25s var(--ease),background .25s}
.site-footer{border-top:1px solid rgba(255,255,255,.06)}

@media (max-width:1100px){
  .hero-v2 .hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr)}
  .hero-v2 h1{font-size:clamp(62px,7.8vw,88px)}
  .hero-v2 .hero-visual{width:48vw;right:-2vw}
  .method-grid{gap:70px}
  .about-grid{gap:75px}
}

@media (max-width:980px){
  .hero-v2{padding-top:126px}
  .hero-v2 .hero-grid{display:block;min-height:1080px}
  .hero-v2 .hero-copy{max-width:760px;padding-bottom:0}
  .hero-v2 h1{font-size:clamp(68px,11vw,102px)}
  .hero-v2 .hero-visual{inset:auto -3vw 0 auto;width:min(78vw,660px);height:650px;margin:0;justify-self:auto}
  .hero-v2:after{background:linear-gradient(90deg,var(--mineral),rgba(11,16,14,.76) 50%,transparent 85%),linear-gradient(0deg,var(--mineral),transparent 34%)}
  .service-list{grid-template-columns:1fr 1fr}
  .method-grid{grid-template-columns:1fr;gap:65px}
  .method-intro{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 45px}
  .method-intro>.section-kicker,.method-intro>h2,.method-intro>p{grid-column:1/3}
  .method-note{grid-column:1}.method-portrait{grid-column:2;margin-top:34px}
  .about-grid{grid-template-columns:minmax(300px,.78fr) 1.1fr;gap:55px}
  .about-photo-v2{height:650px}
  .principles{grid-template-columns:1fr}.principles span{min-height:auto;border-right:0;border-bottom:1px solid var(--line-dark)}.principles span:last-child{border-bottom:0}
}

@media (max-width:760px){
  body:not(.legal-page):not(.product-page) .site-header{height:76px}
  .hero-v2{min-height:auto;padding:118px 0 0}
  .hero-v2:before{background-size:56px 56px}
  .hero-v2 .hero-grid{min-height:950px}
  .hero-v2 .eyebrow{margin-bottom:28px}.hero-v2 .eyebrow small{display:none}
  .hero-v2 h1{font-size:clamp(51px,15.5vw,68px);line-height:.91;margin-bottom:26px}
  .hero-v2 h1 span:first-child{font-size:.5em;margin-bottom:4px}
  .hero-v2 .hero-lead{font-size:16px}
  .hero-v2 .hero-actions{margin:28px 0}
  .hero-signature{gap:12px;font-size:12px}.hero-signature:before{width:26px}.hero-signature .mono{display:none}
  .hero-v2 .hero-visual{right:-16px;width:calc(100% + 8px);height:525px}
  .hero-photo{inset:0}
  .hero-photo:after{background:linear-gradient(90deg,var(--mineral) 0%,transparent 28%),linear-gradient(0deg,var(--mineral) 0%,transparent 31%)}
  .hero-photo img{object-position:center 22%}
  .hero-grid-lines{inset:32px 18px 60px 20%;background-size:33.33% 25%}
  .performance-curve{width:78%;right:0;bottom:10%}
  .hero-index{display:none}
  .hero-markers{width:100%;grid-template-columns:repeat(3,1fr);backdrop-filter:none}
  .hero-markers li{display:block;padding:18px 12px}.hero-markers span{display:block;margin-bottom:8px}.hero-markers strong{display:block;font-size:12px}.hero-markers small{display:none}
  .statement:before{display:none}
  .services{background-size:56px 56px}
  .services .section-head:after{display:none}
  .service-list{grid-template-columns:1fr}
  .service-item{min-height:230px;border-right:0!important;border-bottom:1px solid var(--line-dark)!important;padding:27px 22px;grid-template-columns:38px 1fr 20px}
  .service-item:last-child{border-bottom:0!important}.service-item:hover{padding:27px 22px}
  .method:before,.context:before{background-size:56px 56px}
  .method-grid{grid-template-columns:minmax(0,1fr)}
  .method-intro{display:block}.method-note{margin-top:34px}.method-portrait{height:235px;margin-top:28px}
  .method-steps li:hover{padding-left:0}
  .observation-panel{min-height:450px;padding:22px}.observation-map svg{height:190px}.observation-events{font-size:7px}.observation-panel>p{font-size:18px}
  .tech-copy:before{display:none}
  .about-grid{grid-template-columns:1fr;gap:55px}
  .about-photo-v2{height:min(138vw,680px);width:100%;max-width:520px}
  .about-copy:before{margin-bottom:30px}
  .context-grid{grid-template-columns:1fr;gap:50px}.context-system{min-height:360px}.context-orbit{width:220px;height:220px}
  .contact:after{font-size:150px;bottom:-55px}
}

@media (max-width:390px){
  .hero-v2 .hero-grid{min-height:930px}
  .hero-v2 h1{font-size:49px}
  .hero-v2 .hero-visual{height:500px}
  .hero-markers li{padding-inline:10px}
}

@media (prefers-reduced-motion:reduce){
  .service-item:before,.service-arrow,.method-steps li,.method-steps li:after{transition:none}
}
