
:root{--navy:#0b3553;--sea:#174c6e;--blue:#9fb7d2;--ivory:#fffff0;--paper:#f5f6f7;--white:#fff;--line:#dce3e8;--muted:#5a6c79;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--navy);background:var(--white);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #648eb5;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}p{line-height:1.6}h1,h2,h3,h4{font-weight:600;letter-spacing:-.045em}button{font-weight:500}a,button,summary{touch-action:manipulation}.wrap{padding-inline:max(6vw,24px)}.review-bar{display:flex;justify-content:center;gap:16px;background:#eef1f3;color:var(--muted);padding:9px 24px;font-size:.75rem;line-height:1.5}.review-bar span{color:#687984}
.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:78px;padding:12px max(6vw,24px);background:rgba(11,53,83,.94);backdrop-filter:blur(20px);border-bottom:1px solid #ffffff16;color:var(--ivory)}
.brand{display:flex;align-items:center;gap:4px;flex:none}.brand img{width:66px;height:auto;aspect-ratio:1360/1120}.brand>span{font-size:2rem;line-height:.95;letter-spacing:-.065em;font-weight:650;color:var(--ivory)}.brand small{display:block;font-size:.56rem;letter-spacing:.16em;font-weight:450;margin-top:4px;line-height:1}
nav{display:flex;align-items:center;gap:36px;font-size:.875rem}nav a{padding:9px 0;color:#e1e9ef}nav a:hover{color:var(--ivory)}.nav-contact{border-radius:24px;padding:10px 18px;background:#ffffff12}.nav-contact span{display:none}
.hero{background:var(--navy);color:var(--ivory);text-align:center;padding-block:70px 60px;overflow:hidden}.hero-copy{max-width:1000px;margin:auto}.eyebrow{font-size:.875rem;line-height:1.5;font-weight:600;letter-spacing:.1em;margin-bottom:18px}.hero .eyebrow{color:var(--blue);font-size:.75rem;letter-spacing:.13em}h1{font-size:clamp(2.8rem,5.7vw,5.5rem);line-height:1.04;font-weight:650;letter-spacing:-.06em}h1 span{color:var(--blue)}.lead{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.5;color:#d7e2eb;max-width:650px;margin:24px auto 0}.hero-art{display:flex;align-items:center;flex-direction:column;margin:18px auto 0}.hero-art img{width:300px;max-width:100%;height:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:32px;font-size:1rem;line-height:1.35;min-height:48px;padding:14px 25px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-1px)}.button-light{background:var(--ivory);color:var(--navy)}.button-light:hover{background:#eeeede}.hero-art .button{margin-top:-6px}.button-dark{background:var(--navy);color:var(--ivory)}.button-dark:hover{background:var(--sea)}.hero-bottom{display:none}
.section{padding-block:110px}.section-heading{margin-bottom:52px}h2{font-size:clamp(2.4rem,4.2vw,4.25rem);line-height:1.09;font-weight:650;letter-spacing:-.055em}.essence .section-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.intro{font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.5;color:var(--muted);max-width:550px}.essence-content{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.principles{display:grid;gap:22px}.principles article{padding:34px 38px;background:var(--paper);border-radius:26px}.principles h3,.values>h3{font-size:1.7rem;letter-spacing:-.035em;margin-bottom:14px}.principles p{font-size:1rem;color:var(--muted);max-width:520px}.values{padding:34px 38px;border-radius:26px;background:#eaf0f5}.values>h3{margin-bottom:22px}.value-row{display:grid;grid-template-columns:106px 1fr;gap:16px;padding:14px 0;border-top:1px solid #cbd7e0}.value-row h4{font-size:1rem;line-height:1.55;letter-spacing:-.02em}.value-row p{font-size:.95rem;color:var(--muted);line-height:1.55}
.solutions{background:var(--paper)}.solutions-heading{text-align:center;margin:0 auto 60px;max-width:850px}.solutions-heading h2{margin-bottom:24px}.solutions-heading>p{font-size:1.2rem;color:var(--muted);max-width:630px;margin:auto}.category-title{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px}.category-title h3{font-size:2rem;letter-spacing:-.045em}.category-title>span{font-size:.95rem;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.service{background:var(--white);border-radius:30px;padding:40px;overflow:hidden;box-shadow:0 5px 25px #0b355304}.service.featured{background:var(--navy);color:var(--ivory)}.card-top{display:flex;justify-content:space-between;gap:15px;color:var(--sea);font-size:.75rem;letter-spacing:.08em;font-weight:600;margin-bottom:22px}.card-top span:first-child{display:none}.service h3{font-size:clamp(1.7rem,2.45vw,2.6rem);line-height:1.13;margin-bottom:16px;max-width:540px}.service h4{font-size:1.25rem;line-height:1.4;font-weight:500;letter-spacing:-.025em;margin-bottom:16px}.service p{color:var(--muted);font-size:1rem;max-width:540px}.featured .card-top,.featured p{color:#bbcede}.plan-price{margin:30px 0 22px}.plan-price strong{display:block;font-size:1.5rem;line-height:1.3;letter-spacing:-.025em;font-weight:500;margin-bottom:8px}.plan-price span{display:block;font-size:.875rem;line-height:1.5;color:var(--muted)}.featured .plan-price span{color:#bbcede}.more{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:transparent;color:var(--sea);font-size:.95rem;line-height:1.4;padding:12px 0}.more:hover{text-decoration:underline;text-underline-offset:5px}.more span{font-size:1.2rem}.featured .more{color:var(--ivory)}
.solution-details{border-top:1px solid var(--line);margin-top:22px}.solution-details summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;font-size:.95rem;font-weight:600;line-height:1.45;min-height:54px;padding:15px 0}.solution-details summary::-webkit-details-marker{display:none}.solution-details summary::after{content:"+";display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#edf1f4;font-size:1.25rem;font-weight:400;line-height:1;color:var(--navy)}.solution-details[open] summary::after{content:"−"}.solution-details summary .hide-label{display:none}.solution-details[open] .show-label{display:none}.solution-details[open] .hide-label{display:inline}.detail-content{padding:4px 0 24px}.detail-content p{font-size:1rem;margin-bottom:20px;line-height:1.65}.detail-content h4{font-size:.875rem;letter-spacing:0;font-weight:600;margin-bottom:12px}.detail-content ul{padding-left:20px;margin:0;color:var(--muted);font-size:.95rem;line-height:1.65}.detail-content li+li{margin-top:7px}.featured .solution-details{border-color:#ffffff30}.featured .solution-details summary::after{background:#ffffff18;color:var(--ivory)}.featured .detail-content ul{color:#bbcede}.card-footer{border-top:1px solid var(--line);padding-top:12px;margin-top:0}.featured .card-footer{border-color:#ffffff30}
.projects-title{margin-top:90px}.analysis-grid,.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.solution-card{border-radius:26px;padding:34px;background:var(--white)}.solution-card h3{font-size:1.6rem;line-height:1.2;letter-spacing:-.04em;margin-bottom:14px}.solution-card>p{font-size:1rem;color:var(--muted);line-height:1.55}.solution-card .kicker{font-size:.75rem;letter-spacing:.09em;font-weight:600;color:var(--sea);margin-bottom:16px}.project-grid .solution-card{background:#e8eef3}.project-grid .solution-details summary::after{background:#fff}.scope-note{font-size:.875rem;color:var(--muted);margin:22px 0 0;line-height:1.55}.projects article{padding:28px 0;border-top:1px solid var(--line)}.project-number{display:none}
.project-phases{margin-top:64px;padding:48px;background:var(--navy);color:var(--ivory);border-radius:30px}.project-phases>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:36px}.project-phases .eyebrow{color:var(--blue);max-width:none;margin:0;font-size:.75rem;white-space:nowrap}.project-phases h3{font-size:clamp(1.65rem,2.7vw,2.4rem);line-height:1.15;max-width:570px}.project-phases ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;margin:0;padding:0}.project-phases li{border-top:1px solid #ffffff30;padding-top:20px}.project-phases .phase-title{display:flex;align-items:baseline;gap:12px;font-size:1.15rem;line-height:1.5}.project-phases .phase-title span{color:var(--ivory);font-size:1em;flex:none}.project-phases .phase-title strong{font-weight:500}.project-phases li p{margin:10px 0 0;color:#bbcede;font-size:.95rem;line-height:1.55}
.contact{text-align:center;padding-block:110px 120px;background:var(--white)}.contact h2{max-width:800px;margin:auto}.contact h2 span{color:var(--sea)}.contact h2 br{display:none}.contact h2 br::after{content:" "}.contact-right{max-width:570px;margin:26px auto 0}.contact-right>p{font-size:1.15rem;color:var(--muted);margin-bottom:28px}.contact-right .button{margin:auto}.footer{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:clamp(40px,7vw,112px);row-gap:30px;align-items:start;background:var(--navy);color:var(--blue);padding-block:45px 26px}.footer-details{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:28px;margin:5px 0 0}.footer-details dt{color:var(--ivory);font-size:.875rem;font-weight:600;line-height:1.5;margin-bottom:10px}.footer-details dd{font-size:.95rem;line-height:1.6;margin:0;overflow-wrap:anywhere}.footer-details a:hover{text-decoration:underline}.footer>span{grid-column:1/-1;border-top:1px solid #ffffff24;padding-top:20px;text-align:right;font-size:.75rem}
.skip{position:fixed;top:-100px;left:18px;z-index:100;background:white;padding:14px}.skip:focus{top:16px}dialog{position:fixed;border:0;border-radius:28px;padding:42px;width:calc(100% - 32px);max-width:560px;max-height:calc(100dvh - 32px);color:var(--navy);background:white}dialog::backdrop{background:#061f31a8;backdrop-filter:blur(6px)}dialog h2{font-size:2rem;line-height:1.15;margin-bottom:24px}.close{position:absolute;right:15px;top:10px;font-size:1.8rem;line-height:1;background:transparent;color:var(--navy);padding:8px}.message-preview{background:var(--paper);padding:22px;border-radius:16px;margin-bottom:20px}.pending-note{font-size:.95rem;color:var(--muted);margin-bottom:24px}dialog .eyebrow{font-size:.7rem;margin-top:12px}
@media(min-width:1550px){.wrap{padding-inline:calc((100vw - 1320px)/2)}.header{padding-inline:calc((100vw - 1320px)/2)}}
@media(max-width:1050px){.essence .section-heading{gap:36px}.essence-content{gap:22px}.principles article,.values{padding:28px}.value-row{grid-template-columns:1fr;gap:4px;padding:12px 0}.service{padding:32px}.footer{column-gap:36px}.footer-details{grid-template-columns:1fr 1fr}.footer-details>div:first-child{grid-column:1/-1}}
@media(max-width:720px){html{scroll-padding-top:124px}.review-bar{font-size:.7rem;padding:8px 20px;gap:10px}.review-bar span{max-width:200px;text-align:right}.header{padding:12px 24px;gap:12px;flex-wrap:wrap;justify-content:center}.brand img{width:58px}.brand>span{font-size:1.8rem}.brand small{font-size:.5rem;margin-top:3px}nav{width:100%;justify-content:center;gap:26px;font-size:.8rem}nav a{padding:5px 0}.nav-contact{padding:6px 12px}.hero{padding-block:54px 46px}.hero .eyebrow{font-size:.68rem;letter-spacing:.075em;max-width:310px;margin:0 auto 20px}h1{font-size:clamp(2.5rem,8.2vw,3.7rem);line-height:1.09}.lead{font-size:1.05rem;margin-top:22px;max-width:450px}.hero-art img{width:270px}.hero-art{margin-top:12px}.button{font-size:.95rem}.section{padding-block:72px}.essence .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.intro{font-size:1.15rem}.essence-content{grid-template-columns:1fr;gap:20px}.principles{gap:20px}.principles article,.values{padding:28px}.value-row{grid-template-columns:105px 1fr;gap:14px}.solutions-heading{margin-bottom:42px}.solutions-heading>p{font-size:1.05rem}.category-title{display:block;margin-bottom:22px}.category-title h3{font-size:1.8rem;margin-bottom:8px}.category-title>span{font-size:.875rem}.service-grid,.analysis-grid,.project-grid{grid-template-columns:1fr;gap:20px}.service,.solution-card{padding:30px;border-radius:25px}.service h3{font-size:2rem}.service h4{font-size:1.1rem}.plan-price{margin-top:25px}.plan-price strong{font-size:1.375rem}.projects-title{margin-top:60px}.solution-card h3{font-size:1.65rem}.project-phases{padding:30px;margin-top:44px}.project-phases>div:first-child{display:block;margin-bottom:28px}.project-phases .eyebrow{margin-bottom:16px}.project-phases ol{grid-template-columns:1fr;gap:20px}.project-phases li span{padding-top:14px;margin-bottom:8px}.contact{padding-block:76px 86px}.contact-right>p{font-size:1.05rem}.footer{grid-template-columns:1fr;row-gap:28px}.footer .brand{justify-self:start}.footer-details{grid-template-columns:1fr;gap:24px;margin:0}.footer>span{text-align:left}dialog{padding:34px 26px}}
@media(max-width:380px){.value-row{grid-template-columns:1fr;gap:5px}.service,.solution-card{padding:25px}nav{gap:14px}.hero h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


/* Quiet company metadata */
.footer{padding-block:34px 22px;row-gap:24px}.footer-details{gap:24px;margin-top:7px}.footer-details dt{font-size:.75rem;font-weight:400;color:#a7bacb;line-height:1.45;margin-bottom:7px}.footer-details dd{font-size:.8125rem;color:#b9c9d7;line-height:1.65}.footer>span{font-size:.75rem;color:#9fb7c9;padding-top:16px}.service-grid{align-items:stretch}.service{display:flex;flex-direction:column}.service .plan-price{margin-top:auto;padding-top:30px}.service .solution-details{margin-top:0}

.category-title.category-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;margin-bottom:36px}.category-title.category-centered h3{margin:0}.category-title.category-centered>span{display:block;max-width:40rem;line-height:1.6}

.project-phases>div:first-child>.eyebrow{text-align:right;margin:0;flex-shrink:0}@media(max-width:720px){.project-phases>div:first-child>.eyebrow{text-align:left;margin:16px 0 0}}

/* Company information: address | telephone | CNPJ */
.footer{display:block;padding-block:28px 22px}
.footer .footer-details{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:0;max-width:1080px;margin:0 auto;text-align:left}
.footer .footer-details>div{min-width:0;grid-column:auto;justify-self:stretch;padding-inline:24px}
.footer .footer-details>div:first-child{padding-left:0}
.footer .footer-details>div:last-child{padding-right:0}
.footer .footer-details>div+div{border-left:1px solid #ffffff24}
.footer .footer-details dt{font-size:.875rem;margin-bottom:6px}
.footer .footer-details dd{font-size:.875rem;line-height:1.5;overflow-wrap:normal}
.footer>span{display:block;width:fit-content;border:0;padding:0;margin:24px auto 0;text-align:center}
@media(max-width:720px){.footer .footer-details{grid-template-columns:1fr;gap:18px;max-width:360px;text-align:center}.footer .footer-details>div{padding-inline:0}.footer .footer-details>div+div{border-left:0;border-top:1px solid #ffffff24;padding-top:18px}}

/* Mobile navigation keeps the sticky header to one compact row. */
.nav-toggle{display:none}
@media(max-width:900px){
  html{scroll-padding-top:88px}
  .header{min-height:72px;padding:10px max(20px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left));gap:12px;justify-content:space-between;flex-wrap:wrap}
  .header .brand{gap:6px;min-width:0}
  .header .brand img{width:46px}
  .header .brand>span{font-size:1.75rem}
  .header .brand small{font-size:.5rem;letter-spacing:.13em;margin-top:5px}
  .header.nav-ready{flex-wrap:nowrap}
  .nav-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:80px;min-height:44px;padding:10px 12px;border:1px solid #ffffff30;border-radius:12px;background:#ffffff0a;color:var(--ivory);font-size:.875rem;flex-shrink:0}
  .nav-toggle[aria-expanded="true"]{background:#ffffff1c}
  .header nav{width:100%;font-size:1rem;gap:12px;flex-wrap:wrap}
  .header.nav-ready nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;max-height:calc(100dvh - 88px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:4px;padding:12px max(20px,env(safe-area-inset-left)) 20px;background:var(--navy);border-top:1px solid #ffffff24;box-shadow:0 16px 24px #061f3120}
  .header.nav-ready.menu-open nav{display:flex}
  .header nav a{display:flex;align-items:center;min-height:48px;padding:12px 16px;border-radius:12px}
  .header nav .nav-contact{margin-top:4px;background:#ffffff12}
}
@media(max-width:720px){
  .wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .review-bar{font-size:.75rem;flex-wrap:wrap;gap:4px 12px;padding:7px 16px;text-align:center}
  .review-bar span{max-width:none;text-align:center}
  .hero{padding-block:40px 36px}
  .hero .eyebrow{font-size:.8125rem;letter-spacing:.045em;line-height:1.6;max-width:330px;margin-bottom:18px}
  .hero h1{font-size:clamp(2rem,8.5vw,2.625rem);line-height:1.13;letter-spacing:-.045em}
  .lead{font-size:1rem;line-height:1.65;margin-top:20px;max-width:34rem}
  .hero-art{margin-top:14px}
  .hero-art img{width:clamp(180px,52vw,230px)}
  .hero-art .button{margin-top:4px}
  .button{max-width:100%;min-height:48px;font-size:1rem;padding:13px 20px;gap:10px;text-align:center}
  .section{padding-block:56px}
  h2{font-size:clamp(2rem,7.8vw,2.625rem);line-height:1.15;letter-spacing:-.04em}
  .intro{font-size:1.0625rem;line-height:1.65}
  .essence .section-heading{text-align:center;justify-items:center}
  .essence .section-heading .intro{margin-inline:auto}
  .principles article,.values{padding:24px;border-radius:22px}
  .principles h3,.values>h3{font-size:1.5rem}
  .value-row{grid-template-columns:1fr;gap:5px;padding-block:14px}
  .value-row p{font-size:1rem}
  .solutions-heading{margin-bottom:32px}
  .solutions-heading h2{margin-bottom:20px}
  .solutions-heading>p{font-size:1rem;line-height:1.65}
  .category-title,.category-title.category-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;margin-bottom:28px}
  .category-title h3,.category-title.category-centered h3{font-size:1.75rem;margin:0;line-height:1.2}
  .category-title>span{display:block;max-width:28rem;font-size:.875rem;line-height:1.6}
  .projects-title{margin-top:48px}
  .service-grid,.analysis-grid,.project-grid{gap:16px}
  .service,.solution-card{min-width:0;padding:24px;border-radius:22px}
  .service h3,.solution-card h3{font-size:clamp(1.5rem,6vw,1.75rem);line-height:1.2;letter-spacing:-.035em;overflow-wrap:break-word}
  .service h4{font-size:1.0625rem;line-height:1.5}
  .service p,.solution-card>p,.detail-content p,.detail-content ul{font-size:1rem;line-height:1.65}
  .card-top{font-size:.8125rem;margin-bottom:18px}
  .service .plan-price{padding-top:24px;margin-bottom:18px}
  .plan-price strong{font-size:1.375rem}
  .solution-details summary{min-height:52px;font-size:1rem;gap:12px}
  .more{min-height:48px;font-size:1rem}
  .project-phases{padding:24px;margin-top:36px;border-radius:22px}
  .project-phases h3{font-size:1.65rem;line-height:1.25}
  .project-phases .eyebrow{font-size:.8125rem;line-height:1.6;letter-spacing:.065em}
  .project-phases li{font-size:1.0625rem}
  .project-phases .phase-title{font-size:1.0625rem}
  .project-phases .phase-title span{padding:0;margin:0}
  .project-phases li p{font-size:.9375rem}
  .contact{padding-block:56px 64px}
  .contact-right{margin-top:22px}
  .contact-right>p{font-size:1rem;line-height:1.65}
  .footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
  .footer .footer-details dd{overflow-wrap:anywhere}
  .footer .footer-details a{display:inline-flex;align-items:center;min-height:44px}
  dialog{width:calc(100% - 32px);padding:40px 24px 24px;border-radius:22px}
  dialog h2{font-size:1.75rem}
  dialog .close{min-width:44px;min-height:44px;right:8px;top:4px}
  .message-preview{padding:18px}
}

/* Institutional footer */
.footer{display:block;background:var(--navy);color:var(--ivory);padding:56px max(24px,5vw) 40px}
.footer-social{display:grid;justify-items:center;max-width:1200px;margin:0 auto 40px;text-align:center}
.footer-social p{margin:0 0 14px;font-size:1rem;font-weight:600;line-height:1.4}
.footer-social a{display:grid;place-items:center;width:42px;height:42px;color:var(--ivory);border-radius:50%;transition:background .2s,color .2s}
.footer-social a:hover{background:var(--ivory);color:var(--navy)}
.footer-social svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8}
.footer-legal{max-width:1200px;margin:0 auto;border-top:1px solid #ffffff2e;padding-top:28px;text-align:center}
.footer-legal p{max-width:960px;margin:0 auto;color:#bbcede;font-size:.875rem;line-height:1.55}
.footer-legal .footer-copyright{margin-bottom:10px;color:var(--ivory);font-size:1rem;font-weight:600;letter-spacing:-.01em}
.footer-company{display:grid;justify-items:center;gap:2px}
.footer-company span:first-child{white-space:nowrap;letter-spacing:-.035em}
@media(max-width:720px){.footer{padding:46px 24px max(34px,env(safe-area-inset-bottom))}.footer-social{margin-bottom:34px}.footer-legal{padding-top:24px}.footer-legal p{font-size:.75rem;line-height:1.55}.footer-legal .footer-copyright{font-size:1rem}.footer-company span:first-child{letter-spacing:-.045em}}

/* Experimental Label Assistants scroll narrative. */
.assistant-experiment{--assistant-progress:0;position:relative;min-height:185vh;margin:72px 0 84px}
.assistant-stage{position:sticky;top:calc(var(--header-height) + 22px);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;min-height:min(720px,calc(100dvh - var(--header-height) - 44px));overflow:hidden;padding:clamp(30px,5vw,68px);border-radius:32px;background:var(--navy);color:var(--ivory);isolation:isolate}
.assistant-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy)}
.assistant-intro{grid-column:1/-1}.assistant-intro .eyebrow{margin:0 0 9px;color:#a9c4df}.assistant-intro h2{font-size:clamp(2.15rem,4.2vw,4.2rem);line-height:1.04;letter-spacing:-.05em}
.assistant-copy{grid-column:1;grid-row:2;align-self:center;max-width:390px;transition:opacity .28s ease,transform .28s ease}.assistant-copy span{display:block;margin-bottom:14px;color:#a9c4df;font-size:.75rem;font-weight:600;letter-spacing:.12em}.assistant-copy h3{margin:0 0 16px;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.05;letter-spacing:-.045em}.assistant-copy p{margin:0;color:#c7d8e6;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.55}.assistant-copy-coral{opacity:0;transform:translateY(18px);pointer-events:none}.assistant-experiment.is-coral .assistant-copy-polvo{opacity:0;transform:translateY(-18px);pointer-events:none}.assistant-experiment.is-coral .assistant-copy-coral{opacity:1;transform:translateY(0)}
.assistant-phone{position:absolute;right:clamp(5%,11vw,15%);bottom:clamp(14px,2.5vh,30px);width:clamp(230px,25vw,360px);transform:translateX(calc(var(--assistant-progress) * 44vw)) rotate(calc(var(--assistant-progress) * 3deg));transform-origin:50% 100%;transition:transform .05s linear;filter:drop-shadow(0 28px 32px #03182b80)}
.assistant-phone img{display:block;width:100%;height:auto}.assistant-screen{position:absolute;inset:13% 8.5% 8%;overflow:hidden;padding:clamp(25px,3vw,42px) clamp(14px,2vw,24px);border-radius:8% 8% 11% 11%;background:linear-gradient(160deg,#0c3e66,#08233f);color:var(--ivory)}
.assistant-screen-label{margin:0 0:18px;font-size:.65rem;font-weight:700;letter-spacing:.12em;color:#a9c4df}.assistant-message{position:absolute;left:12%;right:12%;padding:12px 13px;border-radius:16px 16px 16px 4px;background:#edf4f8;color:var(--navy);font-size:clamp(.68rem,1vw,.84rem);line-height:1.45;transition:opacity .28s ease,transform .28s ease}.assistant-message-polvo{top:28%}.assistant-message-coral{top:38%;opacity:0;transform:translateY(18px)}.assistant-experiment.is-coral .assistant-message-polvo{opacity:0;transform:translateY(-18px)}.assistant-experiment.is-coral .assistant-message-coral{opacity:1;transform:translateY(0)}
.assistant-scroll-note{grid-column:1;grid-row:3;margin:0;color:#a9c4df;font-size:.78rem;letter-spacing:.05em}
@media(max-width:720px){.assistant-experiment{min-height:165vh;margin:54px 0 68px}.assistant-stage{top:calc(var(--header-height) + 14px);min-height:calc(100dvh - var(--header-height) - 28px);padding:28px 25px;border-radius:25px;grid-template-columns:1fr}.assistant-intro h2{font-size:2.25rem}.assistant-copy{grid-column:1;grid-row:2;align-self:start;margin-top:42px;max-width:245px}.assistant-copy h3{font-size:1.85rem}.assistant-copy p{font-size:.98rem}.assistant-phone{right:50%;bottom:12px;width:230px;transform:translateX(calc(50% + var(--assistant-progress) * 28vw)) rotate(calc(var(--assistant-progress) * 2deg))}.assistant-screen{padding:28px 14px}.assistant-message{font-size:.67rem}.assistant-scroll-note{grid-column:1;grid-row:3;font-size:.7rem}}
.assistant-screen-label{margin:0 0 18px}
.assistant-phone{left:clamp(5%,11vw,15%);right:auto;transform:translateX(calc(var(--assistant-progress) * 46vw)) rotate(calc(var(--assistant-progress) * 3deg))}
@media(max-width:720px){.assistant-phone{left:calc(50% - 115px);right:auto;transform:translateX(calc(var(--assistant-progress) * 28vw)) rotate(calc(var(--assistant-progress) * 2deg))}}
.assistant-copy,.assistant-scroll-note{grid-column:2}
@media(max-width:720px){.assistant-copy,.assistant-scroll-note{grid-column:1}}

/* Full-screen blue introduction. */
:root{--header-height:78px}
html{scroll-padding-top:calc(var(--header-height) + 16px);background:var(--navy)}
.review-bar{background:var(--navy);color:var(--blue)}
.review-bar span{color:var(--blue)}
.header{background:var(--navy)}
.hero-scroll{position:relative;background:var(--navy)}
.hero-scroll .hero{height:calc(100vh - var(--header-height));height:calc(100dvh - var(--header-height));min-height:calc(100vh - var(--header-height));min-height:calc(100dvh - var(--header-height));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3vh,32px);padding-block:clamp(24px,4vh,48px)}
.hero-scroll .hero-copy{margin:0 auto;flex-shrink:0}
.hero-scroll .hero-art{margin:0 auto;gap:18px;flex-shrink:0}
.hero-scroll .hero-art img{width:clamp(160px,26vh,280px);transform-origin:50% 50%}
@media(max-width:900px){:root{--header-height:72px}}
@media(max-width:720px){
 .hero-scroll .hero{padding-block:22px;gap:16px}
 .hero-scroll .hero .eyebrow{margin-bottom:14px}
 .hero-scroll .lead{margin-top:18px}
 .hero-scroll .hero-art{gap:12px}
 .hero-scroll .hero-art img{width:clamp(140px,23vh,230px)}
}

/* Keep the opening tagline together, wrapping only between its two phrases. */
@media(max-width:720px){
 .hero .hero-tagline{display:flex;flex-wrap:wrap;justify-content:center;gap:.15em .4em;max-width:100%;font-size:.75rem;letter-spacing:.015em;line-height:1.5}
 .hero-tagline>span{max-width:100%}
}
@media(max-width:359px){.hero .hero-tagline{flex-direction:column;align-items:center}}

/* Label Assistants — movement, copy and functions advance as one narrative. */
.assistants-category{margin-top:72px}
.assistant-experiment{--assistant-state-progress:0;min-height:156vh;margin:0 0 82px}
.assistant-stage{top:calc(var(--header-height) + 20px);display:block;min-height:min(640px,calc(100dvh - var(--header-height) - 40px));padding:clamp(30px,5vw,64px);border-radius:30px}
.assistant-intro{display:none}
.assistant-heading{position:absolute;top:clamp(30px,5vw,64px);left:clamp(30px,5vw,64px);right:clamp(30px,5vw,64px);z-index:2;pointer-events:none}
.assistant-heading h3{max-width:520px;margin:0 0 14px;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.05;letter-spacing:-.045em}
.assistant-heading p{max-width:560px;margin:0;color:#c7d8e6;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.55;text-wrap:wrap}
.assistant-heading-polvo{opacity:calc(1 - var(--assistant-state-progress))}
.assistant-heading-coral{opacity:var(--assistant-state-progress)}
.assistant-functions{position:absolute;top:59%;width:min(34%,360px);z-index:2;transform:translateY(-50%);padding-top:18px;border-top:1px solid #ffffff36;pointer-events:none}
.assistant-functions-polvo{right:clamp(30px,5vw,64px);opacity:var(--assistant-polvo-functions,1)}
.assistant-functions-coral{left:clamp(30px,5vw,64px);opacity:var(--assistant-coral-functions,0)}
.assistant-functions span{display:block;margin:0 0 14px;color:#a9c4df;font-size:.75rem;font-weight:650;letter-spacing:.11em}
.assistant-functions ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.assistant-functions li{position:relative;padding-left:18px;color:var(--ivory);font-size:.95rem;line-height:1.45}
.assistant-functions li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.assistant-phone{--assistant-phone-width:clamp(220px,22vw,320px);left:var(--assistant-inset,clamp(30px,5vw,64px));right:auto;top:59%;bottom:auto;width:var(--assistant-phone-width);transform:translateY(-50%) translateX(var(--assistant-x,0px));transition:none;will-change:transform}
.assistant-screen{inset:4.2% 17.2% 5% 17.2%;padding:0;background:var(--white);border-radius:14% 14% 13% 13% / 6% 6% 5% 5%;color:var(--navy)}
.assistant-screen::before{content:"";position:absolute;top:2.4%;left:50%;width:34%;height:4.3%;transform:translateX(-50%);border-radius:999px;background:#05090d;z-index:2}
.assistant-chat-header{position:absolute;top:8%;left:0;right:0;height:11%;display:flex;align-items:center;gap:6px;padding:0 8%;border-bottom:1px solid #e5ebef;background:var(--white);color:var(--navy);font-size:clamp(.48rem,.58vw,.62rem);line-height:1;z-index:1}
.assistant-chat-header span{display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;margin:0;border-radius:50%;background:var(--sea);color:var(--white);font-size:.48rem;font-weight:700;letter-spacing:0}
.assistant-chat-header strong{font-weight:600;white-space:nowrap}
.assistant-message{left:auto;right:7%;top:28%;width:84%;padding:clamp(7px,.72vw,9px) clamp(8px,.82vw,10px) clamp(14px,1.1vw,16px);border-radius:14px 14px 4px 14px;background:var(--sea);color:var(--white);font-size:clamp(.55rem,.66vw,.67rem);line-height:1.3;box-shadow:0 5px 14px #0b355326}
.assistant-message::after{content:"18:42  ✓✓";position:absolute;right:9px;bottom:5px;color:#c8d9e7;font-size:.48rem;line-height:1;letter-spacing:.01em}
.assistant-message-polvo{top:29%}.assistant-message-coral{top:29%}
.assistant-experiment .assistant-message-polvo{opacity:calc(1 - var(--assistant-state-progress));transform:none}
.assistant-experiment .assistant-message-coral{opacity:var(--assistant-state-progress);transform:none}
.assistant-scroll-note{position:absolute;left:clamp(30px,5vw,64px);bottom:clamp(30px,4vw,48px);margin:0;color:#a9c4df;font-size:.78rem;letter-spacing:.04em;z-index:2}
@media(max-width:720px){
 .assistants-category{margin-top:58px;margin-bottom:26px}
 .assistant-experiment{min-height:164vh;margin:0 0 68px}
 .assistant-stage{top:calc(var(--header-height) + 14px);min-height:calc(100dvh - var(--header-height) - 28px);padding:28px 25px;border-radius:25px}
 .assistant-heading{top:28px;left:25px;right:25px}
 .assistant-heading h3{max-width:none;font-size:1.85rem}
 .assistant-heading p{max-width:none;font-size:.98rem}
 .assistant-functions{top:61%;width:calc(50% - 15px);padding-top:13px}
 .assistant-functions-polvo{right:25px}
 .assistant-functions-coral{left:25px}
 .assistant-functions span{margin-bottom:11px;font-size:.68rem;line-height:1.35;letter-spacing:.08em}
 .assistant-functions ul{gap:10px}
 .assistant-functions li{padding-left:15px;font-size:.875rem;line-height:1.35}
 .assistant-functions li::before{width:5px;height:5px}
 .assistant-phone{--assistant-phone-width:155px;left:var(--assistant-inset,25px);top:61%;width:var(--assistant-phone-width);transform:translateY(-50%) translateX(var(--assistant-x,0px))}
 .assistant-message{width:84%;font-size:.56rem;line-height:1.3}
 .assistant-scroll-note{left:25px;right:25px;bottom:28px;text-align:center;font-size:.7rem}
}

/* Scroll-linked portal: the hero stays fixed while the user rolls through one viewport. */
.hero-scroll{position:relative;background:var(--navy);padding-bottom:var(--portal-space,var(--portal-distance,0px))}
.hero-scroll.portal-enabled .hero{position:sticky;top:var(--header-height);isolation:isolate;background:transparent;overflow:visible}
.hero-scroll.portal-enabled.portal-complete{background:var(--white)}
.hero-scroll.portal-enabled .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);opacity:var(--portal-blue-opacity,1)}
.hero-scroll.portal-enabled .hero-copy{position:relative;z-index:1;opacity:var(--portal-copy-opacity,1)}
.hero-scroll.portal-enabled .hero-art{position:relative;z-index:2}
.hero-scroll.portal-enabled .hero-art img{will-change:transform,opacity;z-index:10}

.hero-scroll.portal-enabled .hero.portal-active .hero-art img{
 position:fixed;
 left:50%;
 top:calc(var(--header-height) + (100dvh - var(--header-height)) / 2);
 z-index:30;
 max-width:none;
}
.hero-scroll.portal-enabled .hero.portal-active .hero-art{position:static}
.hero-scroll.portal-enabled + .essence{position:relative;background:var(--white);margin-top:calc(var(--hero-panel-height, 0px) * -1)}
.hero-scroll.portal-enabled.portal-reverse-locked + .essence{z-index:5;transform:none;will-change:auto;transition:none}
.hero-scroll.portal-enabled.portal-reverse-locked{background:var(--white)}
.hero-scroll.portal-enabled.portal-reverse-locked .hero{position:relative;top:auto}
.hero-scroll.portal-retired{background:var(--navy)}
.hero-scroll.portal-retired .hero{position:static;transform:translateY(var(--portal-distance, 0px));transition:none}
.hero-scroll.portal-retired.portal-reverse-locked + .essence{transform:translateY(var(--return-visual-offset, 0px));will-change:transform;transition:none}

/* Portal layer: fixed visual layer, never part of document flow. */
.hero-scroll{padding-bottom:0}
.hero-scroll.portal-enabled .hero{position:relative;top:auto;isolation:isolate;background:var(--navy);overflow:hidden}
.hero-scroll.portal-enabled + .essence{margin-top:0}
.hero-scroll,.hero-scroll .hero{background:var(--navy)}
.essence{scroll-margin-top:var(--header-height)}
.hero-scroll.portal-retired .hero{position:relative;transform:none}
.shell-portal{position:fixed;inset:var(--portal-layer-top, 78px) 0 0;z-index:15;display:grid;place-items:center;background:var(--navy);opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}
.shell-portal.is-active{opacity:1;visibility:visible}
.shell-portal img{width:clamp(190px,38vw,520px);max-width:none;transform-origin:50% 50%;will-change:transform}
.principles article{background:#eaf0f5}
.service-grid .service{background:#e8eef3;color:var(--navy)}
.service-grid .card-top{color:var(--sea)}
.service-grid .service p,
.service-grid .plan-price span,
.service-grid .detail-content ul{color:var(--muted)}
.service-grid .more{color:var(--sea)}
.service-grid .solution-details,
.service-grid .card-footer{border-color:var(--line)}
.service-grid .solution-details summary::after{background:var(--white);color:var(--navy)}
.hero-scroll.portal-complete,.hero-scroll.portal-complete .hero{background:var(--white)}
.hero-scroll.portal-complete .hero::before{opacity:0!important}
.hero-scroll.portal-complete .hero-copy,.hero-scroll.portal-complete .hero-art,.hero-scroll.portal-complete .hero-bottom{opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){
 .hero-scroll{padding-bottom:0}
 .hero-scroll.portal-enabled .hero{position:static}
 .hero-scroll .hero-copy,.hero-scroll .hero-art img,.hero-scroll .hero::before{opacity:1!important}
}

/* Production: retain the measured element without the internal review notice. */
.review-bar[hidden]{display:none}

/* Strategic flow — a calm, scroll-led explanation of the LABEL method. */
.strategy{--strategy-progress:0;background:var(--navy);color:var(--ivory);overflow:clip}
.strategy.section{padding:110px 0 0}
.strategy-heading{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:clamp(36px,7vw,110px);align-items:start;padding-bottom:clamp(54px,7vw,90px)}
.strategy-heading>.eyebrow{margin-top:10px;color:var(--blue)}
.strategy-heading h2{max-width:760px}
.strategy-heading .intro{max-width:650px;margin-top:26px;color:#c8d7e3}
.strategy-journey{position:relative;min-height:315vh}
.strategy-stage{position:sticky;top:var(--header-height);display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:calc(100dvh - var(--header-height));min-height:610px;padding-top:clamp(32px,5vh,58px);padding-bottom:clamp(26px,4vh,46px);background:var(--navy)}
.strategy-progress{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;isolation:isolate}
.strategy-progress-line{position:absolute;left:10%;right:10%;top:18px;height:1px;background:#ffffff24;z-index:-1}
.strategy-progress-line span{display:block;width:calc(var(--strategy-progress) * 100%);height:100%;background:var(--blue);transition:width .45s cubic-bezier(.22,.75,.22,1)}
.strategy-tab{display:grid;justify-items:center;gap:11px;padding:0 5px;background:transparent;color:#8199ac;text-align:center;transition:color .3s ease}
.strategy-tab>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff35;border-radius:50%;background:var(--navy);font-size:.75rem;font-weight:600;letter-spacing:.05em;transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease}
.strategy-tab>strong{font-size:.8rem;font-weight:550;letter-spacing:.01em}
.strategy-tab:hover,.strategy-tab.is-active,.strategy-tab.is-complete{color:var(--ivory)}
.strategy-tab.is-complete>span{border-color:#86a6c4;background:#163f5e;color:var(--ivory)}
.strategy-tab.is-active>span{border-color:var(--ivory);background:var(--ivory);color:var(--navy);transform:scale(1.08)}
.strategy-panels{position:relative;min-height:370px;margin-top:clamp(30px,5vh,64px)}
.strategy-panel{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(190px,.62fr);gap:clamp(40px,7vw,110px);align-items:center;opacity:0;visibility:hidden;transform:scale(.985);transition:opacity .38s ease,transform .38s ease,visibility 0s linear .38s}
.strategy-panel.is-active{opacity:1;visibility:visible;transform:scale(1);transition-delay:0s}
.strategy-kicker{margin-bottom:16px;color:var(--blue);font-size:.75rem;font-weight:650;letter-spacing:.11em;text-transform:uppercase}
.strategy-copy h3{max-width:680px;font-size:clamp(2.2rem,4.1vw,4.3rem);font-weight:620;line-height:1.05;letter-spacing:-.055em}
.strategy-copy>p:last-child{max-width:610px;margin-top:24px;color:#c8d7e3;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.6}
.strategy-outcome{align-self:end;padding:22px 0 4px;border-top:1px solid #ffffff35}
.strategy-outcome span{display:block;margin-bottom:9px;color:#9fb7d2;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.strategy-outcome strong{display:block;font-size:1.05rem;font-weight:550;line-height:1.35;letter-spacing:-.02em}
.strategy-note{display:flex;align-items:center;gap:10px;color:#8ea6ba;font-size:.75rem;letter-spacing:.04em}
.strategy-note span{display:inline-grid;place-items:center;width:27px;height:27px;border:1px solid #ffffff2e;border-radius:50%;font-size:.85rem}
@media(max-width:900px){
 .strategy-heading{grid-template-columns:1fr;gap:14px}
 .strategy-heading>.eyebrow{margin-top:0}
 .strategy-panel{grid-template-columns:minmax(0,1fr) minmax(190px,.5fr);gap:34px}
 .strategy-outcome{grid-column:2;align-self:start;max-width:300px}
}
@media(max-width:720px){
 .strategy.section{padding-top:72px}
 .strategy-heading{text-align:center;justify-items:center;padding-bottom:54px}
 .strategy-heading .intro{margin-top:20px;font-size:1rem}
 .strategy-journey{min-height:285vh}
 .strategy-stage{min-height:calc(100dvh - var(--header-height));padding-top:26px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .strategy-progress{gap:2px}
 .strategy-progress-line{left:10%;right:10%;top:16px}
 .strategy-tab{gap:8px;padding:0 1px}
 .strategy-tab>span{width:32px;height:32px;font-size:.67rem}
 .strategy-tab>strong{font-size:.68rem;line-height:1.15;letter-spacing:-.02em}
 .strategy-panels{min-height:440px;margin-top:34px}
 .strategy-panel{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:0;align-items:start}
 .strategy-copy{position:relative;z-index:1;padding-top:28px}
 .strategy-kicker{max-width:70%;margin-bottom:14px;font-size:.7rem;line-height:1.5}
 .strategy-copy h3{max-width:92%;font-size:clamp(2rem,8.2vw,2.75rem);line-height:1.08}
 .strategy-copy>p:last-child{max-width:96%;margin-top:20px;font-size:1rem;line-height:1.6}
 .strategy-outcome{grid-column:1;align-self:end;width:100%;padding-top:17px}
 .strategy-outcome strong{font-size:1rem}
 .strategy-note{justify-content:center;font-size:.7rem}
}
@media(max-width:390px){
 .strategy-tab>strong{font-size:.62rem}
 .strategy-panels{min-height:460px}
 .strategy-copy h3{font-size:1.95rem}
}
@media(prefers-reduced-motion:reduce){
 .strategy-journey{min-height:auto}
 .strategy-stage{position:relative;top:auto;height:auto;min-height:610px;padding-block:42px}
 .strategy-progress{margin-bottom:34px}
 .strategy-panels{margin:0}
 .strategy-panel{transform:none;transition:none}
 .strategy-note{display:none}
}
