/* 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(--theme-page-bg,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(--theme-page-bg,var(--paper));position:relative;}
.homepage-v3 .process-explanation p{font-size:18px;line-height:1.65;color:var(--theme-text-secondary,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:var(--theme-on-petrol,#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:var(--theme-on-petrol,#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:var(--theme-accent-soft,#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 var(--theme-rule,#789580);font-size:15px;color:var(--theme-on-petrol,#dce6d2);transition:color .2s ease,border-color .2s ease;}
.homepage-v3 .discipline-note:hover,.homepage-v3 .discipline-note:focus-visible{color:var(--theme-accent,var(--lime));border-color:var(--theme-accent,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 var(--theme-rule,#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 var(--theme-rule,#4b6559);padding:22px 8px 22px 0;transition:background-color .3s ease,color .3s ease;}
.homepage-v3 .route-number{font-size:13px;color:var(--theme-text-secondary,#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:var(--theme-text-secondary,#b5c8b3);margin-top:7px;}
.homepage-v3 .route-arrow{font-size:24px;color:var(--theme-text-secondary,#a7bba5);transition:transform .3s ease;}
.homepage-v3 .realisation-rail a:hover,.homepage-v3 .realisation-rail a:focus-visible{background:var(--theme-accent-soft,var(--lime));color:var(--theme-text-primary,var(--ink));}
.homepage-v3 .realisation-rail a:is(:hover,:focus-visible) :is(.route-number,.route-content small,.route-arrow){color:var(--theme-text-primary,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(--theme-page-bg,var(--paper));color:var(--theme-text-primary,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(--theme-page-bg,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:var(--theme-page-bg-alt,#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(--theme-accent,var(--lime));background:var(--theme-petrol,var(--ink));color:var(--theme-on-petrol,#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(--theme-rule,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(--theme-rule,var(--line));margin-top:18px;}
.homepage-v3 .person-portrait figcaption:before{content:"";position:absolute;top:-1px;left:0;width:36px;height:2px;background:var(--theme-surface-elevated,#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:var(--theme-text-secondary,#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:var(--theme-surface-elevated,#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:var(--theme-page-bg-alt,#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:var(--theme-art-line,#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(--theme-page-bg,var(--paper));padding:12px 6px 15px;}
.homepage-v3 .system-mark{display:block;width:100%;height:auto;color:var(--theme-text-primary,var(--petrol));}
.homepage-v3 .system-node{position:relative;display:block;align-self:start;min-width:0;padding:0 0 18px;background:var(--theme-page-bg,var(--paper));color:var(--theme-text-primary,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 var(--theme-rule,#91a78c);background:var(--theme-page-bg,var(--paper));transition:opacity .18s ease,background .25s ease,border-color .25s ease;}
.homepage-v3 .system-node:is(:hover,:focus-visible):before{background:var(--theme-accent-soft,var(--lime));border-color:var(--theme-focus-ring,#6f8d48);}
.homepage-v3 .system-node:focus-visible{outline:2px solid var(--theme-focus-ring,#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:var(--theme-text-secondary,#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(--theme-text-primary,var(--petrol));transform:translate(2px,-2px);}
.homepage-v3 .system-summary{font-size:15px;line-height:1.6;color:var(--theme-text-secondary,#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(--theme-text-primary,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 var(--theme-rule,#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:var(--theme-text-secondary,#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:var(--theme-focus-ring,#a1bd58);stroke-width:3;}
.homepage-v3 .system-landscape:has(.node-planning:is(:hover,:focus-visible)) .system-network .path-planning{opacity:1;stroke:var(--theme-focus-ring,#a1bd58);stroke-width:3;}
.homepage-v3 .system-landscape:has(.node-hr:is(:hover,:focus-visible)) .system-network .path-hr{opacity:1;stroke:var(--theme-focus-ring,#a1bd58);stroke-width:3;}
.homepage-v3 .system-landscape:has(.node-voorraad:is(:hover,:focus-visible)) .system-network .path-voorraad{opacity:1;stroke:var(--theme-focus-ring,#a1bd58);stroke-width:3;}
.homepage-v3 .system-landscape:has(.node-financieel:is(:hover,:focus-visible)) .system-network .path-financieel{opacity:1;stroke:var(--theme-focus-ring,#a1bd58);stroke-width:3;}
.homepage-v3 .system-landscape:has(.node-data:is(:hover,:focus-visible)) .system-network .path-data{opacity:1;stroke:var(--theme-focus-ring,#a1bd58);stroke-width:3;}
.homepage-v3 .system-landscape:has(.node-ai:is(:hover,:focus-visible)) .system-network .path-ai{opacity:1;stroke:var(--theme-focus-ring,#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:var(--theme-surface-elevated,#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:var(--theme-surface-elevated,#a5b69a);}
 .homepage-v3 .system-centre{width:108px;flex-shrink:0;margin:0;padding:0;background:var(--theme-page-bg,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:var(--theme-text-secondary,#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:var(--theme-art-line,#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:var(--theme-text-secondary,#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:var(--theme-text-secondary,#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:var(--theme-text-secondary,#536f52);transition:transform .2s ease;}
.homepage-v3 .freedom-trigger:focus-visible{outline:2px solid var(--theme-focus-ring,#456b48);outline-offset:7px;}
.homepage-v3 .freedom-ready .freedom-trigger{color:var(--theme-text-secondary,#47634f);}
.homepage-v3 .freedom-ready .freedom-trigger[aria-expanded="true"]{color:var(--theme-text-primary,var(--petrol,var(--theme-text-primary,#142f29)));}
.homepage-v3 .freedom-trigger[aria-expanded="true"]:after{transform:rotate(45deg);color:var(--theme-text-secondary,#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:var(--theme-surface-elevated,#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:var(--theme-art-line,#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 var(--theme-rule,#9eb397);}
 .homepage-v3 .freedom-index{position:absolute;left:-7px;top:30px;background:var(--theme-page-bg-alt,var(--sage,var(--theme-page-bg-alt,#dfe6d8)));padding:4px 0;margin:0;}
 .homepage-v3 .freedom-principle:before{left:0;top:34px;width:15px;height:1px;background:var(--theme-surface-elevated,#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:var(--theme-surface-elevated,#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:var(--theme-accent-soft,#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(--theme-text-primary,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(--theme-rule,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 var(--theme-rule,#728b61);padding-left:22px;margin-top:28px;color:var(--theme-text-primary,var(--petrol));}.real-screen{margin:38px 0 0;padding:26px;background:var(--theme-petrol,#243b40);}.real-screen img{width:100%;height:auto;display:block;border:1px solid var(--theme-rule-soft,#aec3b133);}.real-screen figcaption{font-size:11px;line-height:1.6;color:var(--theme-on-petrol,#d7e0d3);margin-top:16px;max-width:760px;}.case-photo-note{font-size:12px;line-height:1.7;color:var(--theme-text-secondary,var(--muted));border-top:1px solid var(--theme-rule,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(--theme-rule,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;}}
