@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--blue:#0143ae;--ink:#172434;--muted:#596675;--line:#dce2e9;--light:#f3f6fa;--p:0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #548bff;outline-offset:5px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em;font-weight:500}h1{font-size:clamp(48px,5.7vw,88px)}h2{font-size:clamp(34px,3.4vw,52px)}h3{font-size:23px;letter-spacing:-.025em}p{color:var(--muted)}.wrap{max-width:1344px;margin:auto;padding-left:64px;padding-right:64px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--blue);display:block;margin-bottom:25px}.button{background:var(--blue);color:#fff;padding:14px 21px;border-radius:4px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:13px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#00358b;transform:translateY(-2px)}.button span{font-size:18px}.logo{font-size:25px;letter-spacing:-1.2px;font-weight:700;display:inline-flex;align-items:center;gap:9px}.brandmark{font-size:32px;color:var(--blue)}.logo-dot{color:var(--blue);margin-left:-8px}header{height:88px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}header nav{display:flex;gap:31px;height:100%;align-items:center}nav a{font-size:13px;color:#526071;height:100%;display:flex;align-items:center;position:relative}nav a[aria-current]{color:var(--blue)}nav a[aria-current]:after{content:'';position:absolute;height:2px;background:var(--blue);bottom:0;left:0;right:0}.menu{display:none}.skip{position:fixed;left:15px;top:-100px;z-index:99;background:white;padding:12px}.skip:focus{top:10px}.journey{height:260vh;background:#080a0c}.hero-sticky{height:calc(100vh - 88px);min-height:620px;position:sticky;top:88px;overflow:hidden;background:rgb(calc(8 + var(--p)*240),calc(10 + var(--p)*239),calc(12 + var(--p)*238));color:rgb(calc(255 - var(--p)*232),calc(255 - var(--p)*219),calc(255 - var(--p)*203));display:flex;align-items:center;padding:50px 6%}.hero-copy{position:relative;z-index:3;width:47%;pointer-events:none}.hero-copy .eyebrow{color:#779ee8}.hero-copy h1{font-weight:500;line-height:1.04}.hero-copy h1 em{font-style:normal;color:#7da7f6}.hero-copy p{max-width:355px;margin-top:25px;font-size:17px;line-height:1.65;color:inherit;opacity:.7}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:32px;pointer-events:auto}.secondary{font-size:12px;display:flex;align-items:center;gap:15px}.scroll-hint{position:absolute;bottom:30px;left:6%;font-size:9px;letter-spacing:.18em;display:flex;gap:25px;align-items:center;opacity:.65}.scroll-hint>span:last-child{font-size:24px}.chapter{position:absolute;right:6%;bottom:34px;display:flex;gap:20px;align-items:center;font-size:10px}.chapter>span:first-child{border:1px solid #75808b55;padding:6px 11px;border-radius:25px}.scene{position:absolute;right:0;top:0;width:57%;height:100%;perspective:1200px;overflow:hidden;pointer-events:none}.scene-grid{position:absolute;width:120%;height:100%;left:-10%;top:38%;transform:rotateX(70deg) rotateZ(-20deg);background-image:linear-gradient(#71829a18 1px,transparent 1px),linear-gradient(90deg,#71829a18 1px,transparent 1px);background-size:55px 55px;mask-image:radial-gradient(ellipse,black,transparent 68%)}.box-camera{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) scale(var(--zoom,1));opacity:var(--box-opacity,1);perspective:900px}.cube{width:260px;height:260px;transform-style:preserve-3d;transform:rotateX(-17deg) rotateY(-30deg)}.face{position:absolute;width:260px;height:260px;backface-visibility:visible;border:1px solid #46494d;box-shadow:inset 0 0 55px #0005}.back{background:#fcfcfd;transform:translateZ(-130px)}.left{background:linear-gradient(120deg,#23262a,#08090b);transform:rotateY(90deg) translateZ(-130px)}.right{background:#e3e6ec;transform:rotateY(90deg) translateZ(130px)}.top{background:linear-gradient(140deg,#4c5055,#16181b);transform:rotateX(90deg) translateZ(130px)}.bottom{background:#f1f3f6;transform:rotateX(90deg) translateZ(-130px)}.door{background:linear-gradient(125deg,#191b1e,#060709);transform-origin:left center;transform:translateZ(130px) rotateY(var(--door-angle,0deg));display:flex;align-items:center;justify-content:center;box-shadow:0 20px 60px #0008}.door span{font-size:11px;letter-spacing:5px;color:#8c9198}.door i{position:absolute;right:17px;height:20px;width:2px;background:#7294cc}.office-camera{position:absolute;left:50%;top:50%;width:310px;height:340px;transform:translate(-50%,-50%) scale(var(--office-scale,.65));opacity:var(--office-opacity,0);perspective:1000px}.office{position:absolute;width:270px;height:320px;transform-style:preserve-3d;transform:rotateX(-12deg) rotateY(-27deg)}.building-front,.building-side,.building-roof{position:absolute;border:1px solid #6485ac;background-color:#d7e8f337;box-shadow:inset 0 0 25px #b7d6ee55}.building-front{height:320px;width:270px;transform:translateZ(75px);background-image:repeating-linear-gradient(0deg,transparent 0 78px,#7698b8aa 79px 80px),repeating-linear-gradient(90deg,transparent 0 52px,#7698b888 53px 54px)}.building-side{height:320px;width:150px;transform:rotateY(90deg) translateZ(195px);background-image:repeating-linear-gradient(0deg,transparent 0 78px,#7698b8aa 79px 80px),repeating-linear-gradient(90deg,transparent 0 48px,#7698b888 49px 50px)}.building-roof{height:150px;width:270px;transform:rotateX(90deg) translateZ(75px);top:0;background:#d6e6ee88}.floor{position:absolute;width:270px;height:150px;background:#b7cedd25;border:1px solid #6f91ae88;transform:rotateX(90deg);left:0;top:5px}.f2{top:85px}.f3{top:165px}.node{position:absolute;width:10px;height:10px;background:#0143ae;border-radius:50%;box-shadow:0 0 0 6px #0143ae14,0 0 14px #0143ae33;transform:translateZ(30px);animation:work 6s ease-in-out infinite alternate}.n1{top:45px;left:40px}.n2{top:120px;left:180px;animation-delay:-2s}.n3{top:205px;left:65px;animation-delay:-4s}.n4{top:275px;left:200px;animation-delay:-1s}.n5{top:130px;left:85px;animation-delay:-3s}.n6{top:35px;left:190px;animation-delay:-5s}.office-shadow{position:absolute;bottom:-25px;left:-35px;width:350px;height:80px;background:radial-gradient(ellipse,#314b6130,transparent 70%);transform:rotate(-10deg)}@keyframes work{to{translate:35px 10px;opacity:.5}}.scene-label{position:absolute;bottom:19%;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.16em;white-space:nowrap;display:flex;gap:10px;align-items:center;color:#8594a5}.status-dot{width:6px;height:6px;background:#4c83dc;border-radius:100%;display:inline-block;flex-shrink:0}.sector-strip{display:flex;justify-content:space-between;align-items:center;padding:30px 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:25px}.sector-strip>span{font-size:9px;letter-spacing:.12em;max-width:150px;color:var(--muted)}.sector-strip>div{font-size:14px;color:#687380}.problem,.cycle-section,.outcomes{padding-top:110px;padding-bottom:110px}.section-intro{max-width:780px}.section-intro>p{max-width:590px;margin-top:24px;font-size:16px}.three-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.three-cols article{border-top:1px solid var(--line);padding-top:23px}.small-index{font-size:10px;letter-spacing:.12em;color:var(--blue)}.three-cols h3{margin:28px 0 15px}.three-cols p{font-size:14px}.capabilities-section{background:var(--light);padding:100px 0}.capabilities{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid #ccd7e5;border-bottom:1px solid #ccd7e5}.capability{padding:27px 23px 30px;border-right:1px solid #ccd7e5;transition:background .2s}.capability:first-child{border-left:1px solid #ccd7e5}.capability:hover{background:#e8eef7}.card-top{display:flex;justify-content:space-between;font-size:11px;color:var(--blue)}.card-top>span{font-size:21px}.capability h3{font-size:31px;margin:42px 0 18px}.capability p{font-size:14px;min-height:67px}.text-link{font-size:11px;display:flex;justify-content:space-between;margin-top:35px;color:var(--blue)}.cycle{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:60px 0 30px;gap:32px 45px}.cycle li{border-top:1px solid var(--line);padding-top:18px}.cycle-number{display:flex;justify-content:space-between;color:var(--blue);font-size:12px}.cycle-number b{font-weight:400}.cycle h3{font-size:20px;margin:25px 0 12px}.cycle p{font-size:14px}.cycle-note{border-top:1px solid var(--line);padding-top:25px;font-size:12px;display:flex;align-items:center;gap:12px}.audience-section{background:#102238;color:white;padding:100px 0}.audience{display:grid;grid-template-columns:1fr 1fr;gap:90px}.audience .eyebrow{color:#8eb5f8}.audience p{color:#b6c1d0;margin-top:25px;font-size:14px;max-width:440px}.audience-list>div{display:flex;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid #ffffff28;font-size:16px}.audience-list>div>span:first-child{font-size:10px;color:#8eb5f8}.audience-list>div>span:last-child{margin-left:auto;color:#8eb5f8}.four-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.four-cols article>span{color:var(--blue);font-size:25px}.four-cols h3{font-size:20px;margin:23px 0 14px}.four-cols p{font-size:14px}.cta{background:#edf3fc;padding-top:75px;padding-bottom:75px;border-top:1px solid #d8e4f5;max-width:none;text-align:center}.cta p{max-width:570px;margin:25px auto 30px}.cta h2{font-size:clamp(34px,3.4vw,50px)}footer{padding-top:55px;padding-bottom:25px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}footer p{font-size:11px;margin-top:12px}.footer-links{display:flex;gap:26px;font-size:12px}.copyright{display:flex;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:25px}.detail-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;padding-top:100px;padding-bottom:100px;align-items:center;background:linear-gradient(120deg,#fff,#f9fbfe)}.detail-hero h1{font-size:clamp(42px,4.3vw,65px)}.detail-hero p{margin:28px 0;max-width:560px}.detail-hero .eyebrow{font-size:10px}.concept-diagram{background:#edf3fb;border:1px solid #d2ddec;border-radius:5px;padding:40px 28px;text-align:center;position:relative;min-height:350px;display:flex;flex-direction:column;justify-content:center}.diagram-label{font-size:9px;letter-spacing:.15em;color:#537198;margin:15px 0}.system-nodes{display:flex;gap:10px;justify-content:center}.system-nodes span{background:white;border:1px solid #c3d4eb;border-radius:3px;padding:12px 15px;font-size:11px;color:var(--blue)}.diagram-line{height:32px;width:1px;background:#a7bede;margin:auto}.diagram-core{padding:21px;border:1px solid #94b2dc;background:#dfeafd;color:var(--blue);font-size:16px}.concept-diagram small{font-size:9px;color:#62758b;position:absolute;bottom:10px;left:20px}.evidence-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;background:white;border:1px solid #c3d4eb;padding:18px 12px;margin-top:10px}.evidence-row span,.evidence-row b{font-size:10px;color:var(--blue)}.detail-features{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;padding-top:90px;padding-bottom:65px;border-top:1px solid var(--line)}.detail-features h2{font-size:38px}.detail-features>div>p{margin-top:25px;max-width:330px}.detail-features article{display:flex;gap:25px;padding:28px 0;border-top:1px solid var(--line)}.detail-features article>span{color:var(--blue);font-size:11px;padding-top:4px}.detail-features article h3{font-size:22px}.detail-features article p{margin-top:12px;font-size:14px}.scope-note{display:flex;gap:22px;background:var(--light);padding-top:25px;padding-bottom:25px}.scope-note span{color:var(--blue)}.scope-note p{font-size:13px}.next{padding-top:80px;padding-bottom:80px}.next a{display:block;max-width:600px}.next h2{display:flex;justify-content:space-between}.next h2 span{color:var(--blue)}.next p{margin-top:15px}dialog{border:1px solid var(--line);border-radius:10px;padding:35px;max-width:650px;width:calc(100% - 30px);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#051326a6;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head .eyebrow{margin:0}.close{background:transparent;font-size:22px;padding:5px 10px;color:var(--ink)}dialog h2{font-size:32px;margin:22px 0 15px}dialog>p{font-size:13px}.notice{padding:13px;background:#eef3fb;font-size:12px;color:#28486f;border-left:3px solid var(--blue);margin:20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:12px;font-weight:600;margin-bottom:15px}input,select,textarea{display:block;width:100%;padding:10px;border:1px solid #bdc9d9;border-radius:3px;background:#fff;color:var(--ink);margin-top:6px;font-size:14px}textarea{resize:vertical}.privacy{font-size:11px;margin-bottom:20px}.form-status{font-size:13px;margin-top:15px;color:var(--blue)}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero-sticky{padding-left:max(6%,calc((100vw - 1280px)/2))}.hero-copy{width:600px}.scene{right:8%;width:48%}}@media(max-width:1050px){.wrap{padding-left:35px;padding-right:35px}header{padding:0 30px}header nav{gap:22px}.logo{font-size:22px}.button{gap:20px}.hero-actions{flex-direction:column;align-items:flex-start;gap:17px}.cube{scale:.85}.office-camera{scale:.85}.hero-copy{width:49%}.hero-copy h1{font-size:66px}.chapter{gap:10px;font-size:9px}.audience{gap:40px}.detail-hero{gap:35px}.detail-features{gap:50px}.system-nodes span{padding:10px}.capability{padding:25px 15px}.sector-strip{gap:20px}.sector-strip>div{font-size:12px}}
@media(max-width:760px){header{height:72px;padding:0 22px}.logo{font-size:23px}.brandmark{font-size:28px}.nav-demo{display:none}.menu{display:flex;gap:20px;background:transparent;font-size:12px;align-items:center;color:var(--ink);padding:12px 0}.menu span{font-size:22px}header nav{display:none;position:absolute;top:72px;left:0;right:0;height:auto;background:#fff;padding:15px 25px 25px;box-shadow:0 15px 20px #10223814}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{height:48px}nav a[aria-current]:after{right:auto;width:20px}.wrap{padding-left:24px;padding-right:24px}.journey{height:220vh}.hero-sticky{top:72px;height:calc(100svh - 72px);min-height:720px;display:block;padding:35px 24px}.hero-copy{width:100%;max-width:460px}.hero-copy .eyebrow{font-size:9px;margin-bottom:19px}.hero-copy h1{font-size:53px;line-height:1.03}.hero-copy h1 br:nth-of-type(1){display:none}.hero-copy p{font-size:14px;margin-top:20px;max-width:335px}.hero-actions{flex-direction:row;gap:18px;align-items:center;margin-top:23px}.hero-actions .button{font-size:11px;padding:12px 15px;gap:15px}.secondary{font-size:10px;gap:8px}.scene{width:100%;height:340px;top:auto;bottom:50px}.cube{scale:.66}.office-camera{scale:.66}.scene-label{bottom:5%;font-size:7px}.scroll-hint{bottom:17px;left:24px;font-size:7px;gap:15px}.chapter{right:24px;bottom:23px}.chapter>span:last-child{display:none}.sector-strip{padding:25px 24px;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.sector-strip>span{grid-column:1/-1;max-width:none;font-size:8px}.sector-strip>div{font-size:12px}.problem,.cycle-section,.outcomes{padding-top:70px;padding-bottom:70px}h2{font-size:35px}h2 br{display:none}.section-intro>p{font-size:14px}.three-cols{grid-template-columns:1fr;gap:25px;margin-top:40px}.three-cols h3{margin:15px 0 10px}.capabilities-section{padding:65px 0}.capabilities{grid-template-columns:1fr 1fr;margin-top:35px}.capability{padding:22px 15px}.capability:nth-child(3){border-left:1px solid #ccd7e5}.capability:nth-child(-n+2){border-bottom:1px solid #ccd7e5}.capability h3{font-size:27px;margin-top:25px}.capability p{font-size:12px}.text-link{font-size:10px;margin-top:20px}.cycle{grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.cycle h3{font-size:18px}.cycle p{font-size:12px}.cycle-note{font-size:10px}.audience-section{padding:65px 0}.audience{grid-template-columns:1fr;gap:30px}.audience-list>div{font-size:14px}.four-cols{grid-template-columns:1fr 1fr;gap:30px 22px;margin-top:35px}.four-cols h3{font-size:18px;margin-top:15px}.four-cols p{font-size:12px}.cta{padding-top:60px;padding-bottom:60px}.cta .eyebrow{font-size:9px}.cta p{font-size:14px}footer{padding-top:40px}.footer-links{width:100%;justify-content:space-between;gap:15px}.copyright{font-size:10px}.copyright span{display:none}.detail-hero{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px;gap:40px}.detail-hero h1{font-size:44px}.detail-hero p{font-size:15px}.detail-features{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:40px}.detail-features h2{font-size:32px}.detail-features>div>p{font-size:14px}.detail-features article h3{font-size:21px}.concept-diagram{min-height:310px}.scope-note p{font-size:12px}.next{padding-top:55px;padding-bottom:55px}dialog{padding:24px}dialog h2{font-size:28px}.form-grid{gap:0;grid-template-columns:1fr}dialog .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.journey{height:auto}.hero-sticky{position:relative;top:0;--p:1;--office-opacity:1;--office-scale:1;--box-opacity:0}.scroll-hint{display:none}}
/* Exterior stays opaque; the white interior is revealed when the front opens. */
.right{background:linear-gradient(120deg,#24272c,#101216)}
.hero-copy h1 em{color:rgb(calc(125 - var(--p)*124),calc(167 - var(--p)*100),calc(246 - var(--p)*72))}.hero-copy .eyebrow{color:rgb(calc(119 - var(--p)*118),calc(158 - var(--p)*91),calc(232 - var(--p)*58))}
/* SCPM: four image-led editorial columns, adapted from the supplied reference. */
.capabilities{gap:28px;border:0;align-items:stretch}
.capability,.capability:first-child,.capability:nth-child(3),.capability:nth-child(-n+2){padding:0;border:0;background:transparent;display:flex;flex-direction:column;min-width:0}
.capability:hover{background:transparent}
.capability-image{aspect-ratio:3/4;background:#e4ecf7;overflow:hidden;border-radius:3px}
.capability-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.capability:hover .capability-image img{transform:scale(1.035)}
.capability-copy{display:flex;flex-direction:column;flex:1;padding-top:25px}
.capability-copy .small-index{font-size:9px;letter-spacing:.12em}
.capability h3{font-size:clamp(28px,2.7vw,40px);margin:14px 0 20px;letter-spacing:-.04em}
.capability p{font-size:14px;line-height:1.75;min-height:0;margin-bottom:25px}
.capability .text-link{margin-top:auto;padding-top:5px;justify-content:flex-start;gap:15px;font-size:12px;font-weight:600}
@media(max-width:1050px){.capabilities{gap:20px}.capability p{font-size:13px}}
@media(max-width:760px){.capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}.capability-copy{padding-top:20px}.capability h3{font-size:29px;margin:12px 0 15px}.capability p{font-size:13px;margin-bottom:20px}}
@media(max-width:480px){.capabilities{grid-template-columns:minmax(0,1fr);gap:45px}.capability-image{aspect-ratio:4/3}.capability h3{font-size:34px}.capability p{font-size:15px;max-width:33ch}}
@media(min-width:761px) and (max-width:900px){.capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 25px}.capability h3{font-size:34px}.capability p{font-size:14px}}
@media(max-width:480px){.capability-image{aspect-ratio:3/4}}
/* Centred, scroll-controlled black-box narrative. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.journey{height:650vh;background:#080a0c}
.hero-sticky{height:calc(100svh - 88px);min-height:520px;top:88px;padding:0;display:block;isolation:isolate;background:rgb(calc(8 + var(--p)*240),calc(10 + var(--p)*239),calc(12 + var(--p)*238))}
.story-scene{position:absolute;inset:0;perspective:1200px;overflow:hidden;pointer-events:none}
.story-scene .scene-grid{top:44%;opacity:var(--office-opacity,0);background-size:65px 65px}
.story-scene .box-camera{left:50%;top:46%;transform:translate(-50%,-50%) scale(var(--zoom,1));perspective:1100px}
.story-scene .cube{scale:1.18;transform:rotateX(var(--box-x,-14deg)) rotateY(var(--box-y,-28deg));width:260px;height:260px}
.story-scene .back{background:#fff;box-shadow:inset 0 0 50px #b9c4cf30}
.story-scene .right{background:linear-gradient(100deg,#24272c,#101216)}
.story-scene .interior-copy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:27px;text-align:center;transform:translateZ(-125px);color:#172434;font-size:19px;line-height:1.5;letter-spacing:-.025em;opacity:var(--interior-opacity,0);backface-visibility:hidden;background:white}
.story-messages{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:4;padding:30px}
.story-message{grid-area:1/1;text-align:center;max-width:850px;opacity:0;color:#172434;font-size:clamp(38px,5.8vw,84px);line-height:1.1;letter-spacing:-.05em;font-weight:500;will-change:opacity,transform}
.story-message span{color:var(--blue)}
.end-title{position:absolute;z-index:5;top:6%;left:0;width:100%;text-align:center;font-size:clamp(36px,4.5vw,66px);line-height:1.04;opacity:var(--final-opacity,0);transform:translateY(var(--final-y,18px));pointer-events:none;color:var(--ink)}
.end-title em{font-style:normal;color:var(--blue)}
.story-scroll{position:absolute;z-index:8;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgb(calc(175 - var(--p)*89),calc(185 - var(--p)*83),calc(200 - var(--p)*80));pointer-events:none}
.story-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#7d92b31c}
.story-progress i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(var(--story-progress,0));background:#4475c3}
.story-scene .office-camera{top:61%;left:50%;width:320px;height:325px;scale:1.12;transform:translate(-50%,-50%) scale(var(--office-scale,.88));opacity:var(--office-opacity,0)}
.architectural-office{width:270px;height:300px;transform:rotateX(-9deg) rotateY(-27deg)}
.architectural-office .building-front{height:300px;width:270px;background-color:#cfe2ed45;background-image:repeating-linear-gradient(0deg,transparent 0 68px,#64839b 69px 72px,#f6f9fc 73px 75px),repeating-linear-gradient(90deg,transparent 0 43px,#7794aa 44px 45px);box-shadow:inset 0 0 30px #aac9df30;border-color:#6d879a}
.architectural-office .building-side{height:300px;background-color:#b8d3e950;background-image:repeating-linear-gradient(0deg,transparent 0 68px,#64839b 69px 72px,#d5e1e9 73px 75px),repeating-linear-gradient(90deg,transparent 0 36px,#7693a8 37px 38px);border-color:#6d879a}
.architectural-office .building-roof{background:#e3eaf0;box-shadow:none;border:2px solid #91a4b4}
.architectural-office .floor{width:270px;top:0;background:#d4dfe599;border:2px solid #90a1af;transform:rotateX(90deg)}
.architectural-office .f1{top:0}.architectural-office .f2{top:75px}.architectural-office .f3{top:150px}.architectural-office .f4{top:225px}
.roof-pavilion{position:absolute;width:150px;height:40px;left:60px;top:-40px;transform:translateZ(0);background:repeating-linear-gradient(90deg,#69849655 0 24px,#6e8597 25px 26px);border:1px solid #7f96a7;transform-style:preserve-3d}
.roof-pavilion i{position:absolute;width:150px;height:80px;top:-40px;background:#e9eef2;border:1px solid #8397a7;transform:rotateX(90deg)}
.roof-pavilion b{position:absolute;width:80px;height:40px;right:-40px;top:0;transform:rotateY(90deg);background:#a9c4d455;border:1px solid #7f96a7}
.office-interiors{position:absolute;inset:0;transform-style:preserve-3d}
.desk{position:absolute;width:28px;height:10px;transform:translateZ(20px);background:#b0c0cb;border:1px solid #879ba9;box-shadow:0 6px 0 -2px #607484,6px 12px 0 -3px #425b72}
.desk-0,.desk-3,.desk-6,.desk-9{left:20px}.desk-1,.desk-4,.desk-7,.desk-10{left:108px}.desk-2,.desk-5,.desk-8,.desk-11{left:200px}
.desk-0,.desk-1,.desk-2{top:48px}.desk-3,.desk-4,.desk-5{top:122px}.desk-6,.desk-7,.desk-8{top:197px}.desk-9,.desk-10,.desk-11{top:272px}
.entrance{position:absolute;bottom:0;left:105px;width:60px;height:52px;transform:translateZ(77px);display:flex;background:#7ea3c355;border:2px solid #496780}
.entrance i{flex:1;border:1px solid #607d93;position:relative}.entrance i:after{content:'';position:absolute;width:1px;height:10px;right:4px;top:23px;background:#284a68}
.canopy{position:absolute;width:100px;height:48px;left:85px;top:220px;transform:rotateX(90deg) translateZ(-30px) translateY(75px);background:#d8e4eb;border:1px solid #7790a3}
.building-sign{position:absolute;top:228px;left:103px;transform:translateZ(80px);font-size:5px;letter-spacing:1.4px;color:#345574}
.plinth{position:absolute;left:-25px;bottom:-12px;width:320px;height:200px;background:#e0e7ec;border:1px solid #a3b3bf;transform:rotateX(90deg) translateZ(-90px);box-shadow:0 6px 0 #9dabb6}
.front-steps{position:absolute;bottom:-18px;left:96px;width:80px;height:15px;transform:translateZ(100px) rotateX(55deg);background:repeating-linear-gradient(0deg,#b2c1cc 0 4px,#eaf0f4 5px 7px);border:1px solid #9aaebd}
.tree{position:absolute;bottom:2px;width:14px;height:18px;background:#7e9891;border-radius:45% 50% 40% 45%;transform:translateZ(95px);box-shadow:0 16px 0 -5px #899492,0 23px 0 -3px #a4b2bc}.tree-left{left:17px}.tree-right{left:237px}
.architectural-office .n4{top:264px}.architectural-office .n3{top:190px}.architectural-office .n6{top:35px}
.reduced-story{display:none}
@media(max-width:760px){.journey{height:620svh}.hero-sticky{top:72px;height:calc(100svh - 72px);min-height:460px;padding:0}.story-scene .cube{scale:.86}.story-scene .box-camera{top:45%}.story-message{font-size:clamp(36px,9vw,54px);max-width:520px}.end-title{top:9%;font-size:clamp(32px,8vw,49px);padding:0 20px}.story-scene .office-camera{top:60%;scale:.83}.story-scroll{bottom:23px;font-size:9px}.story-scene .interior-copy{font-size:20px}}
@media(max-height:650px) and (min-width:761px){.story-scene .cube{scale:.85}.story-scene .office-camera{scale:.75;top:65%}.end-title{font-size:38px;top:5%}.story-scroll{bottom:17px}}
@media(prefers-reduced-motion:reduce){.journey{height:auto}.hero-sticky{position:relative;top:0;--p:1;--office-opacity:1;--final-opacity:1;--final-y:0px;--box-opacity:0;--office-scale:1}.story-scroll,.story-progress{display:none}.story-message{display:none}.reduced-story{display:grid;padding:35px 24px;gap:18px;background:#f8f9fa;text-align:center}.reduced-story p{font-size:18px}.story-scene .node{animation:none}}
.story-scene .door span{opacity:var(--door-label-opacity,1)}
@media(max-width:760px) and (max-height:620px){.hero-sticky{min-height:0}.story-scene .cube{scale:.65}.story-scene .office-camera{scale:.6;top:65%}.end-title{font-size:29px;top:6%}.story-scroll{bottom:14px}}
header .nav-logo{display:block;width:190px;height:auto;max-height:40px;object-fit:contain}
@media(max-width:760px){header .nav-logo{width:158px;max-height:33px}}
.scpm-contact{text-align:center;margin-top:55px}.scpm-contact .button{min-width:165px}
[hidden]{display:none!important}
#contact{max-width:780px;padding:36px 40px}#contact h2:focus{outline:none}.contact-steps{display:flex;align-items:center;gap:18px;margin:30px 0 35px}.contact-step{display:flex;gap:9px;font-size:11px;color:#7b8795}.contact-step.active{color:var(--blue)}.contact-steps i{height:1px;width:40px;background:var(--line)}.contact-step span{font-weight:600}.contact-lead{font-size:14px;max-width:560px;margin-bottom:27px}#contact h2{margin:0 0 15px}#contact-form label{margin:18px 0 0}#contact-form input,#contact-form select{padding:12px;margin-bottom:0}#contact-form .privacy{margin-top:25px;max-width:560px}#contact-form .button{width:100%;margin-top:5px}.booking-preview{background:#eef3fb;border-left:2px solid var(--blue);font-size:11px;color:#456182;padding:12px 15px;margin:22px 0}.scheduling-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;margin:25px 0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-toolbar h3{font-size:17px;letter-spacing:-.02em}.calendar-toolbar button{width:34px;height:34px;background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--ink)}.calendar-toolbar button:disabled{opacity:.3;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{font-size:10px;text-align:center;color:var(--muted);margin-bottom:10px}.calendar-days button{height:36px;background:#f3f6fb;border-radius:4px;color:var(--ink);font-size:12px}.calendar-days button:hover:not(:disabled){background:#dfeafa;color:var(--blue)}.calendar-days button[aria-pressed="true"]{background:var(--blue);color:white}.calendar-days button:disabled{background:transparent;color:#b5beca;cursor:default}.time-selection{border-left:1px solid var(--line);padding-left:28px}.time-selection h3{font-size:17px;letter-spacing:-.02em;margin-bottom:8px}.timezone{font-size:10px;margin-bottom:17px}.selected-date{font-size:12px;min-height:38px;margin-bottom:12px}.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.time-slots button{background:white;border:1px solid #bbcce4;border-radius:4px;padding:9px;color:var(--blue);font-size:12px}.time-slots button[aria-pressed="true"]{background:var(--blue);color:white;border-color:var(--blue)}.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px}.contact-back{background:transparent;color:var(--muted);font-size:11px;padding:10px 0}.preview-meeting:disabled{background:#e3e9f2;color:#8a98ad;cursor:default;transform:none}.meeting-summary{font-size:12px;margin:15px 0 22px;color:var(--blue);min-height:20px}.booking-status{font-size:13px;color:var(--blue);margin-top:18px}.booking-status:not(:empty){background:#eef3fb;padding:15px;border-radius:4px}
@media(max-width:600px){#contact{padding:25px 22px}.contact-steps{margin:25px 0}.contact-step{font-size:10px}.scheduling-grid{grid-template-columns:1fr;gap:25px}.time-selection{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.booking-actions{flex-direction:column-reverse;align-items:stretch;gap:10px}.booking-actions .button{width:100%}.contact-back{text-align:left}.contact-lead{font-size:13px}.scpm-contact{margin-top:40px}}
#contact{padding:28px 32px}#contact .dialog-head{position:sticky;top:-28px;z-index:3;background:#fff;padding:10px 0}#contact .contact-steps{margin:20px 0 24px}#contact h2{font-size:30px}#contact .contact-lead{margin-bottom:18px}#contact .scheduling-grid{margin:18px 0}#contact .meeting-summary{margin:10px 0 14px}#contact .booking-actions{padding-top:16px}
@media(max-width:600px){#contact{padding:22px}#contact .dialog-head{top:-22px}#contact .dialog-head .eyebrow{max-width:220px;font-size:8px}#contact h2{font-size:27px}}
/* Transparent offices in a classical limestone and slate architectural frame. */
.story-scene .office-camera{width:min(580px,90vw,70svh);height:auto;aspect-ratio:680/620;top:62%;scale:1;perspective:none}
.heritage-office{display:block;width:100%;height:auto;overflow:visible}
.office-agent{animation:office-activity 7s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.agent-1{animation-delay:-2s}.agent-2{animation-delay:-4s}.agent-3{animation-delay:-6s}.agent-4{animation-delay:-1s}.agent-5{animation-delay:-3s}
@keyframes office-activity{from{translate:-8px 0;opacity:.65}to{translate:12px -4px;opacity:1}}
.story-message{max-width:900px}.story-message-title{color:var(--ink);font-size:inherit;line-height:1.1;letter-spacing:-.05em;font-weight:500}.story-message-detail{max-width:560px;margin:28px auto 0;color:#596675;font-size:clamp(16px,1.8vw,21px);line-height:1.65;letter-spacing:-.015em;font-weight:400}
#contact .dialog-head{justify-content:flex-end;padding:0;background:white;min-height:30px}#contact .contact-steps{margin-top:10px}
.workflow-stages{border:0;padding:0;margin:24px 0}.workflow-stages legend{font-size:12px;font-weight:600;padding:0}.stage-help{font-size:11px;margin:7px 0 14px}.stage-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}#contact-form .stage-options label{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid #d5dfeb;border-radius:4px;font-weight:400;cursor:pointer;line-height:1.5;background:#fff}#contact-form .stage-options label:has(input:checked){border-color:var(--blue);background:#edf3fc;color:var(--blue)}#contact-form .stage-options input{width:15px;height:15px;margin:2px 0 0;padding:0;flex-shrink:0;accent-color:var(--blue)}
@media(max-width:760px){.story-scene .office-camera{width:min(96vw,540px);top:60%;scale:1}.story-message{font-size:clamp(33px,8.5vw,52px)}.story-message-detail{font-size:16px;margin-top:24px;max-width:360px}.story-messages{padding:25px}.stage-options{grid-template-columns:1fr}}
@media(max-width:760px) and (max-height:620px){.story-scene .office-camera{width:min(72vw,65svh);top:65%}.story-message{font-size:30px}.story-message-detail{margin-top:16px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.office-agent{animation:none!important}.story-message{display:none}}
/* A tighter vertical rhythm across the marketing pages. */
.problem,.cycle-section,.outcomes{padding-top:68px;padding-bottom:68px}
.capabilities-section,.audience-section{padding-top:64px;padding-bottom:64px}
.three-cols{margin-top:40px}.capabilities{margin-top:36px}.cycle{margin-top:38px}.four-cols{margin-top:34px}.scpm-contact{margin-top:36px}
.cta{padding-top:52px;padding-bottom:52px}
.detail-hero{padding-top:65px;padding-bottom:65px}.detail-features{padding-top:55px;padding-bottom:40px}.next{padding-top:50px;padding-bottom:50px}
footer{padding-top:38px;padding-bottom:22px}
header .nav-logo{width:205px;max-height:44px}
@media(max-width:760px){.problem,.cycle-section,.outcomes{padding-top:46px;padding-bottom:46px}.capabilities-section,.audience-section{padding-top:46px;padding-bottom:46px}.cta{padding-top:42px;padding-bottom:42px}.detail-hero{padding-top:42px;padding-bottom:42px}.detail-features,.next{padding-top:40px;padding-bottom:35px}header .nav-logo{width:167px;max-height:36px}.scpm-contact{margin-top:28px}}
.footer-logo{display:block;width:205px;height:auto;max-height:44px;object-fit:contain}
/* The building turn is controlled entirely by the final scroll interval. */
.building-turn{transform-box:view-box;transform-origin:51% 52%;transform:perspective(900px) rotateY(var(--building-turn,-7.5deg));will-change:transform}
header{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(20px) saturate(145%);backdrop-filter:blur(20px) saturate(145%);border-bottom-color:rgba(160,177,198,.25);box-shadow:0 1px 14px rgba(19,44,72,.025)}
@media(max-width:760px){header nav{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header{background:rgba(255,255,255,.97)}}
@media(prefers-reduced-motion:reduce){.building-turn{animation:none!important;transform:none}}
/* A dimensional building: independent wall, floor, roof and furniture planes. */
.story-scene .office-camera{perspective:1200px;overflow:visible}
.dimensional-office{position:absolute;left:52%;top:52%;width:300px;height:340px;transform:translate(-50%,-50%) scale(1.13);perspective:1100px}
.office-model{position:relative;width:300px;height:340px;transform-style:preserve-3d;transform:rotateX(-7deg) rotateY(var(--building-turn,-18deg));transform-origin:150px 170px 0;will-change:transform}
.physical-wall{position:absolute;top:0;transform-style:preserve-3d;background:rgba(194,225,239,.045);border:1px solid #99b8c9;backface-visibility:visible}
.physical-wall svg,.physical-roof svg{display:block;width:100%;height:100%;overflow:visible}
.wall-front,.wall-back{width:300px;height:340px;left:0}.wall-front{transform:translateZ(80px)}.wall-back{transform:translateZ(-80px);opacity:.32}
.wall-right,.wall-left{width:160px;height:340px}.wall-right{left:220px;transform:rotateY(90deg)}.wall-left{left:-80px;transform:rotateY(90deg);opacity:.3}
.physical-floor{position:absolute;left:0;top:calc(var(--level) - 80px);width:300px;height:160px;transform:rotateX(90deg);background:rgba(185,212,226,.16);border:1px solid #a4bfcd}
.room-divider{position:absolute;left:calc(var(--room-x) - 80px);top:var(--room-y);width:160px;height:82px;transform:rotateY(90deg);background:linear-gradient(115deg,transparent 40%,#ffffff55 43%,transparent 47%);border:1px solid #aecad8}
.workplace{position:absolute;left:var(--desk-x);top:var(--desk-y);width:72px;height:60px;transform:translateZ(16px);transform-style:preserve-3d}
.table-top{position:absolute;left:5px;top:12px;width:60px;height:32px;transform:rotateX(90deg);background:#c9c3b6;border:1px solid #9ca9ad}
.table-leg{position:absolute;top:28px;width:2px;height:30px;background:#8698a3}.leg-left{left:7px}.leg-right{left:62px}
.monitor{position:absolute;top:3px;left:28px;width:26px;height:19px;transform:translateZ(-7px);background:#accbdc;border:2px solid #597385;border-radius:1px}.monitor i{position:absolute;inset:3px;background:linear-gradient(150deg,transparent 42%,#577ea6 43% 48%,transparent 49%)}
.monitor-stand{position:absolute;left:40px;top:22px;width:2px;height:6px;transform:translateZ(-7px);background:#738a99}
.chair-back{position:absolute;top:20px;left:5px;width:17px;height:24px;border-radius:5px;background:#637b8e;transform:translateZ(39px);border:1px solid #526f83}
.chair-seat{position:absolute;top:35px;left:4px;width:20px;height:21px;transform:translateZ(30px) rotateX(90deg);background:#6c8597;border:1px solid #526f83}
.chair-stem{position:absolute;top:45px;left:13px;width:2px;height:16px;transform:translateZ(30px);background:#7a919e;box-shadow:-5px 14px 0 -0.2px #7a919e,5px 14px 0 -0.2px #7a919e}
.activity-orb{position:absolute;left:58px;top:10px;width:6px;height:6px;border-radius:100%;background:#0143ae;box-shadow:0 0 0 5px #0143ae12;transform:translateZ(45px);animation:room-activity 7s ease-in-out infinite alternate}
@keyframes room-activity{to{translate:-20px 5px;opacity:.5}}
.physical-roof{position:absolute;transform-style:preserve-3d;background:rgba(180,215,231,.13);border:1px solid #9ab9ca}
.roof-front,.roof-back{width:300px;height:85px;top:-85px;left:0;transform-origin:50% 100%;background:transparent;border:0}.roof-front{transform:translateZ(80px) rotateX(40deg)}.roof-back{transform:translateZ(-80px) rotateX(-40deg);opacity:.28}
.roof-left,.roof-right{width:160px;height:85px;top:-85px;transform-origin:50% 100%;clip-path:polygon(30% 0,70% 0,100% 100%,0 100%)}.roof-left{left:-80px;transform:rotateY(-90deg) rotateX(40deg)}.roof-right{left:220px;transform:rotateY(90deg) rotateX(40deg)}
.roof-crown{position:absolute;left:30px;top:-90px;width:240px;height:50px;background:#c5e0eb44;border:1px solid #a6c3d0;transform:rotateX(90deg)}
.cornice-front,.cornice-back{position:absolute;left:-5px;top:-5px;width:310px;height:9px;background:#daedf45e;border:1px solid #a1bdcb}.cornice-front{transform:translateZ(84px)}.cornice-back{transform:translateZ(-84px)}
.cornice-left,.cornice-right{position:absolute;top:-5px;width:168px;height:9px;background:#cbe3ed66;border:1px solid #a1bdcb;transform:rotateY(90deg)}.cornice-left{left:-89px}.cornice-right{left:221px}
.entrance-step{position:absolute;left:121px;top:332px;width:58px;height:28px;transform:translateZ(88px) rotateX(90deg);background:#cbdce5;border:1px solid #a0b8c5;box-shadow:0 5px 0 #dfe9ee}
.model-tree{position:absolute;left:5%;bottom:9%;height:40%;width:18%;z-index:2;pointer-events:none}
.model-ground{position:absolute;bottom:5%;left:8%;width:84%;height:12%;background:radial-gradient(ellipse,#718a9c23,transparent 70%);z-index:-1}
@media(max-width:760px){.dimensional-office{transform:translate(-50%,-50%) scale(.78);left:55%;top:53%}.model-tree{left:0;bottom:7%}}
@media(max-width:760px) and (max-height:620px){.dimensional-office{transform:translate(-50%,-50%) scale(.55)}}
@media(prefers-reduced-motion:reduce){.activity-orb{animation:none}.office-model{transform:rotateX(-7deg) rotateY(-22deg)}}
.dimensional-office{top:50%;transform:translate(-50%,-50%) scale(1.05)}
@media(max-width:760px){.dimensional-office{top:52%;transform:translate(-50%,-50%) scale(.74)}}
@media(max-width:760px) and (max-height:620px){.dimensional-office{transform:translate(-50%,-50%) scale(.52)}}
/* Editorial lifecycle cards: a deliberately wider, horizontally scrollable sequence. */
.cycle-toolbar{display:flex;align-items:center;justify-content:space-between;margin:30px 0 18px;gap:20px}.cycle-toolbar>span{font-size:11px;color:var(--muted);letter-spacing:.03em}.cycle-toolbar>span>span{margin-left:12px}.cycle-toolbar>div{display:flex;gap:8px}.cycle-toolbar button{width:38px;height:38px;border:1px solid #cbd7e5;background:#fff;color:var(--blue);border-radius:50%;font-size:18px}.cycle-toolbar button:hover:not(:disabled){background:#eef3fa}.cycle-toolbar button:disabled{opacity:.3;cursor:default}
.cycle{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0;list-style:none;margin:0;padding:0 0 18px;scrollbar-width:thin;scrollbar-color:#9aafcc #eaf0f7;-webkit-overflow-scrolling:touch}
.cycle li{flex:0 0 320px;min-width:0;min-height:440px;padding:26px 26px 30px;scroll-snap-align:start;border:0;border-radius:13px;background:#0c1b30;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:65px}
.cycle li:nth-child(2){background:#233952}.cycle li:nth-child(3){background:#0143ae}.cycle li:nth-child(4){background:#3d6399}.cycle li:nth-child(5){background:#96afd1;color:#12253d}.cycle li:nth-child(6){background:#d8e5f6;color:#12253d}
.cycle .cycle-number{display:block;font-size:72px;line-height:1;letter-spacing:-.07em;font-weight:500;color:inherit;opacity:.9}
.cycle h3{font-size:28px;line-height:1.13;margin:0 0 18px;letter-spacing:-.04em;color:inherit}
.cycle p{font-size:14px;line-height:1.65;color:inherit;opacity:.88;margin:0;min-height:70px}
.cycle li:last-child{flex-basis:370px}.cycle li:last-child p{min-height:0}
.activity-orb{background:#155eff;box-shadow:0 0 0 4px #1769ff25,0 0 12px 4px #2778ff85,0 0 25px 6px #4d91ff55;animation-duration:2.5s}
@keyframes room-activity{from{translate:0 0;opacity:1}to{translate:-28px 7px;opacity:.75}}
@media(max-width:760px){.cycle li{flex-basis:min(80vw,320px);min-height:420px;padding:24px;gap:55px}.cycle li:last-child{flex-basis:min(86vw,350px)}.cycle .cycle-number{font-size:64px}.cycle h3{font-size:26px}.cycle p{font-size:14px}.cycle-toolbar{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.activity-orb{animation:none!important}}
/* Compact primary-blue lifecycle cards. */
.cycle li,.cycle li:nth-child(n){height:352px;min-height:352px;padding:22px 24px 24px;gap:16px;background:var(--blue);color:white}
.cycle .cycle-number{font-size:64px}.cycle h3{font-size:26px;margin-bottom:14px}.cycle p{min-height:0;font-size:14px}.cycle li:last-child{flex-basis:400px}
@media(max-width:760px){.cycle li,.cycle li:nth-child(n){height:336px;min-height:336px;padding:20px;gap:12px}.cycle .cycle-number{font-size:56px}.cycle h3{font-size:23px;margin-bottom:12px}.cycle p{font-size:13px;line-height:1.55}.cycle li:last-child{flex-basis:min(90vw,400px)}}
.home-faq{background:#f3f6fa;padding:68px 0}.faq-preview-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}.faq-preview-intro h2{font-size:40px}.faq-preview-intro p{margin:22px 0 28px;font-size:14px}.faq-item{border-bottom:1px solid #ced8e5}.faq-item:first-child{border-top:1px solid #ced8e5}.faq-item summary{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:24px 0;cursor:pointer;list-style:none;font-size:17px;font-weight:500;line-height:1.45;letter-spacing:-.02em}.faq-item summary::-webkit-details-marker{display:none}.faq-toggle{color:var(--blue);font-size:23px;line-height:1;flex-shrink:0;transition:transform .2s}.faq-item[open] .faq-toggle{transform:rotate(45deg)}.faq-item summary:hover .faq-question{color:var(--blue)}.faq-item summary:focus-visible{outline:3px solid #548bff;outline-offset:5px}.faq-answer{padding:0 26px 26px 0}.faq-answer p{font-size:14px;line-height:1.8;margin-bottom:16px}.faq-answer p:last-child{margin-bottom:0}.faq-source a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.faq-hero{padding-top:70px;padding-bottom:55px}.faq-hero h1{font-size:clamp(46px,5vw,72px)}.faq-hero>p{max-width:570px;margin-top:26px}.faq-page-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:75px;padding-bottom:75px;align-items:start}.faq-toc{position:sticky;top:125px}.faq-toc nav{display:flex;flex-direction:column;gap:0}.faq-toc nav a{font-size:12px;display:flex;align-items:flex-start;gap:15px;padding:13px 0;border-top:1px solid var(--line);line-height:1.6;color:var(--muted)}.faq-toc nav a:hover{color:var(--blue)}.faq-toc nav a>span{color:var(--blue);font-size:10px;padding-top:2px}.faq-category{margin-bottom:55px;scroll-margin-top:115px}.faq-category:last-child{margin-bottom:0}.faq-category h2{font-size:31px;line-height:1.2;margin-bottom:25px}.faq-category .eyebrow{margin-bottom:14px}.faq-category .faq-item:first-of-type{border-top:1px solid #ced8e5}.faq-category .faq-item{scroll-margin-top:115px}header nav{gap:25px}
@media(max-width:1050px){.faq-preview-grid{gap:40px}.faq-page-layout{grid-template-columns:220px minmax(0,1fr);gap:40px}header nav{gap:20px}}
@media(max-width:760px){.home-faq{padding:46px 0}.faq-preview-grid{grid-template-columns:1fr;gap:32px}.faq-preview-intro h2{font-size:34px}.faq-item summary{font-size:16px;padding:21px 0}.faq-answer{padding-right:0}.faq-answer p{font-size:13px}.faq-hero{padding-top:45px;padding-bottom:35px}.faq-hero h1{font-size:46px}.faq-hero>p{font-size:14px}.faq-page-layout{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.faq-toc{position:static}.faq-toc nav a{padding:10px 0}.faq-category{margin-bottom:40px}.faq-category h2{font-size:28px}header nav{gap:0}}
/* Shared images carry the visitor from a capability column into its page. */
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:650ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(root){animation-duration:180ms}::view-transition-new(root){animation-duration:250ms}
.capability-banner{padding-top:28px;padding-bottom:0}
.capability-banner-image{position:relative;overflow:hidden;border-radius:7px;background:#bdcedd;height:min(64svh,580px);min-height:340px}
.capability-banner-image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.capability-banner-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071d3455,transparent 40%);pointer-events:none}
.overview-pill{position:absolute;top:22px;left:24px;z-index:2;display:inline-flex;border:1px solid #ffffff70;border-radius:30px;background:#ffffffd9;backdrop-filter:blur(12px);color:#173454;font-size:11px;padding:10px 17px}
.overview-pill:hover{background:white}
.banner-caption{position:absolute;left:28px;bottom:22px;z-index:2;color:#fff;font-size:40px;line-height:1.2;letter-spacing:-.035em;text-shadow:0 1px 15px #10223833}
.next-cycle{padding-top:35px;padding-bottom:45px;display:flex;justify-content:center}
.next-cycle-pill{display:inline-flex;align-items:center;gap:17px;padding:9px 22px 9px 9px;background:#edf3fb;border:1px solid #ccdbef;border-radius:100px;min-width:310px;max-width:100%;transition:background .2s,box-shadow .2s}
.next-cycle-pill:hover{background:#e3edfb;box-shadow:0 7px 25px #163a6a0d}
.next-cycle-pill>img{width:56px;height:56px;object-fit:cover;border-radius:50%;flex-shrink:0}
.next-cycle-pill small{display:block;font-size:8px;letter-spacing:.12em;color:#577398;line-height:1.5;margin-bottom:4px}
.next-cycle-pill strong{font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.025em;color:var(--blue)}
.next-cycle-pill .pill-arrow{margin-left:auto;color:var(--blue);font-size:24px;padding-left:22px}
@media(max-width:760px){.capability-banner{padding-top:18px}.capability-banner-image{height:53svh;min-height:320px;border-radius:5px}.overview-pill{top:15px;left:15px;font-size:10px;padding:9px 13px}.banner-caption{left:20px;bottom:20px;font-size:34px}.next-cycle{padding-top:27px;padding-bottom:35px}.next-cycle-pill{min-width:0;width:100%;max-width:360px}.next-cycle-pill small{font-size:7px}.next-cycle-pill .pill-arrow{padding-left:10px}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*){animation:none!important} .capability-image img,.capability-banner-image>img,.next-cycle-pill>img{view-transition-name:none!important}}
/* One-screen capability compositions, sharing the page colour behind navigation. */
.framework{--sheet-bg:#e6effc;--sheet-ink:#153b70;--sheet-muted:#46658e;--sheet-line:#153b7029;--sheet-accent:#0143ae;background:var(--sheet-bg);color:var(--sheet-ink)}
.framework-control{--sheet-bg:#0143ae;--sheet-ink:#f7faff;--sheet-muted:#d2e2fc;--sheet-line:#ffffff3b;--sheet-accent:#fff}
.framework-prove{--sheet-bg:#123b78;--sheet-ink:#eff6ff;--sheet-muted:#c7dafa;--sheet-line:#ffffff33;--sheet-accent:#eef5ff}
.framework-manage{--sheet-bg:#bcd2f1;--sheet-ink:#113567;--sheet-muted:#355781;--sheet-line:#11356733;--sheet-accent:#0143ae}
.framework>header{position:fixed;inset:0 0 auto;background:#ffffff12;border-color:var(--sheet-line);box-shadow:none;color:var(--sheet-ink)}
.framework>header nav a{color:var(--sheet-muted)}.framework>header nav a[aria-current]{color:var(--sheet-ink)}.framework>header nav a[aria-current]:after{background:var(--sheet-accent)}
.framework-control>header .nav-logo,.framework-prove>header .nav-logo{filter:brightness(0) invert(1)}
.framework-control .button,.framework-prove .button{background:#f6f9ff;color:#0143ae}
.framework-sheet{height:100svh;min-height:650px;padding:112px 4.5% 25px;display:grid;grid-template-rows:minmax(150px,.85fr) minmax(220px,1fr) auto;gap:22px;max-width:1800px;margin:0 auto}
.framework-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;min-height:0}
.framework-top h1{font-size:clamp(85px,10vw,155px);line-height:.88;letter-spacing:-.07em;color:var(--sheet-accent);font-weight:500}
.framework-image{width:29%;height:100%;max-height:270px;min-height:140px;object-fit:cover;object-position:center 44%;border-radius:6px}
.framework-main{min-height:0;display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:end}
.framework-overview h2{font-size:clamp(25px,2.5vw,39px);line-height:1.12;letter-spacing:-.045em;max-width:520px;color:var(--sheet-ink)}
.framework-overview>p{color:var(--sheet-muted);font-size:clamp(12px,1vw,15px);line-height:1.6;max-width:500px;margin:18px 0 22px}
.framework-overview .button{padding:11px 17px;font-size:11px;gap:35px}
.framework-features{display:grid;grid-template-columns:1fr 1fr;gap:18px 25px;align-self:end}
.framework-features article{border-top:1px solid var(--sheet-line);padding-top:12px;min-width:0}
.framework-features h3{font-size:clamp(13px,1.15vw,17px);line-height:1.25;letter-spacing:-.02em;font-weight:500;color:var(--sheet-ink)}
.framework-features p{font-size:clamp(11px,.9vw,13px);line-height:1.55;color:var(--sheet-muted);margin-top:7px}
.framework-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid var(--sheet-line);padding-top:18px}
.framework-note{max-width:620px;font-size:10px;line-height:1.55;color:var(--sheet-muted)}
.framework-bottom .next-cycle-pill{min-width:220px;border-color:var(--sheet-line);background:#ffffff16;gap:13px;padding:7px 19px 7px 7px;color:var(--sheet-ink)}
.framework-bottom .next-cycle-pill:hover{background:#ffffff2b;box-shadow:none}
.framework-bottom .next-cycle-pill img{width:43px;height:43px}.framework-bottom .next-cycle-pill small{font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--sheet-muted);margin-bottom:2px}
.framework-bottom .next-cycle-pill strong,.framework-bottom .pill-arrow{color:var(--sheet-ink)}.framework-bottom .next-cycle-pill strong{font-size:18px}.framework-bottom .pill-arrow{font-size:22px}
@media(min-width:1400px) and (min-height:900px){.framework-sheet{padding-top:125px;padding-bottom:35px;gap:35px}.framework-features{gap:25px 32px}.framework-image{max-height:340px}}
@media(max-height:760px) and (min-width:761px){.framework-sheet{padding-top:108px;gap:17px;grid-template-rows:minmax(125px,.65fr) minmax(215px,1fr) auto}.framework-top h1{font-size:95px}.framework-features{gap:12px 20px}.framework-features article{padding-top:8px}.framework-overview>p{margin:13px 0 16px}.framework-bottom{padding-top:13px}.framework-image{min-height:125px}}
@media(max-width:760px){.framework-sheet{height:100svh;min-height:0;padding:96px 24px 18px;gap:22px;grid-template-rows:145px minmax(0,1fr) auto}.framework-top{gap:15px}.framework-top h1{font-size:clamp(51px,13vw,90px);padding-top:3px}.framework-image{width:37%;height:145px;min-height:0;border-radius:4px}.framework-main{display:block;overflow-y:auto;overscroll-behavior:contain;padding-right:5px;scrollbar-width:thin;scrollbar-color:var(--sheet-line) transparent}.framework-overview h2{font-size:26px}.framework-overview>p{font-size:13px;line-height:1.6;margin:15px 0 18px}.framework-features{grid-template-columns:1fr;gap:18px;margin-top:30px;padding-bottom:10px}.framework-features h3{font-size:15px}.framework-features p{font-size:12px}.framework-bottom{align-items:center;gap:15px;flex-wrap:wrap;padding-top:14px}.framework-note{font-size:9px;line-height:1.5;max-width:none}.framework-bottom .next-cycle-pill{min-width:190px;margin-left:auto}.framework>header .menu{color:var(--sheet-ink)}.framework>header nav{background:var(--sheet-bg)}.framework>header nav a{color:var(--sheet-ink)}}
@media(max-height:650px) and (max-width:760px){.framework-sheet{grid-template-rows:100px minmax(0,1fr) auto;gap:15px;padding-top:87px}.framework-image{height:100px}.framework-top h1{font-size:53px}.framework-bottom .next-cycle-pill{padding:5px 15px 5px 5px}.framework-bottom .next-cycle-pill img{width:32px;height:32px}.framework-bottom .framework-note{font-size:8px}}
.framework-main:focus-visible{outline:2px solid var(--sheet-accent);outline-offset:7px}
@media(max-height:700px) and (min-width:761px){.framework-sheet{min-height:0;padding-top:100px;padding-bottom:18px;grid-template-rows:110px minmax(0,1fr) auto;gap:15px}.framework-main{overflow-y:auto;align-items:start;scrollbar-width:thin;scrollbar-color:var(--sheet-line) transparent}.framework-image{min-height:0;height:110px}.framework-top h1{font-size:83px}.framework-bottom{padding-top:10px}}
/* Shared compact closing CTA. */
.cta{padding:36px 0;text-align:left}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:65px}
.cta-copy{max-width:660px;min-width:0}
.cta h2{font-size:clamp(24px,2.1vw,30px);line-height:1.2;letter-spacing:-.035em}
.cta p{font-size:13px;line-height:1.65;max-width:600px;margin:12px 0 0}
.cta .button{flex-shrink:0;padding:12px 19px;font-size:12px;gap:30px}
@media(max-width:760px){.cta{padding:30px 0}.cta-inner{flex-direction:column;align-items:flex-start;gap:22px}.cta h2{font-size:25px}.cta p{font-size:12px;max-width:520px}}
/* Framework reading order: title and introduction, explainers, then actions. */
.framework-sheet{height:auto;min-height:100svh;grid-template-rows:minmax(260px,1fr) auto auto auto;gap:20px}
.framework-top{display:grid;grid-template-columns:minmax(0,1fr) 29%;gap:9%;align-items:start}
.framework-title-block h1{font-size:clamp(80px,9vw,135px)}
.framework-title-block .framework-overview{margin-top:25px}
.framework-title-block .framework-overview h2{font-size:clamp(25px,2.4vw,36px);max-width:590px}
.framework-title-block .framework-overview p{font-size:13px;max-width:560px;margin:17px 0 0}
.framework-image{width:100%;height:260px;min-height:0;max-height:300px}
.framework-features{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:23px;align-self:auto;margin-top:12px}
.framework-features article{padding-top:14px}.framework-features h3{font-size:14px;line-height:1.3}.framework-features p{font-size:12px;line-height:1.6;margin-top:10px}
.framework-bottom{align-items:center;padding-top:16px;gap:25px}
.framework-bottom>.button{padding:11px 18px;font-size:11px}
.framework-note{max-width:850px;font-size:10px;line-height:1.6}
.framework .cta{background:#edf3fc;color:#172434}.framework .cta h2{color:#172434}.framework .cta p{color:#596675}.framework .cta .button{background:var(--blue);color:#fff}
.framework>footer{background:#fff;color:#172434;max-width:none}
@media(min-width:1400px) and (min-height:900px){.framework-top{min-height:360px}.framework-image{height:320px;max-height:340px}.framework-features h3{font-size:17px}.framework-features p{font-size:14px}.framework-title-block .framework-overview p{font-size:15px}}
@media(max-width:1050px){.framework-features{gap:18px}.framework-features h3{font-size:13px}.framework-features p{font-size:11px}}
@media(max-width:760px){.framework-sheet{height:auto;min-height:100svh;grid-template-rows:auto auto auto auto;gap:28px;padding-top:96px;padding-bottom:25px}.framework-top{grid-template-columns:minmax(0,1fr) 34%;gap:20px}.framework-title-block{display:contents}.framework-title-block h1{grid-column:1;grid-row:1;font-size:clamp(48px,12vw,80px)}.framework-image{grid-column:2;grid-row:1;width:100%;height:140px}.framework-title-block .framework-overview{grid-column:1/-1;grid-row:2;margin-top:0}.framework-title-block .framework-overview h2{font-size:28px}.framework-title-block .framework-overview p{font-size:14px;margin-top:18px}.framework-features{grid-template-columns:1fr;gap:20px;margin:0}.framework-features h3{font-size:16px}.framework-features p{font-size:13px}.framework-bottom{flex-wrap:nowrap;gap:12px}.framework-bottom .next-cycle-pill{min-width:0;width:auto;max-width:none;padding:7px 13px 7px 7px;gap:9px}.framework-bottom .next-cycle-pill img{width:34px;height:34px}.framework-bottom .next-cycle-pill strong{font-size:16px}.framework-bottom .pill-arrow{font-size:19px;padding-left:2px}.framework-bottom>.button{padding:12px;font-size:10px;gap:12px}.framework-note{font-size:10px}}
@media(max-height:700px) and (min-width:761px){.framework-sheet{grid-template-rows:auto auto auto auto;padding-top:108px}.framework-top{min-height:260px}.framework-image{height:230px}.framework-title-block .framework-overview{margin-top:20px}.framework-features{margin-top:15px}}
/* Revised copy and a more concise scroll cadence. */
.journey{height:560vh}
.story-scene .door .box-title{max-width:215px;font-size:25px;font-weight:500;line-height:1.25;letter-spacing:-.035em;color:#e7edf6;text-align:center}
.story-scene .interior-copy{font-size:18px;line-height:1.48;padding:23px}.interior-copy strong{font-weight:700}
.story-heading .story-message-title{font-size:clamp(37px,5.5vw,78px)}
.home>header{background:#fff}.home.has-scrolled>header{background:rgba(255,255,255,.72)}
.capability-copy h3{margin-top:0}
@media(max-width:760px){.journey{height:540svh}.story-scene .interior-copy{font-size:19px}.story-heading .story-message-title{font-size:clamp(33px,8vw,50px)}}
@media(prefers-reduced-motion:reduce){.journey{height:auto}}
.story-scene .interior-copy,.story-scene .interior-copy strong{font-weight:400}

/* Equal outer columns keep the main navigation centred on every page. */
@media(min-width:761px){header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:24px}header>.logo{justify-self:start}header>nav{justify-self:center}header>.nav-demo{justify-self:end;width:154px;white-space:nowrap}}

/* Draw navigation arrows consistently across desktop and mobile. */
.arrow-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}.button>span:has(>.arrow-icon),.text-link>span:has(>.arrow-icon),.pill-arrow{display:inline-flex;align-items:center;justify-content:center}.cycle-toolbar>span>span{display:inline-flex;vertical-align:middle}.cycle-prev .arrow-icon,.cycle-next .arrow-icon{width:23px;height:23px}
