/* Alissa's approved November review. Scope: layout and content, never the opening renderer. */
.page-product .head>.mono:before{display:none}
.page-product .w{max-width:1408px}
.page-product section.product-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:28px 64px!important;padding-block:72px 104px!important;align-items:center}
.product-intro{display:flex;flex-direction:column;align-items:flex-start;gap:30px;min-width:0}
.product-intro .h1{font-size:clamp(46px,5vw,70px);line-height:1.04;max-width:760px;text-wrap:balance}
.compass-brand{display:flex;gap:14px;align-items:center;font:500 16px/1.3 var(--display);letter-spacing:-.02em;color:var(--ink)}
.compass-brand svg{width:44px;height:44px;flex:none}
.nautical-visual{margin:0;display:flex;align-items:center;justify-content:center}
.nautical-visual img{width:100%;height:auto;max-width:490px;display:block}
.product-hero>.copytext{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:20px}
.product-hero>.copytext p{margin:0;max-width:none;line-height:1.8;font-size:17px;text-wrap:pretty}
.page-product #demo .head{max-width:none}
.page-product #demo .h2{max-width:1100px;text-wrap:balance;font-size:clamp(38px,4.5vw,64px)}
.page-product #solution .quad{grid-template-columns:minmax(0,1fr) 260px minmax(0,1fr);gap:36px 40px}
.page-product #solution .mid img{width:100%;height:auto}
.page-product .head{max-width:none}
.page-product .head .lead{max-width:960px}
/* One framework component, with the same geometry on all five pages. */
.unified-framework .head{display:grid;grid-template-columns:1fr 1fr;gap:26px 72px;max-width:none}
.unified-framework .head>.mono{grid-column:1/-1}
.unified-framework .head .h2{font-size:46px;line-height:1.08;letter-spacing:-.045em}
.unified-framework .head>.lead{font-size:16px;line-height:1.75;padding-top:3px;max-width:none}
.unified-framework .dialwrap{grid-template-columns:minmax(0,1fr) 360px minmax(0,1fr);grid-template-rows:1fr 1fr;min-height:470px;padding-block:42px;gap:58px 30px;margin:46px 0 0;align-items:center}
.unified-framework .dial{width:360px;height:360px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.62}
.unified-framework .dial-hub{width:115px;height:115px;left:50%;top:50%;transform:translate(-50%,-50%)}
.unified-framework .dial-hub strong{font-size:40px}.unified-framework .dial-hub span{font-size:8px}
.unified-framework .dial-needle{width:300px;height:300px;left:calc(50% - 150px);top:calc(50% - 150px)}
.unified-framework .tcard{display:flex;flex-direction:column;gap:13px;padding:22px 22px 12px 0!important;background:transparent;border:0;border-top:1px solid var(--grid);align-items:flex-start;min-width:0;isolation:isolate;transition:transform .3s,border-color .3s}
.unified-framework .tcard.nw{grid-column:1;grid-row:1}.unified-framework .tcard.ne{grid-column:3;grid-row:1}.unified-framework .tcard.sw{grid-column:1;grid-row:2}.unified-framework .tcard.se{grid-column:3;grid-row:2}
.unified-framework .tcard .st{font-size:25px;line-height:1.15;letter-spacing:-.035em;max-width:100%}
.unified-framework .tcard .sd{font-size:14px;line-height:1.65}.unified-framework .tcard .sa{right:0;top:18px}
.unified-framework .tcard:before{content:"";position:absolute;inset:-10px -14px;z-index:-1;border-radius:12px;background:var(--surface);box-shadow:0 18px 40px #0b1e421a,0 3px 10px #0b1e420a;opacity:0;transition:opacity .3s}
.unified-framework .tcard:hover:before,.unified-framework .tcard:focus-visible:before{opacity:1}
.unified-framework .tcard:hover,.unified-framework .tcard:focus-visible{transform:translateY(-5px);border-top-color:transparent}
/* Value: four statements alongside an honest, inactive video placeholder. */
.page-index #value .list>div{display:block;padding:22px 0;border-color:var(--grid)}
.page-index #value .list .t{font-size:clamp(21px,2vw,28px);line-height:1.3;font-weight:500}
.video-placeholder{margin:0;min-height:340px;aspect-ratio:16/10;background:#e7eef2;border:1px solid #cad7df;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#506f83}
.video-placeholder svg{width:72px;fill:none;stroke:currentColor;stroke-width:1}
.video-placeholder figcaption{font:12px var(--mono);letter-spacing:.06em}
/* Delivery, survey and support have separate, stable document flow. */
.page-index #levels.implementation-editorial>.w{display:flex!important;flex-direction:column;gap:0!important}
.page-index #levels .implementation-opening .h2{font-size:clamp(32px,3.65vw,50px);line-height:1.12;white-space:nowrap;letter-spacing:-.045em;margin:0 0 28px;max-width:none}
.implementation-opening .lead{max-width:1000px!important;font-size:18px!important;line-height:1.75!important}
.delivery-editorial{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.6fr);gap:64px;align-items:center;padding:64px 0 96px;scroll-margin-top:150px}
.delivery-instrument{position:relative;align-self:center}
.delivery-instrument img{width:100%;height:auto;display:block}
.instrument-bearing{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;background:var(--flag);border-radius:50%;box-shadow:0 0 0 6px #9F384D15;transform:rotate(var(--delivery-bearing,0deg));transition:transform 1.4s cubic-bezier(.22,1,.36,1)}
.instrument-bearing:after{content:"";position:absolute;left:3px;bottom:3px;height:95px;width:1px;background:linear-gradient(transparent,var(--flag))}
.deliverables-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 36px}
.deliverable-item{position:relative;border-top:1px solid #bccbd5;padding:22px 0 0;scroll-margin-top:150px;min-width:0}
.deliverable-item .delivery-number{display:block;font:12px var(--mono);letter-spacing:.06em;color:var(--flag);margin:0 0 14px}
.deliverable-item h3{font:500 26px/1.15 var(--display);letter-spacing:-.03em;margin:0 0 12px;max-width:none}
.deliverable-item p{font-size:15px;line-height:1.65;color:var(--body);margin:0}
.survey-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;border-top:1px solid var(--grid);padding-top:80px}
.page-index #levels .survey-section .head{max-width:none}
.page-index #levels .survey-section .h2{font-size:40px;line-height:1.1;max-width:none;margin:0}
.survey-section .lead{margin:0;font-size:16px;max-width:none}
.survey-section>.depth-disclosure{border:0;margin:0;padding:0}
.survey-section .depth-body{padding:0}
.survey-section .folder-tab h3{font-size:21px}
.survey-section .folder-content{font-size:15px}
#support.support-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;padding:96px 0 0;margin:80px 0 0;border:0;border-top:1px solid var(--grid);background:none;position:relative;opacity:1;visibility:visible}
.page-index #levels #support .head{max-width:none}
.page-index #levels #support .h2{font-size:40px;line-height:1.12}
#support .support-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;align-content:start}
#support .support-card{padding:24px 0;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:baseline;visibility:visible;background:none}
#support .support-card:last-child{border-bottom:0}
#support .support-card h4{font-size:24px;line-height:1.25;letter-spacing:-.025em}
/* Client marks move slowly; pause on interaction or with the accessible control. */
.page-index #clients.client-section{padding:110px 0;background:var(--surface);overflow:hidden}
.page-index #clients.client-section>.w{display:block;padding-block:0}
#clients .head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:50px;max-width:none}
.page-index #clients h2{font-size:46px;font-weight:500;line-height:1.1;color:var(--ink);max-width:640px}
.client-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.client-track{display:flex;width:max-content;animation:client-drift 95s linear infinite}
.client-group{display:flex;align-items:center;gap:48px;padding-right:48px;flex:none}
.client-mark{width:170px;height:100px;display:flex;align-items:center;justify-content:center;margin:0;flex:none}
.client-mark img{max-width:100%;max-height:80px;width:auto;height:auto;object-fit:contain;filter:none;opacity:1;mix-blend-mode:multiply}
.client-pause{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border:1px solid #bfcdd6;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.client-pause svg{width:16px;height:16px;fill:currentColor}
.client-marquee:hover .client-track,.client-marquee:focus-within .client-track,.client-section[data-paused="true"] .client-track{animation-play-state:paused}
@keyframes client-drift{to{transform:translateX(-50%)}}
/* Reveal only when an observer is running. Content is visible without scripts. */
.cu-pending{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1.25s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.cu-pending.cu-visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){
 .unified-framework .dialwrap{grid-template-columns:1fr 260px 1fr;gap:42px 24px}.unified-framework .dial{width:260px;height:260px}.unified-framework .dial-needle{width:230px;height:230px;left:calc(50% - 115px);top:calc(50% - 115px)}
 .delivery-editorial{gap:32px;grid-template-columns:.6fr 1.4fr}.deliverable-item h3{font-size:23px}
 .page-product #solution .quad{grid-template-columns:1fr 190px 1fr;gap:30px}
 .survey-section,#support.support-section{gap:40px}
}
@media(max-width:900px){
 .page-product section.product-hero{grid-template-columns:1fr 1fr!important;gap:28px!important;padding-block:44px 64px!important}.product-intro .h1{font-size:46px}.product-hero>.copytext{gap:32px}
 .unified-framework .head{grid-template-columns:1fr;gap:24px}.unified-framework .dialwrap{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:24px 42px;padding:300px 0 0;min-height:0}
 .unified-framework .dial{top:136px}.unified-framework .dial-hub{top:136px;width:105px;height:105px}.unified-framework .dial-needle{top:21px}.unified-framework .tcard.nw,.unified-framework .tcard.ne,.unified-framework .tcard.sw,.unified-framework .tcard.se{grid-column:auto;grid-row:auto}
 .delivery-editorial{grid-template-columns:1fr}.delivery-instrument{width:280px;margin:auto}.deliverables-grid{gap:32px}.survey-section,#support.support-section{grid-template-columns:1fr;gap:36px}
 .page-index #levels .implementation-opening .h2{white-space:normal;font-size:42px}
 .page-product #solution .quad{grid-template-columns:1fr 1fr}.page-product #solution .quad .qc{grid-column:auto;grid-row:auto}.page-product #solution .quad .mid{grid-column:1/-1;grid-row:1}.page-product #solution .mid img{width:240px}
}
@media(max-width:600px){
 .page-product section.product-hero{grid-template-columns:1fr!important;gap:32px!important}.product-intro .h1{font-size:44px}.nautical-visual img{max-width:330px}.product-hero>.copytext{grid-template-columns:1fr;gap:24px;margin-top:0}.product-hero>.copytext p{font-size:16px}
 .compass-brand{font-size:15px}.page-product #demo .h2{font-size:38px;text-wrap:pretty}
 .unified-framework .head .h2,.page-index #clients h2{font-size:36px}.unified-framework .dialwrap{grid-template-columns:1fr;gap:0;padding-top:280px}.unified-framework .tcard{padding-block:25px!important}
 .page-index #levels .implementation-opening .h2{font-size:36px}.implementation-opening .lead{font-size:16px!important}.delivery-editorial{padding:36px 0 60px;gap:28px}.delivery-instrument{width:240px}.deliverables-grid{grid-template-columns:1fr;gap:26px}
 .deliverable-item{display:grid;grid-template-columns:30px 1fr;gap:10px 14px}.deliverable-item .delivery-number{grid-row:1/3;padding-top:5px;margin:0}.deliverable-item h3{font-size:25px;margin:0}.deliverable-item p{grid-column:2}
 .survey-section{padding-top:56px}.page-index #levels .survey-section .h2,.page-index #levels #support .h2{font-size:34px}#support.support-section{padding-top:56px;margin-top:56px}#support .support-grid{grid-template-columns:1fr;gap:0}#support .support-card h4{font-size:24px}.video-placeholder{min-height:230px}
 .page-product #solution .quad{grid-template-columns:1fr}.page-index #clients.client-section{padding-block:72px}.client-mark{width:140px}.client-group{gap:32px;padding-right:32px}
}
@media(prefers-reduced-motion:reduce){.cu-pending,.cu-pending.cu-visible{opacity:1;transform:none;transition:none}.instrument-bearing,.unified-framework .tcard{transition:none}.client-track{animation:none;width:100%}.client-group{display:grid;grid-template-columns:repeat(5,1fr);width:100%;gap:30px;padding:0}.client-mark{width:auto;min-width:0}.client-group[aria-hidden="true"]{display:none}.client-marquee{mask-image:none}.client-pause{display:none}}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.client-group{grid-template-columns:repeat(3,1fr)}}
.client-mark{overflow:hidden}
.client-mark[data-client="oecd"] img{width:188px;max-width:none;max-height:none}
.client-mark[data-client="minfin-senegal"] img{width:180px;max-width:none;max-height:none}
.client-mark[data-client="center-for-governance"] img{width:200px;max-width:none;max-height:none}
#support.support-section .head{display:flex;flex-direction:column;gap:24px}
#support .support-card h4{min-width:0;text-wrap:pretty}
.page-product .site-header[data-scroll-reveal="true"]:not(.is-visible){opacity:1;transform:translateX(-50%)}
.page-product .site-header[data-scroll-reveal="true"]:not(.is-visible) .logo,.page-product .site-header[data-scroll-reveal="true"]:not(.is-visible) .burger{pointer-events:auto}
.page-index #value .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.page-index #value .two>*{min-width:0;width:100%;box-sizing:border-box}
@media(max-width:900px){.page-index #value .two{grid-template-columns:minmax(0,1fr)}}
.page-product #demo>.w{display:block!important}
.page-product #demo .head{width:100%;margin-bottom:48px}
.page-product #demo .form{width:100%;max-width:none}
