/* V8 — one continuous path, from the way of working to the freedom to continue. */
.homepage-v3 .hero-v3{--teaser-type:clamp(34px,3vw,50px);--teaser-height:calc(var(--teaser-type)*3.12 + 42px);padding:0}
.homepage-v3 .hero-opening{height:calc(100svh - 100px - var(--teaser-height));min-height:480px;display:flex;flex-direction:column;justify-content:center;gap:clamp(54px,8svh,116px);padding-top:clamp(28px,5svh,80px);padding-bottom:clamp(28px,5svh,80px)}
.homepage-v3 .hero-v3 .studio-title{margin:0;flex-shrink:0}
.homepage-v3 .hero-v3 .hero-bottom{grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:55px;align-items:end}
.homepage-v3 .hero-copy{max-width:660px;margin-left:18%;padding:0}
.homepage-v3 .hero-positioning{font-size:clamp(22px,1.85vw,27px);font-weight:550;line-height:1.38;letter-spacing:-.03em;max-width:540px;margin:0}
.homepage-v3 .hero-v3 .hero-actions{padding:0}
.homepage-v3 .hero-v3 .brand-showcase-copy{top:18px;bottom:auto;max-width:40%}
.homepage-v3 .hero-v3 .brand-showcase-copy>p{font-size:var(--teaser-type);line-height:1.04}

.homepage-v3 .intro-section{padding:110px 0 0}
.homepage-v3 .process-composition{position:relative;min-height:710px;isolation:isolate;padding-bottom:150px}
.homepage-v3 .process-composition h2{font-size:clamp(52px,6.3vw,96px);line-height:1.03;letter-spacing:-.065em;position:relative}
.homepage-v3 .process-composition h2 span{display:block;width:max-content;max-width:100%;background:var(--paper)}
.homepage-v3 .process-composition h2 span+span{margin:28px 0 0 25%}
.homepage-v3 .process-trace{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}
.homepage-v3 .process-explanation{max-width:440px;margin:126px 0 0 13%;background:var(--paper);position:relative}
.homepage-v3 .process-explanation p{font-size:18px;line-height:1.65;color:var(--muted)}
.homepage-v3 .process-explanation .text-link{margin-top:26px}

