/* Shared page system and the second chapter of the homepage. */
#colony-canvas{opacity:.82}
.header nav a[aria-current=page],.header-contact[aria-current=page]{color:var(--yellow)}
.text-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;border-bottom:1px solid #ffffff50;padding-bottom:6px;transition:color .25s,gap .35s}
.text-link:hover{color:var(--yellow);gap:28px}
.chat-float{position:fixed;right:25px;bottom:24px;z-index:75;display:flex;align-items:center;gap:10px;padding:12px 18px;background:#1b211aeb;color:var(--text);border:1px solid #a1b08b66;border-radius:40px;backdrop-filter:blur(15px);box-shadow:0 8px 25px #0003;font-size:13px;transition:background .3s,transform .3s}
.chat-float svg{width:24px;height:24px;color:var(--yellow)}.chat-float i{width:6px;height:6px;border-radius:50%;background:var(--yellow);margin-left:3px}.chat-float:hover{background:#303a28;transform:translateY(-3px)}
.ticker-track{width:max-content;display:flex;animation:marquee 40s linear infinite;will-change:transform}
.ticker-group{flex:none;display:flex;align-items:center;min-width:100vw}
.ticker-group>span{display:flex;align-items:center;gap:35px;padding-right:35px;white-space:nowrap;font:500 55px/1 var(--display);letter-spacing:-2.5px;flex:none}
.ticker-group b{font-size:45px;font-weight:400}
.founder-portrait{display:block;position:relative;width:112px;aspect-ratio:1;flex:none}
.founder-portrait img{width:100%;height:100%;object-fit:cover;border:1px solid #ffffff30;border-radius:3px}
.founder-portrait>span{position:absolute;bottom:-14px;right:-11px;color:var(--yellow);font-size:36px;line-height:1}
.motion-ready .reveal{opacity:0;transform:translateY(55px);filter:blur(5px);transition:opacity 1s var(--ease),transform 1.25s var(--ease),filter 1.2s var(--ease)}
.motion-ready .reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}
.motion-ready .about-grid.reveal>*,.motion-ready .stats.reveal>*,.motion-ready .faq.reveal>*,.motion-ready .footer-top.reveal>*{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.motion-ready .reveal.visible>*,.motion-ready .stats.reveal.visible>*,.motion-ready .faq.reveal.visible>*{opacity:1;transform:none}
.reveal>*:nth-child(2){transition-delay:.12s}.reveal>*:nth-child(3){transition-delay:.24s}
.stats strong{white-space:nowrap}
.process-art{margin-top:60px;max-width:480px;border-block:1px solid var(--line);position:relative}
.process-art-top,.process-art-bottom{display:flex;justify-content:space-between;gap:14px;font:9px/1.5 var(--body);letter-spacing:1.2px;color:var(--muted);padding-block:18px}
.process-art-top>span:first-child{max-width:170px}.live-dot{display:inline-flex;align-items:center;gap:8px}.live-dot:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--yellow);box-shadow:0 0 10px #ffc10d50}
.process-art svg{width:100%;height:auto;display:block}.diagram-grid{stroke:#ffffff06;fill:none}.process-paths{stroke:#7e8d6e55;fill:none;stroke-width:1.2}
.signal-trails{fill:none;stroke:url(#spark-gradient);stroke-width:2;stroke-dasharray:32 480;animation:signalTravel 5s linear infinite}.signal-trails path:nth-child(2){stroke-dasharray:24 330;opacity:.7}.signal-trails path:nth-child(3){stroke-dasharray:50 480;opacity:.8}
.diagram-node{fill:#191e17;stroke:#58644d;stroke-width:1}.diagram-node circle:first-child,.diagram-node circle:last-child{fill:#ffc10d;stroke:#ffc10d}
.diagram-symbols text{text-anchor:middle;fill:var(--yellow);font:30px var(--display)}.diagram-symbols text:first-child,.diagram-symbols text:last-child{fill:#101110;font-size:32px}
.diagram-labels text{text-anchor:middle;fill:#b0b6a7;font:9px var(--body);letter-spacing:1.5px}
@keyframes signalTravel{to{stroke-dashoffset:-512}}
.home-contact{padding-block:80px}.home-contact .contact-headline{margin-block:20px 10px}
.faq-heading{align-self:start}.question-outline{display:block;font:500 clamp(140px,17vw,245px)/1 var(--display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px #ffc10d99;margin-top:28px;transform-origin:28% 45%;animation:questionFloat 7s ease-in-out infinite}
@keyframes questionFloat{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(6deg) translateY(-7px)}}
.inner-page{background:radial-gradient(ellipse at 85% 4%,#31332033,transparent 23%),var(--bg)}
.page-hero{padding-top:185px;padding-bottom:75px;position:relative}
.page-hero .section-kicker{color:var(--muted);align-items:center}.page-hero .section-kicker .text-link{font-size:11px}
.page-title{font:500 clamp(56px,8.5vw,136px)/1.02 var(--display);letter-spacing:-.065em;margin:55px 0 45px;max-width:1400px}
.page-title em{color:var(--yellow)}
.page-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-top:25px;border-top:1px solid var(--line)}
.page-hero-bottom>p{color:#b6bcaf;font-size:18px;line-height:1.7;max-width:630px}
.page-coordinate{font:10px monospace;letter-spacing:1.2px;color:var(--muted);white-space:nowrap}
.creation-collection{padding:30px 0 110px}.creations-page .project{position:relative;top:0}.creations-page .project+.project{margin-top:60px}.creations-page .project-image{height:min(65vw,720px)}
.expertise-orb{font:500 90px/1 var(--display);letter-spacing:-7px;color:transparent;-webkit-text-stroke:1px #ffc10d80}.expertise-orb>span{color:var(--yellow)}
.approach-band{border-top:1px solid var(--line)}.approach-band>.display-heading{margin-top:30px}
.engagements{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:70px}
.engagements article{border-top:1px solid var(--line);padding-top:24px}.engagements article>span,.value-list article>span{color:var(--yellow);font:11px monospace}
.engagements h3{font:500 29px/1.1 var(--display);letter-spacing:-1px;margin:30px 0 20px}.engagements p,.value-list p{color:var(--muted)}
.colony-values{display:grid;grid-template-columns:1fr 1fr;gap:100px}.colony-values .eyebrow{margin-bottom:25px}.value-list{display:grid;gap:45px}.value-list article{border-top:1px solid var(--line);padding-top:20px}.value-list h3{font:500 29px/1.15 var(--display);letter-spacing:-1px;margin:20px 0 18px}
.contact-spark{font:100px/1 var(--display);color:var(--yellow);animation:spin 35s linear infinite}
.contact-page-form{padding-top:40px;padding-bottom:100px}.contact-page .contact-grid{gap:85px}.contact-page .contact-grid h2{font-size:35px}
.location-section{border-top:1px solid var(--line)}.location-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.location-heading .eyebrow{margin-bottom:25px}.location-heading .display-heading{font-size:clamp(40px,4.5vw,68px)}
.map-frame{border:1px solid var(--line);background:#1c2119;overflow:hidden}.map-frame iframe{display:block;width:100%;height:470px;border:0;filter:grayscale(1) invert(.91) contrast(.88);transition:filter .5s}.map-frame:focus-within iframe,.map-frame:hover iframe{filter:grayscale(.2)}
.map-caption{display:flex;justify-content:space-between;padding:18px 25px;gap:20px;font-size:10px;letter-spacing:1.2px;color:var(--muted)}
.case-hero{padding-bottom:60px}.case-hero .page-title{font-size:clamp(65px,9.5vw,152px)}
.case-tags{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:330px}.case-tags>span{border:1px solid #ffffff35;border-radius:25px;padding:5px 12px;font-size:11px}
.case-cover{width:calc(100% - 32px);max-width:1800px;margin-inline:auto;aspect-ratio:16/9;position:relative;overflow:hidden;background:#5b231d;border-radius:4px}
.case-cover>img{width:100%;height:100%;object-fit:cover}.stack-cover>img{filter:brightness(.78)}.case-cover>div{position:absolute;inset:30px 45px;display:flex;flex-direction:column;justify-content:space-between}.case-cover>div>span{font-size:11px;letter-spacing:1.8px}
.case-cover strong{font:600 clamp(45px,7.5vw,115px)/.95 var(--display);letter-spacing:-.06em}.orbit-cover{background:#b7bfef}.orbit-cover>img{object-fit:contain}
.case-story{display:grid;grid-template-columns:1fr 1fr;gap:100px}.case-story .eyebrow{margin-bottom:25px}.case-story .display-heading{font-size:clamp(42px,4.5vw,72px)}
.case-story-copy{align-self:end}.case-story-copy .large-copy{font-size:24px;line-height:1.5;color:var(--text)}.case-story-copy h3{font:500 18px var(--display);margin:35px 0 15px}.case-story-copy>p{color:var(--muted)}
.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px 25px;padding-bottom:110px}
.gallery-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-bottom:15px;gap:20px}.gallery-heading>span{font:10px monospace;color:var(--muted)}
.gallery-item{margin:0;min-width:0}.gallery-wide{grid-column:1/-1}.gallery-photo{padding:0;border:0;background:#222820;width:100%;display:block;position:relative;overflow:hidden;border-radius:3px}
.gallery-photo>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .7s var(--ease)}
.gallery-photo:hover>img{transform:scale(1.035)}.gallery-photo>span{position:absolute;bottom:20px;right:20px;display:grid;place-items:center;background:#101110aa;border:1px solid #ffffff50;width:42px;height:42px;border-radius:50%;font-size:23px;color:#fff}
.gallery-item figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:13px;color:var(--muted);font-size:12px}
.gallery-item figcaption>span:last-child{font:10px monospace}.gallery-item video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#090b09;border-radius:3px}
.next-creation{padding:40px 0 90px}.next-creation a{display:block;border-top:1px solid var(--line);padding-top:30px}.next-creation a>span{color:var(--muted);font:11px monospace;letter-spacing:1px}
.next-creation strong{display:flex;justify-content:space-between;gap:30px;align-items:center;font:500 clamp(34px,5vw,80px)/1.1 var(--display);letter-spacing:-.055em;margin-top:30px;transition:color .3s}.next-creation b{font-weight:400;transition:transform .4s}.next-creation a:hover strong{color:var(--next-color,var(--yellow))}.next-creation a:hover b{transform:translate(8px,-8px)}
#gallery-viewer{width:min(1200px,calc(100% - 35px));padding:15px;background:#111610;max-height:95svh;overflow:auto}#gallery-viewer figure{margin:0}#gallery-image{width:100%;max-height:80svh;object-fit:contain}#gallery-caption{font-size:13px;color:var(--muted);padding:15px 5px 0}
.gallery-close{position:fixed;top:18px;right:22px;background:#111e;border:1px solid #ffffff66;color:#fff;border-radius:50%;height:44px;width:44px;font-size:28px;z-index:2}
@media(min-width:1600px){.case-cover{aspect-ratio:1.9}}
@media(max-width:1100px){.page-hero{padding-top:165px}.page-title{font-size:8.5vw}.page-hero-bottom>p{font-size:16px}.page-coordinate{white-space:normal;max-width:170px;text-align:right}.case-story,.colony-values{gap:60px}.contact-page .contact-grid{gap:50px}.engagements{gap:30px}.engagements h3{font-size:25px}.founder-portrait{width:100px}.process-art{margin-top:45px}}
@media(max-width:760px){
 .chat-float{right:16px;bottom:16px;padding:12px}.chat-float span,.chat-float i{display:none}
 .ticker-group>span{font-size:37px;gap:25px;padding-right:25px;letter-spacing:-1.5px}.ticker-group b{font-size:29px}
 .founder-portrait{width:90px}.founder-portrait>span{font-size:28px;bottom:-10px}.founder-note{gap:22px}
 .process-art{max-width:460px;margin-top:35px}.process-art-top,.process-art-bottom{font-size:8px}
 .question-outline{font-size:115px;margin-top:14px;line-height:.9}.faq-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.faq-heading h2{max-width:200px}.home-contact{padding-block:65px}
 .page-hero{padding-top:130px;padding-bottom:45px}.page-title{font-size:clamp(45px,11vw,80px);margin:38px 0 30px;line-height:1.04}.page-hero .section-kicker{font-size:9px}.page-hero .section-kicker .text-link{font-size:9px}
 .page-hero-bottom{align-items:start;gap:25px;padding-top:22px}.page-hero-bottom>p{font-size:15px}.page-hero-bottom>p br{display:none}.page-coordinate{display:none}
 .creation-collection{padding:10px 0 75px}.creations-page .project-image{height:470px}.creations-page .project+.project{margin-top:45px}
 .expertise-orb{font-size:54px;letter-spacing:-4px;flex:none}.contact-spark{font-size:60px;flex:none}
 .engagements{grid-template-columns:1fr;gap:32px;margin-top:40px}.engagements h3{margin:20px 0 14px;font-size:28px}
 .colony-values{grid-template-columns:1fr;gap:40px}.value-list h3{font-size:27px}
 .contact-page-form{padding-top:20px;padding-bottom:65px}.contact-page .contact-grid{gap:40px}.contact-page .contact-grid h2{font-size:28px}
 .location-heading{display:block;margin-bottom:25px}.location-heading .text-link{margin-top:30px}.map-frame iframe{height:350px}.map-caption{flex-direction:column;gap:8px;padding:15px;font-size:9px}
 .case-hero .page-title{font-size:clamp(60px,14vw,106px)}.case-hero .page-hero-bottom{display:block}.case-tags{justify-content:start;max-width:none;margin-top:25px}.case-tags>span{font-size:10px}
 .case-cover{width:calc(100% - 20px);aspect-ratio:4/3}.case-cover>div{inset:20px}.case-cover>div>span{font-size:8px;letter-spacing:1px}.case-cover strong{font-size:clamp(35px,9vw,65px)}.orbit-cover{aspect-ratio:3/2}
 .case-story{grid-template-columns:1fr;gap:35px}.case-story-copy .large-copy{font-size:21px}
 .project-gallery{grid-template-columns:1fr;gap:30px;padding-bottom:70px}.gallery-heading{align-items:start;margin-bottom:0}.gallery-heading .eyebrow{max-width:145px}.gallery-heading>span{font-size:8px;max-width:100px;text-align:right}
 .gallery-item figcaption{font-size:11px}.gallery-item figcaption>span:last-child{font-size:8px;max-width:90px;text-align:right}.gallery-photo>span{width:35px;height:35px;right:14px;bottom:14px}
 .next-creation{padding:20px 0 70px}.next-creation strong{font-size:34px;gap:15px}.next-creation a>span{font-size:9px}.gallery-close{right:12px;top:12px}
}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal,.motion-ready .reveal>*,.motion-ready .about-grid.reveal>*,.motion-ready .stats.reveal>*,.motion-ready .faq.reveal>*,.motion-ready .footer-top.reveal>*{opacity:1;transform:none;filter:none;clip-path:none;transition:none}.ticker-track,.signal-trails,.question-outline,.contact-spark{animation:none}}
.motion-paused .reveal,.motion-paused .reveal>*,.motion-paused .about-grid.reveal>*,.motion-paused .stats.reveal>*,.motion-paused .faq.reveal>*,.motion-paused .footer-top.reveal>*{opacity:1;transform:none;filter:none;clip-path:none;transition:none}


/* A clipped-to-zero element cannot trigger its own intersection reveal. */
.about-heading,.contact-headline,.page-title{clip-path:none}
.cursor-label{transition:none}
.mascot-label{left:64%;gap:9px;font-size:12px;letter-spacing:1px}
.mascot-label strong{font-size:16px}
.mascot-label .label-line{width:32px;flex-shrink:0}
.mascot-label>span:last-child{line-height:1.45}
@media(min-width:761px) and (max-width:1100px){.mascot-label{left:66%;font-size:10px;letter-spacing:.8px}.mascot-label strong{font-size:14px}.mascot-label .label-line{width:20px}}

/* Height transitions move the surrounding layout as each answer opens or closes. */
.smooth-disclosure{overflow-anchor:none}
.smooth-disclosure.is-animating{overflow:hidden;will-change:height}
.services .smooth-disclosure .service-detail{animation:none}
.services .smooth-disclosure[data-expanded="false"] h3{color:var(--text)}
.services .smooth-disclosure[data-expanded="false"] .expand{transform:rotate(0);color:var(--text)}
.services .smooth-disclosure summary:hover h3{color:var(--yellow)}
.faq summary>span{transition:transform .35s var(--ease)}
.faq .smooth-disclosure[data-expanded="false"] summary>span{transform:rotate(0)}

/* Small, independently timed pieces keep every chapter legible as it unfolds. */
.motion-line,.motion-copy-face{display:block}
.about-heading>.motion-line{color:var(--text)}
.about-heading .motion-line>span:not(.motion-word-mask){color:var(--yellow)}
.motion-word-mask{display:inline-block;vertical-align:bottom;overflow:clip;padding:.14em .1em .18em;margin:-.14em -.1em -.18em;perspective:650px}
.motion-word{display:inline-block;transform-origin:0 100%;backface-visibility:hidden}
.motion-icon{display:inline-block;transform-origin:center}
.motion-ready .motion-piece{--motion-rest:0;--motion-progress:1;--motion-opacity:1}
.motion-ready [data-motion=word]{transform:translate3d(0,calc(var(--motion-rest) * 115%),0) rotateX(calc(var(--motion-rest) * -38deg)) rotateZ(calc(var(--motion-rest) * 4deg));opacity:var(--motion-opacity);transition:none}
.motion-ready [data-motion=rise]{display:block;transform:translate3d(0,calc(var(--motion-rest) * 40px),0);opacity:var(--motion-opacity);transition:none}
.motion-ready [data-motion=label]{display:inline-block;transform:translate3d(calc(var(--motion-rest) * 22px),0,0);clip-path:inset(0 calc(var(--motion-rest) * 100%) 0 0);opacity:var(--motion-opacity);transition:none}
.motion-ready [data-motion=copy]{transform:translate3d(0,calc(var(--motion-rest) * 22px),0);clip-path:inset(0 0 calc(var(--motion-rest) * 100%) 0);opacity:var(--motion-opacity);transition:none}
.motion-ready [data-motion=tag]{transform:translate3d(0,calc(var(--motion-rest) * 22px),0) rotate(calc(var(--motion-rest) * 5deg));opacity:var(--motion-opacity);transition:none}
.motion-ready [data-motion=icon]{transform:rotate(calc(var(--motion-rest) * -100deg)) scale(calc(1 - var(--motion-rest) * .65));opacity:var(--motion-opacity);transition:none}
.motion-ready [data-motion=portrait]{clip-path:inset(calc(var(--motion-rest) * 100%) 0 0 0);scale:calc(1 + var(--motion-rest) * .12);opacity:var(--motion-opacity);transition:none}
.motion-ready [data-motion=orbit]{scale:calc(1 - var(--motion-rest) * .2);opacity:var(--motion-opacity)}
.motion-ready [data-motion=question]{clip-path:inset(0 0 calc(var(--motion-rest) * 100%) 0);opacity:var(--motion-opacity)}
.motion-ready .motion-rule-host{position:relative;border-top-color:transparent}
.motion-rule-host:before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--line);transform-origin:left;transform:scaleX(var(--motion-progress,1));pointer-events:none}
.faq .motion-rule-host{border-bottom-color:transparent}
.faq .motion-rule-host:before{top:auto;bottom:-1px}
.faq .smooth-disclosure summary>span.faq-question-copy{font-size:inherit;color:inherit;transform:translate3d(0,calc(var(--motion-rest) * 22px),0);transition:none}
.motion-ready [data-motion=draw]{stroke-dasharray:1;stroke-dashoffset:var(--motion-rest);opacity:var(--motion-opacity)}
.motion-ready [data-motion=node]{transform-box:fill-box;transform-origin:center;scale:calc(1 - var(--motion-rest) * .55);opacity:var(--motion-opacity)}
.motion-ready [data-motion=svg-label]{opacity:var(--motion-opacity)}
.cta-line-copy{display:block}
.founder-portrait{isolation:isolate}
.rolling-number{display:inline-flex;vertical-align:baseline;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.digit-window{display:inline-block;height:1em;line-height:1;overflow:clip;width:.64em;vertical-align:bottom;letter-spacing:0}
.digit-reel{display:block;line-height:1;will-change:transform}
.digit-reel>span{display:block;height:1em;line-height:1;text-align:center}
.stats strong{display:block}
.stats [data-motion=label]{vertical-align:top}
.footer-wordmark .motion-word-mask{padding:.12em .12em .14em;margin:-.12em -.12em -.14em}
.footer-wordmark>.motion-word-mask{font-size:inherit;vertical-align:bottom;position:static;letter-spacing:inherit}
.motion-paused .motion-piece{--motion-rest:0!important;--motion-progress:1!important;--motion-opacity:1!important}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-piece{--motion-rest:0!important;--motion-progress:1!important;--motion-opacity:1!important}.digit-reel{will-change:auto}}

/* Persistent navigation and geometrically centred arrows across every page. */
.header{position:fixed;background:linear-gradient(180deg,#101210f5,#101210d9);backdrop-filter:blur(18px);border-bottom:1px solid #ffffff09}
.header-actions{flex-shrink:0}
.header-contact,.header-contact[aria-current=page]{color:#101210;background:var(--yellow);border:1px solid var(--yellow);border-radius:40px;min-height:46px;padding:6px 8px 6px 20px;gap:16px;white-space:nowrap;font-weight:600;transition:background .25s,border-color .25s,box-shadow .25s}
.header-contact:hover{background:#ffcf42;border-color:#ffcf42;box-shadow:0 0 25px #ffc10d18}
.header-contact>span{width:32px;height:32px;border-color:#10121040;background:transparent;color:inherit;flex-shrink:0}
.header-contact:hover>span{background:#101210;color:var(--yellow)}
.arrow-icon{display:block;width:18px;height:18px;flex-shrink:0}
.contact-headline b{display:grid;place-items:center;aspect-ratio:1;flex-shrink:0;line-height:1;padding:0}
.contact-headline b>.arrow-icon,.contact-headline b .arrow-icon{width:56%;height:56%;margin:0}
.contact-headline b>.motion-icon{display:grid;place-items:center;width:100%;height:100%;line-height:0}

/* Expertise: a service index, detailed capabilities, and room for the brief. */
.capability-index{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.capability-index a{display:flex;align-items:center;gap:17px;padding:22px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px;transition:color .25s,background .25s}
.capability-index a>span{font:10px monospace;color:var(--muted)}
.capability-index a>b{margin-left:auto;font-size:19px;font-weight:400;color:var(--yellow);transition:transform .3s}
.capability-index a:hover{background:#ffc10d0c;color:var(--yellow)}
.capability-index a:hover>b{transform:translate(3px,-3px)}
.capability-section{grid-template-columns:.85fr 1.15fr;gap:100px}
.capability-section .services-intro{top:145px}
.capability-section .services-intro>p:not(.eyebrow){max-width:390px}
.capability-section .services-intro>.text-link{margin-top:25px}
.capability-stamp{display:flex;align-items:center;gap:24px;margin-top:55px}
.capability-stamp>span{font:500 90px/.9 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px #ffc10d75}
.capability-stamp small{font:9px/1.8 monospace;letter-spacing:1px;color:var(--muted)}
.capability-section details{scroll-margin-top:135px}
.capability-section .service-detail{padding-bottom:30px}
.capability-section .service-detail>p{max-width:none}
.capability-section .service-detail>.service-promise{font:500 20px/1.35 var(--display);color:var(--text);margin-bottom:16px;letter-spacing:-.3px}
.capability-section .deliverable-label{font:10px/1.5 monospace;letter-spacing:1.4px;color:var(--yellow);margin:30px 0 14px}
.capability-deliverables{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:0;margin:0}
.capability-deliverables li{border-top:1px solid #ffffff12;padding:13px 0 13px 14px;position:relative;color:#d5d8ce;font-size:12px;line-height:1.5}
.capability-deliverables li:before{content:'';position:absolute;left:0;top:20px;width:3px;height:3px;background:var(--yellow);border-radius:50%}
.capability-section .service-fit{border-left:1px solid #ffc10d70;padding-left:16px;margin-top:28px;font-size:12px;color:var(--muted)}
.service-fit .motion-copy-face>span,.service-fit>span{display:block;color:var(--yellow);font:9px/1.5 monospace;letter-spacing:1px;margin-bottom:7px}
.service-fit>span.motion-copy-face{font:inherit;letter-spacing:inherit;color:inherit;margin:0}
.editorial-intro{display:grid;grid-template-columns:1.4fr 1fr;column-gap:80px;align-items:end;margin-bottom:65px}
.editorial-intro>.eyebrow{grid-column:1/-1;margin-bottom:27px}
.editorial-intro>p:not(.eyebrow){max-width:420px;color:var(--muted);font-size:16px;line-height:1.75;padding-bottom:5px}
.editorial-intro .display-heading{font-size:clamp(40px,4.8vw,76px)}
.audience-list article{display:grid;grid-template-columns:60px .9fr 1.1fr;gap:35px;border-top:1px solid var(--line);padding:40px 0}
.row-index{font:11px/1.6 monospace;color:var(--yellow)}
.audience-list h3,.discipline-list h3{font:500 clamp(26px,2.3vw,36px)/1.15 var(--display);letter-spacing:-.04em}
.audience-list p,.discipline-list p{color:var(--muted);font-size:15px;line-height:1.8}
.audience-list .scope-line{color:#e0e2d7;font-size:11px;line-height:1.8;margin-top:19px}
.agency-working-band{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:35px;border-block:1px solid var(--line);padding-block:50px;margin-bottom:65px}
.working-symbol{color:var(--yellow);font:80px/1 var(--display);animation:spin 40s linear infinite;text-align:center}
.agency-working-band .eyebrow{margin-bottom:15px}
.agency-working-band h2{font:500 clamp(22px,2.4vw,37px)/1.2 var(--display);letter-spacing:-.04em}
.agency-working-band p:not(.eyebrow){color:var(--muted);max-width:640px;font-size:14px;margin-top:15px}
.agency-working-band>.text-link{white-space:nowrap;margin-left:25px}

/* The Colony: people, perspective, and how the disciplines work together. */
.agency-story{display:grid;grid-template-columns:1fr 1fr;gap:95px;border-top:1px solid var(--line)}
.agency-story .eyebrow{margin-bottom:30px}
.agency-story .display-heading{font-size:clamp(40px,4.6vw,72px)}
.story-copy>p,.leader-story>p{color:var(--muted);line-height:1.8;margin-bottom:24px;font-size:15px}
.story-copy>.large-copy,.leader-story>.large-copy,.global-detail>.large-copy{font:400 clamp(22px,2.2vw,31px)/1.5 var(--display);letter-spacing:-.025em;color:var(--text)}
.leadership-section{background:#191d18;border-block:1px solid #ffffff12}
.leader-feature{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center;margin-top:55px}
.leader-photo{position:relative;max-width:570px;margin:0;overflow:hidden;isolation:isolate}
.leader-photo>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.leader-photo figcaption{position:relative;display:flex;justify-content:space-between;align-items:center;background:var(--yellow);color:#101210;padding:20px 25px;font:10px monospace;letter-spacing:1.2px}
.leader-photo figcaption>span:last-child{font:27px/.7 var(--display)}
.leader-story>.eyebrow{font-size:11px;color:var(--yellow);margin-bottom:24px}
.leader-story h2{font:500 clamp(50px,6.3vw,95px)/1.05 var(--display);letter-spacing:-.065em;margin-bottom:30px}
.leader-story .text-link{margin-top:10px}
.agency-stats{margin-top:75px;padding-top:40px}
.agency-stats strong{font-size:clamp(53px,6.5vw,100px)}
.discipline-list{margin-bottom:35px}
.discipline-list article{display:grid;grid-template-columns:42px 1fr 1.1fr 70px;align-items:center;gap:30px;border-top:1px solid var(--line);padding:35px 0}
.discipline-mark{color:var(--yellow);font:50px/1 var(--display);text-align:right}
.colony-values{border-top:1px solid var(--line)}
.global-collaboration{background:radial-gradient(ellipse at 83% 10%,#ffc10d0d,transparent 55%),#171b15;border-block:1px solid var(--line)}
.global-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:40px}
.timezone-label{font:9px monospace;letter-spacing:1px;color:var(--muted);white-space:nowrap}
.global-collaboration .display-heading{font-size:clamp(60px,8vw,125px)}
.global-detail{display:grid;grid-template-columns:1fr 1fr;gap:95px;margin-top:65px}
.global-detail>p{max-width:420px}
.global-detail>div>p{color:var(--muted);line-height:1.8;font-size:15px}
.collaboration-notes{display:flex;gap:20px;flex-wrap:wrap;margin:30px 0;font:10px/1.6 monospace}
.collaboration-notes>span{border-top:1px solid #ffc10d65;padding-top:12px}
.inner-page .home-contact{margin-top:40px}
@media(max-width:1100px){
 .capability-section{gap:50px;grid-template-columns:.8fr 1.2fr}
 .capability-section .services h3{font-size:30px}
 .capability-deliverables{grid-template-columns:1fr}
 .editorial-intro,.agency-story,.leader-feature,.global-detail{gap:45px}
 .audience-list article{grid-template-columns:30px 1fr 1.25fr;gap:25px}
 .discipline-list article{grid-template-columns:30px 1fr 1.2fr 35px;gap:20px}
 .discipline-mark{font-size:36px}
 .agency-working-band{grid-template-columns:65px 1fr;gap:30px}
 .agency-working-band>.text-link{grid-column:2;margin:0;justify-self:start}
 .working-symbol{font-size:60px}
 .leader-story h2{font-size:64px}
}
@media(max-width:760px){
 .header{height:88px}
 .header-actions{gap:14px}
 .header-contact{padding:6px 6px 6px 14px;gap:10px;min-height:42px;font-size:12px}
 .header-contact>span{width:28px;height:28px}
 .header-contact .arrow-icon{width:16px;height:16px}
 .capability-index{grid-template-columns:1fr 1fr}
 .capability-index a{font-size:12px;gap:10px;padding:19px 13px}
 .capability-index a>span{font-size:8px}
 .capability-index a>b{font-size:16px}
 .capability-section{grid-template-columns:1fr;gap:45px}
 .capability-section .services-intro{position:static}
 .capability-stamp{margin-top:30px;gap:20px}
 .capability-stamp>span{font-size:65px}
 .capability-section .services h3{font-size:27px}
 .capability-section .service-detail{padding-bottom:25px}
 .capability-section details{scroll-margin-top:105px}
 .capability-section .service-detail>.service-promise{font-size:19px}
 .capability-deliverables{grid-template-columns:1fr 1fr;gap:0 18px}
 .capability-deliverables li{font-size:11px}
 .editorial-intro{grid-template-columns:1fr;gap:0;margin-bottom:40px}
 .editorial-intro>.eyebrow{margin-bottom:25px}
 .editorial-intro>p:not(.eyebrow){margin-top:25px;font-size:15px}
 .editorial-intro .display-heading{font-size:43px}
 .audience-list article{grid-template-columns:25px 1fr;gap:20px;padding:28px 0}
 .audience-list article>div{grid-column:2}
 .audience-list h3 br{display:none}
 .audience-list p,.discipline-list p{font-size:14px}
 .agency-working-band{padding-block:35px;margin-bottom:30px;grid-template-columns:40px 1fr;gap:20px}
 .working-symbol{font-size:42px;align-self:start}
 .agency-working-band h2{font-size:26px}
 .agency-working-band p:not(.eyebrow){font-size:13px}
 .agency-story,.leader-feature,.global-detail{grid-template-columns:1fr;gap:35px}
 .agency-story .display-heading{font-size:45px}
 .story-copy>.large-copy,.leader-story>.large-copy,.global-detail>.large-copy{font-size:24px}
 .leader-feature{margin-top:35px}
 .leader-photo{max-width:none}
 .leader-photo figcaption{padding:18px 20px}
 .leader-story h2{font-size:67px;margin-bottom:25px}
 .agency-stats{margin-top:40px}
 .agency-stats strong{font-size:64px}
 .discipline-list article{grid-template-columns:25px 1fr 35px;align-items:start;gap:20px}
 .discipline-list article>p{grid-column:2/4}
 .discipline-mark{grid-column:3;grid-row:1;font-size:30px}
 .colony-values .display-heading{font-size:48px}
 .global-heading{align-items:start;margin-bottom:30px}
 .global-heading .eyebrow{max-width:180px}
 .timezone-label{white-space:normal;text-align:right;max-width:90px;font-size:8px}
 .global-collaboration .display-heading{font-size:65px}
 .global-detail{margin-top:35px}
 .collaboration-notes{gap:16px;font-size:9px}
 .inner-page .home-contact{margin-top:0}
}
@media(max-width:380px){.header-contact>span{display:grid}.header-actions{gap:9px}.header-contact{padding-left:11px;gap:7px}.capability-deliverables{grid-template-columns:1fr}.leader-story h2{font-size:59px}.editorial-intro .display-heading{font-size:38px}.global-collaboration .display-heading{font-size:56px}}
@media(prefers-reduced-motion:reduce){.working-symbol{animation:none}}

/* Dhaka connects to the wider world: a lightweight animated orbital illustration. */
.global-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:95px}
.global-feature>.display-heading{font-size:clamp(48px,6.2vw,112px)}
.global-collaboration:has(.global-feature) .global-detail{margin-top:40px}
#global-connections{scroll-margin-top:100px}
.colony-globe{margin:-25px 0 0;min-width:0;position:relative}
.globe-visual{transform-origin:center}
.globe-art{display:block;width:100%;height:auto;overflow:visible}
.globe-grid{fill:none;stroke-width:.75}
.globe-grid-back{stroke:#c5d4b5;opacity:.09;stroke-dasharray:1.5 4}
.globe-grid-front{stroke:#c5d4b5;stroke-width:.9;opacity:.42}
.globe-edge{fill:none;stroke:#d5e5bd;stroke-width:.9;opacity:.55}
.globe-orbits{stroke:#c9d5b5;stroke-width:.75;opacity:.25}
.globe-orbit-flow{stroke:var(--yellow);stroke-width:1.1;stroke-dasharray:7 93;animation:globeOrbit 14s linear infinite}
.globe-routes{fill:none;stroke-linecap:round}
.globe-route{stroke:url(#globe-route-ink);stroke-width:1.1;opacity:.65;transition:opacity .4s}
.globe-signal{stroke:var(--yellow);stroke-width:2.2;stroke-dasharray:5 95;stroke-dashoffset:0;animation:globeSignal 4.8s linear infinite;animation-delay:var(--signal-delay);filter:drop-shadow(0 0 3px #ffc10d70)}
.globe-destinations{fill:var(--yellow);stroke:#171b15;stroke-width:2}
.globe-origin{fill:var(--yellow)}
.globe-origin-ring{fill:#ffc10d16;stroke:var(--yellow);stroke-width:1}
.globe-pulse{fill:none;stroke:var(--yellow);stroke-width:.8;transform-box:fill-box;transform-origin:center;animation:globePulse 3.2s ease-out infinite}
.globe-pulse-late{animation-delay:-1.6s}
.globe-annotations path{fill:none;stroke:#bfcbab;stroke-width:.8;opacity:.4}
.globe-annotations circle{fill:var(--yellow)}
.globe-annotations text{fill:#b3bba6;font:10px monospace;letter-spacing:1px}
.globe-annotations .globe-location{font-size:14px;letter-spacing:2px;fill:var(--yellow)}
.globe-crosshairs{fill:none;stroke:#a9b590;stroke-width:1;opacity:.4}
.colony-globe figcaption{display:flex;align-items:center;justify-content:center;color:#b6beaa;font:9px/1.8 monospace;letter-spacing:1.2px;margin-top:-5px;text-align:center}
.globe-caption-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--yellow);margin-right:10px;vertical-align:middle}
.colony-globe .globe-signal,.colony-globe .globe-pulse,.colony-globe .globe-orbit-flow{animation-play-state:paused}
.colony-globe.visible .globe-signal,.colony-globe.visible .globe-pulse,.colony-globe.visible .globe-orbit-flow{animation-play-state:running}
.colony-globe:hover .globe-route{opacity:1}
@keyframes globeSignal{to{stroke-dashoffset:-100}}
@keyframes globeOrbit{to{stroke-dashoffset:-100}}
@keyframes globePulse{0%{transform:scale(.35);opacity:.85}85%,100%{transform:scale(1.7);opacity:0}}
@media(max-width:1100px){.global-feature{gap:45px}.colony-globe{margin-top:-10px}.colony-globe figcaption{font-size:8px;letter-spacing:.65px}}
@media(max-width:760px){
 .global-feature{grid-template-columns:1fr;gap:28px}
 .global-feature>.display-heading{font-size:clamp(46px,13.6vw,65px)}
 .colony-globe{margin:0 -10px;max-width:540px;justify-self:center;width:calc(100% + 20px)}
 .colony-globe figcaption{font-size:8px;letter-spacing:.65px;margin-top:2px}
 .global-collaboration:has(.global-feature) .global-detail{margin-top:40px}
 .globe-annotations text{font-size:14px;letter-spacing:.8px}
 .globe-annotations .globe-location{font-size:18px}
 .globe-grid-front{stroke-width:1;opacity:.4}
 #global-connections{scroll-margin-top:75px}
}
.motion-paused .colony-globe .globe-signal,.motion-paused .colony-globe .globe-pulse,.motion-paused .colony-globe .globe-orbit-flow{animation:none}
.motion-paused .colony-globe .globe-pulse{opacity:.2}
@media(prefers-reduced-motion:reduce){.colony-globe.visible .globe-signal,.colony-globe.visible .globe-pulse,.colony-globe.visible .globe-orbit-flow{animation:none}.colony-globe .globe-pulse{opacity:.2}}

/* The engagement models share a brief, while each follows its own path. */
#ways-to-work{scroll-margin-top:100px}
.engagement-heading{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;gap:55px}
.engagement-intro>.display-heading{font-size:clamp(42px,4.6vw,80px);margin-top:30px}
.engagement-visual{margin:-20px 0;min-width:0;position:relative}
.engagement-art{display:block;width:100%;height:auto;overflow:visible}
.engagement-outline{fill:none;stroke:#a7b29a;stroke-width:.8;opacity:.18;stroke-dasharray:2 5}
.engagement-connections{fill:none}
.engagement-route{stroke:#929d7f;stroke-width:1.1;opacity:.5;transition:stroke .3s,opacity .3s}
.engagement-flow{stroke:var(--yellow);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:10 90;animation:engagementFlow 3s ease-in-out infinite;animation-delay:var(--flow-delay);filter:drop-shadow(0 0 3px #ffc10d60)}
.brief-guide{fill:none;stroke:#ffc10d;stroke-width:.8;opacity:.2}
.brief-orbit{fill:none;stroke:var(--yellow);stroke-width:1.6;stroke-dasharray:10 40;transform-origin:300px 171px;animation:briefOrbit 16s linear infinite}
.brief-centre{fill:#171c14;stroke:#ffc10d80;stroke-width:1}
.brief-symbol{fill:none;stroke:var(--yellow);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.engagement-core text{text-anchor:middle;font-family:monospace}
.brief-title{font-size:12px;letter-spacing:1.5px;fill:var(--text)}
.brief-subtitle{font-size:7px;letter-spacing:1px;fill:#a9b49a}
.engagement-node{color:#9aa58b;animation:engagementNode 9s ease-in-out infinite;animation-delay:var(--node-delay)}
.engagement-node-face{fill:#11160f;stroke:currentColor;stroke-width:1}
.engagement-node-halo{fill:none;stroke:currentColor;stroke-width:.7;opacity:.25}
.engagement-node text{text-anchor:middle;fill:currentColor;font-family:monospace}
.engagement-node-number{font-size:13px;letter-spacing:1px}
.engagement-node-name{font-size:11px;letter-spacing:1.4px}
.engagement-ticks{fill:none;stroke:#879477;stroke-width:.8;opacity:.4}
.engagement-visual figcaption{color:#b6beaa;font:9px/1.8 monospace;letter-spacing:1px;text-align:center;margin-top:10px}
.engagement-visual :is(.engagement-flow,.brief-orbit,.engagement-node){animation-play-state:paused}
.engagement-visual.visible :is(.engagement-flow,.brief-orbit,.engagement-node){animation-play-state:running}
.engagement-visual[data-active-path] .engagement-node{animation:none;color:#747d69}
.engagement-visual[data-active-path="1"] [data-path="1"],.engagement-visual[data-active-path="2"] [data-path="2"],.engagement-visual[data-active-path="3"] [data-path="3"]{color:var(--yellow)}
.engagement-visual[data-active-path="1"] [data-path="1"] .engagement-route,.engagement-visual[data-active-path="2"] [data-path="2"] .engagement-route,.engagement-visual[data-active-path="3"] [data-path="3"] .engagement-route{stroke:var(--yellow);opacity:1}
@keyframes engagementFlow{0%{stroke-dashoffset:0;opacity:0}15%,80%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
@keyframes briefOrbit{to{transform:rotate(360deg)}}
@keyframes engagementNode{0%,25%{color:#ffc10d}33%,92%{color:#9aa58b}100%{color:#ffc10d}}
@media(max-width:1100px){.engagement-heading{gap:35px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.engagement-intro>.display-heading{font-size:clamp(37px,4.5vw,52px)}.engagement-visual figcaption{font-size:8px;letter-spacing:.5px}}
@media(max-width:760px){
 .engagement-heading{grid-template-columns:1fr;gap:35px}
 .engagement-intro>.display-heading{font-size:clamp(37px,9.5vw,54px);margin-top:25px}
 .engagement-visual{width:100%;max-width:480px;justify-self:center;margin:0}
 .engagement-visual figcaption{font-size:8px;letter-spacing:.5px;margin-top:12px}
 .engagement-node-name{font-size:15px;letter-spacing:.7px}
 .engagement-node-number{font-size:17px}
 .brief-title{font-size:15px;letter-spacing:.5px}
 .brief-subtitle{font-size:10px;letter-spacing:.5px}
 #ways-to-work{scroll-margin-top:75px}
}
.motion-paused .engagement-visual :is(.engagement-flow,.brief-orbit,.engagement-node){animation:none}
@media(prefers-reduced-motion:reduce){.engagement-visual.visible :is(.engagement-flow,.brief-orbit,.engagement-node){animation:none}}

