/* Visual aprovado em todas as rotas; paleta original Vikanys. */
.transition-hero{position:sticky;top:var(--header);z-index:0}.page-hero.with-image{height:calc(100svh - 96px);min-height:620px;max-height:none;margin:0 24px 24px;border-radius:16px;padding:100px clamp(32px,7vw,112px) 96px;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}.page-hero.with-image>div:first-child{position:relative;z-index:4;max-width:1050px}.page-hero.with-image h1{font-size:clamp(50px,4.7vw,86px);font-weight:300;line-height:1.07}.page-hero.with-image>div:first-child>p:not(.eyebrow){font-size:clamp(17px,1.22vw,22px);line-height:1.5;max-width:750px;margin-top:26px}.page-hero-actions{margin-top:32px;gap:28px}.page-hero .pill.dark{background:white;color:var(--ink)}.page-hero .text-link{color:white;border-color:#ffffff70}.page-hero .media-story{z-index:0}.page-hero.with-image:after{z-index:2;background:linear-gradient(180deg,#0b10151a,#080c12c9);pointer-events:none}.section-nav{position:sticky;top:var(--header);z-index:5;background:#fffffff5;backdrop-filter:blur(12px);padding:22px var(--gutter);gap:32px;border-bottom:1px solid var(--line)}
.page-hero:not(.with-image),.sectors-hero{background:#f4f5f4;min-height:65svh;padding:100px var(--gutter) 80px;max-width:none;margin:0 24px 24px;border-radius:16px}.page-hero:not(.with-image) h1,.sectors-hero h1{font-size:clamp(46px,4.5vw,80px);line-height:1.1;max-width:1120px}.sectors-lead{font-size:20px;line-height:1.55}.sectors-index a{background:white;border-color:transparent;padding:14px 20px;min-height:44px}.sectors-grid{gap:28px}.sector-entry{border:0;background:#f4f5f4;border-radius:18px;box-shadow:0 5px 24px #00000004;transition:transform .45s var(--ease)}.sector-entry:hover{transform:translateY(-4px)}.sector-entry>img{outline:1px solid #0000001a;outline-offset:-1px;transition:transform .8s var(--ease)}.sector-entry h2{font-size:30px}.sector-entry-body{padding:30px}.sector-expanded p,.sector-expanded li{font-size:16px;line-height:1.65}.sectors-method{background:#f4f5f4;border-radius:18px}.process-list h3{font-size:32px;font-weight:300}.process-list p{font-size:18px;line-height:1.55}.reference-grid strong{font-weight:300}.reference-grid article{border-radius:16px;background:#f4f5f4;padding:30px}.reference-details{border-radius:16px;background:#f4f5f4}.tech-logos>div{border-radius:16px;background:#f4f5f4;min-height:140px}.partner-grid h3{font-size:36px;font-weight:300}.partner-grid p,.institution-text>div p{font-size:20px;line-height:1.55}.contact-options{gap:64px}.contact-options article>p:not(.eyebrow){font-size:19px;line-height:1.55}.contact-line{min-height:64px}.legal-copy{max-width:1120px;margin:auto;padding:80px var(--gutter)}.legal-copy h2{font-size:36px;font-weight:300}.legal-copy p,.legal-copy li{font-size:18px;line-height:1.7}
.solution-visual{--art-core:#282f3a;--art-core-ink:#f5f7f5}.solution-visual.visual-1,.solution-visual.visual-4{--art-core:#dce8e0;--art-core-ink:#212a36;background:radial-gradient(ellipse at 65% 20%,#2d3541,#20262e 80%)}.art-core{fill:var(--art-core)}.art-stream{stroke:var(--art-line)}.art-tabs button[aria-pressed=true]{background:var(--art-core);color:var(--art-core-ink)}.final-cta,.header-book,.floating-contact{background:#171a1b}.floating-contact{box-shadow:0 4px 20px #171a1b30}.footer{position:relative;z-index:3}
@media(max-width:800px){.page-hero.with-image{margin-inline:16px;padding-inline:40px}.page-hero:not(.with-image),.sectors-hero{margin-inline:16px}.sectors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-nav{overflow-x:auto;white-space:nowrap;gap:24px;scrollbar-width:none}.contact-options{gap:48px}}
@media(max-width:600px){.page-hero.with-image{height:calc(100svh - 80px);min-height:690px;margin:0 10px 12px;border-radius:14px;padding:72px 24px 80px;align-items:flex-end}.page-hero.with-image h1{font-size:clamp(38px,10.5vw,54px);line-height:1.1}.page-hero.with-image>div:first-child>p:not(.eyebrow){font-size:16px;margin-top:24px}.page-hero-actions{gap:22px;margin-top:28px;align-items:flex-start}.page-hero-actions .text-link{font-size:14px}.page-hero:not(.with-image),.sectors-hero{margin:0 10px 12px;min-height:auto;padding:72px 24px;border-radius:14px}.page-hero:not(.with-image) h1,.sectors-hero h1{font-size:42px}.sectors-lead{font-size:17px}.sectors-index{gap:8px}.sectors-index a{font-size:13px;padding:12px 15px}.sectors-grid{grid-template-columns:1fr;gap:24px}.sector-entry-body{padding:26px}.sector-entry h2{font-size:29px}.sectors-method{border-radius:0}.process-list h3{font-size:27px}.process-list p{font-size:16px}.reference-grid article{padding:22px}.tech-logos>div{min-height:110px}.partner-grid h3{font-size:30px}.partner-grid p,.institution-text>div p,.contact-options article>p:not(.eyebrow){font-size:17px}.legal-copy{padding:64px 24px}.legal-copy h2{font-size:29px}.legal-copy p,.legal-copy li{font-size:16px}.section-nav{padding:20px 24px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.transition-hero{position:relative;top:0}.sector-entry,.sector-entry>img{transition:none}}
.page-hero.with-image.transition-hero{position:sticky;top:var(--header)}
@media(prefers-reduced-motion:reduce){.page-hero.with-image.transition-hero{position:relative;top:0}}

/* Molduras compartilham o mesmo eixo e margens em qualquer largura. */
:root{--frame-max:1744px;--frame-inset:24px}
.v-hero,.page-hero.with-image,.page-hero:not(.with-image),.sectors-hero,.cinema,.final-cta{width:calc(100% - 2 * var(--frame-inset));max-width:var(--frame-max);margin-inline:auto}
@media(max-width:800px){:root{--frame-inset:16px}}
@media(max-width:600px){:root{--frame-inset:10px}}

/* Heroes preenchem a largura disponível, preservando as molduras originais. */
.v-hero,.page-hero.with-image,.page-hero:not(.with-image),.sectors-hero{width:calc(100% - 2 * var(--frame-inset));max-width:none;margin:0 auto 24px;border-radius:16px;height:auto;min-height:calc(100svh - var(--header) - 24px);max-height:none}
.v-hero,.page-hero.with-image{align-items:center}
.v-hero-copy{padding-block:clamp(56px,8svh,96px)}
.page-hero.with-image,.page-hero:not(.with-image),.sectors-hero{padding-block:clamp(56px,8svh,96px)}
.page-hero:not(.with-image),.sectors-hero{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding-inline:max(var(--gutter),calc((100% - 1456px)/2))}
@media(max-width:600px){
 .v-hero,.page-hero.with-image,.page-hero:not(.with-image),.sectors-hero{margin-bottom:12px;border-radius:14px;min-height:calc(100svh - var(--header) - 12px)}
 .v-hero-copy{padding:48px 24px 64px}
 .v-hero h1{font-size:clamp(34px,10vw,54px)}
 .page-hero.with-image,.page-hero:not(.with-image),.sectors-hero{padding:48px 24px 64px}
 .page-hero.with-image h1,.page-hero:not(.with-image) h1,.sectors-hero h1{font-size:clamp(34px,10vw,42px)}
}
@media(max-height:700px) and (max-width:800px){.transition-hero,.page-hero.with-image.transition-hero{position:relative;top:0}}

/* CTAs das aberturas compartilham o eixo central no mobile e tablet. */
.floating-contact{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(84px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
.floating-contact.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);transition:opacity .32s ease-out,transform .32s cubic-bezier(.2,0,0,1),visibility 0s linear 0s}
.floating-contact.is-visible:hover{transform:translate(0,-3px)}
.section-nav a{position:relative;flex-shrink:0;padding-bottom:8px;border-bottom:0;transition:color .25s}
.section-nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.section-nav a[aria-current=location]{text-decoration:none}
.section-nav a[aria-current=location]:after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.section-nav a:after,.floating-contact,.floating-contact.is-visible{transition:none}.floating-contact,.floating-contact.is-visible,.floating-contact.is-visible:hover{transform:none}}
@media(max-width:800px){
 .page-hero.with-image>div:first-child{width:100%;min-width:0}
 .transition-hero .hero-actions,.transition-hero .page-hero-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-inline:auto;width:100%;gap:22px}
 .transition-hero .page-hero-actions{max-width:none}
 .transition-hero .hero-actions>a,.transition-hero .page-hero-actions>a{align-self:center;max-width:100%;text-align:center}
}

/* Keep the desktop reading index below the complete navigation stack. */
@media(min-width:801px){
 .solution-index{top:var(--reading-top,calc(var(--header) + 24px));max-height:calc(100svh - var(--reading-top,calc(var(--header) + 24px)) - 24px);overflow-y:auto;scrollbar-width:thin}
 .capability{scroll-margin-top:var(--reading-top,calc(var(--header) + 24px))}
}

/* Separate the reference note from the metric cards. */
#referencias > .reference-grid + .metric-note{margin-top:24px}

/* End the section navigation at the end of its last reading stage. */
.section-nav{transition:opacity .2s var(--ease),visibility .2s}
.section-nav.is-past-sections{opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.section-nav{transition:none}}

/* Apply selection to an explicit text box so flex buttons render the underline. */
.desktop-menu .menu-trigger .menu-label{font:inherit}
.desktop-menu .menu-trigger[aria-current=page],.desktop-menu .menu-trigger[aria-expanded=true]{text-decoration:none}
.desktop-menu .menu-trigger[aria-current=page] .menu-label,.desktop-menu .menu-trigger[aria-expanded=true] .menu-label{ text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px }

/* Match the vertical rhythm of the site's sections between the sector blocks. */
.sectors-method + .final-cta{margin-top:112px}
@media(max-width:800px){.sectors-method + .final-cta{margin-top:88px}}
@media(max-width:600px){.sectors-method + .final-cta{margin-top:72px}}

/* Remove the catalog divider above the rounded method section. */
.sectors-catalog{border-bottom:0}

/* Equal inner gutters between the cookie notice and the hero frame. */
.cookie-consent{
 --cookie-frame-gap:20px;
 --cookie-frame-base:24px;
 left:calc(var(--frame-inset,24px) + var(--cookie-frame-gap));
 right:auto;
 bottom:calc(var(--cookie-frame-base) + var(--cookie-frame-gap));
 width:min(370px,calc(100% - 2 * (var(--frame-inset,24px) + var(--cookie-frame-gap))));
 max-width:none;
 max-height:calc(100svh - var(--header,72px) - var(--cookie-frame-base) - 2 * var(--cookie-frame-gap));
 overflow:auto;
}
@media(max-width:800px){.cookie-consent{--cookie-frame-gap:18px}}
@media(max-width:600px){.cookie-consent{--cookie-frame-gap:14px;--cookie-frame-base:12px}}

/* Method cards must size to their contents instead of shrinking inside a column flex row. */
.phase-visual.phase-1>.eyebrow{color:#bac3c2}
@media(max-width:1000px){
 .phase-row>*{min-width:0}
 .phase-visual{height:auto;min-height:340px;flex-shrink:0}
 .phase-visual>*{flex-shrink:0}
 .phase-visual .diagram-result{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:600px){
 .phase-row{gap:28px}
 .phase-visual{min-height:310px}
 .phase-visual.phase-0{height:auto;min-height:360px}
}
/* Long translated headings wrap inside narrow principle cards. */
.principle-grid article{min-width:0}
.principle-grid h3{overflow-wrap:anywhere;hyphens:auto}