.homepage-v3 .expertise-section{padding:0;border:0;overflow:visible;view-timeline-name:--expertise;view-timeline-axis:block}
.homepage-v3 .journey-composition{position:relative;height:clamp(1460px,185svh,2200px);isolation:isolate}
.homepage-v3 .journey-path{position:absolute;inset:0;height:100%;width:100%;pointer-events:none;z-index:-1}
.homepage-v3 .journey-intro{position:absolute;left:53%;top:4%;font-size:clamp(34px,3.9vw,58px);letter-spacing:-.045em;line-height:1.12;max-width:490px}
.homepage-v3 .journey-analysis{position:absolute;left:15%;top:16%;width:67%;max-width:830px}
.homepage-v3 .journey-analysis h3{font-size:clamp(26px,2.9vw,40px);line-height:1.16;letter-spacing:-.045em;max-width:650px}
.homepage-v3 .journey-sentence{font-size:17px;line-height:1.5;color:#c3d2bf;margin:20px 0 0;max-width:500px}
.homepage-v3 .analysis-signals{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:33px 55px;padding:0;margin:48px 0 0}
.homepage-v3 .analysis-signals li{position:relative;font-size:clamp(18px,1.6vw,24px);line-height:1.4;color:#d0dbc6;padding-left:24px;max-width:395px}
.homepage-v3 .analysis-signals li:nth-child(even){transform:translateY(25px)}
.homepage-v3 .signal-mark{position:absolute;left:0;top:13px;width:9px;height:1px;background:#abc092}
.homepage-v3 .signal-mark:after{content:'';position:absolute;left:4px;top:-4px;height:9px;width:1px;background:inherit}
.homepage-v3 .discipline-note{display:inline-flex;align-items:center;gap:25px;margin-top:65px;padding-bottom:9px;border-bottom:1px solid #789580;font-size:15px;color:#dce6d2;transition:color .2s ease,border-color .2s ease}
.homepage-v3 .discipline-note:hover,.homepage-v3 .discipline-note:focus-visible{color:var(--lime);border-color:var(--lime)}
.homepage-v3 .journey-realisation{position:absolute;left:37%;width:51%;top:54%}
.homepage-v3 .journey-realisation h3{font-size:clamp(38px,4.2vw,62px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:0 0 38px}
.homepage-v3 .realisation-rail{border-bottom:1px solid #4b6559}
.homepage-v3 .realisation-rail a{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr) 25px;gap:20px;align-items:center;border-top:1px solid #4b6559;padding:22px 8px 22px 0;transition:background-color .3s ease,color .3s ease}
.homepage-v3 .route-number{font-size:13px;color:#a7bba5;align-self:start;padding-top:5px}
.homepage-v3 .route-content{transition:transform .3s ease}
.homepage-v3 .route-content strong{display:block;font-size:clamp(21px,2vw,29px);font-weight:500;line-height:1.24;letter-spacing:-.04em}
.homepage-v3 .route-content small{display:block;font-size:16px;line-height:1.5;color:#b5c8b3;margin-top:7px}
.homepage-v3 .route-arrow{font-size:24px;color:#a7bba5;transition:transform .3s ease}
.homepage-v3 .realisation-rail a:hover,.homepage-v3 .realisation-rail a:focus-visible{background:var(--lime);color:var(--ink)}
.homepage-v3 .realisation-rail a:is(:hover,:focus-visible) :is(.route-number,.route-content small,.route-arrow){color:var(--petrol)}
.homepage-v3 .realisation-rail a:is(:hover,:focus-visible) .route-content{transform:translateX(3px)}
.homepage-v3 .realisation-rail a:is(:hover,:focus-visible) .route-arrow{transform:translate(2px,-2px)}

/* People — equal portrait frames on three staggered architectural rails. */
.homepage-v3 .people-section{padding:112px 0 104px;background:var(--paper);color:var(--ink)}
.homepage-v3 .people-opening{display:flex;align-items:flex-end;gap:72px;margin-bottom:72px}
.homepage-v3 .people-opening:after{content:"";height:1px;background:var(--line);flex:1;margin-bottom:9px}
.homepage-v3 .people-opening h2{font-size:clamp(46px,5.2vw,76px);font-weight:500;line-height:1.06;letter-spacing:-.06em;margin:0;flex-shrink:0}
.homepage-v3 .people-series{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 48px;width:88%;max-width:1184px;margin:0 auto}
.homepage-v3 .person-portrait{min-width:0;margin:0;position:relative}
.homepage-v3 .person-portrait:nth-child(3n+2){margin-top:72px}
.homepage-v3 .person-portrait:nth-child(3n){margin-top:32px}
.homepage-v3 .person-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:#d8ddcf}
.homepage-v3 .person-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.65,.2,1)}
.homepage-v3 .person-context{position:absolute;inset:auto 0 0;margin:0;padding:16px 18px;border-top:2px solid var(--lime);background:var(--ink);color:#fbfaf5;font-size:16px;line-height:1.45;letter-spacing:-.02em;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.homepage-v3 .person-portrait:focus-visible{outline:2px solid var(--petrol);outline-offset:7px}
.homepage-v3 .person-portrait:focus .person-context{opacity:1;transform:none}
.homepage-v3 .person-portrait:focus figcaption:before{width:100%}
.homepage-v3 .person-portrait figcaption{position:relative;padding-top:21px;border-top:1px solid var(--line);margin-top:18px}
.homepage-v3 .person-portrait figcaption:before{content:"";position:absolute;top:-1px;left:0;width:36px;height:2px;background:#8ca374;transition:width .45s ease,background-color .45s ease}
.homepage-v3 .person-portrait h3{font-size:clamp(21px,1.65vw,25px);font-weight:550;letter-spacing:-.035em;line-height:1.25;margin:0}
.homepage-v3 .person-portrait figcaption p{font-size:16px;line-height:1.5;letter-spacing:-.02em;color:#4a6154;margin:8px 0 0;max-width:none}
.homepage-v3 .person-portrait figcaption p span{white-space:nowrap}
@media(hover:hover){
 .homepage-v3 .person-portrait:hover .person-context{opacity:1;transform:none}
 .homepage-v3 .person-portrait:hover .person-image img{transform:scale(1.018)}
 .homepage-v3 .person-portrait:hover figcaption:before{width:100%;background:#8ca374}
}
@media(max-width:1000px){
 .homepage-v3 .people-section{padding:88px 0}
 .homepage-v3 .people-opening{gap:40px;margin-bottom:56px}
 .homepage-v3 .people-series{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;width:100%}
 .homepage-v3 .person-portrait:nth-child(n){margin-top:0}
 .homepage-v3 .person-portrait:nth-child(even){margin-top:64px}
}
@media(max-width:600px){
 .homepage-v3 .people-section{padding:72px 0 60px}
 .homepage-v3 .people-opening{gap:20px;margin-bottom:42px}
 .homepage-v3 .people-opening:after{display:none}
 .homepage-v3 .people-opening h2{font-size:46px}
 .homepage-v3 .people-series{grid-template-columns:minmax(0,1fr);gap:44px}
 .homepage-v3 .person-portrait:nth-child(n){margin-top:0}
 .homepage-v3 .person-portrait figcaption{padding-top:17px;margin-top:15px}
 .homepage-v3 .person-portrait h3{font-size:23px}
 .homepage-v3 .person-portrait figcaption p{max-width:none}
}
@media(prefers-reduced-motion:reduce){
 .homepage-v3 .person-image img,.homepage-v3 .person-portrait figcaption:before,.homepage-v3 .person-context{transition:none}
 .homepage-v3 .person-portrait:hover .person-image img{transform:none}
}

/* Practice — seven operating domains around one shared platform. */
.homepage-v3 .dhs-origin{padding:135px 0 120px}
.homepage-v3 .practice-opening h2{font-size:clamp(52px,5.5vw,82px);line-height:1.05;letter-spacing:-.06em;max-width:1140px}
.homepage-v3 .practice-opening>p{font-size:18px;line-height:1.65;max-width:650px;margin:42px 7% 0 auto}
.homepage-v3 .practice-evidence{background:#e9edcd;padding:.04em .16em .10em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.homepage-v3 .system-landscape{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:230px 270px 270px 230px;gap:0;margin:82px 0 32px;isolation:isolate}
.homepage-v3 .system-network{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible}
.homepage-v3 .system-network path{stroke:#9bad97;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.35s cubic-bezier(.25,.5,.35,1) .25s,stroke .25s ease,stroke-width .25s ease,opacity .25s ease}
.homepage-v3 .system-hub{grid-column:5/9;grid-row:2/4;align-self:start;justify-self:center;width:260px;max-width:100%;margin-top:80px;position:relative;text-align:center}
.homepage-v3 .system-centre{width:162px;margin:0 auto;position:relative;background:var(--paper);padding:12px 6px 15px}
.homepage-v3 .system-mark{display:block;width:100%;height:auto;color:var(--petrol)}
.homepage-v3 .system-node{position:relative;display:block;align-self:start;min-width:0;padding:0 0 18px;background:var(--paper);color:var(--ink);text-decoration:none;outline-offset:9px}
.homepage-v3 .system-node:before{content:'';position:absolute;left:-17px;top:3px;width:6px;height:6px;border:1px solid #91a78c;background:var(--paper);transition:opacity .18s ease,background .25s ease,border-color .25s ease}
.homepage-v3 .system-node:is(:hover,:focus-visible):before{background:var(--lime);border-color:#6f8d48}
.homepage-v3 .system-node:focus-visible{outline:2px solid #61845d}
.homepage-v3 .node-crm{grid-column:1/5;grid-row:1;margin-right:18px}
.homepage-v3 .node-planning{grid-column:8/12;grid-row:1;margin-top:32px}
.homepage-v3 .node-hr{grid-column:2/5;grid-row:2;margin-top:10px;margin-right:18px}
.homepage-v3 .node-voorraad{grid-column:9/13;grid-row:2;margin-top:46px}
.homepage-v3 .node-financieel{grid-column:1/5;grid-row:3;margin-top:36px;margin-right:18px}
.homepage-v3 .node-data{grid-column:9/13;grid-row:3;margin-top:62px}
.homepage-v3 .node-ai{grid-column:5/9;grid-row:4;margin-top:10px}
.homepage-v3 .system-node h3{position:relative;font-size:clamp(25px,2.25vw,34px);font-weight:550;line-height:1.15;letter-spacing:-.045em;margin:0;padding-right:24px}
.homepage-v3 .system-cue{position:absolute;right:0;top:3px;color:#66815f;font-size:20px;font-weight:400;transition:transform .25s ease,color .25s ease}
.homepage-v3 .system-node:is(:hover,:focus-visible) .system-cue{color:var(--petrol);transform:translate(2px,-2px)}
.homepage-v3 .system-summary{font-size:15px;line-height:1.6;color:#536b57;margin:14px 0 0;transition:opacity .18s ease}
.homepage-v3 .system-detail{margin-top:16px;transition:opacity .25s ease,transform .25s ease}
.homepage-v3 .system-context{font-size:16px;line-height:1.5;color:var(--petrol);margin:0;max-width:43ch}
.homepage-v3 .system-cta{display:inline-flex;align-items:baseline;gap:14px;font-size:16px;font-weight:700;line-height:1.4;margin-top:18px;padding-bottom:5px;border-bottom:2px solid #789148;text-decoration:none}
.homepage-v3 .system-cta>span{font-size:18px;flex-shrink:0}
.homepage-v3 .practice-close{padding-top:20px;display:flex;justify-content:flex-end}
@media(hover:hover) and (min-width:901px){
 .homepage-v3 .system-node{height:212px}
 .homepage-v3 .system-detail{position:absolute;top:44px;left:0;right:0;margin:0;opacity:0;transform:translateY(6px);pointer-events:none}
 .homepage-v3 .system-node:is(:hover,:focus):before{opacity:0}
 .homepage-v3 .system-node:is(:hover,:focus) .system-summary{opacity:0}
 .homepage-v3 .system-node:is(:hover,:focus) h3{font-size:16px;line-height:1.35;letter-spacing:-.01em;color:#526c58}
 .homepage-v3 .system-node:is(:hover,:focus) .system-cue{opacity:0;transform:none}
 .homepage-v3 .system-node:is(:hover,:focus) .system-detail{opacity:1;transform:none;pointer-events:auto}
 .homepage-v3 .system-context{font-size:clamp(23px,2vw,29px);line-height:1.2;letter-spacing:-.035em;max-width:27ch}
}
.homepage-v3 .system-landscape:has(.system-node:is(:hover,:focus-visible)) .system-network path{opacity:.24}
.homepage-v3 .system-landscape:has(.node-crm:is(:hover,:focus-visible)) .system-network .path-crm{opacity:1;stroke:#a1bd58;stroke-width:3}
.homepage-v3 .system-landscape:has(.node-planning:is(:hover,:focus-visible)) .system-network .path-planning{opacity:1;stroke:#a1bd58;stroke-width:3}
.homepage-v3 .system-landscape:has(.node-hr:is(:hover,:focus-visible)) .system-network .path-hr{opacity:1;stroke:#a1bd58;stroke-width:3}
.homepage-v3 .system-landscape:has(.node-voorraad:is(:hover,:focus-visible)) .system-network .path-voorraad{opacity:1;stroke:#a1bd58;stroke-width:3}
.homepage-v3 .system-landscape:has(.node-financieel:is(:hover,:focus-visible)) .system-network .path-financieel{opacity:1;stroke:#a1bd58;stroke-width:3}
.homepage-v3 .system-landscape:has(.node-data:is(:hover,:focus-visible)) .system-network .path-data{opacity:1;stroke:#a1bd58;stroke-width:3}
.homepage-v3 .system-landscape:has(.node-ai:is(:hover,:focus-visible)) .system-network .path-ai{opacity:1;stroke:#a1bd58;stroke-width:3}
.homepage-v3.motion-ready .system-hub{transition:opacity .4s ease}
.homepage-v3.motion-ready .system-node{transition:opacity .45s ease,translate .45s ease;transition-delay:calc(.85s + var(--domain-order)*.10s)}
.homepage-v3.motion-ready .system-landscape:not(.is-in):not(:focus-within) .system-hub{opacity:0}
.homepage-v3.motion-ready .system-landscape:not(.is-in):not(:focus-within) .system-node{opacity:0;translate:0 12px}
.homepage-v3.motion-ready .system-landscape:not(.is-in):not(:focus-within) .system-network path{stroke-dashoffset:1}
@media(max-width:1200px) and (min-width:901px){
 .homepage-v3 .system-node h3{font-size:25px}
 .homepage-v3 .system-landscape{grid-template-rows:250px 285px 285px 240px}
 .homepage-v3 .system-hub{margin-top:80px;width:210px}
 .homepage-v3 .node-hr{grid-column:1/5;margin-left:25px}
 .homepage-v3 .system-cta{gap:7px}
}
@media(max-width:900px){
 .homepage-v3 .dhs-origin{padding:100px 0}
 .homepage-v3 .practice-opening h2{font-size:55px}
 .homepage-v3 .practice-opening>p{margin:32px 0 0;max-width:630px}
 .homepage-v3 .system-landscape{display:block;margin:60px 0 40px;padding-left:43px}
 .homepage-v3 .system-network{display:none}
 .homepage-v3 .system-landscape:before{content:'';position:absolute;top:55px;bottom:20px;left:13px;width:1px;background:#a5b69a;z-index:-1}
 .homepage-v3 .system-hub{justify-self:start;width:auto;max-width:440px;margin:0 0 50px;text-align:left;display:flex;align-items:center;gap:30px}
 .homepage-v3 .system-hub:before{content:'';position:absolute;left:-30px;top:55px;width:30px;height:1px;background:#a5b69a}
 .homepage-v3 .system-centre{width:108px;flex-shrink:0;margin:0;padding:0;background:var(--paper)}
 .homepage-v3 .system-node{margin:0 0 42px;max-width:610px;padding:0 0 25px}
 .homepage-v3 .system-node:before{left:-34px;top:4px;width:7px;height:7px}
 .homepage-v3 .system-node h3{font-size:30px}
 .homepage-v3 .system-detail{opacity:1;transform:none;margin-top:16px}
 .homepage-v3 .system-context{max-width:44ch}
 .homepage-v3 .system-cta{font-size:16px}
 .homepage-v3.motion-ready .system-node{transition-delay:0s}
}
@media(max-width:600px){
 .homepage-v3 .dhs-origin{padding:87px 0}
 .homepage-v3 .practice-opening h2{font-size:clamp(38px,10vw,54px)}
 .homepage-v3 .practice-opening>p{font-size:16px;line-height:1.65;margin-top:30px}
 .homepage-v3 .system-landscape{padding-left:27px;margin-top:42px}
 .homepage-v3 .system-landscape:before{left:4px}
 .homepage-v3 .system-hub{gap:24px;margin-bottom:46px}
 .homepage-v3 .system-hub:before{left:-23px;width:23px}
 .homepage-v3 .system-centre{width:87px}
 .homepage-v3 .system-node{margin-bottom:34px}
 .homepage-v3 .system-node:before{left:-27px}
 .homepage-v3 .system-node h3{font-size:27px}
 .homepage-v3 .system-summary{margin-top:12px}
 .homepage-v3 .practice-close{justify-content:flex-start;padding-top:18px}
}
@media(prefers-reduced-motion:reduce){
 .homepage-v3 .system-landscape :is(.system-hub,.system-node,.system-summary,.system-detail,.system-cue,.system-network path),.homepage-v3 .system-node:before{transition:none}
}

.homepage-v3 .continuity-section{padding:105px 0 80px;overflow:visible}
.homepage-v3 .continuity-section>div>h2{font-size:clamp(51px,5.5vw,82px);font-weight:500;line-height:1.05;letter-spacing:-.06em;margin:0 0 22px;text-align:center}
.homepage-v3 .freedom-intro{font-size:18px;line-height:1.6;color:#3f5b49;text-align:center;margin:0 0 45px}
.homepage-v3 .freedom-story{position:relative;width:100%;max-width:1200px;aspect-ratio:1200/640;margin:0 auto}
.homepage-v3 .freedom-stage{position:absolute;left:0;width:1px;height:17%;pointer-events:none}
.homepage-v3 .freedom-stage[data-freedom-stage="open"]{top:0}
.homepage-v3 .freedom-stage[data-freedom-stage="shared"]{top:17%}
.homepage-v3 .freedom-stage[data-freedom-stage="connected"]{top:34%}
.homepage-v3 .freedom-object{position:absolute;inset:0;pointer-events:none}
.homepage-v3 .freedom-architecture{position:absolute;left:32.5%;top:5px;width:35%;height:auto;overflow:visible}
.homepage-v3 .freedom-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.homepage-v3 .freedom-leaders path{stroke:#8ca385;stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .7s ease,stroke-width .7s ease}
.homepage-v3 .freedom-object :is(.freedom-gate,.freedom-middle,.freedom-shell,.freedom-top,.freedom-connections){transition:transform .9s cubic-bezier(.2,.65,.2,1),opacity .7s ease;transform-box:fill-box;transform-origin:center}
.homepage-v3 .freedom-connections path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1s ease}
.homepage-v3 .freedom-story[data-state="open"] .freedom-gate{transform:translate(-60px,25px)}
.homepage-v3 .freedom-story[data-state="open"] .freedom-middle{opacity:0;transform:translateY(18px)}
.homepage-v3 .freedom-story[data-state="open"] .freedom-top{transform:translateY(-18px)}
.homepage-v3 .freedom-story[data-state="open"] .freedom-connections,.homepage-v3 .freedom-story[data-state="shared"] .freedom-connections{opacity:0}
.homepage-v3 .freedom-story[data-state="open"] .freedom-connections path,.homepage-v3 .freedom-story[data-state="shared"] .freedom-connections path{stroke-dashoffset:1}
.homepage-v3 .freedom-principle{position:absolute;width:27%;padding:0;outline-offset:10px;z-index:1}
.homepage-v3 .freedom-transfer{left:0;top:14%}
.homepage-v3 .freedom-shared{right:0;top:14%}
.homepage-v3 .freedom-service{left:53%;top:67.2%;width:36%}
.homepage-v3 .freedom-index{display:block;font-size:12px;color:#536f52;line-height:1;margin-bottom:17px}
.homepage-v3 .freedom-principle h3{font-family:var(--sans);font-size:clamp(29px,2.4vw,35px);font-weight:550;line-height:1.12;letter-spacing:-.05em;margin:0 0 18px}
.homepage-v3 .freedom-principle p{font-size:16px;line-height:1.65;color:#3f5b49;max-width:365px}
.homepage-v3 .freedom-principle h3 span{white-space:nowrap}
.homepage-v3 .freedom-trigger{display:block;position:relative;width:100%;border:0;padding:0 22px 0 0;background:none;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;transition:color .2s ease}
.homepage-v3 .freedom-trigger:after{content:'↗';position:absolute;right:0;top:.2em;font-size:16px;font-weight:400;color:#536f52;transition:transform .2s ease}
.homepage-v3 .freedom-trigger:focus-visible{outline:2px solid #456b48;outline-offset:7px}
.homepage-v3 .freedom-ready .freedom-trigger{color:#47634f}
.homepage-v3 .freedom-ready .freedom-trigger[aria-expanded="true"]{color:var(--petrol,#142f29)}
.homepage-v3 .freedom-trigger[aria-expanded="true"]:after{transform:rotate(45deg);color:#456b48}
.homepage-v3 .freedom-principle p[hidden]{display:none}
.homepage-v3 .freedom-ready .freedom-principle p:not([hidden]){animation:freedom-detail-in .22s ease both}
@keyframes freedom-detail-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.homepage-v3 .freedom-principle:before{content:'';position:absolute;left:25px;top:5px;width:0;height:2px;background:#819c3d;transition:width .7s ease}
.homepage-v3 .freedom-story[data-detail="open"] .freedom-transfer:before,.homepage-v3 .freedom-story[data-detail="shared"] .freedom-shared:before,.homepage-v3 .freedom-story[data-detail="connected"] .freedom-service:before{width:60px}
.homepage-v3 .freedom-story[data-state="open"] .leader-open,.homepage-v3 .freedom-story[data-state="shared"] .leader-shared,.homepage-v3 .freedom-story[data-state="connected"] .leader-connected{stroke:#75933c;stroke-width:2}
@media(max-width:1100px){
 .homepage-v3 .continuity-section>div>h2,.homepage-v3 .freedom-intro{text-align:left}
 .homepage-v3 .freedom-story{aspect-ratio:auto;max-width:720px}
 .homepage-v3 .freedom-stage,.homepage-v3 .freedom-leaders{display:none}
 .homepage-v3 .freedom-object{position:relative;inset:auto;width:320px;height:320px;margin:0 auto 30px}
 .homepage-v3 .freedom-architecture{left:0;top:0;width:100%}
 .homepage-v3 .freedom-principle{position:relative;left:auto;right:auto;top:auto;width:100%;padding:24px 0 35px 32px;border-left:1px solid #9eb397}
 .homepage-v3 .freedom-index{position:absolute;left:-7px;top:30px;background:var(--sage,#dfe6d8);padding:4px 0;margin:0}
 .homepage-v3 .freedom-principle:before{left:0;top:34px;width:15px;height:1px;background:#9eb397}
 .homepage-v3 .freedom-story[data-detail] .freedom-principle:before{width:15px}
 .homepage-v3 .freedom-principle p{max-width:590px}
}

.homepage-v3 .contact-band{padding:117px 0 123px}
.homepage-v3 .contact-band-inner{display:block}
.homepage-v3 .contact-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:55px;align-items:end;margin-left:0}
.homepage-v3 .contact-content h2{font-size:clamp(63px,7.15vw,106px);font-weight:500;line-height:1.03;letter-spacing:-.06em;max-width:1050px}
.homepage-v3 .contact-content h2 em{display:block;margin-left:11%;white-space:nowrap}
.homepage-v3 .contact-band .button{position:static;margin:0 0 5px;white-space:nowrap}

/* Enhancement only: without JS, every stage is already visible and complete. */
.homepage-v3.motion-ready [data-reveal]{opacity:.15;translate:0 20px;transition:opacity .8s cubic-bezier(.2,.65,.2,1),translate .8s cubic-bezier(.2,.65,.2,1)}
.homepage-v3.motion-ready [data-reveal].is-in,.homepage-v3.motion-ready [data-reveal]:focus-within{opacity:1;translate:0 0}
@supports(animation-timeline:--expertise){
 @media(min-width:901px) and (prefers-reduced-motion:no-preference){
  .homepage-v3.motion-ready .journey-progress{stroke-dasharray:1;animation:allprime-path linear both;animation-timeline:--expertise;animation-range:entry 65% exit 72%}
 }
}
@keyframes allprime-path{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

@media(max-width:1200px){
 .homepage-v3 .hero-v3 .hero-bottom{gap:32px;grid-template-columns:1.15fr 1fr}
 .homepage-v3 .hero-copy{margin-left:9%}
 .homepage-v3 .process-composition h2{font-size:6.6vw}
 .homepage-v3 .journey-analysis{left:15%;width:72%}
 .homepage-v3 .analysis-signals{gap:30px 35px}
 .homepage-v3 .contact-content{grid-template-columns:1fr;gap:48px}
 .homepage-v3 .contact-band .button{justify-self:end}
}
@media(max-height:800px) and (min-width:901px){
 .homepage-v3 .hero-opening{gap:52px;padding-block:24px}
 .homepage-v3 .hero-positioning{font-size:23px}
}
@media(max-width:900px){
 .homepage-v3 .hero-opening{height:auto;min-height:0;padding-top:66px;padding-bottom:85px;gap:75px}
 .homepage-v3 .hero-copy{margin-left:0}
 .homepage-v3 .hero-v3 .hero-bottom{grid-template-columns:1.3fr .9fr;gap:30px;align-items:start}
 .homepage-v3 .hero-v3 .hero-actions{align-items:flex-end;flex-direction:column}
 .homepage-v3 .hero-v3 .brand-showcase-copy{top:24px}
 .homepage-v3 .intro-section{padding-top:92px}
 .homepage-v3 .process-composition{min-height:660px;padding-bottom:130px}
 .homepage-v3 .process-composition h2{font-size:clamp(45px,6.5vw,60px)}
 .homepage-v3 .process-composition h2 span+span{margin-left:14%;margin-top:23px}
 .homepage-v3 .process-explanation{margin:95px 0 0 5%;max-width:420px}
 .homepage-v3 .journey-composition{height:auto;min-height:0;padding:90px 0 100px 50px}
 .homepage-v3 .journey-composition:before{content:'';position:absolute;left:10px;top:0;bottom:0;width:1px;background:#69866a}
 .homepage-v3 .journey-path{display:none}
 .homepage-v3 .journey-intro{position:relative;left:auto;top:auto;font-size:46px;margin-bottom:70px}
 .homepage-v3 .journey-analysis,.homepage-v3 .journey-realisation{position:relative;left:auto;top:auto;width:auto;max-width:none}
 .homepage-v3 .journey-analysis:before,.homepage-v3 .journey-realisation:before{content:'';position:absolute;width:9px;height:9px;left:-44px;top:15px;background:#c9df8b}
 .homepage-v3 .journey-analysis h3{font-size:30px}
 .homepage-v3 .analysis-signals{gap:27px 30px;margin-top:37px}
 .homepage-v3 .analysis-signals li{font-size:19px}
 .homepage-v3 .journey-realisation{margin:100px 0 0 9%}
 .homepage-v3 .journey-realisation:before{left:calc(-44px - 10%)}
 .homepage-v3 .journey-realisation h3{font-size:42px;max-width:480px}
 .homepage-v3 .continuity-section{padding:100px 0 80px}
 .homepage-v3 .continuity-section>div>h2{font-size:58px}
 .homepage-v3 .freedom-principle h3{font-size:31px}
 .homepage-v3 .freedom-intro{margin-bottom:35px}
 .homepage-v3 .contact-content h2{font-size:76px}
}
@media(max-width:600px){
 .homepage-v3 .hero-opening{padding-top:52px;padding-bottom:60px;gap:54px}
 .homepage-v3 .hero-v3 .hero-bottom{grid-template-columns:1fr;gap:31px}
 .homepage-v3 .hero-positioning{font-size:21px;max-width:330px}
 .homepage-v3 .hero-v3 .hero-actions{flex-direction:row;align-items:center;justify-content:flex-start}
 .homepage-v3 .hero-v3 .brand-showcase-copy{top:22px;max-width:52%}
 .homepage-v3 .hero-v3 .brand-showcase-copy>p{font-size:28px}
 .homepage-v3 .hero-v3 .brand-showcase{height:275px}
 .homepage-v3 .intro-section{padding-top:85px}
 .homepage-v3 .process-composition{min-height:575px;padding-bottom:140px}
 .homepage-v3 .process-composition h2{font-size:clamp(35px,9.5vw,52px);line-height:1.08}
 .homepage-v3 .process-composition h2 span+span{margin:20px 0 0 5%}
 .homepage-v3 .process-trace{opacity:.7}
 .homepage-v3 .process-explanation{max-width:290px;margin:92px 0 0}
 .homepage-v3 .process-explanation p{font-size:16px}
 .homepage-v3 .journey-composition{padding:75px 0 85px 27px}
 .homepage-v3 .journey-composition:before{left:2px}
 .homepage-v3 .journey-intro{font-size:38px;max-width:275px;margin-bottom:60px}
 .homepage-v3 .journey-analysis h3{font-size:28px}
 .homepage-v3 .journey-sentence{font-size:16px}
 .homepage-v3 .analysis-signals{grid-template-columns:1fr;gap:26px;margin-top:36px}
 .homepage-v3 .analysis-signals li{font-size:19px;padding-left:20px}
 .homepage-v3 .analysis-signals li:nth-child(even){transform:none}
 .homepage-v3 .discipline-note{font-size:15px;margin-top:36px;gap:18px}
 .homepage-v3 .journey-analysis:before,.homepage-v3 .journey-realisation:before{left:-29px;top:11px}
 .homepage-v3 .journey-realisation{margin:88px 0 0}
 .homepage-v3 .journey-realisation h3{font-size:38px;margin-bottom:33px}
 .homepage-v3 .realisation-rail a{grid-template-columns:19px minmax(0,1fr) 18px;gap:10px;padding:23px 0}
 .homepage-v3 .route-number{font-size:12px}
 .homepage-v3 .route-content strong{font-size:21px}
 .homepage-v3 .route-content small{font-size:15px}
 .homepage-v3 .route-arrow{font-size:21px}
 .homepage-v3 .continuity-section{padding:88px 0 75px}
 .homepage-v3 .continuity-section>div>h2{font-size:clamp(41px,10.7vw,57px);margin-bottom:22px}
 .homepage-v3 .freedom-intro{font-size:17px;margin-bottom:20px;max-width:330px}
 .homepage-v3 .freedom-object{width:280px;height:280px;margin-bottom:20px}
 .homepage-v3 .freedom-principle h3{font-size:33px;margin-bottom:18px}
 .homepage-v3 .freedom-principle p{font-size:16px}
 .homepage-v3 .contact-band{padding:86px 0 94px}
 .homepage-v3 .contact-content{grid-template-columns:1fr;gap:45px}
 .homepage-v3 .contact-content h2{font-size:clamp(47px,12.2vw,68px)}
 .homepage-v3 .contact-content h2 em{margin-left:7%;white-space:normal}
 .homepage-v3 .contact-band .button{justify-self:end}
}
@media(prefers-reduced-motion:reduce){
 .homepage-v3 [data-reveal]{opacity:1;translate:none;transform:none}
 .homepage-v3 .journey-progress{animation:none;stroke-dashoffset:0}
 .homepage-v3 :is(.route-content,.route-arrow,.realisation-rail a,.freedom-object g,.freedom-connections path,.freedom-principle:before){transition:none}
 .homepage-v3 :is(.freedom-leaders path,.freedom-trigger,.freedom-trigger:after){transition:none}
 .homepage-v3 .freedom-ready .freedom-principle p:not([hidden]){animation:none}
}
.footer-functional{grid-template-columns:1fr 1fr}.footer-functional .footer-links{justify-self:end;grid-column:2;min-width:300px}
/* Genuine case-study screenshots are captured from data-free UI states. */
.dhs-origin-heading h1{font-size:clamp(42px,5.4vw,82px);line-height:1.08;margin-top:25px}.dhs-origin-heading h1 em{color:var(--petrol)}.case-next-step{padding:60px 0 85px}.case-next-step h2{font-size:clamp(35px,4vw,60px)}.case-next-step>p{max-width:650px;margin:22px 0;font-size:17px}
.dhs-case .page-intro{grid-template-columns:1fr}.dhs-case .page-intro>p{max-width:830px}.dhs-case .fact-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.case-chapter{padding:70px 0;border-top:1px solid var(--line)}.case-chapter-heading{display:grid;grid-template-columns:1fr 2.4fr;gap:55px;margin-bottom:33px}.case-chapter h2{font-size:clamp(34px,4.2vw,61px);line-height:1.09;max-width:830px}.case-chapter-content{display:grid;grid-template-columns:1fr 2.4fr;gap:55px}.case-chapter-content>div{grid-column:2}.case-chapter-content p{font-size:16px;line-height:1.75;max-width:800px}.case-chapter-content p+p{margin-top:20px}.case-chapter-content h3{font-size:14px;font-weight:700;letter-spacing:0;margin:27px 0 9px}.case-chapter-content .case-result{border-left:2px solid #728b61;padding-left:22px;margin-top:28px;color:var(--petrol)}.real-screen{margin:38px 0 0;padding:26px;background:#243b40}.real-screen img{width:100%;height:auto;display:block;border:1px solid #aec3b133}.real-screen figcaption{font-size:11px;line-height:1.6;color:#d7e0d3;margin-top:16px;max-width:760px}.case-photo-note{font-size:12px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:23px;margin-top:40px}.case-story-nav{display:flex;flex-wrap:wrap;gap:10px 25px;padding:27px 0;border-bottom:1px solid var(--line);font-size:12px}.case-story-nav a{padding:7px 0}.case-story-nav a:hover{text-decoration:underline}.case-chapter{scroll-margin-top:30px}

@media(max-width:900px){.case-chapter-heading,.case-chapter-content{grid-template-columns:1fr;gap:23px}.case-chapter-content>div{grid-column:1}.footer-functional{grid-template-columns:1fr 1fr}.footer-functional .footer-links{min-width:0;justify-self:end}}
@media(max-width:600px){.footer-functional{grid-template-columns:1fr}.footer-functional .footer-links{grid-column:1;justify-self:start}.dhs-case .fact-strip{grid-template-columns:1fr}.case-chapter{padding:42px 0}.case-chapter h2{font-size:35px}.case-chapter-content p{font-size:15px}.real-screen{padding:12px;margin-top:27px}.real-screen figcaption{font-size:10px;margin-top:11px}.case-story-nav{font-size:11px;gap:6px 17px}}
