@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(assets/fonts/xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--navy:#071b28;--paper:#f4f4ef;--teal:#6dc9c5;--blue:#479fc8;--gold:#f2be31;--ink:#142c36;--muted:#5b6c70;--line:#d4dcda}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:white;z-index:99}.skip:focus{top:15px}header{position:absolute;top:0;left:0;width:100%;z-index:10;height:106px;display:flex;align-items:center;justify-content:space-between;padding:15px 5%;border-bottom:1px solid #ffffff26;color:white}.brand{align-self:stretch;background:#fff;width:84px;display:grid;place-items:center;border-radius:2px}.brand img{width:auto;height:70px}nav{display:flex;gap:36px;align-items:center;font-size:13px}nav a{padding:12px 0}nav a:hover{color:var(--teal)}nav .nav-contact{padding:12px 20px;border:1px solid #ffffff66;border-radius:3px}.nav-contact span{margin-left:35px}.story{height:500svh;background:var(--navy);color:white}.stage{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 77% 54%,#163e4c 0,transparent 47%),var(--navy)}canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.94}.grain{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#071b28e6,transparent 80%),linear-gradient(0deg,#071b2877,transparent 30%)}.hero-top{position:absolute;top:151px;left:5%;right:5%;display:flex;justify-content:space-between}.eyebrow,.section-tag,.edition,.hero-bottom,.catalogue-note{font-size:10px;letter-spacing:1.9px;font-weight:600}.eyebrow i,.section-tag i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);margin-right:9px}.edition{color:#b5c2c7}.chapter{position:absolute;left:8%;right:5%;top:29%;max-width:790px;will-change:opacity,transform}.chapter>.eyebrow{color:var(--teal);margin-bottom:30px}h1,h2{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-4px;line-height:1.08;margin:0}h1{font-size:clamp(60px,6.8vw,112px)}h1 em,h2 em{font-style:normal;color:var(--teal)}.hero-description{font-size:16px;line-height:1.8;color:#c3d0d5;margin:27px 0}.button{display:inline-flex;gap:48px;align-items:center;padding:17px 22px;border-radius:3px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:var(--teal);color:var(--navy)}.light{background:var(--paper);color:var(--navy)}.dark{background:var(--navy);color:white}.hero-bottom{position:absolute;bottom:36px;left:5%;right:5%;display:flex;align-items:center;gap:27px;color:#b7c9cf}.scroll-link{display:flex;align-items:center;gap:14px}.scroll-link:first-letter{font-size:20px}.progress{height:1px;background:#ffffff36;flex:1;margin-left:4vw}.progress span{display:block;width:0;height:2px;background:var(--teal)}.skip-story{font-size:9px;letter-spacing:.3px}.section{padding:90px 8%}.section-tag{display:flex;justify-content:space-between;color:var(--muted);padding-bottom:30px;border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:end;padding:52px 0}h2{font-size:clamp(34px,3.7vw,58px);letter-spacing:-2.3px}h2 span{color:#798b8e}.intro-grid p,p{font-size:15px;line-height:1.8;color:var(--muted)}.solutions{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:50px 1fr 190px 30px;align-items:center;gap:15px;padding:27px 0}summary::-webkit-details-marker{display:none}summary .index{font-size:11px;color:#6c8085}summary h3{font-weight:500;font-size:22px;letter-spacing:-.6px;margin:0}summary .specialty{font-size:11px;color:var(--muted)}summary .plus{font-size:25px;font-weight:400;text-align:right;color:#468f97}details[open] .plus{transform:rotate(45deg)}details .detail{max-width:680px;padding:0 0 25px 65px}details .detail p{margin-top:0}details .detail a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.catalogue{background:#e6ece9;display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.catalogue-art{background:#d2ddda;min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 25px;position:relative}.catalogue-art img{height:290px;width:auto;max-width:80%;object-fit:contain;box-shadow:10px 18px 30px #122b3429;transform:rotate(-7deg)}.catalogue-note{font-size:8px}.catalogue-copy h2{margin:25px 0}.catalogue-copy p{max-width:390px;margin-bottom:25px}small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:18px;max-width:320px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding:54px 0}.large{font-size:22px;line-height:1.5;color:var(--ink);margin-top:0}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:30px;gap:40px}.facts div>span{font-size:11px;color:var(--muted);display:block;margin-bottom:25px}.facts strong{font-weight:500;font-size:17px}.facts p{font-size:12px;margin-bottom:0}.contact{background:var(--navy);color:var(--paper)}.contact .section-tag{color:#a1b6bd;border-color:#ffffff26}.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:10%;padding-top:55px}.contact p{color:#a7bbc1;margin:25px 0}.email{font-size:clamp(16px,2vw,26px);display:inline-block;border-bottom:1px solid #6dc9c566;padding-bottom:9px}.email:hover{color:var(--teal)}address{font-style:normal;display:flex;flex-direction:column;gap:13px;padding-left:20%;border-left:1px solid #ffffff26;font-size:14px;line-height:1.9}address strong{font-size:21px;font-weight:500}address .eyebrow{color:var(--teal)}.location-label{margin-top:25px}footer{background:var(--navy);color:#afc1c6;display:flex;justify-content:space-between;gap:25px;padding:30px 8%;border-top:1px solid #ffffff26;font-size:10px;letter-spacing:1px}.muted{color:#6c868f}@media(min-width:1600px){.chapter{top:31%}}@media(max-width:760px){header{height:88px;padding:10px 6%}.brand{width:67px}.brand img{height:61px}nav{gap:17px;font-size:11px}nav a[href="#solutions"],nav a[href$="#about"]{display:none}nav .nav-contact{padding:10px 12px}.nav-contact span{margin-left:12px}.stage{min-height:650px}.hero-top{top:120px;left:7%}.edition{display:none}.eyebrow{font-size:9px;letter-spacing:1.4px}.chapter{top:29%;left:7%;right:7%}h1{font-size:clamp(46px,10vw,72px);letter-spacing:-2.5px}.hero-description{font-size:14px;max-width:300px}.chapter>.eyebrow{margin-bottom:23px}.grain{background:linear-gradient(90deg,#071b28d9,#071b2855),linear-gradient(0deg,#071b28,transparent 40%)}.hero-bottom{left:7%;right:7%;gap:15px;font-size:8px}.scroll-link span{font-size:8px}.skip-story{display:none}.section{padding:60px 7%}.section-tag{font-size:8px;letter-spacing:1px;gap:20px}.section-tag>span:last-child{text-align:right}.intro-grid,.about-grid{grid-template-columns:1fr;gap:20px;padding:35px 0}h2{font-size:37px;letter-spacing:-1.7px}.intro-grid p{margin:0}summary{grid-template-columns:25px 1fr 20px;gap:10px;padding:25px 0}summary h3{font-size:18px}summary .specialty{display:none}details .detail{padding-left:35px}.catalogue{grid-template-columns:1fr;gap:40px}.catalogue-art{min-height:370px}.catalogue-art img{height:250px}.facts{grid-template-columns:1fr;gap:25px}.facts div{border-bottom:1px solid var(--line);padding-bottom:20px}.facts div>span{float:left;margin:4px 18px 0 0}.facts p{margin-left:33px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:35px}address{border-left:0;border-top:1px solid #ffffff26;padding:30px 0 0}footer{flex-wrap:wrap;font-size:9px;padding:25px 7%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Header branding */ .brand{background:transparent;width:210px;align-self:center;border-radius:0}.brand img{width:100%;height:auto;display:block}header nav .nav-contact{border:0;padding:12px 0;border-radius:0}.nav-contact span{display:none}@media(max-width:760px){.brand{width:130px}header nav{gap:16px}header nav .nav-contact{font-size:13px;padding:12px 0}}
/* Static editorial sections only: hero, reveal and interaction rules remain intact. */
#solutions.section,#about.section{padding-top:64px;padding-bottom:64px}
#solutions h2,#about h2{font-size:clamp(30px,3.1vw,44px);letter-spacing:-1.3px;line-height:1.18}
#solutions .intro-grid>p,#about .about-grid p{font-size:16px;line-height:1.75}
#about{background:#ebf0ee;border-top:1px solid #d4dedc}
#about .large{font-size:20px;line-height:1.55}
#about .facts strong{font-size:16px;line-height:1.5}
#about .facts p{font-size:13px}
#contact h2{font-size:clamp(30px,3vw,44px);line-height:1.2;letter-spacing:-1.2px}
#contact .contact-grid>div>p{font-size:16px;line-height:1.75}
@media(max-width:760px){#solutions.section,#about.section{padding-top:44px;padding-bottom:44px}#solutions h2,#about h2,#contact h2{font-size:31px;letter-spacing:-.9px}}
/* Practical supply information outside the protected animated story. */
#solutions .section-tag,#about .section-tag,#contact .section-tag{text-transform:none;letter-spacing:.1px;font-size:13px;margin-bottom:24px}
#solutions .intro-grid{margin-top:32px;margin-bottom:20px;gap:6%}
#solutions .catalogue-entry{margin:0 0 28px}
#solution-list summary>span:first-child{visibility:hidden}
#solution-list summary{padding-top:23px;padding-bottom:23px}
#solution-list summary h3{font-size:20px}
#solution-list summary>span{text-transform:none;letter-spacing:.2px}
#about .about-grid{gap:6%}
#about .facts{margin-top:30px;padding-top:24px;gap:24px}
#about .facts>div>span{font-size:12px;text-transform:none;letter-spacing:.1px;color:#526970}
#about .facts strong{margin-top:8px}
#contact.section{padding-top:52px;padding-bottom:52px}
#contact .eyebrow{text-transform:none;letter-spacing:.1px;font-size:12px}
@media(max-width:760px){#solution-list summary h3{font-size:17px}#solutions .section-tag,#about .section-tag,#contact .section-tag{font-size:12px}#contact.section{padding-top:40px;padding-bottom:40px}}
/* Leave room for the fixed quotation button beside the desktop skip link. */
@media(min-width:761px){#story .hero-bottom{right:calc(5% + 150px)}}

/* Editorial story labels; existing chapter and frame motion is unchanged. */
#chapter-label{font-size:12px;letter-spacing:.3px;text-transform:none}
#chapter-number{display:none}
#story .hero-bottom{letter-spacing:.3px;font-size:11px}
#story .skip-story{font-size:11px;white-space:nowrap}
#hero-description{max-width:620px}
#hero-title{font-size:clamp(44px,5.5vw,88px);letter-spacing:-2.8px}
@media(max-width:760px){#hero-title{font-size:clamp(34px,8vw,52px);letter-spacing:-1.6px}#hero-description{font-size:13px;line-height:1.6;max-width:340px}#chapter-label{font-size:11px}#story .skip-story{display:inline;font-size:10px}#story .hero-bottom{gap:12px}#story .progress{margin-left:0}}

/* Fit the pinned story to short landscape screens; frame timing is unchanged. */
@media (orientation:landscape) and (max-height:540px) and (max-width:1100px){
 #story .stage{height:100svh;min-height:0}
 body:has(#story) header{height:70px}
 body:has(#story) header.mobile-menu-ready{min-height:64px;padding-top:8px;padding-bottom:8px}
 .hero-top{top:82px}
 .hero-top .eyebrow{font-size:8px;letter-spacing:.7px}
 .hero-top .edition{display:none}
 #chapter{top:112px;left:7%;right:7%;max-width:700px}
 #chapter-label{font-size:10px;margin:0 0 8px}
 #story #hero-title{font-size:clamp(26px,4.2vw,38px);letter-spacing:-1px;line-height:1.08}
 #hero-description{font-size:12px;line-height:1.45;margin:10px 0;max-width:650px}
 #hero-action{min-height:38px;padding:3px 5px 3px 12px;font-size:11px;gap:14px}
 #hero-action>span{width:30px;height:30px;flex-basis:30px;font-size:18px}
 #story .hero-bottom{bottom:12px;left:7%;font-size:9px}
 #story .skip-story{font-size:9px}
}

/* Equal catalogue access; static layout only. */
#solutions .catalogue-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#solutions .catalogue-choices .button{justify-content:space-between;gap:16px;min-height:64px;line-height:1.5}
@media(max-width:760px){#solutions .catalogue-choices{grid-template-columns:1fr;gap:12px}}
