@import url('https://fonts.googleapis.com/css?family=Lato:400,700');
@import url('https://fonts.googleapis.com/css?family=Playfair+Display:400,400i');
:root{--ink:#0b162a;--muted:#586570;--line:#dbe2e7;--blue:#92d5f0;--teal:#1f6b7a;--gold:#b68c4c;--space:88px;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.7 'Lato',sans-serif;}
h1,h2,h3,h4,p,figure,dl,dd,ul{margin:0;}
a{color:inherit;text-decoration:none;}button,select{font:inherit;}button,a,select{-webkit-tap-highlight-color:transparent;}
a,button{transition:color .2s,background .2s,border-color .2s;}a:focus-visible,button:focus-visible,select:focus-visible,.gap-track:focus-visible{outline:2px solid var(--teal);outline-offset:5px;}
.container{max-width:1120px;margin-inline:auto;padding-inline:32px;}
.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;}
.fixed-bg-layer{display:none;}
#hero{min-height:740px;height:88svh;max-height:1000px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(180deg,rgba(8,17,27,.45),rgba(8,17,27,.86)),url('/assets/globix/world-map.png') center/cover;}
.top-nav{position:absolute;inset:30px 32px auto;z-index:3;}
.top-nav ul{display:flex;justify-content:flex-end;gap:32px;max-width:1056px;margin:auto;padding:0;list-style:none;}
.top-nav a{font-size:.85rem;color:#c8d0d8;display:block;padding:10px 0;}.top-nav a:hover{color:#fff;}
.hero-content{width:100%;padding-block:100px;}
.hero-logo-img{display:block;width:min(650px,82%);height:auto;margin:auto;}
.brand-tagline{font:italic 1.35rem/1.5 'Playfair Display',serif;margin-top:22px;color:#dbe5eb;}
.slogan{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:36px;font-size:.95rem;letter-spacing:1px;color:#d5e2e8;}
.slogan a{border-bottom:1px solid #6a7d89;padding-bottom:7px;position:relative;}.slogan-divider{color:#6a7d89;}
.slogan a:after{content:'';position:absolute;bottom:-2px;left:0;width:3px;height:3px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px var(--blue);animation:forward-light 3s linear infinite;}
@keyframes forward-light{from{left:0;}to{left:100%;}}
.hero-subtext{max-width:580px;margin:30px auto 0;font-size:1.2rem;color:#fff;}
.section-pad,#iron-triangle,#opportunity{padding-block:var(--space);background:#fff;}
#who,#iron-triangle,#opportunity,#divisions,#experience{border-bottom:1px solid var(--line);}
h2{font:400 clamp(1.9rem,3vw,2.55rem)/1.25 'Playfair Display',serif;letter-spacing:-.5px;text-align:left;margin-bottom:22px;}
h3,h4{font-family:'Playfair Display',serif;font-weight:400;}
p{color:var(--muted);}
.introduction-grid,.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;}
#who h2{max-width:18ch;margin:0;}.introduction-copy>p{font-size:1.12rem;line-height:1.75;}.introduction-copy>p+p{font-size:.95rem;margin-top:20px;}
.read-more-link,.gap-call,.contact-secondary{display:inline-block;font-size:.95rem;color:var(--teal);border-bottom:1px solid #8ca5ae;padding-bottom:4px;}.read-more-link{margin-top:24px;}.read-more-link:hover,.gap-call:hover,.contact-secondary:hover{border-color:var(--ink);color:var(--ink);}
.triangle-intro,.gap-intro{font-size:1.05rem;max-width:58ch;margin-bottom:36px;}
.triangle-framework-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.triangle-framework-visual img{display:block;width:100%;max-width:420px;height:auto;margin:auto;}
.triangle-explainer dl{display:grid;gap:24px;}.triangle-definition{padding-left:22px;border-left:2px solid;}.triangle-infrastructure{border-color:var(--blue);}.triangle-capital{border-color:var(--ink);}.triangle-relationships{border-color:var(--gold);}.triangle-definition dt{font-size:1.1rem;font-weight:700;margin-bottom:4px;}.triangle-definition dd{font-size:1rem;color:var(--muted);}
.gap-browser{display:flex;flex-direction:column;}.gap-track{order:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;}.gap-track::-webkit-scrollbar{display:none;}.gap-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:center;padding:12px 2px 28px;}.gap-visual h3{font-size:clamp(1.5rem,2.4vw,1.95rem);line-height:1.35;max-width:27ch;margin-bottom:24px;}.gap-visual svg{display:block;width:100%;height:auto;}.gap-visual svg text{font-family:'Lato',sans-serif;}.chart-line-label{font-size:23px;font-weight:700;paint-order:stroke fill;stroke:#fff;stroke-width:7px;stroke-linejoin:round;}.chart-revenue{fill:var(--teal);}.chart-cost{fill:#88662e;}.chart-wedge-label{font:25px 'Playfair Display',serif!important;fill:var(--ink);paint-order:stroke fill;stroke:#fff;stroke-width:6px;}.chart-axis-label,.chart-variable{font:italic 24px 'Playfair Display',serif!important;fill:#66717b;}.chart-start-label{font-size:20px;font-weight:700;fill:var(--ink);paint-order:stroke fill;stroke:#fff;stroke-width:6px;}.chart-note{font-size:.7rem;text-align:center;margin-top:12px;color:#68747d;}.gap-pillars{font-size:.8rem;color:var(--teal);margin-bottom:16px;}.gap-framework-label{display:none;}.gap-conversation h4{font-size:1.35rem;line-height:1.4;margin-bottom:16px;}.gap-conversation>p:not(.gap-pillars){font-size:1rem;margin-bottom:24px;}.gap-controls{order:2;display:flex;justify-content:flex-start;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:22px;font-size:.85rem;color:var(--muted);}.gap-controls button{width:42px;height:42px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:50%;cursor:pointer;font-size:1.2rem;}.gap-controls button:hover:not(:disabled){background:var(--ink);color:#fff;}.gap-controls button:disabled{opacity:.35;cursor:default;}.gap-swipe-hint{font-size:.8rem;}.gap-toolbar{order:0;display:flex;align-items:center;gap:18px;margin:6px 0 28px;font-size:.85rem;color:var(--muted);}#gap-picker{width:min(420px,75%);padding:10px 12px;border:1px solid var(--line);border-radius:0;color:var(--ink);background:#fff;font-size:.85rem;}
.divisions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:38px;}.division-card{display:flex;flex-direction:column;justify-content:space-between;gap:26px;padding:28px 24px;background:#fff;border:1px solid var(--line);border-top:3px solid;}.division-title{font:1.6rem/1.3 'Playfair Display',serif;margin-bottom:18px;}#infrastructure{border-top-color:var(--blue);}#capital{border-top-color:var(--ink);}#relationships{border-top-color:var(--gold);}.card-intro{min-height:110px;line-height:1.7;}.custom-list{list-style:none;padding:0;margin-top:20px;color:var(--muted);}.custom-list li{padding:10px 0;border-top:1px solid #e9edf0;line-height:1.6;font-size:.9rem;}.division-card [style*='font-size: 0.8rem']{font-size:.8rem!important;line-height:1.65;color:#586570!important;font-style:normal!important;}.btn-outline,.contact-btn.primary{display:inline-flex;justify-content:center;align-items:center;padding:13px 18px;min-height:50px;border:1px solid var(--ink);font-size:.9rem;line-height:1.4;font-weight:700;text-align:center;border-radius:0;}.division-card .btn-outline{width:100%;}.btn-outline:hover,.contact-btn.primary:hover{background:var(--blue);border-color:var(--blue);color:var(--ink);}
#mandate-band{padding-block:64px;background:var(--ink);color:#fff;}.mandate-inner{display:flex;justify-content:space-between;align-items:center;gap:60px;}#mandate-band h2{max-width:22ch;font-size:clamp(1.8rem,3vw,2.3rem);margin-bottom:18px;}#mandate-band p{max-width:58ch;color:#c6d2dd;font-size:1rem;}#mandate-band .btn-outline{color:var(--blue);border-color:var(--blue);white-space:nowrap;}#mandate-band .btn-outline:hover{color:var(--ink);}
#experience h2{max-width:18ch;font-size:clamp(1.8rem,3vw,2.3rem);}#experience .read-more-link{margin-top:0;}#experience p+p{margin-top:20px;}
#contact{text-align:center;padding-block:80px;}#contact h2{text-align:center;}.contact-lede{max-width:58ch;margin:auto;}.contact-wrapper{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:28px;}.contact-btn.primary{background:var(--ink);color:#fff;min-width:240px;}.contact-btn.primary:hover{color:var(--ink);}.contact-direct{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:28px;font-size:.9rem;color:var(--muted);}.contact-direct a:hover{color:var(--teal);}
footer{padding:64px 0 28px;background:var(--ink);color:#c6d2dd;font-size:.9rem;}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:65px;padding-bottom:40px;}.footer-logo-link{display:block;max-width:170px;margin-bottom:20px;}.footer-logo-link img{display:block;width:100%;height:auto;}.footer-brand p{max-width:28ch;color:#c6d2dd;margin-bottom:16px;}.footer-col h4{font:700 .95rem 'Lato',sans-serif;color:#fff;margin-bottom:18px;}.footer-col>a:not(.footer-logo-link){display:block;width:fit-content;margin-bottom:10px;}.footer-col a:hover{color:var(--blue);}.footer-about{border-bottom:1px solid #607180;}.footer-legal{padding:24px 0;border-block:1px solid #334256;}.footer-legal h4{font:700 .85rem 'Lato',sans-serif;margin-bottom:12px;color:#fff;}.compliance-block{font-size:.8rem;color:#b9c5cf;max-width:100ch;line-height:1.75;}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:24px;font-size:.75rem;}.back-to-top-fixed{display:none;}
@media(max-width:800px){:root{--space:64px;}.container{padding-inline:24px;}#hero{min-height:650px;height:85svh;}.introduction-grid,.experience-grid,.triangle-framework-grid{gap:40px;}.divisions-grid{gap:14px;}.division-card{padding:24px 16px;}.card-intro{min-height:140px;}.gap-slide{gap:28px;}.footer-grid{gap:30px;}}
@media(max-width:650px){:root{--space:54px;}body{font-size:16px;}.container{padding-inline:24px;}#hero{height:90svh;min-height:600px;}.top-nav{inset:20px 24px auto;}.top-nav ul{justify-content:center;gap:20px;}.top-nav a{font-size:.75rem;}.hero-content{padding-block:90px;}.hero-logo-img{width:100%;}.brand-tagline{font-size:1.2rem;}.slogan{font-size:.78rem;gap:10px;letter-spacing:0;margin-top:30px;}.slogan-divider{display:none;}.hero-subtext{font-size:1.1rem;margin-top:28px;}h2{font-size:2rem;}.introduction-grid,.experience-grid,.triangle-framework-grid{grid-template-columns:1fr;gap:28px;}#who h2{max-width:21ch;}.introduction-copy>p{font-size:1.05rem;}.triangle-framework-visual img{max-width:350px;}.triangle-explainer dl{gap:20px;}.triangle-definition{padding-left:16px;}.triangle-definition dt{font-size:1rem;}.triangle-definition dd{font-size:.95rem;}.gap-starts{gap:14px;margin-top:24px;}.gap-starts button{font-size:.8rem;line-height:1.5;}.gap-slide{grid-template-columns:1fr;gap:28px;}.gap-visual h3{font-size:1.6rem;}.gap-visual svg{width:calc(100% + 20px);margin-left:-10px;}.chart-line-label{font-size:25px;}.chart-axis-label,.chart-variable{font-size:26px!important;}.gap-toolbar{align-items:flex-start;flex-direction:column;gap:8px;}#gap-picker{width:100%;}.gap-swipe-hint{display:none;}.divisions-grid{grid-template-columns:1fr;gap:24px;margin-top:28px;}.division-card{padding:28px 24px;}.card-intro{min-height:0;}.mandate-inner{flex-direction:column;align-items:flex-start;gap:28px;}#mandate-band{padding-block:54px;}.contact-wrapper{flex-direction:column;gap:20px;}#contact{padding-block:54px;}.contact-direct{flex-wrap:wrap;font-size:.85rem;}.footer-grid{grid-template-columns:1fr 1fr;gap:30px;}.footer-brand{grid-column:1/-1;}.footer-bottom{flex-direction:column;gap:16px;}footer{padding-top:54px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*:before,*:after{animation:none!important;transition:none!important;}}

/* Crisp geometric linework, inspired by the globe in the mark. */
#iron-triangle{position:relative;overflow:hidden;isolation:isolate;}
#iron-triangle>.container{position:relative;z-index:1;}
.globe-detail{position:absolute;pointer-events:none;z-index:0;color:#70b9d6;opacity:.18;}
.globe-detail-triangle{width:1000px;height:1000px;right:-400px;top:-570px;transform:rotate(-28deg) scaleY(-1);}
.globe-linework{display:block;width:100%;height:100%;}
.asset-principle{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);margin-top:44px;padding-top:30px;}
.asset-principle h3{font-size:1.5rem;line-height:1.4;}
.asset-principle p{font-size:1rem;line-height:1.75;}
@media(max-width:650px){.globe-detail-triangle{width:650px;height:650px;right:-350px;top:-270px;opacity:.1;}.asset-principle{grid-template-columns:1fr;gap:14px;margin-top:32px;padding-top:24px;}.asset-principle h3{font-size:1.4rem;}}

/* Quiet background on phones; matching dark bookends for the page. */
footer{background:#080f14;}
@media(max-width:650px){.globe-linework>g{stroke-width:1.5;}}

/* One triangle travels from the mark into its final place in the framework. */
.triangle-flight{position:fixed;left:0;top:0;width:440px;height:365px;z-index:90;pointer-events:none;transform-origin:0 0;visibility:hidden;will-change:transform;}
.triangle-flight svg{display:block;width:100%;height:100%;overflow:visible;}
.triangle-flight.is-active{visibility:visible;filter:drop-shadow(0 8px 25px rgba(70,160,205,.25));}
.triangle-flight .intro-label{opacity:0;}.intro-depth,.intro-glass{opacity:0;}.intro-sheen{opacity:0;}
.triangle-flight.is-active .intro-main>circle{filter:drop-shadow(0 0 5px #92d5f0);}
.intro-skip{position:fixed;right:24px;bottom:24px;z-index:100;border:1px solid #7597a7;background:#0b162a;color:#fff;padding:10px 16px;cursor:pointer;font:14px 'Lato',sans-serif;}
.intro-skip[hidden]{display:none;}.intro-replay{display:block;margin:18px auto 0;border:0;border-bottom:1px solid #c5d3dc;background:transparent;color:#66717b;padding:4px 0;font:13px 'Lato',sans-serif;cursor:pointer;}
.triangle-framework-visual.is-receiving>img{visibility:hidden;}
@media(prefers-reduced-motion:reduce){.triangle-flight,.intro-skip{display:none!important;}}

.hero-logo-wrap{position:relative;width:min(650px,82%);margin:auto;}
.hero-logo-wrap .hero-logo-img{width:100%;max-width:none;}
.globe-replay{position:absolute;left:37.7%;top:23.2%;width:12.5%;height:30.5%;border:0;border-radius:50%;padding:0;background:transparent;cursor:pointer;}
.globe-replay:hover{box-shadow:0 0 20px rgba(146,213,240,.45);}
.globe-replay:focus-visible{outline:2px solid #92d5f0;outline-offset:5px;}
@media(max-width:650px){.hero-logo-wrap{width:100%;}.globe-replay{min-width:40px;min-height:40px;}}

.triangle-flight.is-tracing{filter:drop-shadow(0 0 4px #92d5f0);}
.triangle-flight.is-tracing .intro-main>path{stroke:#d5f4ff;stroke-width:3;fill:rgba(146,213,240,.18);}
.triangle-flight.is-tracing .intro-main>circle{fill:#d5f4ff;filter:drop-shadow(0 0 5px #92d5f0);}
.chart-y-title{font-style:italic!important;}

.chart-gap-label{font:18px 'Lato',sans-serif!important;fill:#52616d;paint-order:stroke fill;stroke:#fff;stroke-width:6px;stroke-linejoin:round;}
@media(max-width:650px){.chart-gap-label{font-size:22px!important;}}

.logo-origin{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .14s;filter:drop-shadow(0 0 5px #92d5f0);}
.logo-origin path{fill:rgba(146,213,240,.45);stroke:#e0f8ff;stroke-width:1.6;vector-effect:non-scaling-stroke;}
.logo-origin circle{fill:#e9fbff;}
.logo-origin.is-lit{opacity:1;}
.globe-replay:hover{box-shadow:none;}
.gap-first-step{border-left:2px solid var(--blue);padding-left:16px;margin:24px 0;}
.gap-first-step h5{font:700 .9rem 'Lato',sans-serif;margin:0 0 8px;color:var(--ink);}
.gap-first-step p{font-size:.95rem;line-height:1.65;}

/* Recognisable problems first; one detailed chart at a time. */
.gap-discovery{margin:30px 0 40px;}.gap-choice-label{font-weight:700;margin:0 0 14px;color:var(--ink);}.gap-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}.gap-choice{font:400 .95rem/1.5 'Lato',sans-serif;text-align:left;color:var(--ink);background:#fff;border:1px solid #d8e1e6;border-radius:0;padding:15px 18px;cursor:pointer;min-height:78px;}.gap-choice:hover{border-color:#1f6b7a;background:#f6fbfd;}.gap-choice[aria-pressed="true"]{border-color:#1f6b7a;background:#eef8fc;box-shadow:inset 3px 0 #1f6b7a;}.gap-choice:focus-visible,.gap-more summary:focus-visible{outline:2px solid #1f6b7a;outline-offset:3px;}.gap-more{margin-top:16px;}.gap-more summary{cursor:pointer;color:#1f6b7a;width:fit-content;padding:5px 0;}.gap-more[open] summary{margin-bottom:14px;}.advisory-takeaway{border-left:2px solid var(--blue);padding-left:18px;color:var(--ink);}
@media(max-width:650px){.gap-choices{grid-template-columns:1fr 1fr;gap:8px;}.gap-choice{font-size:.87rem;padding:12px;min-height:88px;}.gap-discovery{margin-bottom:28px;}}




.hero-start{display:inline-block;margin-top:24px;padding:9px 20px;border:1px solid #92d5f0;color:#c9edf9;font-size:.9rem;}.hero-start:hover{background:#92d5f0;color:#0b162a;}

/* Three steps from self-recognition to a conversation. */
.journey-step{font-size:.88rem;color:var(--teal);margin-bottom:12px;}.triangle-framework-visual{position:relative;}.triangle-hitareas{position:absolute;left:50%;top:0;transform:translateX(-50%);width:100%;max-width:420px;aspect-ratio:440/365;pointer-events:none;}.triangle-pick{position:absolute;border:1px solid transparent;background:transparent;padding:0;cursor:pointer;pointer-events:auto;border-radius:6px;}.triangle-pick:hover,.triangle-pick[aria-pressed="true"]{border-color:#83b3c6;background:rgba(146,213,240,.1);}.triangle-pick:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}.pick-infrastructure{left:26%;top:0;width:48%;height:26%;}.pick-capital{left:0;top:70%;width:36%;height:24%;}.pick-relationships{right:0;top:70%;width:39%;height:24%;}.focus-context{display:flex;align-items:center;gap:18px;margin-top:-12px;margin-bottom:24px;color:var(--teal);font-size:.9rem;}.focus-context[hidden],.gap-slide[hidden],.gap-more[hidden]{display:none;}.focus-context button{border:0;border-bottom:1px solid #b6cbd5;background:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:2px 0;}.division-card.is-focus{border-color:#1f6b7a;box-shadow:0 0 0 2px rgba(31,107,122,.24);}.division-card.is-focus .division-title::after{content:'Your focus';display:block;font:400 .8rem 'Lato',sans-serif;letter-spacing:0;color:#1f6b7a;margin-top:8px;}.contact-momentum{font-size:1.1rem;color:var(--ink);margin:16px auto 12px;max-width:48ch;}
@media(max-width:650px){.triangle-hitareas{max-width:350px;}.triangle-pick{min-height:44px;}.focus-context{flex-wrap:wrap;gap:8px 16px;}.journey-step{font-size:.85rem;}}
/* Highlight the vertex itself, rather than drawing a box over the diagram. */
.triangle-pick:hover,.triangle-pick[aria-pressed="true"]{border-color:transparent;background:transparent;}
.triangle-pick::after{content:'';position:absolute;width:22px;height:22px;border:1.5px solid currentColor;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s;pointer-events:none;}
.triangle-pick:hover::after,.triangle-pick[aria-pressed="true"]::after{opacity:1;}
.pick-infrastructure{color:#1f6b7a;}.pick-infrastructure::after{left:50%;top:68.5%;}
.pick-capital{color:#0b162a;}.pick-capital::after{left:47.35%;top:33.7%;}
.pick-relationships{color:#9b783e;}.pick-relationships::after{left:56.3%;top:33.7%;}
/* A quiet light follows the pointer only across the dark bookends. */
#hero,footer{isolation:isolate;}footer{position:relative;}
#hero::after,footer::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 58px at var(--light-x,-100px) var(--light-y,-100px),rgba(146,213,240,.26),rgba(105,191,225,.09) 38%,transparent 75%);opacity:0;transition:opacity .2s;}
#hero.has-pointer-light::after,footer.has-pointer-light::after{opacity:1;}
.hero-content,footer>.container{position:relative;z-index:2;}
.footer-logo-link{position:relative;isolation:isolate;}.footer-logo-link::before{content:'';position:absolute;inset:-14px -20px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,rgba(146,213,240,.1),rgba(146,213,240,.025) 45%,transparent 75%);filter:blur(12px);}.footer-logo-link img{filter:drop-shadow(0 0 6px rgba(146,213,240,.08));}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){#hero::after,footer::after{display:none;}}

.journey-step{display:flex;align-items:center;gap:16px;margin-bottom:18px;color:var(--teal);}.journey-numeral{font:400 2rem/1.15 "Playfair Display",Georgia,serif;letter-spacing:.04em;}.journey-caption{font:400 1rem/1.4 "Playfair Display",Georgia,serif;color:var(--muted);}.journey-step::after{content:"";display:block;width:42px;height:1px;background:#b6cbd5;}
@media(max-width:650px){.journey-numeral{font-size:1.7rem;}.journey-caption{font-size:.95rem;}.journey-step{margin-bottom:16px;}}

.site-disclaimer{font-size:.75rem;line-height:1.65;color:#b9c5cf;max-width:100ch;margin-top:14px;}
/* A restrained pulse makes the three vertices discoverable as controls. */
.triangle-pick::after{opacity:.65;animation:vertex-invitation 2.8s ease-in-out infinite;}
.triangle-pick:hover::after,.triangle-pick:focus-visible::after,.triangle-pick[aria-pressed="true"]::after{animation:none;opacity:1;}
.triangle-framework-visual.is-receiving .triangle-hitareas{visibility:hidden;}
@keyframes vertex-invitation{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.4;}50%{transform:translate(-50%,-50%) scale(1.28);opacity:.85;}}
@media(prefers-reduced-motion:reduce){.triangle-pick::after{animation:none;opacity:.65;}}
/* The explanations are the same accessible controls as the vertices. */
.triangle-definition{position:relative;}.triangle-description-pick{border:0;background:transparent;color:inherit;font:inherit;padding:0;text-align:left;cursor:pointer;}.triangle-description-pick::after{content:'';position:absolute;inset:0;}.triangle-definition:has(.triangle-description-pick:hover),.triangle-definition:has(.triangle-description-pick[aria-pressed="true"]){background:#f4fafc;}.triangle-definition:focus-within{outline:2px solid var(--teal);outline-offset:6px;}.triangle-description-pick:focus-visible{outline:none;}
.gap-choice[aria-pressed="true"]{animation:gap-selection-invitation 2.8s ease-in-out infinite;}
@keyframes gap-selection-invitation{0%,100%{box-shadow:inset 3px 0 #1f6b7a,0 0 0 0 rgba(31,107,122,.1);}50%{box-shadow:inset 3px 0 #1f6b7a,0 0 0 4px rgba(31,107,122,.17);}}
/* Fine-pointer light cursor is confined to the black header and footer. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #hero::before,footer::before{content:'';position:absolute;left:var(--light-x,-100px);top:var(--light-y,-100px);width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%);background:#f0fbff;box-shadow:0 0 5px 2px rgba(190,237,255,.8),0 0 15px 7px rgba(90,185,226,.3);pointer-events:none;z-index:5;opacity:0;}
 #hero.has-pointer-light::before,footer.has-pointer-light::before{opacity:1;}
 #hero.light-on-action::before,footer.light-on-action::before{box-shadow:0 0 6px 3px rgba(190,237,255,.9),0 0 22px 10px rgba(90,185,226,.4);}
 #hero.has-pointer-light,#hero.has-pointer-light a,#hero.has-pointer-light button,footer.has-pointer-light,footer.has-pointer-light a,footer.has-pointer-light button{cursor:none;}
}
@media(prefers-reduced-motion:reduce){.gap-choice[aria-pressed="true"]{animation:none;}}
/* Lift the dark surface to uncover the blue beneath. */
.hero-start{position:relative;isolation:isolate;background:#92d5f0;color:#c9edf9;perspective:500px;}
.hero-start>span{position:relative;z-index:2;}
.hero-start::before{content:'';position:absolute;inset:0;background:#080f14;z-index:1;transform-origin:50% 0;transform:rotateX(0deg);backface-visibility:hidden;pointer-events:none;transition:transform .65s cubic-bezier(.2,.7,.25,1),box-shadow .65s;}
.hero-start:hover,.hero-start:focus-visible{color:#0b162a;}
.hero-start:hover::before,.hero-start:focus-visible::before{transform:rotateX(112deg);box-shadow:0 10px 18px rgba(0,0,0,.18);}
@media(hover:none),(prefers-reduced-motion:reduce){.hero-start::before{transition:none;}.hero-start:hover::before,.hero-start:focus-visible::before{transform:none;opacity:0;}}
/* Each selected chart owns its viewport; adjacent slides cannot bleed into it. */
.gap-slide{overflow:hidden;}.gap-visual,.gap-conversation{min-width:0;}.gap-visual h3{scroll-margin-top:28px;}
@media(max-width:650px){.gap-visual svg{width:100%;margin-left:0;}}
/* A small curled, lit edge makes the dark button surface feel like a peel. */
.hero-start{overflow:hidden;color:#0b162a;}
.hero-start::before{display:none;}
.hero-start>.button-label{position:relative;z-index:1;}
.hero-start>.button-peel{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;color:#c9edf9;background:linear-gradient(175deg,#080f14 75%,#12242e);transform-origin:50% 0;transform:translateY(0) rotate(0);transition:transform .65s cubic-bezier(.2,.7,.25,1);pointer-events:none;}
.hero-start>.button-peel::after{content:'';position:absolute;left:-10%;right:-10%;bottom:-1px;height:12px;background:linear-gradient(0deg,rgba(210,245,255,.7),rgba(146,213,240,.12) 35%,transparent);opacity:0;transition:opacity .18s;}
.hero-start:hover>.button-peel,.hero-start:focus-visible>.button-peel{transform:translateY(-125%) rotate(-9deg);}
.hero-start:hover>.button-peel::after,.hero-start:focus-visible>.button-peel::after{opacity:1;}
@media(hover:none),(prefers-reduced-motion:reduce){.hero-start>.button-peel{transition:none;}.hero-start:hover>.button-peel,.hero-start:focus-visible>.button-peel{transform:translateY(-100%);}}

.gap-track{touch-action:pan-x pan-y pinch-zoom;}
@media(hover:hover) and (pointer:fine){.gap-track{cursor:grab;}.gap-track.is-dragging{cursor:grabbing;user-select:none;}.gap-swipe-hint{font-size:0;}.gap-swipe-hint::after{content:"Drag to explore";font-size:.8rem;}}
@media(max-width:650px){.gap-swipe-hint{display:block;font-size:.75rem;}.gap-controls{flex-wrap:wrap;gap:14px;}}
/* One continuous globe spans the introduction and the framework. */
.perspective-story{position:relative;isolation:isolate;overflow:hidden;}
.perspective-story #iron-triangle{overflow:visible;isolation:auto;}
.perspective-story #who{position:relative;}
.perspective-story #who>.container{position:relative;z-index:1;}
.perspective-story>.globe-detail-triangle{top:calc(var(--intro-height,360px) - 570px);}
/* One cue above the chart; only navigation below it. */
.chart-swipe-cue{display:none;}.gap-controls{border-top:0;padding-top:8px;gap:18px;}
.gap-call{display:inline-block;padding:10px 16px;background:#0b162a;color:#fff;border:0;font-weight:700;font-size:.9rem;line-height:1.5;}.gap-call:hover{background:#1f6b7a;color:#fff;}
@media(max-width:650px){
 .perspective-story>.globe-detail-triangle{top:calc(var(--intro-height,440px) - 270px);}
 .chart-swipe-cue{display:flex;align-items:center;gap:8px;font-size:.75rem;line-height:1.4;color:#68747d;margin:-10px 0 14px;}
 .swipe-mark{display:inline-block;font-size:1rem;animation:swipe-invitation 2.8s ease-in-out 3;}
 .gap-controls{gap:16px;padding-top:0;}
}
@keyframes swipe-invitation{0%,100%{transform:translateX(0);}25%{transform:translateX(-4px);}65%{transform:translateX(4px);}}
@media(prefers-reduced-motion:reduce){.swipe-mark{animation:none;}}

/* A cool paper tone gives the continuous globe a quiet surface. */
.perspective-story{background:linear-gradient(to bottom,#fff 0,#fff var(--intro-height,360px),#f7f7f3 var(--intro-height,360px),#f7f7f3 100%);}

.perspective-story::before,#opportunity::before,#advisory-sessions::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22180%22%20height%3D%22180%22%20viewBox%3D%220%200%20180%20180%22%3E%3Cfilter%20id%3D%22grain%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.86%22%20numOctaves%3D%222%22%20seed%3D%227%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23grain%29%22%20opacity%3D%22.5%22%2F%3E%3C%2Fsvg%3E");background-repeat:repeat;opacity:.075;mix-blend-mode:multiply;}
.perspective-story #who,.perspective-story #iron-triangle{background:transparent;}

/* The paper surface belongs to the three-step journey only. */
.perspective-story::before{top:var(--intro-height,360px);}
#opportunity,#advisory-sessions{position:relative;isolation:isolate;background:#f7f7f3;}
#opportunity>.container,#advisory-sessions>.container{position:relative;z-index:1;}
#opportunity .chart-line-label,#opportunity .chart-start-label,#opportunity .chart-wedge-label,#opportunity .chart-gap-label{stroke:#f7f7f3;}
/* Echo the logo's short stroke, then briefly illuminate the headline. */
.headline-reveal{position:relative;align-self:start;max-width:100%;overflow:hidden;}
.headline-light{display:block;width:54px;height:4px;margin:0 0 22px;background:#8ac6e3;}
.headline-reveal h2>span{display:block;}
.headline-reveal.is-illuminating .headline-light{animation:headline-light-on 1.1s ease-out both;}
.headline-reveal.is-illuminating h2>span{animation:headline-uncover .9s cubic-bezier(.2,.65,.3,1) .12s both;}
.headline-reveal.is-illuminating::after{content:'';position:absolute;top:25px;bottom:0;left:-18%;width:18%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(146,213,240,.22),rgba(230,249,255,.5),transparent);transform:skewX(-10deg);animation:headline-beam .95s ease-out .1s both;}
@keyframes headline-uncover{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes headline-beam{0%{left:-18%;opacity:0;}12%{opacity:1;}85%{opacity:.5;}100%{left:105%;opacity:0;}}
@keyframes headline-light-on{0%{box-shadow:0 0 0 transparent;}30%{box-shadow:0 0 14px rgba(110,200,235,.55);}100%{box-shadow:0 0 0 transparent;}}
@media(prefers-reduced-motion:reduce){.headline-reveal.is-illuminating .headline-light,.headline-reveal.is-illuminating h2>span{animation:none;}.headline-reveal::after{display:none;}}
.top-nav a{transition:color .18s ease,text-shadow .18s ease;}
.top-nav a:hover,.top-nav a:focus-visible{color:#c4efff;text-shadow:0 0 7px rgba(146,213,240,.85),0 0 20px rgba(93,185,227,.45);}
@media(prefers-reduced-motion:reduce){.top-nav a{transition:none;}}
/* Atlas keeps its own gold accents within the Globix navy capital section. */
#mandate-band{--atlas-gold:#C6A15B;border-top:1px solid rgba(198,161,91,.28);}
#mandate-band h2::before{content:'';display:block;width:44px;height:2px;margin-bottom:22px;background:var(--atlas-gold);}
#mandate-band .btn-outline{color:var(--atlas-gold);border-color:var(--atlas-gold);}
#mandate-band .btn-outline:hover,#mandate-band .btn-outline:focus-visible{background:var(--atlas-gold);border-color:var(--atlas-gold);color:#0b162a;}
#mandate-band .btn-outline:focus-visible{outline-color:var(--atlas-gold);}
/* Step III turns the selected gap into one focused conversation. */
#sessions-heading{max-width:16ch;}.session-lede{font-size:1.12rem;line-height:1.75;max-width:37ch;}.session-follow-through{font-size:.95rem;line-height:1.7;margin-top:22px;max-width:40ch;}
.session-panel{border-left:2px solid var(--blue);padding:4px 0 4px 30px;}.session-context-label{font-size:.85rem;color:var(--teal);margin-bottom:12px;}.session-panel h3{font-size:1.55rem;line-height:1.35;margin-bottom:18px;color:var(--ink);}.session-panel>p:not(.session-context-label){font-size:1rem;line-height:1.7;}.session-book{display:inline-flex;align-items:center;justify-content:center;margin-top:24px;padding:13px 20px;min-height:48px;background:#0b162a;color:#fff;font-size:.95rem;font-weight:700;}.session-book:hover{background:#1f6b7a;color:#fff;}.session-panel .session-payment-note{font-size:.8rem!important;margin-top:12px;}.session-panel .session-guarantee{font-size:.8rem!important;margin-top:20px;max-width:44ch;}
@media(max-width:650px){.session-layout{gap:28px;}.session-lede{font-size:1rem;}.session-follow-through{margin-top:16px;}.session-panel{padding-left:20px;}.session-panel h3{font-size:1.35rem;}.session-book{width:100%;}}
/* Working-notes experiment: hand-drawn step marks, precise content. */
.journey-numeral.journey-sketch{display:block;width:48px;height:48px;flex:0 0 48px;line-height:0;}
.journey-sketch svg{display:block;overflow:visible;transform:rotate(-3deg);}
.journey-sketch path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;}
.journey-sketch .sketch-number{stroke-width:2;}.journey-sketch .sketch-orbit{stroke-width:1.1;opacity:.42;}
.journey-step::after{height:6px;background:none;border-top:1px solid #9db9bd;border-radius:50%;transform:rotate(-3deg);width:35px;opacity:.7;}
.journey-step{gap:13px;margin-bottom:14px;}.journey-caption{font-family:'Lato',sans-serif;font-size:.85rem;}
.intro-replay>span{margin-left:6px;font-size:1rem;}
@media(max-width:650px){.journey-numeral.journey-sketch,.journey-sketch svg{width:42px;height:42px;flex-basis:42px;}.journey-caption{font-size:.8rem;}}
/* Ink study: serif numerals and fine, lightly imperfect linework. */
.ink-filter-defs{position:absolute;pointer-events:none;overflow:hidden;}
.journey-numeral{font:400 1.9rem/1.1 'Playfair Display',Georgia,serif;letter-spacing:.035em;filter:url(#globix-ink);color:#234751;}
.journey-step::after{width:38px;height:3px;transform:rotate(-1.5deg);opacity:.65;}
.journey-caption{font:400 .95rem/1.4 'Playfair Display',Georgia,serif;}
#triangle-heading,#opportunity-heading,#sessions-heading{filter:url(#globix-ink);}
@media(max-width:650px){.journey-numeral{font-size:1.65rem;}.journey-caption{font-size:.9rem;}}
/* Only the chart being viewed needs live ink filtering. */
.gap-slide[inert] .gap-visual svg path{filter:none;}
/* Short corporate homepage; the full sequence lives on the business review. */
.page-home #hero{height:auto;min-height:85svh;}
.hero-offer{color:#c6d2dd;font-size:1rem;max-width:46ch;margin:16px auto 0;}
.hero-conversation{display:block;width:fit-content;margin:18px auto 0;color:#c6d2dd;font-size:.9rem;}
.hero-conversation:hover{color:#c4efff;}
.review-invitation{background:#f7f7f3;border-block:1px solid var(--line);}
.review-invitation-copy{font-size:1.12rem;line-height:1.75;max-width:38ch;}
.review-entry{display:inline-flex;background:var(--ink);color:#fff;padding:13px 20px;margin-top:24px;font-size:.95rem;font-weight:700;}
.review-entry:hover{background:#1f6b7a;color:#fff;}.review-entry-note{font-size:.8rem;margin-top:12px;}
.review-preview img{display:block;width:100%;max-width:330px;margin:auto;}.review-preview p{text-align:center;font-size:.85rem;margin-top:8px;}
.page-review #hero{height:80svh;min-height:560px;max-height:780px;}
.page-review .hero-content{padding-block:90px;}
@media(max-width:650px){.page-home #hero .hero-content{padding:100px 0 64px;}.hero-offer{font-size:.9rem;max-width:30ch;}.review-preview img{max-width:280px;}.page-review #hero{height:auto;min-height:75svh;}.page-review .hero-content{padding:100px 0 64px;}.review-invitation-copy{font-size:1rem;}}
/* A distinct working-session entrance, rather than a second corporate hero. */
.page-review #hero.review-header{display:block;height:auto;min-height:0;max-height:none;padding:0;text-align:left;background:#080f14;}
.review-masthead{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px;}
.review-brand{display:flex;align-items:center;gap:24px;}
.review-header .hero-logo-wrap{width:180px;max-width:none;margin:0;flex:0 0 180px;}
.review-product{font-size:.9rem;line-height:1.4;color:#d0e5ee;padding-left:24px;border-left:1px solid #3c505c;}
.review-navigation a{display:block;padding:10px 0;color:#c6d2dd;font-size:.85rem;white-space:nowrap;}
.review-navigation a:hover,.review-navigation a:focus-visible{color:#c4efff;text-shadow:0 0 8px rgba(146,213,240,.7);}
.page-review #who.review-intro{padding-block:48px;}
.review-intro h1{font:400 clamp(2rem,3.5vw,3rem)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.5px;max-width:24ch;margin:0 0 20px;color:var(--ink);}
.review-intro p{max-width:54ch;font-size:1.05rem;line-height:1.7;}
.review-intro p.review-intro-note{font-size:.85rem;margin-top:12px;}
.review-intro .headline-light{margin-bottom:20px;width:44px;height:3px;}
@media(max-width:650px){.review-masthead{gap:16px;padding-block:10px;}.review-brand{display:block;}.review-header .hero-logo-wrap{width:140px;}.review-product{display:block;border:0;padding:0;font-size:.72rem;margin-top:0;}.review-navigation a{font-size:.8rem;}.page-review #who.review-intro{padding-block:32px;}.review-intro p{font-size:1rem;}.review-intro h1{max-width:15ch;}}
/* A clear invitation to the review, with the framework large enough to read. */
.review-preview img{max-width:460px;}
.review-masthead{width:100%;}
@media(max-width:650px){.review-preview img{max-width:350px;}}
/* The homepage uses the same globe language and a tighter, larger diagram. */
.review-invitation{position:relative;isolation:isolate;overflow:hidden;}
.review-invitation>.container{position:relative;z-index:1;}
.globe-detail-home{width:1000px;height:1000px;right:-400px;top:-430px;transform:rotate(-28deg) scaleY(-1);opacity:.12;}
.review-preview img{max-width:520px;}
@media(max-width:650px){.globe-detail-home{width:650px;height:650px;right:-350px;top:-170px;opacity:.1;}.review-preview{margin-inline:-16px;}.review-preview img{width:100%;max-width:none;}.review-preview p{padding-inline:16px;}}
/* Extend the same positioned globe across the boundary into the cards above. */
.homepage-framework-story{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(to bottom,#fff 0,#fff var(--home-entry-offset,650px),#f7f7f3 var(--home-entry-offset,650px),#f7f7f3 100%);}
.homepage-framework-story #divisions{position:relative;background:transparent;}
.homepage-framework-story #divisions>.container{position:relative;z-index:1;}
.homepage-framework-story .review-invitation{isolation:auto;overflow:visible;background:transparent;}



/* The framework exists only once: it arrives from the globe before taking its place. */
.triangle-intro-pending .triangle-framework-visual>img,
.triangle-intro-pending .triangle-hitareas{visibility:hidden;}
.page-review #hero.review-header{height:clamp(280px,38svh,360px);}
.review-header .review-masthead{height:100%;justify-content:center;padding-block:36px;}
.review-header .review-brand{flex-direction:column;gap:24px;}
.review-header .hero-logo-wrap{width:360px;flex:0 0 auto;max-width:100%;}
.review-context{display:flex;align-items:center;justify-content:center;gap:20px;}
.review-context .review-product{border:0;padding:0;margin:0;}
.review-context .review-navigation{padding-left:20px;border-left:1px solid #3c505c;}
.review-context .review-navigation a{padding:0;}
@media(max-width:650px){
 .page-review #hero.review-header{height:clamp(230px,31svh,280px);}
 .review-header .review-masthead{padding-block:28px;}
 .review-header .review-brand{display:flex;gap:20px;width:100%;}
 .review-header .hero-logo-wrap{width:min(290px,100%);}
 .review-context{gap:14px;}
 .review-context .review-navigation{padding-left:14px;}
 .review-context .review-product,.review-context .review-navigation a{font-size:.8rem;}
}
@media(prefers-reduced-motion:reduce){
 .triangle-intro-pending .triangle-framework-visual>img,
 .triangle-intro-pending .triangle-hitareas{visibility:visible;}
}

.gap-other{display:inline-block;margin-top:16px;padding:8px 0;color:var(--teal);font-size:.92rem;line-height:1.5;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#adc8d1;}
.gap-other:hover{color:var(--ink);}.gap-other:focus-visible{outline:2px solid var(--teal);outline-offset:5px;}

/* Consistent card typography; qualifications remain clearly readable. */
.division-card .card-intro{font-size:1rem;}
.division-card .custom-list{font-size:.9rem;color:var(--muted);}
.division-card .card-qualifier{font-size:.8rem;line-height:1.7;color:var(--muted);margin-top:20px;font-style:italic;}

/* A small ink-drawn directional cue, rather than a platform-rendered glyph. */
.swipe-mark{width:34px;height:14px;vertical-align:-2px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 14'%3E%3Cpath d='M4 7c7-.7 17 .6 26 0M8 3 3 7l5 4M26 3l5 4-5 4' fill='none' stroke='%231f6b7a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}

.review-triangle-link{display:block;border-radius:4px;}.review-triangle-link:focus-visible{outline:2px solid var(--accent,#157687);outline-offset:6px;}
