:root{--red:#d0333c;--navy:#0a3552;--ink:#142e41;--muted:#536573;--paper:#f3f6f7;--line:#d6dfe4;--ease:cubic-bezier(.2,.65,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:Quicksand,Arial,sans-serif;font-size:1rem;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p+p{margin-top:1rem}h1,h2,h3{line-height:1.15;letter-spacing:-.045em}h2{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:600}h3{font-weight:700;font-size:1.2rem;letter-spacing:-.025em}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #22749c;outline-offset:5px}section{scroll-margin-top:95px}[hidden]{display:none!important}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;margin-bottom:24px}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:13px 23px;border:1px solid transparent;border-radius:5px;font-weight:700;font-size:.9rem;line-height:1.4;transition:background .2s,transform .2s}.btn span{font-size:1.25rem}.btn-red{background:var(--red);color:#fff}.btn-dark{background:var(--navy);color:#fff}.text-link{display:inline-flex;align-items:center;gap:16px;font-weight:700;font-size:.9rem;min-height:44px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#afbbc3}.text-link span{font-size:1.3rem}.lead{font-size:1.1rem;line-height:1.7;color:var(--muted)}.skip-link{position:fixed;top:8px;left:16px;z-index:100;padding:12px 20px;background:var(--navy);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;gap:28px;min-height:88px}.logo{margin-right:auto;flex-shrink:0}.logo img{width:160px;height:auto}.nav{display:flex;gap:28px;font-size:.9rem;font-weight:700}.nav a{padding-block:15px;border-bottom:2px solid transparent}.nav a[aria-current]{border-color:var(--red);color:var(--red)}.header-cta{margin-left:16px}.hamburger{display:none;background:none;border:1px solid var(--line);border-radius:4px;min-width:46px;min-height:46px;padding:12px}.hamburger span{display:block;height:2px;width:20px;background:var(--navy);margin:5px 0;transition:transform .2s}.hamburger[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.hamburger[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{border-top:1px solid var(--line);padding:10px 24px 20px;background:#fff;max-height:calc(100dvh - 76px);overflow:auto}.mobile-menu a{display:block;padding:12px 4px;font-weight:700}
.hero{background:var(--paper);overflow:clip}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding-block:45px 40px}.hero-copy{padding:20px 0}.hero .eyebrow{font-size:.72rem;display:flex;align-items:center;gap:9px}.red-dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}h1{font-size:clamp(3.8rem,6.2vw,6rem);line-height:1.02;font-weight:600;letter-spacing:-.065em}h1>span{color:var(--red)}.hero .lead{margin-top:28px;max-width:43ch}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}.hero-proof{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;display:flex;align-items:center;gap:24px}.hero-proof strong{font-size:2.6rem;font-weight:500;line-height:1}.hero-proof strong span{display:block;font-size:.8rem;font-weight:600;margin-top:10px;letter-spacing:0}.hero-proof p{font-size:.8rem;color:var(--muted);line-height:1.5}.proof-divider{height:42px;width:1px;background:var(--line)}.hero-visual{height:590px;position:relative;overflow:hidden;border-radius:4px 4px 50px 4px;background:#284451}.hero-visual img{width:100%;height:calc(100% + 64px);max-width:none;object-fit:cover;position:absolute;top:-32px;transform:translateY(var(--photo-shift,0px));object-position:center 48%}.hero-visual:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(4,24,37,.8));pointer-events:none}.hero-visual figcaption{position:absolute;bottom:30px;left:30px;right:30px;color:#fff;z-index:1;display:flex;flex-direction:column;gap:6px;font-size:1.5rem;font-weight:600}.image-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.photo-index{position:absolute;top:25px;left:25px;color:#fff;padding:6px 10px;background:rgba(10,53,82,.85);font-size:.68rem;letter-spacing:.13em}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-block:20px;font-size:.8rem;color:var(--muted);font-weight:600}.hero-bottom a{display:flex;gap:30px}
.solutions-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.section-heading>p:not(.eyebrow){margin-top:24px;color:var(--muted);max-width:35ch}.section-heading>.text-link{margin-top:24px}.sector{border-top:1px solid var(--line)}.sector:last-child{border-bottom:1px solid var(--line)}summary{list-style:none}summary::-webkit-details-marker{display:none}.sector summary{display:grid;grid-template-columns:32px 1fr 32px;gap:18px;align-items:start;padding:26px 0}.index{font-size:.75rem;color:var(--red);padding-top:5px;font-weight:700}.sector summary strong{font-size:1.4rem;letter-spacing:-.03em;line-height:1.3;display:block}.sector-subtitle{display:block;color:var(--muted);font-size:.88rem;margin-top:8px}.expand{font-size:1.8rem;line-height:1;transition:transform .25s}.sector[open] .expand{transform:rotate(45deg);color:var(--red)}.sector-detail{padding:0 45px 28px 50px;color:var(--muted);font-size:.95rem}.sector-detail p+p{margin-top:10px}.sector-detail .text-link{margin-top:14px;color:var(--ink)}.sector[open] .sector-detail{animation:detail-in .25s var(--ease)}@keyframes detail-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.process{background:var(--navy);color:#fff}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-top>p{font-size:.95rem;color:var(--muted);max-width:35ch}.process .eyebrow{color:#a9c3d2}.process .section-top>p{color:#bbced9}.process-list{padding:0;margin:60px 0 0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}.process-list:before,.process-list:after{content:"";position:absolute;top:22px;left:0;width:100%;height:1px;background:#49687c}.process-list:after{background:#ed6269;height:2px;transform:scaleX(var(--process-progress,1));transform-origin:left}.process-list li{position:relative;padding-right:30px}.process-number{display:flex;position:relative;z-index:1;width:46px;height:46px;align-items:center;justify-content:center;background:var(--navy);border:1px solid #688394;border-radius:50%;color:#c2d3de;font-size:.8rem;margin-bottom:30px;transition:background .3s,border-color .3s}.process-list li.is-current .process-number{background:var(--red);border-color:var(--red);color:#fff}.process-list h3{font-size:1.15rem;letter-spacing:-.03em;margin-bottom:16px}.process-list p{color:#bbced9;font-size:.9rem;line-height:1.75}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-visual{position:relative;overflow:hidden;border-radius:4px 4px 4px 40px}.about-visual img{height:460px;width:100%;object-fit:cover}.about-visual figcaption{font-size:.72rem;background:var(--paper);padding:15px 20px;color:var(--muted);letter-spacing:.03em}.about .lead{margin-block:24px 16px}.about-grid>div>p:not(.eyebrow){color:var(--muted)}.about-detail{margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-detail summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;font-weight:700;font-size:.9rem}.about-detail p{padding-bottom:20px;color:var(--muted);font-size:.95rem}.certification{margin-top:75px;padding-top:36px;border-top:1px solid var(--line)}.certification-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.certification-heading p{font-size:.88rem;color:var(--muted)}.cert-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:20px;margin-top:32px}.cert-grid>div{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:14px;min-width:0}.cert-grid img{height:58px;max-width:100%;object-fit:contain}.cert-grid span{text-align:center;font-size:.72rem;color:var(--muted)}
.quote-section{background:var(--paper)}.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.quote-heading{position:sticky;top:130px}.quote-heading h2 span{color:var(--red)}.quote-heading>p:not(.eyebrow){color:var(--muted);margin-top:25px;max-width:36ch}.quote-note{margin-top:35px;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:20px}.quote-note>span{font-size:2.2rem;color:var(--red);line-height:1.2}.quote-note strong{display:block;font-size:.9rem}.quote-note a{display:block;font-size:1.4rem;margin-top:7px;font-weight:600}.quote-note small{display:block;color:var(--muted);font-size:.75rem}.quote-heading .quote-explainer{font-size:.85rem}.quote-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px;min-width:0;box-shadow:0 12px 30px #0a355208}.required-note{font-size:.75rem;color:var(--muted);margin-bottom:20px}.form-progress{display:none;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:30px}.form-progress button{background:none;border:0;border-bottom:2px solid var(--line);padding:0 0 12px;text-align:left;font-size:.8rem;font-weight:700;min-height:52px}.form-progress button>span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:4px}.form-progress button[aria-current=step]{border-color:var(--red);color:var(--red)}.form-progress button:disabled{cursor:default;color:#697a85}.form-progress button:disabled>span{color:#697a85}.form-enhanced .form-progress{display:grid}.quote-step{display:grid;gap:16px;margin-bottom:28px;scroll-margin-top:110px}.form-enhanced .quote-step{margin-bottom:0}.step-title{font-size:1.4rem;line-height:1.25;letter-spacing:-.03em;scroll-margin-top:120px}.step-title:focus{outline:none}.step-intro{font-size:.9rem;color:var(--muted);margin:0 0 4px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.testimonial-form label{font-size:.85rem;font-weight:700;line-height:1.5}.field input,.field select,.field textarea,.testimonial-form input,.testimonial-form textarea{width:100%;min-height:48px;padding:11px 12px;background:#fff;color:var(--ink);border:1px solid #adbcc6;border-radius:4px;font-size:1rem;line-height:1.5}.field select{padding-right:28px}.field textarea{resize:vertical}.field input:disabled{background:var(--paper);color:var(--muted)}.field input::placeholder,.field textarea::placeholder{color:#657582;font-size:.9rem;opacity:1}.field-error{font-size:.8rem;line-height:1.4;color:#b0212b}.field-error:empty{display:none}[aria-invalid=true]{border-color:#b0212b!important}.field-row-2,.field-row-3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field-row-3{grid-template-columns:1fr}.check-field{display:flex;align-items:center;gap:10px;font-size:.9rem;padding-block:8px;cursor:pointer}.check-field input{width:20px;height:20px;accent-color:var(--red)}.field-help,.upload-links{font-size:.8rem;color:var(--muted);margin:0}.upload-links a{text-decoration:underline;text-underline-offset:3px}.step-next,.step-prev{display:none}.form-enhanced .step-next,.form-enhanced .step-prev{display:inline-flex}.step-actions{display:flex;gap:12px;margin-top:10px}.step-actions .btn{flex:1}.step-actions .btn-dark{background:white;color:var(--ink);border-color:var(--line)}.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.form-status{font-size:.9rem;margin-top:16px;font-weight:700;scroll-margin-top:110px}.form-status:empty{display:none}.form-status.success{color:#206d43}.form-status.error{color:#b0212b}.sim-footnote{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.request-review:empty{display:none}.request-review{padding:18px;background:var(--paper);border-radius:4px}.review-group+.review-group{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.review-group header{display:flex;align-items:center;justify-content:space-between;gap:20px}.review-group h4{margin:0;font-size:.9rem}.review-group button{border:0;background:none;text-decoration:underline;min-height:44px;font-size:.8rem;padding:6px}.review-group dl{margin:4px 0 0;font-size:.8rem}.review-group dl>div{display:flex;justify-content:space-between;gap:15px;padding-block:4px}.review-group dt{color:var(--muted)}.review-group dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:60%}
.contacts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.contacts-grid article{border-top:1px solid var(--line);padding-top:24px;min-width:0}.contact-title{display:flex;flex-direction:column;gap:18px;font-size:1.1rem;margin-bottom:18px}.contact-icon{display:flex;width:36px;height:36px;color:var(--red)}.contact-icon svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contacts-grid p{font-size:.85rem;color:var(--muted);margin:6px 0;overflow-wrap:anywhere}.contacts-grid a{font-weight:700;color:var(--ink)}.contacts-grid .text-link{font-size:.85rem}.testimonial-disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:55px}.testimonial-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:.9rem;font-weight:700}.testimonial-form{max-width:620px;display:grid;gap:10px;padding-bottom:28px}.testimonial-form .btn{justify-self:start;margin-top:10px}.footer{background:var(--navy);color:#fff;padding-block:45px 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-top img{width:170px;height:auto}.footer-top p{font-size:.9rem;color:#bfced8;line-height:1.6}.footer-top .text-link{font-size:.8rem}.footer-bottom{border-top:1px solid #446277;display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:20px;font-size:.75rem;color:#bfced8}.footer-bottom small{font-size:inherit}.mobile-sticky-cta{display:none}
@media(hover:hover) and (pointer:fine){.btn-red:hover{background:#b82530;transform:translateY(-1px)}.text-link:hover{text-decoration-color:var(--red);color:var(--red)}.nav a:hover{color:var(--red)}summary:hover .expand{color:var(--red)}.footer .text-link:hover{color:#fff}.btn-dark:hover{background:#154967}}
/* Keep the photograph visible before, during and without observer callbacks. */
@media(min-width:761px) and (prefers-reduced-motion:no-preference){.reveal-image.is-visible img{animation:photo-settle .85s var(--ease)}}
@keyframes photo-settle{from{transform:scale(1.035);opacity:.85}to{transform:scale(1);opacity:1}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.nav{gap:18px}.nav-wrap{gap:20px}.header-cta{margin-left:0;padding-inline:16px;gap:12px}.hero-grid{gap:30px}.hero-visual{height:540px}.hero-proof{margin-top:28px}.solutions-grid{gap:45px}.about-grid{gap:40px}.quote-grid{gap:35px}.quote-panel{padding:26px}.cert-grid{gap:16px}.cert-grid img{max-width:110px}h1{font-size:clamp(3.6rem,6.4vw,5rem)}}
@media(max-width:900px){.nav{display:none}.hamburger{display:block}.header-cta{margin-left:auto}.logo{margin-right:0}.nav-wrap{min-height:76px}.hero-grid{grid-template-columns:1fr 1fr}.hero-visual{height:530px}.hero .eyebrow{font-size:.65rem;letter-spacing:.07em}h1{font-size:3.5rem}.hero-actions{gap:14px}.hero-actions .text-link{font-size:.85rem}.hero-proof{gap:20px}.hero-proof strong{font-size:2rem}.quote-grid{grid-template-columns:.7fr 1fr;gap:25px}.quote-panel{padding:22px}.form-progress{gap:5px}.form-progress button{font-size:.74rem}.contacts-grid{grid-template-columns:1fr 1fr;row-gap:32px}.cert-grid{grid-template-columns:repeat(3,1fr);row-gap:28px}.certification-heading{align-items:start}.process-list li{padding-right:18px}.process-list h3{font-size:1rem}.process-list p{font-size:.85rem}}
@media(max-width:760px){html{scroll-padding-top:88px}.container{width:calc(100% - 40px)}.section{padding-block:64px}.nav-wrap{gap:12px}.logo img{width:132px}.header-cta{font-size:.78rem;min-height:44px;padding:10px 13px;gap:8px}.header-cta>span{display:none}.hero-grid{grid-template-columns:1fr;gap:30px;padding-top:30px;padding-bottom:26px}.hero-copy{padding:0}.hero .eyebrow{font-size:.65rem;margin-bottom:20px;letter-spacing:.08em}h1{font-size:clamp(3.2rem,11.5vw,5rem)}.hero .lead{max-width:42ch;font-size:1rem;margin-top:22px}.hero-actions{margin-top:24px;gap:20px}.hero-proof{margin-top:28px;padding-top:20px;gap:28px}.hero-proof strong{font-size:2.2rem}.hero-visual{height:380px;border-bottom-right-radius:36px}.hero-visual img{object-position:center 55%}.hero-visual figcaption{left:22px;bottom:22px;font-size:1.4rem}.photo-index{top:18px;left:18px}.hero-bottom{font-size:.72rem}.hero-bottom>span{display:none}.hero-bottom a{justify-content:space-between;width:100%}.solutions-grid,.about-grid,.quote-grid{grid-template-columns:1fr;gap:32px}.eyebrow{margin-bottom:18px}.section-heading>p:not(.eyebrow){max-width:100%}.sector summary{grid-template-columns:25px 1fr 24px;gap:12px;padding-block:23px}.sector summary strong{font-size:1.25rem}.sector-subtitle{font-size:.85rem}.sector-detail{padding-left:37px;padding-right:10px}.section-top{display:block;margin-bottom:32px}.section-top>p{margin-top:22px}.process-list{grid-template-columns:1fr;margin-top:35px;gap:30px}.process-list:before,.process-list:after{top:0;left:22px;height:100%;width:1px}.process-list:after{width:2px;transform:scaleY(var(--process-progress,1));transform-origin:top}.process-list li{padding-left:70px;padding-right:0;min-height:115px}.process-number{position:absolute;left:0;top:0}.process-list h3{font-size:1.15rem;padding-top:10px;margin-bottom:14px}.process-list p{font-size:.95rem;max-width:45ch}.about-visual img{height:330px}.about-grid{gap:34px}.about-grid>div{order:-1}.certification{margin-top:42px;padding-top:28px}.certification-heading{display:block}.certification-heading p{margin-top:12px}.cert-grid{gap:24px 10px}.cert-grid img{height:45px;max-width:90px}.cert-grid span{font-size:.65rem}.quote-heading{position:static}.quote-heading>p:not(.eyebrow){max-width:100%}.quote-note{margin-top:25px;padding-top:22px}.quote-panel{padding:24px 20px}.form-progress button{font-size:.76rem}.field-row-2{gap:10px}.field-row-2 label{font-size:.8rem}.contacts-grid{gap:28px 18px}.contacts-grid h3{font-size:1rem}.contacts-grid p{font-size:.82rem}.contact-title{gap:12px}.testimonial-disclosure{margin-top:35px}.footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.footer-top{flex-wrap:wrap;gap:26px}.footer-top p{font-size:.85rem}.footer-bottom{flex-direction:column;gap:10px}.mobile-sticky-cta{display:grid;grid-template-columns:.6fr 1fr;gap:8px;position:fixed;bottom:0;left:0;right:0;z-index:35;background:#fff;border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom))}.mobile-sticky-cta .btn{min-height:44px;font-size:.85rem}.quote-in-view .mobile-sticky-cta{display:none}body:has(input:focus) .mobile-sticky-cta,body:has(textarea:focus) .mobile-sticky-cta,body:has(select:focus) .mobile-sticky-cta{display:none}}
@media(max-width:360px){.container{width:calc(100% - 28px)}.nav-wrap{gap:8px}.logo img{width:110px}.header-cta{font-size:.72rem;padding-inline:10px}h1{font-size:3rem}.hero-actions{gap:8px}.hero-actions .btn{padding-inline:16px}.hero-proof{gap:22px}.quote-panel{padding-inline:14px}.form-progress button{font-size:.7rem}.field-row-2{grid-template-columns:1fr}.contacts-grid{grid-template-columns:1fr}.cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-visual img{transform:none!important}.reveal-image{clip-path:none!important}.process-list:after{transform:none!important}}

/* A photograph per sector; the first has a single reveal inspired by label release. */
.sector-photo{margin:0 0 22px;border-radius:4px;overflow:hidden;background:var(--paper)}.sector-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}.sector-photo figcaption{font-size:.75rem;padding:10px 13px;color:var(--muted)}.sector[open] .sector-detail{animation:none}.sector.is-animating{overflow:hidden}.sector[open] .peel-photo.is-revealing img{animation:label-release .7s var(--ease) both}@keyframes label-release{from{clip-path:polygon(0 0,0 0,0 0,0 0)}35%{clip-path:polygon(0 0,65% 0,24% 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
.process-detail{margin-top:20px;border-top:1px solid #49687c}.process-detail summary{font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;min-height:48px}.process-detail summary span{font-size:1.2rem}.process-detail[open] summary span{transform:rotate(45deg)}.process-detail>div{padding:2px 0 14px}.process-detail strong{display:block;font-size:.875rem;margin-bottom:8px;color:#fff}.process-detail>div p{font-size:.875rem;color:#d2dfe7}.process-detail summary:focus-visible{outline-color:#fff}
.quote-heading{position:relative;top:auto;align-self:stretch}.quote-heading .quote-explainer{margin-top:16px;margin-bottom:25px}.quote-note{margin-top:22px;padding-top:18px}.quote-note strong{font-size:.875rem}.quote-note a{font-size:1.15rem}.live-project{position:sticky;top:108px;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.live-project>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:52px;padding:14px 20px;font-size:.95rem;font-weight:700}.summary-toggle{font-size:1.4rem;font-weight:500;line-height:1;transition:transform .2s}.live-project[open] .summary-toggle{transform:rotate(45deg)}.live-project-body{padding:0 20px 20px}.label-preview{background:var(--paper);border:1px solid #e4e9ed;border-radius:3px;overflow:hidden}.label-preview svg{display:block;width:100%;height:150px}.preview-guide{stroke:#a6b7c3;stroke-width:1;fill:none}.label-outline{fill:#fff;stroke:var(--red);stroke-width:1.5;vector-effect:non-scaling-stroke;transition:x .24s var(--ease),y .24s var(--ease),width .24s var(--ease),height .24s var(--ease),rx .24s var(--ease),ry .24s var(--ease)}.label-outline.is-unspecified{stroke-dasharray:5 4;stroke:#778d9c}.label-preview figcaption{padding:0 15px 16px;text-align:center;display:grid;gap:4px}.label-preview figcaption strong{font-size:.875rem}.label-preview figcaption span{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.preview-note{font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:12px}.preview-note.has-conflict{color:#ad2630;font-weight:700}.live-summary{margin:14px 0 0;border-top:1px solid var(--line);font-size:.8rem}.live-summary>div{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #e8edf0}.live-summary dt{color:var(--muted)}.live-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.form-progress button.is-complete{border-color:#567f6a}.form-progress button.is-complete>span:after{content:' ✓';color:#326749}
@media(max-width:1100px){.live-project-body{padding-inline:16px}.live-summary>div{grid-template-columns:65px 1fr;gap:8px}}
@media(max-width:760px){.live-project{position:static;margin-bottom:24px;top:auto}.live-project>summary{font-size:.875rem;padding-inline:16px}.label-preview svg{height:140px}.quote-heading .quote-explainer{margin-bottom:0}.sector-photo{margin-bottom:18px}.sector-detail{padding-right:0}.process-detail{max-width:45ch}.process-detail summary{justify-content:flex-start;gap:20px}.live-project-body{padding-bottom:16px}}
@media(prefers-reduced-motion:reduce){.sector[open] .peel-photo.is-revealing img{animation:none}.label-outline,.summary-toggle{transition:none}}

/* User-controlled inspection of illustrative application concepts. */
.sector-photo figcaption{display:grid;gap:5px}.concept-credit{font-size:.7rem;color:var(--muted);line-height:1.5}.concept-view{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding:8px 0;min-height:44px;border:0;background:transparent;color:var(--ink);font-weight:700;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;text-align:left}.concept-view span{font-size:1.2rem}.concept-dialog{width:min(1100px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);overflow:auto;overscroll-behavior:contain}.concept-dialog::backdrop{background:rgba(4,23,37,.78)}.concept-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;position:sticky;top:0;background:#fff;z-index:1}.concept-dialog h2{font-size:1.2rem;letter-spacing:-.025em}.concept-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:1.3rem}.concept-dialog img{width:100%;max-height:65dvh;object-fit:contain;background:var(--paper);aspect-ratio:3/2}.concept-dialog-footer{padding:18px 22px;font-size:.875rem;line-height:1.65;color:var(--muted)}.concept-dialog-footer strong{display:block;color:var(--ink);margin-bottom:4px}.concept-dialog[open]{animation:concept-open .2s var(--ease)}@keyframes concept-open{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}html:has(.concept-dialog[open]){overflow:hidden}
@media(max-width:760px){.concept-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.concept-dialog-header,.concept-dialog-footer{padding:14px 16px}.concept-dialog h2{font-size:1.05rem}.concept-dialog img{max-height:60dvh}.concept-credit{font-size:.75rem}}

/* Scroll-led editorial direction: natural vertical scrolling, enhanced progressively. */
.material-ribbon{overflow:clip;background:var(--red);color:#fff;padding:30px 0 26px}.ribbon-intro,.ribbon-caption{display:block;width:min(1240px,calc(100% - 96px));margin:auto;font-size:.8rem;font-weight:600;letter-spacing:.04em}.ribbon-track{display:flex;gap:3vw;white-space:nowrap;font-size:clamp(3rem,8.5vw,9rem);letter-spacing:-.055em;line-height:1.2;font-weight:700;padding-block:15px;margin:0;width:max-content;transform:translateX(var(--ribbon-x,0px))}.ribbon-track span:nth-child(2){color:var(--navy)}.ribbon-caption{text-align:right;opacity:.85}.story-aside{min-width:0}.story-stage{margin-top:30px}.story-scenes{position:relative;aspect-ratio:3/2;background:var(--paper);overflow:hidden;border-radius:5px 5px 40px 5px}.story-scene{position:absolute;inset:0;opacity:0;transform:translateY(30px) rotate(2deg);transition:opacity .45s var(--ease),transform .6s var(--ease)}.story-scene:first-child{opacity:1}.story-scene.is-active{opacity:1;transform:none;z-index:2}.story-scene.is-past{opacity:0;transform:translateY(-25px) rotate(-2deg)}.story-scene img{width:100%;height:100%;object-fit:cover;transform:translateY(var(--scene-shift,0px)) scale(1.1)}.story-meter{display:flex;justify-content:space-between;position:relative;gap:20px;font-size:.75rem;letter-spacing:.05em;padding:18px 0;color:var(--muted);border-bottom:1px solid var(--line)}.story-meter>span:first-child{color:var(--red);font-weight:700}.story-meter-line{position:absolute;height:2px;background:var(--red);left:0;bottom:-1px;width:100%;transform:scaleX(var(--story-progress,.333));transform-origin:left;transition:transform .4s}.story-desktop .solutions{padding-top:55px;padding-bottom:55px}.story-desktop .solutions-grid{grid-template-columns:1.05fr .95fr;gap:100px;align-items:start}.story-desktop .story-aside{position:sticky;top:112px}.story-desktop .section-heading h2{font-size:clamp(2rem,3vw,3rem)}.story-desktop .section-heading>p:not(.eyebrow){max-width:44ch;margin-top:14px;font-size:.9rem}.story-desktop .section-heading>.text-link{margin-top:10px}.story-desktop .section-heading .eyebrow{margin-bottom:14px}.story-desktop .sector{min-height:78vh;display:flex;flex-direction:column;justify-content:center;border:0;padding:50px 0;position:relative}.story-desktop .sector:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}.story-desktop .sector summary{grid-template-columns:1fr 24px;position:relative;padding:20px 0}.story-desktop .sector .index{grid-column:1/-1;font-size:3.8rem;line-height:1;letter-spacing:-.06em;font-weight:500;opacity:.3;transition:opacity .3s}.story-desktop .sector.is-story-current .index{opacity:1}.story-desktop .sector summary strong{font-size:2.25rem;line-height:1.15}.story-desktop .sector-subtitle{font-size:1rem;margin-top:16px}.story-desktop .sector-detail{padding:0;font-size:1rem}.story-desktop .sector-photo{background:transparent;overflow:visible;margin-bottom:20px}.story-desktop .sector-photo>img{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.story-desktop .sector-photo figcaption{padding:0}.story-desktop .concept-view{max-width:210px}.story-desktop .sector-detail>p{color:var(--muted)}.scroll-experience .hero-visual{transform:perspective(1200px) rotateY(var(--hero-turn,0deg));border-bottom-right-radius:var(--hero-corner,50px)}.scroll-experience .hero-visual img{transform:translateY(var(--photo-shift,0px)) scale(var(--hero-scale,1))}.scroll-experience .hero-copy{transform:translateY(var(--copy-shift,0px))}.scroll-experience .site-header:after{content:'';position:absolute;bottom:-1px;left:0;height:2px;background:var(--red);width:100%;transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}.process{position:relative;overflow:clip;isolation:isolate}.process:before{content:'';position:absolute;z-index:-1;inset:-70px 0;background:linear-gradient(90deg,rgba(10,53,82,.94),rgba(10,53,82,.76)),url('./assets/images/optimized/sobre-1200.webp') center/cover no-repeat;transform:translateY(var(--production-shift,0px))}.process .process-number{width:auto;height:auto;display:block;background:none;border:0;border-radius:0;color:#a4bdcd;font-size:3rem;line-height:1;letter-spacing:-.06em;margin-bottom:35px}.process .process-list:before,.process .process-list:after{top:64px}.process .process-list li.is-current .process-number{background:none;color:#fff;border:0}.process .process-list h3{font-size:1.3rem}.scroll-experience .process-list li{transform:translateY(var(--process-rise,0px))}.process .process-list{gap:16px}.process .process-detail{background:rgba(10,53,82,.75);padding-inline:12px}
@media(max-width:1099px){.story-stage{display:none!important}.solutions-grid{gap:40px}.ribbon-intro,.ribbon-caption{width:calc(100% - 40px)}.ribbon-track{font-size:10vw}.sector-photo img{transition:none}.scroll-experience .sector-photo>img{transform:scale(var(--mobile-photo-scale,1));transform-origin:center}.sector-photo{overflow:hidden}}
@media(max-width:760px){.material-ribbon{padding-block:24px}.ribbon-intro,.ribbon-caption{font-size:.7rem}.ribbon-track{font-size:15vw;gap:5vw;padding-block:20px}.ribbon-caption{text-align:left}.solutions-grid{display:block}.sector-list{margin-top:35px}.sector{padding-block:15px}.sector summary strong{font-size:1.5rem}.sector-detail{padding-left:0}.sector .index{font-size:.875rem}.process .process-list{gap:32px}.process .process-list:before,.process .process-list:after{top:0;left:18px}.process .process-number{font-size:2rem;background:var(--navy);width:42px;padding:5px 0;position:absolute;left:0;top:0}.process .process-list li.is-current .process-number{background:var(--navy)}.process .process-list li{padding-left:65px}.process .process-list h3{font-size:1.2rem}.process .process-detail{padding-inline:0}}
@media(prefers-reduced-motion:reduce){.ribbon-track{transform:none;white-space:normal;flex-wrap:wrap;width:auto;font-size:clamp(2rem,7vw,6rem);padding-inline:20px;gap:0 20px}.hero-copy,.hero-visual,.process:before,.process-list li,.sector-photo>img,.story-scene img{transform:none!important}}

/* Readable static fallback, including browsers without scripting. */
html:not(.scroll-experience) .ribbon-track{transform:none;white-space:normal;flex-wrap:wrap;width:auto;padding-inline:20px;gap:0 20px}

.footer-policies{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:30px;padding-top:22px;border-top:1px solid #446277}.footer-policies a{display:flex;flex-direction:column;justify-content:center;min-height:48px;font-size:.875rem;font-weight:700;padding-block:5px}.footer-policies a>span{font-size:.75rem;color:#bfced8;font-weight:500;margin-top:3px}.footer-policies a:hover{text-decoration:underline;text-underline-offset:4px}.footer-policies a:focus-visible{outline-color:#fff}@media(max-width:760px){.footer-policies{flex-direction:column;gap:14px}}

/* Fit the sticky chapter to the usable viewport instead of disabling it by height. */
.story-desktop .story-aside{top:104px}.story-desktop .story-stage{margin-top:20px}.story-desktop .story-scenes{aspect-ratio:auto;height:clamp(180px,calc(100dvh - 440px),400px)}
@media(min-width:1100px) and (max-height:800px){.story-desktop .section-heading h2{font-size:2.2rem}.story-desktop .section-heading .eyebrow{margin-bottom:10px}.story-desktop .section-heading>p:not(.eyebrow){font-size:.875rem;margin-top:10px}.story-desktop .section-heading>.text-link{margin-top:4px}.story-desktop .story-stage{margin-top:14px}.story-desktop .story-meter{padding-block:12px}.story-desktop .story-scenes{height:clamp(170px,calc(100dvh - 405px),340px)}}
.process:before{background-image:linear-gradient(90deg,rgba(10,53,82,.94),rgba(10,53,82,.76)),var(--process-image,url('./assets/images/optimized/sobre-1200.webp'))}
