:root{color-scheme:dark;--bg:#080d10;--surface:#101619;--text:#f4f4f0;--muted:#aab2b7;--cyan:#2ab5e5;--purple:#a769cb;--green:#95c641;--gold:#e8af25;--pink:#c64d83;--border:#273035;--body:Arial,Helvetica,sans-serif;--display:"Lemon Milk","Arial Black",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.5 var(--body)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.14}h1,h2{letter-spacing:-.025em}h1{font-family:var(--display);font-size:clamp(40px,4.8vw,68px);font-weight:800;text-transform:uppercase;margin-bottom:24px;line-height:1.035}h2{font-size:clamp(30px,3vw,45px);font-weight:600;margin-bottom:20px}h3{font-size:21px;margin-bottom:10px;font-weight:600}h4{font-size:18px}p{margin-bottom:1em}ul{padding-left:19px;color:var(--muted)}li{margin-block:7px}blockquote{margin:0}.container{width:min(1280px,calc(100% - 90px));margin-inline:auto}.eyebrow{font-size:12px;line-height:1.4;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--cyan);margin-bottom:17px}.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:200;top:15px;left:15px;background:var(--cyan);color:#071015;padding:12px 18px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}section{position:relative;scroll-margin-top:80px}.section-pad,.content-section,.service-section{padding-block:60px;border-bottom:1px solid var(--border)}.mountain-section{background:linear-gradient(#080d10e5,#080d10d5),url('/assets/images/mountain-dark-hd.webp') center/cover}.section-intro{margin-bottom:35px;max-width:950px}.section-intro p:not(.eyebrow),.muted{color:var(--muted)}.section-intro-split{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;max-width:none;align-items:center}.intro-aside{border-left:1px solid var(--border);padding:20px 35px;color:var(--muted)}.intro-aside:after{content:"";display:block;width:70px;height:2px;background:var(--cyan);margin-top:25px}.intro-aside h3{color:var(--text)}
.site-header{position:relative;z-index:50;background:#080d10;border-bottom:1px solid #172025}.header-inner{max-width:1450px;margin:auto;padding:18px 30px;display:flex;align-items:center;gap:28px;min-height:86px}.brand-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-logo .brand-mark{width:52px;height:50px;object-fit:contain;flex-shrink:0}.brand-name-main{display:block;white-space:nowrap}.brand-logo .brand-name{white-space:nowrap;text-transform:none}.brand-logo .brand-name small{text-transform:none}.brand-logo>span{font-size:15px;letter-spacing:.16em;font-weight:750;line-height:1.2}.brand-logo small{display:block;font-size:10px;letter-spacing:.4em;margin-top:6px;font-weight:550}.site-header nav{display:flex;align-items:center;gap:24px;justify-content:center;flex:1;font-size:12px}.site-header nav>a,.nav-services summary{padding-block:13px;position:relative;white-space:nowrap}.site-header nav a:hover,.site-header summary:hover,.site-header .active{color:var(--cyan)}.site-header nav>a.active:after{content:"";position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--cyan)}.nav-services{position:relative}.nav-services summary{list-style:none}.nav-services summary:after{content:"⌄";margin-left:7px}.nav-services summary::-webkit-details-marker{display:none}.service-dropdown{position:absolute;top:100%;left:-20px;width:330px;background:#0b1115;border:1px solid var(--border);padding:18px;box-shadow:0 12px 28px #0007;display:grid}.service-dropdown a{padding:10px 8px;border-bottom:1px solid #1a252c;white-space:normal;font-size:14px}.header-inner>.button{font-size:12px;padding:12px 17px;gap:12px}.header-inner>.button span:not(.button-label){display:none}.menu-toggle{display:none;background:none;border:0;padding:12px;color:white}.menu-toggle span{display:block;background:currentColor;height:2px;width:25px;margin:5px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 21px;background:var(--cyan);color:#04151d;border:1px solid var(--cyan);font-size:14px;font-weight:600;line-height:1.3;transition:background .18s}.button span:not(.button-label){font-size:22px;line-height:1}.button:hover{background:#57c8eb;border-color:#57c8eb}.button-outline{background:#060a0d60;color:var(--text)}.button-outline:hover{color:#04151d}.button-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.text-link{display:inline-flex;align-items:center;gap:16px;color:var(--cyan);font-size:14px;font-weight:600}.text-link span{font-size:21px}.text-link:hover{color:#7adbfb}.scribble{font-family:"Segoe Print","Bradley Hand",cursive;font-size:25px;text-transform:uppercase;transform:rotate(-13deg);line-height:1.3;font-weight:400;color:#c9d1d5aa;max-width:190px}.scribble:after{content:"";display:block;height:2px;width:95px;background:var(--cyan);margin-top:13px}.icon{display:inline-flex;width:48px;height:48px;flex-shrink:0;color:var(--cyan)}.icon svg{width:100%;height:100%}.purple{color:var(--purple)}.cyan{color:var(--cyan)}.green{color:var(--green)}.gold{color:var(--gold)}.pink{color:var(--pink)}.icon-hex{border:1px solid currentColor;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);padding:7px;width:62px;height:62px}
.hero{min-height:640px;border-bottom:1px solid var(--border);overflow:hidden;background:#081116}.hero-photo{position:absolute;right:0;top:0;width:72%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080d10 0%,#080d10f0 23%,#080d10c0 38%,#080d1020 63%,#080d1000)}.hero-inner{position:relative;padding-block:60px 30px;min-height:inherit;display:flex;flex-direction:column;justify-content:center}.hero-copy{max-width:600px;position:relative;z-index:1}.hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.45;max-width:500px;color:#c1c6c9}.hero-note{position:absolute;right:0;top:60px}.hero-stats{display:flex;margin-top:45px;max-width:920px;align-items:center}.hero-stats>div{padding-inline:26px;display:grid;gap:4px;border-right:1px solid #485158;max-width:240px}.hero-stats>div:first-child{padding-left:0}.hero-stats>div:last-child{border:0}.hero-stats strong{font-size:17px}.hero-stats span:not(.icon){font-size:12px;color:#a9b1b7}.hero-stats .icon{width:35px;height:35px;margin-bottom:8px}.hero-home{min-height:720px}.hero-home h1{font-size:clamp(65px,7.8vw,108px);line-height:.95;letter-spacing:-.035em;max-width:460px}.hero-home .hero-copy{max-width:520px}.hero-home .hero-photo{width:70%}.hero-home .hero-shade{background:linear-gradient(90deg,#080d10f9 0%,#080d10f0 24%,#080d1040 49%,#080d1000 78%)}.home-intersection{display:grid;grid-template-columns:1.1fr 1fr .25fr;gap:45px;align-items:center;padding-block:60px;min-height:510px}.home-intersection h2{font-family:Georgia,serif;font-weight:400;font-size:46px;line-height:1.18}.home-intersection>div>p:not(.eyebrow){color:var(--muted);max-width:500px}.capability-wheel{width:100%;height:auto;max-width:570px}.intersection-words{font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:#66727a;border-left:1px solid var(--border);padding-left:20px;line-height:1.8}.section-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}.section-header-row h2{font-family:Georgia,serif;font-weight:400;font-size:44px}.section-header-row p:not(.eyebrow){color:var(--muted);max-width:700px;margin:0}.feature-grid,.service-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-grid.four{grid-template-columns:repeat(4,1fr)}.feature-grid.five{grid-template-columns:repeat(5,1fr)}.feature-card,.project-card,.service-card{background:#101619;border:1px solid var(--border);overflow:hidden}.feature-card>div,.project-card>div{padding:27px}.feature-card .icon{margin-bottom:17px}.feature-card p,.project-card p:not(.eyebrow),.service-card p{font-size:15px;color:var(--muted)}.feature-card .text-link{margin-top:15px}.feature-card .card-photo{width:100%;height:220px;object-fit:cover}.project-card img{height:320px;width:100%;object-fit:cover}.project-card h3{font-size:23px}.project-card .eyebrow{font-size:10px;margin:10px 0}.feature-grid.line-cards{gap:0}.line-cards .feature-card{background:transparent;border:0;border-right:1px solid var(--border);text-align:center}.line-cards .feature-card:last-child{border:0}.line-cards .feature-card>div{padding:22px 16px}.line-cards .icon{width:43px;height:43px}.line-cards h3{font-size:18px}.line-cards p{font-size:14px}.home-services{display:grid;grid-template-columns:1.1fr 2.1fr;gap:50px;align-items:center}.home-services h2{font-family:Georgia,serif;font-weight:400;font-size:39px}.home-services p{color:var(--muted)}.home-services .feature-card>div{padding:20px 12px}.home-partner{display:grid;grid-template-columns:340px 1fr;gap:75px;align-items:center}.home-partner h2{font-size:36px;font-weight:500}.home-partner p:not(.eyebrow){color:var(--muted)}.carousel-controls{display:flex;gap:16px;margin-top:25px}.circle-button{border:1px solid var(--cyan);border-radius:50%;background:none;color:var(--cyan);height:44px;width:44px;font-size:22px}.testimonial-slide[hidden]{display:none}.testimonial-slide blockquote{font-size:24px;line-height:1.45}.testimonial-slide .quote-name{margin-top:25px;color:var(--text)}.carousel-dots{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.carousel-dots button{border:0;background:#45515a;height:7px;width:7px;border-radius:50%;padding:0}.carousel-dots button[aria-current="true"]{background:var(--text)}.venture-row{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:18px}.venture-intro{padding-right:25px}.venture-intro h2{font-family:Georgia,serif;font-weight:400;font-size:36px}.venture-intro p:not(.eyebrow){color:var(--muted);font-size:15px}.venture-mini{border:1px solid var(--border);background:#101518;padding:30px 14px;text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:230px}.venture-name{font-size:30px;line-height:1.1;font-weight:700;margin:0 0 25px}.venture-mini p:not(.venture-name){font-size:14px;color:var(--muted);margin:0}.venture-mini .venture-name:after{content:"";display:block;height:3px;width:60px;margin:25px auto;background:currentColor}.venture-mini:hover{border-color:var(--cyan)}
.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:460px;border-bottom:1px solid var(--border);background:#091015}.split-section.reverse .split-photo{order:2}.split-photo{position:relative;overflow:hidden;min-height:380px}.split-photo img{height:100%;width:100%;object-fit:cover}.split-copy{align-self:center;padding:50px}.split-copy>p:not(.eyebrow){color:var(--muted)}.inline-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.inline-features h3{font-size:16px;margin-top:14px}.inline-features p{font-size:14px;color:var(--muted)}.inline-features .icon{width:40px;height:40px}.coastal-cta{min-height:360px;overflow:hidden;border-bottom:1px solid var(--border);background:#101c25}.cta-photo{position:absolute;width:100%;height:100%;object-fit:cover}.coastal-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081018ed,#08101890 48%,#08101820)}.coastal-cta>.container{position:relative;z-index:1;padding-block:60px}.coastal-cta h2{text-transform:uppercase;font-weight:800;max-width:950px}.coastal-cta p:not(.eyebrow,.scribble){color:#d9dee0;max-width:750px}.coastal-cta .scribble{position:absolute;right:20px;bottom:10px}.quote-section{padding-block:45px;background:linear-gradient(90deg,#080d10,#0b1217);border-bottom:1px solid var(--border)}.quote-layout{display:grid;grid-template-columns:1fr 200px;gap:45px;align-items:center;position:relative}.quote-layout.with-portrait{grid-template-columns:270px 1fr 170px}.quote-portrait{width:100%;height:300px;object-fit:cover;object-position:top}.quote-copy{max-width:850px}.quote-mark{font-size:70px;color:var(--cyan);font-family:Georgia,serif;line-height:.65;display:block;margin:5px 0 10px}.quote-copy blockquote{font-size:25px;line-height:1.4;margin-bottom:22px}.quote-name{font-size:16px;font-weight:650;margin-bottom:2px}.quote-role{font-size:14px;line-height:1.5;color:var(--cyan);margin:0}.approval-note{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:20px}.partner-strip{padding-block:22px;background:#0c1114;border-bottom:1px solid var(--border)}.partner-strip .eyebrow{text-align:center;font-size:10px;margin-bottom:12px}.partner-logos{display:flex;justify-content:space-around;gap:25px;align-items:center;flex-wrap:wrap}.partner-logos span{max-width:170px;text-align:center;color:#879097;font-size:15px;letter-spacing:.15em;line-height:1.2}.partner-logos span:nth-child(3n){font-family:Georgia,serif;font-size:18px}.services-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pillar-head{padding:25px 20px 30px}.pillar-index{font-size:18px;font-weight:600}.pillar-index:after{content:"";display:inline-block;margin-left:20px;width:100px;height:2px;background:currentColor;vertical-align:middle}.pillar-head h3{font-size:58px;text-transform:uppercase;font-weight:800;margin:18px 0}.pillar-head p{font-size:19px;line-height:1.4;color:#c2c8cb}.pillar-panel{border:1px solid var(--border);background:#101518}.pillar-panel>img{height:190px;width:100%;object-fit:cover}.pillar-list{padding:25px}.pillar-item{display:flex;gap:20px;padding-block:22px;border-bottom:1px solid var(--border)}.pillar-item:last-child{border:0}.pillar-item h4{font-size:19px;margin-bottom:10px;color:var(--text)}.pillar-item p{font-size:14px;color:var(--muted);margin:0}.pillar-item .icon{width:50px;height:50px}.mountain-feature{background:linear-gradient(90deg,#091a24ec,#08131b85),url('/assets/images/coast-hd.webp') center/cover;padding-block:70px;border-bottom:1px solid var(--border)}.mountain-feature>.container{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center}.mountain-feature h2{text-transform:uppercase;font-size:49px;font-weight:750}.mountain-feature p:not(.eyebrow){color:#c6ccd0}.vertical-features{display:grid;gap:26px}.vertical-features>div{display:flex;align-items:center;gap:22px}.vertical-features h3{font-size:21px;margin-bottom:4px}.vertical-features p{margin:0;font-size:16px}.trust-grid{display:grid;grid-template-columns:1.1fr repeat(4,1fr);gap:20px;align-items:center}.trust-item{text-align:center;padding:20px;border-left:1px solid var(--border)}.trust-item h3{font-size:30px}.trust-item p{font-size:15px;color:var(--muted)}
.about-who{display:grid;grid-template-columns:1fr 1fr .7fr;gap:35px;align-items:center}.editorial-photo{width:100%;height:430px;object-fit:cover}.about-who h2{font-family:Georgia,serif;font-size:42px;font-weight:400}.about-who p{color:var(--muted)}.vertical-features.compact{gap:22px}.compact .icon{width:35px;height:35px}.compact h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em}.compact p{font-size:13px}.coast-story{background:linear-gradient(90deg,#071017ed,#07101740),url('/assets/images/coast-hd.webp') center/cover;padding-block:60px}.coast-story h2{font-family:Georgia,serif;font-weight:400;max-width:550px;font-size:44px}.coast-story p:not(.eyebrow){max-width:580px;color:var(--muted)}.coast-story .scribble{position:absolute;right:60px;bottom:30px}.stat-band{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0;border-block:1px solid var(--border)}.stat-band>div{display:flex;gap:18px;padding-inline:25px;border-right:1px solid var(--border)}.stat-band>div:last-child{border:0}.stat-band .icon{width:38px;height:38px}.stat-band strong{display:block;font-size:16px}.stat-band span:not(.icon){font-size:12px;color:var(--muted);display:block}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.three-columns>div{padding-inline:20px;border-right:1px solid var(--border)}.three-columns>div:last-child{border:0}.three-columns h3{font-family:Georgia,serif;font-size:32px;font-weight:400}.three-columns p{color:var(--muted);font-size:16px}.three-columns>div:after{content:"";height:3px;width:65px;display:block;background:var(--cyan);margin-top:22px}.three-columns>div:first-child:after{background:var(--purple)}.three-columns>div:last-child:after{background:var(--green)}.founder-section{display:grid;grid-template-columns:1.1fr 1.9fr;gap:50px}.founder-section h2{font-family:Georgia,serif;font-size:34px;font-weight:400}.founder-section p{color:var(--muted)}.founder-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.founder-card{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--border);min-height:315px}.founder-card img{height:100%;width:100%;object-fit:cover;object-position:top}.founder-card>div{padding:22px 17px}.founder-card h3{font-size:16px;margin-bottom:10px}.founder-card p{font-size:13px}.founder-card .role{color:var(--cyan)}.founder-card blockquote{font-size:13px;font-style:italic;color:var(--muted)}.comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.comparison{background:#111719;border:1px solid var(--border);padding:25px 20px}.comparison h3{font-size:14px;text-transform:uppercase;line-height:1.5;display:flex;justify-content:space-between;gap:12px}.comparison h3 span{color:var(--cyan)}.comparison ul{padding-left:0;list-style:none;font-size:14px;margin:20px 0}.comparison p{font-size:13px;color:var(--cyan);margin:0}.philosophy{text-align:center}.philosophy>p{color:var(--muted);max-width:950px;margin-inline:auto}.connection-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;text-align:center;margin-block:40px}.connection-flow>div{position:relative}.connection-flow>div:not(:last-child):after{content:"";position:absolute;width:28px;top:30px;right:-29px;border-top:1px dashed #546069}.connection-flow h3{text-transform:uppercase;font-size:14px;letter-spacing:.05em;color:var(--cyan)}.connection-flow p{font-size:13px;color:var(--muted)}.measurement{display:flex;align-items:center;justify-content:center;gap:20px;max-width:640px;margin:auto;border:1px solid var(--border);padding:18px}.measurement h3{font-size:16px;text-transform:uppercase;margin:0}.measurement p{font-size:13px;color:var(--muted);margin:5px 0 0}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.principle{display:flex;gap:20px}.principle h3{text-transform:uppercase;font-size:16px}.principle p{font-size:15px;color:var(--muted)}.process-step{display:grid;grid-template-columns:1fr 1fr .55fr;gap:30px;align-items:center;min-height:240px;padding:28px 0;border-bottom:1px solid var(--border)}.process-step:nth-child(even){grid-template-columns:.55fr 1fr 1fr}.process-step:nth-child(even) .process-copy{order:3}.process-step:nth-child(even) .outcome{order:1}.process-step:nth-child(even) img{order:2}.process-copy{display:grid;grid-template-columns:50px 1fr;gap:22px}.step-number{color:var(--cyan);font-size:38px;font-weight:750;line-height:1}.process-step:nth-child(3n+1) .step-number{color:var(--purple)}.process-step:nth-child(3n) .step-number{color:var(--green)}.process-copy h3{text-transform:uppercase;font-size:22px}.process-copy h4{color:var(--cyan);text-transform:uppercase;font-size:14px;margin-bottom:15px}.process-copy p{color:var(--muted);font-size:15px;margin:0}.process-step img{width:100%;height:200px;object-fit:cover}.outcome{border:1px solid var(--border);background:#0e1418;padding:25px}.outcome .icon{width:35px;height:35px;float:left;margin:5px 15px 10px 0}.outcome ul{font-size:13px;padding-left:15px;list-style:none}.outcome li:before{content:"• ";color:var(--cyan)}.work-filter{border-bottom:1px solid var(--border);padding-block:22px}.filter-row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.filter-row button{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:12px 16px;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:9px}.filter-row .icon{height:25px;width:25px}.filter-row button[aria-pressed="true"]{color:var(--cyan);border-bottom-color:var(--cyan)}.case-study{display:grid;grid-template-columns:1fr 1.15fr .55fr;border-bottom:1px solid var(--border);min-height:520px;background:#091116;align-items:center}.case-copy{padding:45px}.case-study h2{text-transform:uppercase;font-weight:750;font-size:48px}.case-study h3{font-size:24px;font-weight:500}.case-study p{color:var(--muted)}.case-study>img{height:100%;width:100%;object-fit:cover;min-height:470px}.case-study.reverse{grid-template-columns:1.15fr 1fr}.case-study.reverse>img{order:-1}.case-study.reverse .case-stats{display:none}.case-study[hidden]{display:none}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tags span{font-size:11px;padding:5px 8px;border:1px solid var(--border);background:#131c22}.case-stats{padding:30px 23px;border-left:1px solid var(--border)}.case-stats>div{padding-block:18px;border-bottom:1px solid var(--border);display:flex;gap:12px}.case-stats strong{display:block;font-size:26px}.case-stats p{font-size:12px;margin:0}.case-stats .icon{height:32px;width:32px}.case-small-stats{display:flex;gap:22px;margin-top:25px}.case-small-stats strong{display:block;font-size:25px;color:var(--green)}.case-small-stats span{font-size:12px;color:var(--muted)}
.contact-hero{min-height:900px;position:relative;overflow:hidden;background:#081118;border-bottom:1px solid var(--border)}.contact-hero>.hero-photo{width:100%;height:100%;opacity:.85}.contact-hero>.hero-shade{background:linear-gradient(90deg,#080d10d9,#080d1045)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;position:relative;padding-block:60px}.contact-copy{padding-top:55px}.contact-copy h1{font-size:clamp(42px,5vw,72px)}.contact-copy>p{font-size:20px;color:var(--muted)}.contact-values{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.contact-values>div{border-right:1px solid var(--border)}.contact-values>div:last-child{border:0}.contact-values h3{font-size:18px;margin-top:18px}.contact-copy .scribble{margin-top:55px;font-size:31px;max-width:200px}.contact-form{padding:40px 35px;background:#0a1014ef;border:1px solid var(--border)}.contact-form h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em}.contact-form>p{font-size:17px;color:var(--muted)}.form-field{display:block;margin-bottom:18px}.form-field>span{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,textarea,select{width:100%;border:1px solid #273138;background:#152027;color:var(--text);padding:14px;border-radius:3px;font-size:14px}input::placeholder,textarea::placeholder{color:#7f8b93}input:focus,textarea:focus,select:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}textarea{resize:vertical;min-height:140px}.char-count{text-align:right;font-size:12px;color:var(--muted);display:block;margin-top:6px}.contact-form .button{min-width:240px;margin-top:5px}.form-note{font-size:12px!important;color:var(--muted);margin-top:20px!important;max-width:400px}.form-message{font-size:12px;color:var(--cyan);margin-top:10px!important}.contact-other{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:15px;align-items:center}.contact-other h2{font-size:36px}.contact-other p{color:var(--muted);font-size:15px}.contact-channel{border:1px solid var(--border);padding:25px 18px;min-height:280px;display:flex;flex-direction:column;align-items:flex-start}.contact-channel .icon{margin-bottom:20px}.contact-channel h3{font-size:20px}.contact-channel .text-link{margin-top:auto;font-size:12px;gap:6px;word-break:break-word}.next-steps{display:grid;gap:30px;margin-top:40px}.next-step{display:flex;gap:25px;position:relative}.next-step>span{border:2px solid var(--cyan);border-radius:50%;height:50px;width:50px;flex-shrink:0;display:grid;place-items:center;color:var(--cyan);font-size:16px}.next-step:not(:last-child):after{content:"";position:absolute;left:24px;top:50px;bottom:-30px;border-left:1px solid var(--cyan)}.next-step h3{font-size:22px}.next-step p{color:var(--muted);margin:0}.next-photo{position:relative}.next-photo img{height:100%;width:100%;object-fit:cover}.next-overlay{position:absolute;bottom:25px;left:25px;right:25px;background:#101416ed;border:1px solid var(--border);padding:35px}.next-overlay h3{font-size:27px}.next-overlay p{font-size:15px;color:var(--muted)}
.service-editorial,.service-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:55px;align-items:center}.service-editorial>div>p:not(.eyebrow){color:var(--muted)}.service-editorial>img,.service-intro>img{width:100%;height:360px;object-fit:cover}.service-heading{font-family:Georgia,serif;font-size:44px;font-weight:400;text-transform:none;line-height:1.12}.service-card{padding:27px;min-height:180px}.service-card .icon{height:42px;width:42px;margin-bottom:18px}.service-card p:last-child{margin:0}.service-card ul{font-size:14px}.service-line-list{display:grid}.service-line{display:grid;grid-template-columns:55px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--border)}.service-line p{color:var(--muted);margin:0;font-size:15px}.service-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}.service-step{padding:25px 20px;border:1px solid var(--border);background:#10171b;position:relative}.service-step .step-number{font-size:30px;display:block;margin-bottom:20px}.service-step h3{font-size:19px}.service-step p{color:var(--muted);font-size:14px;margin:0}.service-step:after{content:"→";position:absolute;right:-20px;top:50%;color:var(--cyan);z-index:2}.service-step:last-child:after{display:none}.service-stats{display:flex;gap:45px;flex-wrap:wrap;border-block:1px solid var(--border);padding:27px 0;margin-top:25px}.service-stats strong{display:block;color:var(--cyan);font-size:35px}.service-stats p{font-size:14px;color:var(--muted);margin:0}.service-section.light-feature{background:linear-gradient(90deg,#0a202fee,#0a202f90),url('/assets/images/coast-hd.webp') center/cover}.service-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pricing-card{border:1px solid var(--border);padding:32px;background:#0f181e}.pricing-card.featured{border-color:var(--cyan)}.pricing-card h3{font-size:26px}.pricing-card p,.pricing-card li{font-size:15px;color:var(--muted)}.pricing-card .badge{color:var(--cyan);font-size:11px;letter-spacing:.1em}.check-list{list-style:none;padding-left:0}.check-list li:before{content:"✓";color:var(--cyan);margin-right:12px}.content-band{border:1px solid var(--border);padding:35px;background:#10181dcc}.content-band h2{font-size:34px}.faq-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:80px}.faq-item{border-bottom:1px solid var(--border);padding-block:15px}.faq-item summary{display:flex;justify-content:space-between;list-style:none;font-size:16px;gap:20px}.faq-item summary:after{content:"+";color:var(--cyan);font-size:23px}.faq-item[open] summary:after{content:"−"}.faq-item p{font-size:15px;color:var(--muted);margin:18px 0 5px}.service-three{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service-two{display:grid;grid-template-columns:repeat(2,1fr);gap:45px}.service-three>div>p,.service-two>div>p{color:var(--muted)}.diagram-image{width:100%;height:auto;max-height:450px;object-fit:contain}.story-dialog{max-width:650px;width:calc(100% - 40px);background:#0c151c;border:1px solid var(--cyan);color:var(--text);padding:60px 45px}.story-dialog::backdrop{background:#000b}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:34px;color:var(--text)}.story-dialog p{color:var(--muted)}.story-dialog .eyebrow{color:var(--cyan)}.story-dialog img{width:100%;max-height:330px;object-fit:cover;margin-block:25px}.not-found-page{padding-block:90px;min-height:500px}.site-footer{background:#070b0e;border-top:1px solid var(--border);padding-block:45px 25px}.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1.2fr .8fr 1.5fr;gap:35px;align-items:start;padding-bottom:40px}.footer-main .brand-logo{gap:9px}.footer-main .brand-logo>span{font-size:12px}.footer-main .brand-logo small{font-size:9px}.footer-main .brand-mark{width:44px;height:42px}.footer-main h3{font-size:14px;font-weight:500}.footer-main>div>a{display:block;font-size:12px;color:var(--muted);margin-block:5px}.footer-main>div>a:hover{color:var(--cyan)}.newsletter p{color:var(--muted);font-size:13px}.newsletter-field{display:flex}.newsletter-field input{border-radius:0;padding:10px;font-size:12px;min-width:0}.newsletter-field button{width:50px;flex-shrink:0;background:var(--cyan);border:1px solid var(--cyan);color:white;font-size:26px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:25px;gap:30px;font-size:11px;color:#8a959d}.footer-bottom p{margin:0}.footer-bottom>div{display:flex;gap:30px}.footer-compact .footer-main{display:flex;align-items:center;justify-content:space-between}.footer-compact nav{display:flex;gap:23px;font-size:12px}
@media(max-width:1200px){.header-inner{gap:16px;padding-inline:22px}.site-header nav{gap:14px;font-size:11px}.brand-logo>span{font-size:13px}.brand-logo small{font-size:9px}.brand-logo .brand-mark{width:45px;height:44px}.header-inner>.button{font-size:11px;padding:11px 12px}.container{width:calc(100% - 64px)}.home-intersection{gap:25px;grid-template-columns:1fr 1fr}.intersection-words{display:none}.home-services{gap:20px}.line-cards .feature-card>div{padding:18px 10px}.founder-section{grid-template-columns:.9fr 2fr;gap:25px}.footer-main{gap:20px}.contact-layout{gap:40px}.contact-other{grid-template-columns:repeat(4,1fr)}.contact-other>div:first-child{grid-column:1/-1}.venture-name{font-size:25px}.case-copy{padding:35px}.case-study h2{font-size:38px}.home-services h2{font-size:33px}.home-partner{grid-template-columns:280px 1fr;gap:45px}}
@media(max-width:980px){.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;background:#080f14;border:1px solid var(--border);padding:24px 32px;font-size:16px;flex-direction:column;gap:2px;align-items:stretch;max-height:calc(100vh - 90px);overflow:auto}.site-header nav.is-open{display:flex}.menu-toggle{display:block;order:3;margin-left:auto}.header-inner>.button{margin-left:auto}.service-dropdown{position:static;width:auto;box-shadow:none;margin-bottom:15px}.hero-photo{width:85%;opacity:.75}.hero-shade{background:linear-gradient(90deg,#080d10fa,#080d10dd 40%,#080d1045)}.hero-note{display:none}.hero-home .hero-photo{width:90%;opacity:.7}.hero-home .hero-shade{background:linear-gradient(90deg,#080d10fa,#080d10d9 40%,#080d1045)}.feature-grid.four{grid-template-columns:repeat(2,1fr)}.home-services,.home-partner{grid-template-columns:1fr;gap:25px}.venture-row{grid-template-columns:repeat(4,1fr)}.venture-intro{grid-column:1/-1}.quote-layout.with-portrait{grid-template-columns:220px 1fr}.quote-layout.with-portrait .scribble{display:none}.services-pillars{gap:16px}.pillar-head{padding-inline:5px}.pillar-head h3{font-size:46px}.pillar-list{padding:18px}.pillar-item{gap:12px}.pillar-item h4{font-size:16px}.pillar-item .icon{width:38px;height:38px}.mountain-feature>.container{gap:35px}.mountain-feature h2{font-size:38px}.about-who{grid-template-columns:1fr 1fr}.about-who>.vertical-features{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:25px}.compact>div{display:block}.compact h3{margin-top:15px}.stat-band>div{padding-inline:12px;gap:10px}.stat-band strong{font-size:13px}.stat-band span:not(.icon){font-size:11px}.founder-section{grid-template-columns:1fr}.comparison-grid{grid-template-columns:repeat(2,1fr)}.case-study{grid-template-columns:1fr 1fr}.case-stats{grid-column:1/-1;display:flex;gap:25px;padding:20px 35px;border-left:0}.case-stats>div{border:0;flex:1}.contact-copy h1{font-size:50px}.contact-values{gap:15px}.contact-values h3{font-size:14px}.contact-form{padding:30px 24px}.service-card-grid,.service-steps{grid-template-columns:repeat(2,1fr)}.service-step:nth-child(2):after{display:none}.footer-main{grid-template-columns:repeat(3,1fr)}.footer-main>.brand-logo{grid-column:1/-1}.newsletter{grid-column:1/-1;max-width:450px}.footer-compact .footer-main{flex-wrap:wrap}.footer-compact nav{flex-wrap:wrap;gap:15px}.trust-grid{grid-template-columns:repeat(4,1fr)}.trust-grid>div:first-child{grid-column:1/-1}.process-step,.process-step:nth-child(even){grid-template-columns:1fr 1fr}.process-step .outcome{grid-column:1/-1}.process-step:nth-child(even) .process-copy{order:1}.process-step:nth-child(even) .outcome{order:3}.process-step:nth-child(even) img{order:2}.service-editorial{gap:30px}.service-three{gap:25px}.faq-layout{gap:35px}}
@media(max-width:700px){body{font-size:16px}.container{width:calc(100% - 40px)}.header-inner{min-height:76px;padding:14px 18px;gap:12px}.brand-logo .brand-mark{width:40px;height:39px}.brand-logo>span{font-size:12px}.brand-logo small{font-size:8px;letter-spacing:.36em}.header-inner>.button{display:none}.hero-inner{padding-block:45px 30px}.hero{min-height:630px}.hero h1{font-size:42px;line-height:1.06}.hero-home h1{font-size:72px;line-height:.95}.hero-copy>p:not(.eyebrow){font-size:17px}.hero-photo,.hero-home .hero-photo{width:100%;opacity:.55}.hero-shade,.hero-home .hero-shade{background:linear-gradient(90deg,#080d10e8,#080d10b0 60%,#080d1050)}.hero-stats{margin-top:35px;flex-wrap:wrap;row-gap:22px}.hero-stats>div{min-width:46%;padding-left:0!important;padding-right:18px}.hero-stats>div:nth-child(even){border:0;padding-left:15px!important}.hero-stats strong{font-size:15px}.hero-stats span:not(.icon){font-size:11px}.hero-home{min-height:735px}.eyebrow{font-size:10px}h2{font-size:32px}.button-row{gap:12px;margin-top:23px}.button{font-size:12px;padding:13px 17px;gap:18px}.home-intersection{grid-template-columns:1fr;gap:25px;padding-block:45px}.home-intersection h2{font-size:36px}.capability-wheel{max-width:470px;margin:auto}.content-section,.section-pad,.service-section{padding-block:43px}.section-intro-split{grid-template-columns:1fr;gap:25px}.intro-aside{border-left:0;border-top:1px solid var(--border);padding:25px 0 0}.section-header-row{display:block}.section-header-row h2{font-size:35px}.section-header-row>.text-link{margin-top:18px}.feature-grid,.feature-grid.four,.feature-grid.five,.services-pillars,.three-columns,.service-editorial,.service-intro,.service-three,.service-two,.service-pricing-grid,.faq-layout{grid-template-columns:1fr}.project-card img{height:280px}.feature-card .card-photo{height:230px}.home-services .line-cards{grid-template-columns:repeat(2,1fr)}.line-cards .feature-card{border-bottom:1px solid var(--border)}.line-cards .feature-card:last-child{grid-column:1/-1}.quote-layout,.quote-layout.with-portrait{grid-template-columns:1fr;gap:25px}.quote-layout .scribble{display:none}.quote-portrait{max-width:260px;height:270px}.quote-copy blockquote,.testimonial-slide blockquote{font-size:21px}.venture-row{grid-template-columns:repeat(2,1fr);gap:12px}.venture-mini{min-height:200px}.venture-name{font-size:25px}.coastal-cta{min-height:350px}.coastal-cta>.container{padding-block:45px}.coastal-cta h2{font-size:34px}.coastal-cta .scribble{display:none}.split-section{grid-template-columns:1fr}.split-section.reverse .split-photo{order:0}.split-photo{min-height:290px;max-height:360px}.split-copy{padding:35px 22px}.inline-features{gap:15px}.inline-features h3{font-size:13px}.inline-features p{font-size:12px}.pillar-head{padding:10px 0 25px}.pillar-head h3{font-size:50px}.pillar-panel>img{height:180px}.pillar-item{gap:20px}.pillar-list{padding:22px}.pillar-item h4{font-size:19px}.mountain-feature{padding-block:45px}.mountain-feature>.container{grid-template-columns:1fr;gap:35px}.mountain-feature h2{font-size:35px}.trust-grid{grid-template-columns:repeat(2,1fr)}.about-who{grid-template-columns:1fr}.about-who h2{font-size:35px}.about-who .editorial-photo{height:360px}.about-who>.vertical-features{grid-template-columns:repeat(2,1fr)}.coast-story .scribble{display:none}.coast-story h2{font-size:35px}.stat-band{grid-template-columns:repeat(2,1fr);gap:25px 10px}.stat-band>div:nth-child(even){border:0}.stat-band>div{padding-inline:0}.three-columns>div{border-right:0;border-bottom:1px solid var(--border);padding:0 0 30px}.founder-cards{grid-template-columns:1fr}.founder-card{min-height:320px}.founder-card h3{font-size:18px}.founder-card p{font-size:15px}.comparison-grid,.principles-grid{grid-template-columns:1fr}.connection-flow{grid-template-columns:1fr;gap:35px;margin-block:35px}.connection-flow>div:not(:last-child):after{right:auto;top:auto;bottom:-25px;left:50%;height:20px;width:0;border-left:1px dashed #546069}.connection-flow>div{max-width:300px;margin:auto}.measurement{padding:16px;gap:15px}.measurement h3{font-size:13px}.process-step,.process-step:nth-child(even){grid-template-columns:1fr;padding:30px 0;gap:25px}.process-step:nth-child(even) .process-copy{order:0}.process-step:nth-child(even) img{order:1}.process-step:nth-child(even) .outcome{order:2}.process-copy{grid-template-columns:35px 1fr;gap:17px}.step-number{font-size:30px}.process-copy h3{font-size:20px}.process-step img{height:220px}.filter-row{justify-content:flex-start;gap:5px}.filter-row button{font-size:11px;padding:10px;width:calc(25% - 5px)}.case-study,.case-study.reverse{grid-template-columns:1fr;min-height:0}.case-copy{padding:35px 22px}.case-study h2{font-size:36px}.case-study>img{min-height:0;height:330px}.case-study.reverse>img{order:0}.case-stats{padding:15px 22px;gap:20px;flex-wrap:wrap}.case-stats>div{min-width:40%;padding-block:12px}.case-stats strong{font-size:22px}.contact-layout{grid-template-columns:1fr;gap:35px;padding-block:45px}.contact-copy{padding-top:0}.contact-copy h1{font-size:43px}.contact-values{margin-top:30px}.contact-copy .scribble{display:none}.contact-form{padding:30px 22px}.contact-other{grid-template-columns:repeat(2,1fr);gap:12px}.contact-channel{min-height:270px;padding:23px 15px}.contact-channel .text-link{font-size:11px}.contact-channel h3{font-size:18px}.contact-channel p{font-size:13px}.next-overlay{padding:22px;left:15px;right:15px}.next-overlay h3{font-size:23px}.service-heading{font-size:35px}.service-editorial>img{height:290px}.service-card-grid,.service-steps{grid-template-columns:1fr}.service-card{padding:25px}.service-step:after{display:none}.service-stats{gap:25px}.service-stats strong{font-size:29px}.faq-layout{gap:20px}.footer-main{grid-template-columns:repeat(2,1fr);gap:30px 20px}.footer-main>.brand-logo,.footer-main>div:nth-child(4){grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column;gap:18px}.footer-bottom>div{flex-wrap:wrap;gap:16px}.footer-compact .footer-main{display:block}.footer-compact nav{margin-top:30px}.newsletter{max-width:none}.story-dialog{padding:55px 25px}}
.service-card-grid{grid-template-columns:repeat(var(--columns,3),minmax(0,1fr))}.service-card .card-photo{height:170px;width:100%;object-fit:cover;margin-bottom:20px}.service-steps{grid-template-columns:repeat(var(--steps,4),minmax(0,1fr))}.service-quote{font-size:24px;line-height:1.45;margin-bottom:22px}.comparison .service-two{gap:12px}.service-three>.editorial-photo{height:100%;min-height:280px;max-height:430px}[data-section-type="process-five-steps"] .service-editorial{grid-template-columns:.75fr 2fr}[data-route="/services/custom-software/"] .hero{min-height:470px}[data-route="/services/custom-software/"] .hero h1{font-size:clamp(32px,3.25vw,47px)}[data-route="/services/custom-software/"] .service-section{padding-block:35px}[data-route="/services/custom-software/"] .service-heading{font-size:34px}[data-route="/services/custom-software/"] .editorial-photo{max-height:290px}[data-route="/services/custom-software/"] .service-card{padding:21px;min-height:160px}[data-route="/services/custom-software/"] .service-card h3{font-size:18px}.coastal-cta .container{padding-right:190px}
@media(max-width:980px){.service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.coastal-cta .container{padding-right:100px}}
@media(max-width:700px){.service-card-grid,.service-steps{grid-template-columns:1fr}.coastal-cta .container{padding-right:0}[data-section-type="process-five-steps"] .service-editorial{grid-template-columns:1fr}.service-three>.editorial-photo{height:280px;min-height:0}[data-route="/services/custom-software/"] .hero{min-height:560px}.service-quote{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.hero-story{position:absolute;right:0;bottom:32px;display:flex;align-items:center;gap:22px;background:none;color:var(--text);border:0;text-align:left;padding:8px}.story-play{display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan);border-radius:50%;width:74px;height:74px;font-size:25px;padding-left:4px}.hero-story strong{display:block;font-size:12px;letter-spacing:.08em}.hero-story small{display:block;color:var(--muted);font-size:12px;margin-top:4px}@media(max-width:980px){.hero-story{position:static;align-self:flex-start;margin-top:25px}.story-play{width:50px;height:50px}}
/* Preserve the individual arrangements in the supplied page references. */
.footer-main .footer-brand>a.brand-logo{display:flex;color:var(--text);margin:0}.footer-brand>p{font-size:13px;line-height:1.5;margin:22px 0 0;color:var(--muted)}.footer-compact .footer-brand>p{font-size:12px;margin-top:15px}
.case-study.copy-photo{grid-template-columns:1fr 1.15fr}.quote-layout.photo-right{grid-template-columns:1.35fr 1fr}.quote-layout.photo-right .quote-copy{order:0}.quote-layout.photo-right .quote-portrait{order:1;height:290px;max-width:none}.quote-layout.photo-right .scribble{display:none}.quote-layout.photo-centre{grid-template-columns:1.25fr 1fr .5fr}.quote-layout.photo-centre .quote-copy{order:0}.quote-layout.photo-centre .quote-portrait{order:1;height:300px;max-width:none}.quote-layout.photo-centre .scribble{order:2}.quote-section-title{font:400 39px/1.2 Georgia,'Times New Roman',serif;margin-bottom:26px}.metric-inline{display:flex;gap:20px;align-items:center;margin-block:24px}.metric-inline>.icon{width:43px;height:43px;flex-shrink:0}.metric-inline strong{display:block;color:var(--text);font-size:30px}.metric-inline span{display:block;color:var(--muted);font-size:13px}.venture-partner{display:grid;grid-template-columns:1fr 200px;gap:25px;align-items:center;margin-top:35px}.venture-partner>img{height:250px;width:100%;object-fit:cover;object-position:top}.venture-partner blockquote{font-size:21px;line-height:1.5}.venture-partner .quote-name{margin-top:20px}.overlay-capabilities{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 20px;margin-top:25px}.overlay-capabilities>div{display:flex;align-items:center;gap:12px;font-size:12px}.overlay-capabilities .icon{width:28px;height:28px}.partner-logo{width:170px;max-width:18%;height:90px;object-fit:contain}.source-photo-cards{display:grid;grid-template-columns:.8fr 2fr;gap:35px;align-items:start}.source-photo-cards .service-card{padding:0;border:0;background:none;min-height:0}.source-photo-cards .service-card h3{font-size:18px}.source-photo-cards .service-card p{font-size:14px}.source-photo-cards .service-card .card-photo{height:180px}.photo-copy{position:relative;min-height:400px;overflow:hidden;background:#080d10}.photo-copy>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}.photo-copy:after{content:'';position:absolute;inset:0;background:linear-gradient(#080d1090,#080d10ed)}.photo-copy>div{position:relative;z-index:1;padding:45px 35px}.photo-annotation{position:absolute;bottom:20px;left:35px;right:35px;z-index:1;font-size:27px;text-shadow:0 2px 8px #080d10}.cta-serif h2{font-family:Georgia,'Times New Roman',serif;text-transform:none;font-weight:400;line-height:1.18}body[data-page='ventures'] .content-section h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.contact-hero>.hero-shade{background:linear-gradient(90deg,#080d10 0%,#080d10 45%,#080d10ed 54%,#080d1080 70%,#080d1040)}body[data-page='home'] .coastal-cta{min-height:650px;display:flex;align-items:center}body[data-page='home'] .coastal-cta>.container{padding-block:100px}
@media(max-width:1100px){.source-photo-cards{grid-template-columns:1fr}.source-photo-cards .service-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quote-layout.photo-centre{grid-template-columns:1.25fr 1fr}.quote-layout.photo-centre .scribble{display:none}.venture-partner{grid-template-columns:1fr 150px}.footer-main>.footer-brand{grid-column:1/-1}}
@media(max-width:700px){.case-study.copy-photo,.quote-layout.photo-right,.quote-layout.photo-centre{grid-template-columns:1fr}.quote-layout.photo-right .quote-portrait,.quote-layout.photo-centre .quote-portrait{height:280px}.quote-section-title{font-size:31px}.venture-partner{grid-template-columns:1fr}.venture-partner>img{max-width:220px;height:250px}.source-photo-cards .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-photo-cards .service-card .card-photo{height:150px}.photo-copy{min-height:300px}.photo-copy>div{padding:35px 22px}.photo-annotation{left:22px;right:22px;bottom:10px;font-size:21px}.partner-logo{max-width:28%;width:140px;height:75px}.overlay-capabilities{gap:12px}.overlay-capabilities>div{font-size:11px}.contact-hero>.hero-shade{background:linear-gradient(#080d10f5,#080d10da)}body[data-page='home'] .coastal-cta{min-height:360px}body[data-page='home'] .coastal-cta>.container{padding-block:50px}.footer-brand>p{margin-top:15px}}

/* Arrangements measured from the supplied desktop mockups. */
.white{color:var(--text)}.grey{color:#8b969e}.blue{color:#4b9cdb}
.hero-visual{position:absolute;right:0;top:0;width:58%;height:100%;overflow:hidden}
.hero-visual .hero-photo{inset:0;width:100%;height:100%;object-fit:cover}
.hero-home .hero-visual{width:63%}.hero-stats>div{display:flex;align-items:center;gap:12px}
.hero-stats strong,.hero-stats span:not(.icon){display:block}.hero-capability-line{margin:35px 0 0;font-size:12px;letter-spacing:.14em;color:#a6b6bd;max-width:670px}
.hero-side-note{position:absolute;right:0;bottom:35px;max-width:160px;font-size:15px;color:var(--muted);border-top:1px solid var(--border);padding-top:15px}
.hero-insight-card{position:absolute;right:3%;bottom:8%;width:220px;border:1px solid #71828b70;background:#0a151b75;padding:18px;color:#cbd3d8}
.hero-insight-card .icon{width:30px;height:30px}.hero-insight-card h3{font-size:14px;margin:10px 0}.hero-insight-card p{font-size:12px;margin-bottom:4px}
.photo-caption{position:absolute;z-index:2;left:8%;bottom:10%;color:#d3dce1;max-width:240px;pointer-events:none}
.photo-caption p{margin:0}.photo-caption.upright{font:500 13px/1.7 var(--body);letter-spacing:.12em;text-transform:uppercase}
.photo-caption.upright:before{content:"";position:absolute;left:-14px;top:3px;bottom:3px;border-left:1px solid var(--cyan)}
.photo-caption .caption-secondary{margin-top:20px;font-size:.62em;letter-spacing:.08em}
.photo-caption.serif{font:400 32px/1.15 Georgia,"Times New Roman",serif;text-transform:none}
.photo-caption.handwritten,.photo-caption.glass-words{font-family:"Segoe Print","Bradley Hand",cursive;font-size:26px;line-height:1.25;text-transform:uppercase;transform:rotate(-11deg);opacity:.8}
.photo-caption.handwritten:after{content:"";display:block;width:95px;border-top:2px solid var(--cyan);margin-top:14px}
.visual-panel{position:relative;overflow:hidden;min-height:280px}.panel-photo{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
.visual-panel .panel-photo+.photo-caption{z-index:2}
.cta-copy{max-width:780px}.cta-actions{position:relative;z-index:2}.cta-email{font-size:13px!important;line-height:1.5;margin:18px 0 0!important;color:#b9c9d0!important}.cta-email a{color:var(--cyan)}
.coastal-cta .photo-caption{left:auto;right:5%;bottom:35px}.coastal-cta .photo-caption.upright{font-size:12px}
.cta-actions-right>.container,.cta-actions-centre>.container{display:grid;grid-template-columns:1.4fr 1fr;gap:55px;align-items:center;padding-right:0}
.cta-actions-right .cta-copy{max-width:690px}.cta-actions-right .cta-actions{justify-self:end}.cta-actions-right .button-row{margin:0;gap:16px}
.cta-actions-centre>.container{grid-template-columns:1.2fr 1.1fr .55fr;gap:25px}.cta-actions-centre .cta-actions{justify-self:center}.cta-actions-centre .photo-caption{position:static;align-self:center;justify-self:end}
.footer-socials{display:flex;align-items:center;gap:15px;flex-shrink:0}.footer-socials a,.footer-socials button{width:17px;height:17px;color:#b8c1c5;display:block;background:none;border:0;padding:0}.footer-socials svg{width:100%;height:100%}
.footer-compact{padding-block:30px}.footer-compact .footer-main{gap:24px;padding-bottom:15px}.footer-compact nav{gap:18px;flex-wrap:wrap;font-size:11px}.site-footer a[aria-current="page"]{color:var(--cyan)}
.footer-compact .footer-brand>p{margin-top:10px;max-width:220px;font-size:11px}.footer-compact-home .footer-main{padding-bottom:0}.footer-copyright{font-size:10px;line-height:1.5;color:#8a959d;max-width:170px}.footer-copyright p{margin:0}
.footer-compact-statement .footer-main,.footer-compact-statement-full .footer-main{display:grid;grid-template-columns:1.1fr 1fr 1.8fr auto;align-items:center}.footer-statement{margin:0;text-align:center;font-size:16px}.footer-compact-statement nav,.footer-compact-statement-full nav{justify-content:flex-end}.footer-compact-statement-full .footer-main{grid-template-columns:1fr .6fr 3fr auto}.footer-compact-statement-full nav{gap:13px;font-size:10px}.footer-compact-single .footer-main{padding-bottom:0}
.footer-main-link-columns .footer-main{grid-template-columns:1.2fr .8fr .8fr 1.5fr}.footer-main-link-columns .footer-main>div>a{font-size:12px;color:var(--muted)}
.footer-compact .footer-bottom{border:0;padding-top:8px;font-size:10px}.footer-message{font-size:12px;text-align:center}
.quote-layout>.photo-caption{position:static;max-width:none;align-self:center}.quote-layout.photo-centre>.photo-caption{order:2}.quote-layout>.photo-caption.serif{font-size:29px;transform:none}
.quote-copy .testimonial-slide blockquote{font-size:25px}.quote-layout.photo-centre .quote-portrait{order:1}.quote-layout.photo-centre .quote-copy{order:0}
.square-controls .circle-button{border-radius:0;width:31px;height:31px;font-size:19px}.square-controls{gap:9px;margin-top:18px}
.quote-scenic{padding:0;position:relative;min-height:330px;overflow:hidden}.quote-scenic .quote-layout{width:100%;max-width:none;display:block;min-height:inherit}
.quote-scenic .quote-portrait{position:absolute;right:0;top:0;width:65%;height:100%;object-fit:cover;object-position:center}
.quote-scenic:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080d10 0%,#080d10ec 26%,#080d1090 50%,transparent 75%);pointer-events:none}
.quote-scenic .quote-copy{position:relative;z-index:1;width:48%;padding:38px max(40px,5vw)}.quote-scenic .photo-caption{position:absolute;z-index:2;right:4%;bottom:35px;max-width:160px;left:auto}
.quote-scenic blockquote{font-family:Georgia,"Times New Roman",serif}.quote-scenic .quote-mark{display:none}
body[data-page="home"] .home-partner{grid-template-columns:1fr 1.45fr .55fr;gap:45px}.home-partner>.photo-caption{position:static;max-width:180px}
body[data-page="home"] main>.quote-section{background:linear-gradient(#080d10db,#080d10e8),url('/assets/images/mountain-dark-hd.webp') center/cover}
body[data-page="home"] .hero-home .hero-copy>p:not(.eyebrow){max-width:450px;font-size:21px}
body[data-page="services"][data-route="/services/"] .hero-visual{width:50%}
body[data-page="services"][data-route="/services/"] .hero-note{top:43%;right:1%;font-size:27px}
.mountain-feature{background-image:linear-gradient(90deg,#091a24e8,#08131b80),url('/assets/images/mountain-dark-hd.webp')}
body[data-page="about"] #who-we-are .vertical-features{border:1px solid var(--border);background:#0d1417;padding:15px 22px;gap:0}
body[data-page="about"] #who-we-are .vertical-features>div{padding-block:17px;border-bottom:1px solid var(--border);gap:18px}
body[data-page="about"] #who-we-are .vertical-features>div:last-child{border:0}
body[data-page="about"] #proof-strip .stat-band{border:1px solid var(--border);padding-block:24px}
body[data-page="about"] #our-home h2,body[data-page="about"] #our-home p:not(.scribble){max-width:38%}
body[data-page="about"] #capabilities h2{font:600 28px/1.2 var(--body);margin-bottom:14px}
body[data-page="about"] #capabilities .feature-card .card-photo{height:auto;aspect-ratio:149/87}
body[data-page="about"] #capabilities .feature-card>div{display:grid;grid-template-columns:30px 1fr;gap:0 12px;padding:18px}
body[data-page="about"] #capabilities .feature-card .icon{grid-column:1;grid-row:1/5;width:28px;height:28px;margin:0}
body[data-page="about"] #capabilities .feature-card h3,body[data-page="about"] #capabilities .feature-card p,body[data-page="about"] #capabilities .feature-card .text-link{grid-column:2}
body[data-page="about"] #capabilities .feature-card h3{font-size:16px}body[data-page="about"] #capabilities .feature-card p{font-size:13px}
body[data-page="approach"] .hero-note{top:auto;bottom:130px;right:21%;font-size:25px}
body[data-page="approach"] #strategy-before-tools,body[data-page="approach"] #decisions{grid-template-columns:44.5% 55.5%}
#strategy-before-tools .photo-caption{left:51%;bottom:30%;font-size:22px;transform:rotate(-4deg)}
#strategy-before-tools .inline-features>div{position:relative}#strategy-before-tools .inline-features>div:not(:last-child):after{content:"";position:absolute;right:-17px;top:21px;width:26px;border-top:1px solid var(--cyan)}
#clarity .service-editorial{grid-template-columns:47fr 53fr;gap:40px}#clarity .feature-grid{border:1px solid var(--border)}
#philosophy .comparison{padding:20px 13px}#philosophy .comparison h3{display:grid;grid-template-columns:1fr 26px 1fr;align-items:center;font-size:11px;gap:7px}
#philosophy .comparison h3 span{display:grid;place-items:center;border:1px solid var(--cyan);border-radius:50%;width:24px;height:24px;font-size:9px}
#philosophy .comparison ul{font-size:12px}#philosophy .comparison p{font-size:11px}
#integration .section-intro-split{grid-template-columns:1fr 2fr;gap:38px}#integration .connection-flow{position:relative;gap:22px;margin-block:25px}
#integration .connection-flow:before,#integration .connection-flow:after{content:"";position:absolute;left:9%;right:9%;height:25px;border:1px dashed #486775;border-bottom:0;top:-17px;opacity:.7}
#integration .connection-flow:after{top:auto;bottom:-23px;border-top:0;border-bottom:1px dashed #486775}
#integration .connection-flow>div:after{width:22px;right:-22px}#integration .connection-flow h3{font-size:12px}#integration .connection-flow p{font-size:11px}
#integration .measurement{margin-top:32px;padding:15px;max-width:90%}
#guiding-principles-strip>.container>.eyebrow{text-align:center}#guiding-principles-strip{padding-block:25px}
#guiding-principles-strip .feature-card>div{padding:12px 16px}#guiding-principles-strip .feature-card>div:after{content:"";display:block;width:50px;margin:18px auto 0;border-top:2px solid var(--cyan)}
#guiding-principles-strip .feature-card:nth-child(1)>div:after,#guiding-principles-strip .feature-card:nth-child(5)>div:after{border-color:var(--purple)}#guiding-principles-strip .feature-card:nth-child(4)>div:after{border-color:var(--green)}
#decisions{min-height:300px}#decisions .split-photo{min-height:0}#decisions .split-copy{padding:30px 40px}#decisions h2{font-size:30px;max-width:520px}.decisions-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:25px;align-items:center}
.decisions-detail ul{font-size:13px}.decisions-detail blockquote{padding:18px;font-size:16px;line-height:1.4;margin:0}
.glass-board-labels{position:absolute;inset:0;pointer-events:none;color:#c7d2d7;font-size:13px;letter-spacing:.07em}
.glass-statement{position:absolute;left:30%;top:22%;font:20px/1.6 "Segoe Print","Bradley Hand",cursive}
.glass-board-labels ul{position:absolute;left:47%;top:18%;list-style:none;padding:0;font-size:12px;line-height:1.6}.glass-board-labels li{margin-block:4px}.glass-solution{position:absolute;left:55%;bottom:19%;font-size:12px}
#mindset .service-editorial{grid-template-columns:44fr 56fr;gap:35px}#mindset .principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:30px;border-left:1px solid var(--border);gap:25px}
body[data-page="approach"] #testimonial .quote-layout{grid-template-columns:31fr 48fr 21fr;gap:28px}body[data-page="approach"] #testimonial .quote-portrait{height:300px}
body[data-page="work"] .hero-visual{width:46%;right:7%;height:90%;top:5%}body[data-page="work"] .hero-visual .hero-photo{object-fit:contain}
body[data-page="work"] .hero{background:linear-gradient(#080d10dd,#080d10e8),url('/assets/images/coast-hd.webp') center/cover}
body[data-page="work"] .hero-note{right:0;top:36%;font-size:23px}body[data-page="work"] .work-filter{padding-block:12px}body[data-page="work"] .filter-row button{padding-block:6px;gap:8px}
#forward-testimonial{background:linear-gradient(#080d10e7,#080d10e7),url('/assets/images/coast-hd.webp') center/cover}
#forward-testimonial .service-editorial{grid-template-columns:.95fr 1.15fr;gap:45px}#forward-testimonial blockquote{font:28px/1.25 Georgia,"Times New Roman",serif}
#northbound.case-study.reverse,#aviv.case-study.reverse{grid-template-columns:57fr 43fr}.case-small-stats .metric-inline strong{color:var(--text)}
body[data-page="work"] #testimonial .quote-layout{grid-template-columns:23fr 48fr 29fr;gap:30px}body[data-page="work"] #testimonial blockquote{font-family:Georgia,"Times New Roman",serif}
body[data-page="process"] .hero{min-height:clamp(430px,31.1vw,490px)}body[data-page="process"] .hero-inner{padding-block:30px 22px}body[data-page="process"] .hero h1{font-size:clamp(42px,4.3vw,62px)}
body[data-page="process"] .hero-note{top:32px;right:0;font-size:24px}body[data-page="process"] .hero .button-row{margin-top:22px}
#clear-path{padding-block:35px 0}#clear-path h2{font:750 34px/1.08 var(--body);max-width:650px}#clear-path p:not(.eyebrow,.scribble){max-width:43%}#clear-path .stat-band{margin-top:28px;padding-block:20px;background:#0b111770}
.process-journey{position:relative;overflow:hidden}.process-list{position:relative}.step-connector{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.process-step,.process-step:nth-child(even){position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;min-height:max(220px,var(--step-height));border-bottom:1px solid var(--border)}
.process-step.photo-right{grid-template-columns:300fr 401fr}.process-step.photo-left{grid-template-columns:370fr 331fr}
.process-marker{position:absolute;top:30%;left:42.796%;z-index:4;width:8px;height:8px;border:1px solid #d5f8ff;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor;transform:translate(-50%,-50%);pointer-events:none}.process-step.photo-left .process-marker{left:52.782%}
.process-step .process-copy{padding:30px 45px 30px max(36px,5vw);grid-template-columns:45px 1fr;gap:20px;order:0}
.process-step .process-visual{position:relative;overflow:hidden;min-height:220px;order:1}.process-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.process-step.photo-left .process-copy{order:1;padding:30px max(36px,5vw) 30px 50px}.process-step.photo-left .process-visual{order:0}
.process-step .outcome{position:absolute;right:5%;top:12%;bottom:12%;width:190px;padding:18px 20px;background:#0b111be0;border:1px solid #4e5d6470;z-index:2;order:0!important}
.process-step.photo-left .outcome{right:auto;left:5%}.process-step .outcome .icon{width:30px;height:30px}.process-step .outcome ul{font-size:12px;list-style:none;padding:0;margin:12px 0 0;line-height:1.4}
.process-step .outcome li{margin-block:5px}.process-step .outcome .eyebrow{font-size:10px;margin-bottom:10px}.process-step .photo-caption{max-width:140px;left:8%;bottom:15%;font-size:22px}
.process-step.photo-left .photo-caption{left:auto;right:8%}.process-step .step-number.purple{color:var(--purple)}.process-step .step-number.cyan{color:var(--cyan)}.process-step .step-number.green{color:var(--green)}
#partnership .service-editorial{grid-template-columns:.95fr 1.6fr;gap:35px}#partnership h2{font:600 30px/1.15 var(--body)}#partnership .content-band{padding:30px}
body[data-page="process"] #testimonial .quote-layout{grid-template-columns:315fr 195fr 97fr;gap:25px}body[data-page="process"] #testimonial .quote-layout>.photo-caption{font-size:28px}
body[data-page="ventures"] #venture-lab .service-editorial{grid-template-columns:40fr 60fr;gap:35px}body[data-page="ventures"] .hero-note{top:auto;bottom:60px}
.venture-partner{grid-template-columns:1.25fr 1fr .45fr;gap:20px;padding:0 20px}.venture-partner>.photo-caption{position:static;font-size:21px;max-width:130px}.venture-partner>img{height:300px}
body[data-page="ventures"] #journey .intro-aside{border:0;padding:0}body[data-page="ventures"] #journey .intro-aside:after{display:none}
body[data-page="ventures"] #journey .service-step{padding:20px 12px;border:0;background:none;text-align:center}body[data-page="ventures"] #journey .service-step h3{color:var(--cyan)}
body[data-page="ventures"] #journey .service-step:nth-child(1) h3{color:var(--purple)}body[data-page="ventures"] #journey .service-step:nth-child(3) h3{color:var(--green)}body[data-page="ventures"] #journey .service-step:nth-child(4) h3{color:var(--gold)}
body[data-page="ventures"] #journey .service-step:after{top:28px}body[data-page="ventures"] #portfolio .feature-card>div{padding:25px 22px}body[data-page="ventures"] #portfolio .feature-card h3{font-size:27px}
.next-venture-panel{display:grid;grid-template-columns:90px 1fr auto 130px;gap:32px;align-items:center}.next-venture-plus{display:grid;place-items:center;height:90px;width:90px;border:1px dashed #728089;border-radius:50%;font-size:42px;color:#e0e5e8}
.next-venture-panel .button-row{margin:0}.next-venture-panel .photo-caption{position:static;font-size:23px}.next-venture-panel h2{font-size:32px}.next-venture-panel p:not(.eyebrow){font-size:15px;color:var(--muted)}
body[data-page="contact"] .contact-layout{gap:68px;padding-block:32px 44px}body[data-page="contact"] .contact-copy{padding-top:32px}
body[data-page="contact"] .form-privacy{display:flex;gap:12px;align-items:flex-start;font-size:11px;color:var(--muted);margin:22px 0 0}.form-privacy .icon{width:17px;height:17px;flex-shrink:0}
body[data-page="contact"] .form-note{font-size:11px;margin-top:10px}body[data-page="contact"] #what-happens-next{grid-template-columns:59fr 41fr;min-height:clamp(680px,61.6vw,900px)}
body[data-page="contact"] .next-photo>img{position:absolute;inset:0;height:58%;width:100%;object-fit:cover}.next-overlay{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;padding:28px;bottom:35px;left:35px;right:25px;min-height:330px}
.next-overlay .overlay-capabilities{grid-template-columns:1fr;margin:0;gap:18px;border-left:1px solid var(--border);padding-left:24px}.next-overlay h3{font-size:25px}
body[data-page="contact"] #testimonial .quote-layout{grid-template-columns:1.25fr 1.25fr .6fr;gap:30px}body[data-page="contact"] #testimonial .quote-portrait{height:460px}
body[data-page="contact"] .quote-section-title{font:600 38px/1.15 var(--body)}body[data-page="contact"] #testimonial .quote-copy .quote-mark{display:none}
body[data-page="contact"] #testimonial .photo-caption:before{content:"“";display:block;font:75px/.8 Georgia,serif;color:var(--cyan);margin-bottom:30px}
body[data-page="contact"] #closing-cta{min-height:clamp(440px,41.6vw,640px)}body[data-page="contact"] #closing-cta>.container{padding-block:85px}
/* Individual service-detail arrangements. */
.source-open-grid>.service-card{background:none;border:0;border-right:1px solid var(--border);min-height:0;padding:18px 20px}
.source-open-grid>.service-card:last-child{border-right:0}.source-open-grid>.service-card h3{font:400 21px/1.2 Georgia,"Times New Roman",serif}
.source-split-intro,.pricing-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;margin-bottom:35px}.source-split-intro p,.pricing-intro>div>p{color:var(--muted)}
.source-stage-flow{position:relative;display:grid;grid-template-columns:repeat(var(--stage-count),minmax(0,1fr));gap:20px;align-items:start}
.source-stage{position:relative;text-align:center;padding:15px 5px}.source-stage h3{font-size:18px;color:var(--text);margin-top:12px}.source-stage p{font-size:13px;line-height:1.4;color:var(--muted);margin-bottom:0}
.source-stage .icon{width:36px;height:36px}.stage-number{display:block;font-size:13px;letter-spacing:.1em;margin-top:10px}
.source-communications-journey .stage-number{margin:0 0 14px}.source-communications-journey .source-stage:not(:last-child):after,.visibility-layout .source-stage:not(:last-child):after{content:"›";position:absolute;right:-15px;top:49px;color:#94a4ab;font:25px/1 var(--body)}.visibility-layout .source-stage:not(:last-child):after{top:17px}
.source-process-band{display:grid;grid-template-columns:.7fr 2.5fr .3fr;gap:30px;align-items:center}.source-process-note{font-size:22px;max-width:130px}
.source-process-band .source-stage-flow:before{content:"";position:absolute;top:28px;left:10%;right:10%;border-top:1px solid #49595e}
.source-process-band .stage-number{display:grid;place-items:center;margin:0 auto;border:1px solid var(--purple);color:var(--purple);border-radius:50%;background:#10171b;width:28px;height:28px;position:relative;z-index:1}
.source-foundation{display:grid;grid-template-columns:52fr 48fr;min-height:clamp(520px,41.9vw,650px);border-bottom:1px solid var(--border)}
.source-foundation>.visual-panel{display:flex;align-items:center;min-height:0}.foundation-heading{position:relative;z-index:1;padding:35px max(38px,5.5vw);max-width:600px}.foundation-heading h2{margin:0}.foundation-features{align-self:center;padding:45px max(30px,4vw)}
.foundation-features>p{color:var(--muted);margin-bottom:30px}.foundation-features .service-card-grid{gap:26px 0}.foundation-features .service-card:nth-child(even){border-right:0}
.positioning-layout{grid-template-columns:186fr 277fr 103fr;gap:30px}.positioning-layout .visual-panel{min-height:350px;aspect-ratio:277/171}.positioning-quote blockquote{font:29px/1.22 Georgia,serif}.positioning-quote>p{margin-top:23px;padding-top:18px;border-top:2px solid var(--cyan);font-size:12px;letter-spacing:.11em;color:var(--muted)}
.messaging-layout{grid-template-columns:179fr 210fr 179fr;gap:32px}.messaging-visual{display:grid;grid-template-columns:1.2fr 1fr;gap:0;min-height:350px}.source-word-rail{font-size:12px;line-height:2.2;letter-spacing:.16em;color:#8d9ca4;text-transform:uppercase;margin:0;padding-left:25px;border-left:1px solid var(--border);align-self:center}
.compound-layout{grid-template-columns:42fr 58fr;gap:30px}.compound-layout .diagram-image{max-height:none}.service-section[data-section-type="copy-left-growth-diagram-right"]{padding-block:30px}
.capabilities-intro-grid{display:grid;grid-template-columns:1fr 3.6fr;gap:35px;align-items:start}.capabilities-intro-grid .service-card-grid{gap:18px}.capabilities-intro-grid .service-card{padding:22px;min-height:220px}
.source-communications-journey{display:grid;grid-template-columns:37fr 63fr;min-height:clamp(490px,41.9vw,650px);border-bottom:1px solid var(--border)}.source-journey-copy{align-self:center;padding:40px max(25px,4vw)}
.source-journey-copy .service-heading{max-width:650px}.source-journey-copy>.source-stage-flow{margin-top:32px}.journey-bottom-label{font-size:12px;letter-spacing:.13em;color:var(--cyan);margin:30px 0 0}
.source-communications-journey .photo-caption{left:8%;right:8%;bottom:35px}.source-communications-journey .caption-primary{position:absolute;left:0;bottom:260px;font:12px/1.5 var(--body);letter-spacing:.1em;text-transform:uppercase}
.human-approach-layout{display:grid;grid-template-columns:1.05fr 1.3fr .6fr;gap:45px;align-items:center}.human-approach-layout>div>p{color:var(--muted)}
.contour-section{background:repeating-radial-gradient(ellipse at 73% 150%,transparent 0,transparent 24px,#23526638 25px,transparent 26px),#0a1014}
.source-search-worlds{display:grid;grid-template-columns:40fr 60fr;min-height:clamp(570px,48.8vw,760px);border-bottom:1px solid var(--border)}.source-search-copy{align-self:center;padding:45px max(35px,5vw)}
.source-search-copy .service-two{gap:16px;margin-top:35px}.source-search-copy .content-band{padding:20px 14px}.source-search-copy .content-band p{font-size:14px}.source-search-copy .check-list{font-size:13px}
.visibility-layout{grid-template-columns:41fr 59fr;gap:25px}.visibility-layout .visual-panel{min-height:0;height:160px;margin-top:16px}.visibility-layout .visual-panel .photo-caption{font-size:11px;bottom:12px;left:8%}
.visibility-curve{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.visibility-layout .source-stage{padding:8px 4px}.visibility-layout .source-stage h3{font-size:16px}
.inline-photo-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.inline-photo-features p{font-size:13px;color:var(--muted);margin-top:12px}.inline-photo-features .icon{width:30px;height:30px}
.analytics-layout{grid-template-columns:235fr 281fr 76fr;gap:28px}.analytics-layout .service-heading{font-size:36px}.analytics-layout>div:last-child .service-heading{font-size:28px}.analytics-layout>div:last-child p{font-size:13px}
.source-results-split{display:grid;grid-template-columns:41fr 59fr;min-height:clamp(400px,30.9vw,530px);border-bottom:1px solid var(--border)}.source-testimonial-copy{align-self:center;padding:45px max(35px,5vw)}
.photo-result-metrics{position:absolute;z-index:2;bottom:18px;left:5%;right:5%;padding:20px 0;display:grid;grid-template-columns:.9fr 3fr;align-items:end;gap:22px;background:linear-gradient(transparent,#07111755)}.photo-result-metrics .service-stats{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo-result-metrics .service-stats>div:not(:last-child){border-right:1px solid #349db287;padding-right:12px}
.photo-result-metrics>p{font-size:10px;letter-spacing:.14em;color:#a7b7bf;margin:0;line-height:1.7}.source-results-split .panel-photo{object-position:center}
.opportunity-columns{grid-template-columns:158fr 206fr 162fr;gap:32px}.opportunity-columns>div:not(:first-child){border-left:1px solid var(--border);padding-left:30px}
.opportunity-columns .cyan{font-style:italic}.opportunity-columns .check-list li:before{content:"—";border:0;border-radius:0;background:none;font-size:20px}.opportunity-caption{font-size:12px!important;letter-spacing:.14em;color:var(--cyan)!important}
.performance-layout{grid-template-columns:38fr 24fr 38fr;gap:35px}.performance-strip{position:relative;padding:25px;overflow:hidden}.strip-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.performance-strip .service-stats{position:relative;display:block;border:0;padding:0;margin:0}.performance-strip .service-stats>div{padding:24px 0;border-bottom:1px solid #68809060}.performance-strip .service-stats>div:last-child{border:0}.performance-strip .service-stats strong{font-size:35px}
.source-case-layout{grid-template-columns:158fr 339fr 111fr;gap:25px}.source-case-layout .visual-panel{aspect-ratio:339/176;min-height:0;align-self:center}.source-case-layout .panel-photo{object-fit:contain}
.device-case-sidebar{padding:24px 0;border-block:1px solid var(--border)}.device-case-sidebar .service-heading{font:600 21px/1.2 var(--body)}.device-case-sidebar p,.device-case-sidebar li{font-size:13px}
.device-case-sidebar .check-list li:before{content:"";width:7px;height:7px;border:1px solid var(--cyan);border-radius:50%;top:6px}
.featured-quote blockquote{font:27px/1.2 Georgia,serif}.featured-quote .service-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.featured-quote .service-stats strong{font-size:26px}
.case-metric-sidebar{display:grid;gap:18px}.case-metric-sidebar>div{display:flex;align-items:center;gap:16px}.case-metric-sidebar .icon{height:28px;width:28px}.case-metric-sidebar strong{color:var(--cyan);font-size:25px}.case-metric-sidebar p{font-size:12px;color:var(--muted);margin:3px 0 0}
.source-testimonial-three{display:grid;grid-template-columns:24fr 42fr 34fr;gap:35px;align-items:center}.source-testimonial-three .visual-panel{min-height:230px}.source-testimonial-three .service-heading{font-size:37px}
.source-testimonial-three .service-quote{font:24px/1.3 Georgia,serif}.testimonial-strip{position:relative;overflow:hidden;padding-block:30px}.testimonial-strip>.container{position:relative}
.source-testimonial-row{position:relative;display:grid;grid-template-columns:1fr 1.9fr auto;gap:40px;align-items:center}.source-testimonial-row .service-heading{font-size:34px}.source-testimonial-row .service-quote{font-size:21px;line-height:1.3}
.source-testimonial-row .carousel-controls{margin:0;gap:10px}.source-testimonial-row .quote-name{font-size:12px}.source-slider-dots{display:flex;gap:7px;margin-top:18px}.source-slider-dots i{height:5px;width:5px;border-radius:50%;background:#68757d}.source-slider-dots i:first-child{background:var(--cyan)}
.testimonial-background{position:absolute;top:-30px;bottom:-30px;right:-6vw;width:58%;height:calc(100% + 60px);object-fit:cover;opacity:.22;pointer-events:none}
.source-photo-testimonial{display:grid;grid-template-columns:55fr 45fr;min-height:clamp(350px,28.3vw,450px);border-bottom:1px solid var(--border)}.source-photo-testimonial .service-quote{font-family:Georgia,serif}
.source-photo-testimonial .source-testimonial-copy{padding:38px max(30px,5vw)}.stars{color:var(--cyan);font-size:18px;letter-spacing:.13em;margin-bottom:0}
.service-section[data-section-type="faq"]{padding-block:36px}.service-section[data-section-type="faq"] .faq-item{padding-block:10px}.service-section[data-section-type="faq"] .faq-item summary{font-size:14px}
.pricing-intro{margin-bottom:50px}.pricing-card{position:relative;display:flex;flex-direction:column}.pricing-card h4:after{content:"";display:block;width:60px;border-top:2px solid var(--cyan);margin-top:18px}
.pricing-card .button{margin-top:auto;align-self:flex-start}.pricing-card .badge{position:absolute;top:-22px;right:20px;background:var(--cyan);color:#07202b;padding:8px 18px;font-size:11px;letter-spacing:.1em}.pricing-card ul{margin-bottom:35px}
.source-photo-grid>.service-card{padding:0;border:1px solid var(--border);background:#0d1417}.source-photo-grid>.service-card h3,.source-photo-grid>.service-card p{padding-inline:15px}.source-photo-grid>.service-card h3{margin-top:17px}.source-photo-grid .card-photo{height:170px;margin:0}
.accent-body p{color:var(--cyan);font-weight:600}.capability-management-layout{grid-template-columns:1fr 1fr;gap:25px}.capability-management-layout .service-card-grid{margin-top:30px;gap:0}.capability-management-layout .service-card{padding:12px 9px}.capability-management-layout .service-card h3{font:500 13px/1.3 var(--body)}.capability-management-layout .service-card p{font-size:11px}.capability-management-layout .service-card .icon{width:28px;height:28px}
.capabilities-with-rail{display:grid;grid-template-columns:29fr 51fr 16fr;gap:25px;align-items:stretch}.capabilities-with-rail .service-card-grid{gap:16px 0}.capabilities-with-rail .service-card:nth-child(3n){border-right:0}
.source-photo-copy-band{display:grid;grid-template-columns:38fr 35fr 27fr;min-height:430px;border-bottom:1px solid var(--border)}.source-band-copy{align-self:center;padding:35px max(28px,4vw)}.source-band-sidebar{align-self:center;padding:30px 35px;border-left:1px solid var(--border)}
.source-band-sidebar .service-line{padding:18px 0;gap:13px;grid-template-columns:30px 1fr}.source-band-sidebar .service-line .icon{width:26px;height:26px}.source-band-sidebar h3{font-size:17px}.source-band-sidebar p{font-size:13px}
.source-phase-list{align-self:center;padding:30px 35px;border-left:1px solid var(--border)}.source-phase-list>div{display:flex;align-items:center;gap:18px;margin-block:25px}.source-phase-list>div>span{font-size:34px;color:#73828b;line-height:1}.source-phase-list h3{font-size:17px;margin:0}
.roadmap-layout{grid-template-columns:28fr 72fr;gap:25px}.roadmap-layout .diagram-image{max-height:none}
.source-automation-features{grid-template-columns:42fr 58fr;gap:35px}.source-automation-features .service-card-grid{gap:22px 0}.source-automation-features .service-card:nth-child(2n){border-right:0}.source-automation-features .service-card h3{font:600 21px/1.2 var(--body)}
.source-icon-columns>div{display:grid;grid-template-columns:40px 1fr;gap:16px}.source-icon-columns>div:not(:last-child){border-right:1px solid var(--border);padding-right:30px}.source-icon-columns .icon{width:33px;height:33px}.source-icon-columns .service-heading{font-size:31px}
.brand-wall-phrase{position:absolute;left:3%;top:2%;font:25px/1.2 "Segoe Print","Bradley Hand",cursive;color:#d1d5d0;transform:rotate(4deg);opacity:.55}
.brand-word-rail{position:absolute;left:73%;top:5%;font-size:11px;line-height:2.2;letter-spacing:.15em;color:#a7b8bf}.brand-word-rail span{display:block;font-size:25px;margin-top:12px}.brand-tomorrow{position:absolute;left:75%;top:61%;font-size:25px;text-transform:none;max-width:190px}
.ai-hero-diagram{position:absolute;inset:0;pointer-events:none;color:#c2dfe9;font-family:var(--body)}.ai-hero-diagram p{margin:0}
.diagram-origin,.diagram-destination{position:absolute;font-size:11px;letter-spacing:.08em;line-height:1.7}.diagram-origin{left:6%;top:9%}.diagram-destination{left:56%;top:22%}
.diagram-input,.diagram-output{position:absolute;width:18%;text-align:center;font-size:clamp(9px,1.05vw,16px);letter-spacing:.04em;transform:translateY(-50%) rotate(8deg)}
.diagram-input{left:5%}.input-0{top:23%}.input-1{top:35.5%}.input-2{top:48%}.input-3{top:60%}
.diagram-output{left:55%;width:16%;font-size:clamp(8px,.84vw,13px);transform:translateY(-50%) rotate(5deg)}.output-0{top:32.5%}.output-1{top:42.5%}.output-2{top:52.5%}.output-3{top:61.5%}
.diagram-centre{position:absolute;left:31%;top:25%;width:17%;transform:skewY(8deg)}.diagram-centre strong{font-size:38px;font-weight:500}.diagram-centre p{font-size:22px;line-height:1.2}.diagram-centre small{display:block;margin-top:22px;font-size:11px;line-height:1.5}
.diagram-mug{position:absolute;left:46%;top:79%;font-size:8px;line-height:1.5;letter-spacing:.02em;color:#93a1a9}.diagram-human{position:absolute;right:3%;bottom:4%;font-size:9px;line-height:1.8;letter-spacing:.1em}
.custom-hero-note{position:absolute;left:49%;top:7%;font-size:25px;text-transform:none;opacity:.8}.custom-garment-label{position:absolute;left:81%;top:54%;font-size:12px;line-height:1.4;letter-spacing:.05em;color:#a8b5ba80;transform:rotate(-3deg)}
.subscription-hero-note,.subscription-hero-tail{position:absolute;right:8%;font-size:11px;line-height:1.8;letter-spacing:.2em;border-left:1px solid #91a5b8;padding-left:17px;color:#bccbd3;margin:0}
.subscription-hero-note{top:3%}.subscription-hero-tail{bottom:4%;border-color:var(--cyan)}.subscription-garment-label{position:absolute;left:47%;top:38%;font-size:12px;line-height:1.4;color:#a4adb35e;transform:rotate(-4deg)}
.digital-hero-ui{position:absolute;inset:0;pointer-events:none;color:#b9d5df;font:12px/1.4 var(--body)}.digital-hero-ui p{position:absolute;margin:0}.search-query,.search-suggestion{background:#10222df2;padding:4px 8px;transform:rotate(-4deg)}
.search-query{left:16%;top:28%;width:35%;font-size:13px}.search-suggestion{left:20%;width:25%;font-size:10px;padding-block:2px}.suggestion-0{top:37.4%}.suggestion-1{top:42%}.suggestion-2{top:46.5%}.suggestion-3{top:51.4%;width:15%}.suggestion-4{top:56%;width:20%}
.search-chart-title{left:59%;top:34%;font-size:13px}.search-chart-title span,.traffic-chart-title span{display:block;text-align:right;color:var(--cyan);font-size:21px}.traffic-chart-title{left:35%;top:62%;font-size:13px}.traffic-chart-title span{margin-left:140px}
.funnel-title{left:72%;top:64%;font-size:12px}.funnel-stages{position:absolute;left:76%;top:69%;width:18%;height:21%;display:grid;grid-template-rows:repeat(4,1fr)}.digital-hero-ui .funnel-stages p{position:static;align-self:center;background:#11222bf0;font-size:10px;padding:3px}
.hero-visual .photo-caption.upright{font-size:11px;max-width:180px;line-height:1.8}.hero-visual .photo-caption.upright:before{left:0;top:auto;bottom:-18px;width:28px;border-left:0;border-top:1px solid var(--cyan)}
.hero-communications .photo-caption{left:auto;right:9%;top:26%;bottom:auto;text-align:center}.hero-communications .photo-caption.upright:before{left:calc(50% - 14px)}
.hero-caption-tail{position:absolute;right:7%;bottom:5%;margin:0;color:#96b0bd;font-size:9px;letter-spacing:.16em;line-height:1.5}
.hero-digital-marketing .photo-caption{left:auto;right:8%;top:17%;bottom:auto;color:#a3c9da}.hero-websites-ux .photo-caption{left:auto;right:5%;bottom:8%;font-size:10px}
.source-problem-icons{list-style:none;padding:0;margin:0}.source-problem-icons li{display:flex;gap:14px;align-items:center;margin-block:25px;color:var(--muted);font-size:14px}.source-problem-icons .icon{width:28px;height:28px;flex-shrink:0}
.desk-diagram-labels{position:absolute;inset:0;color:#d9dddc;pointer-events:none;font:17px/1.3 "Segoe Print","Bradley Hand",cursive}.desk-diagram-labels p{position:absolute;margin:0;transform:rotate(-13deg)}
.desk-top.top-people{left:26%;top:28%}.desk-top.top-process{left:44%;top:23%}.desk-top.top-technology{left:58%;top:17%}
.desk-box{width:13%;text-align:center}.desk-box-0{left:18.5%;top:54%}.desk-box-1{left:36%;top:47%}.desk-box-2{left:52%;top:40%}.desk-box-3{left:69%;top:32%}.desk-conclusion{left:26%;top:79%;font-size:15px}
/* Route-specific proportions, caption treatments and type roles. */
body[data-route="/services/design-branding/"] #section-3{grid-template-columns:59fr 41fr;min-height:clamp(360px,27.6vw,440px)}
body[data-route="/services/design-branding/"] #section-6{padding-block:28px}body[data-route="/services/design-branding/"] #section-7 .source-testimonial-three{grid-template-columns:117fr 177fr 194fr;gap:45px}
body[data-route="/services/design-branding/"] #section-7 .photo-caption{left:auto;right:4%;max-width:150px;font-size:30px}
body[data-route="/services/strategic-communications/"] #section-1{grid-template-columns:43fr 57fr;min-height:clamp(380px,32.3vw,500px)}
body[data-route="/services/strategic-communications/"] #section-1 .visual-panel{margin-right:0}body[data-route="/services/strategic-communications/"] #section-1 .panel-photo{width:68%}
body[data-route="/services/strategic-communications/"] #section-1 .photo-caption{left:71%;right:3%;top:20%;bottom:auto;font-size:27px;max-width:180px}
body[data-route="/services/strategic-communications/"] #section-4 .source-case-layout{grid-template-columns:208fr 179fr 211fr}
body[data-route="/services/strategic-communications/"] #section-4 .panel-photo{object-fit:cover}body[data-route="/services/strategic-communications/"] #section-4 .visual-panel{min-height:0;aspect-ratio:179/174}
body[data-route="/services/digital-marketing/"] #section-3{grid-template-columns:43fr 57fr;min-height:clamp(420px,33.3vw,510px)}
body[data-route="/services/digital-marketing/"] .coastal-cta .photo-caption{top:35px;bottom:auto;right:21%;color:var(--cyan)}
body[data-route="/services/websites-ux/"] #section-2 .source-open-grid .icon{padding:10px;width:60px;height:60px;border:1px solid currentColor;border-radius:50%}
body[data-route="/services/websites-ux/"] #section-3{grid-template-columns:59fr 41fr;min-height:clamp(420px,34.2vw,530px)}
body[data-route="/services/websites-ux/"] #section-3 .photo-caption{font:500 35px/1.1 var(--body);text-transform:none;letter-spacing:0;left:8%;bottom:10%}
body[data-route="/services/websites-ux/"] #section-3 .photo-caption:before{left:0;top:-20px;bottom:auto;width:60px;border-left:0;border-top:2px solid var(--purple)}
.section-index{color:var(--purple);margin-right:12px}body[data-route="/services/websites-ux/"] #section-4{grid-template-columns:40.5fr 59.5fr;min-height:clamp(420px,33.9vw,530px)}
body[data-route="/services/websites-ux/"] #section-4 .photo-caption{left:12%;bottom:15%;font-size:37px;max-width:360px}
body[data-route="/services/websites-ux/"] #section-4 .photo-caption:before{content:"“";display:block;color:var(--cyan);font:65px/.7 Georgia,serif;margin-bottom:14px}
body[data-route="/services/websites-ux/"] #section-7{padding-block:25px}body[data-route="/services/websites-ux/"] #section-8{padding-block:22px}body[data-route="/services/websites-ux/"] #section-8 .faq-item{padding-block:7px}
body[data-route="/services/websites-ux/"] .coastal-cta .photo-caption{font-size:10px;bottom:20px;right:8%}
body[data-route="/services/custom-software/"] .hero{min-height:26.9vw}body[data-route="/services/custom-software/"] .hero-visual{width:55%}
body[data-route="/services/custom-software/"] .hero-inner{padding-block:20px 18px}body[data-route="/services/custom-software/"] .hero-copy{max-width:680px}
body[data-route="/services/custom-software/"] .hero h1{font-size:clamp(31px,2.6vw,39px);line-height:1.04;margin-bottom:14px}
body[data-route="/services/custom-software/"] .hero-copy .eyebrow{font-size:10px;margin-bottom:10px}body[data-route="/services/custom-software/"] .hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.35;max-width:530px;margin-bottom:0}
body[data-route="/services/custom-software/"] .hero .button-row{margin-top:14px}body[data-route="/services/custom-software/"] .hero .button{font-size:11px;padding:9px 15px}
body[data-route="/services/custom-software/"] .hero-capability-line{margin-top:18px;font-size:10px}
body[data-route="/services/custom-software/"] .service-section{padding-block:28px}body[data-route="/services/custom-software/"] .service-heading{font-size:30px}
body[data-route="/services/custom-software/"] .service-section p,body[data-route="/services/custom-software/"] .source-band-copy p{font-size:13px}
body[data-route="/services/custom-software/"] .source-photo-copy-band{min-height:19.3vw;grid-template-columns:38fr 35fr 27fr}
body[data-route="/services/custom-software/"] .visual-panel{min-height:0}body[data-route="/services/custom-software/"] .source-band-copy{padding:30px 35px}
body[data-route="/services/custom-software/"] .source-band-sidebar{padding:25px 30px}body[data-route="/services/custom-software/"] .source-band-sidebar .check-list li{margin-block:16px;font-size:13px}
body[data-route="/services/custom-software/"] .source-band-sidebar .check-list li:before{content:"⊕";font-size:17px;border:0;border-radius:0;top:0}
body[data-route="/services/custom-software/"] #section-2 .service-heading{font:800 37px/1.04 var(--display)}body[data-route="/services/custom-software/"] #section-2 .service-card{padding:10px 15px;min-height:0}
body[data-route="/services/custom-software/"] #section-2 .service-card h3{font:600 17px/1.15 var(--body)}body[data-route="/services/custom-software/"] #section-2 .service-card .icon{width:28px;height:28px;margin-bottom:10px}
body[data-route="/services/custom-software/"] #section-3 .source-case-layout{grid-template-columns:365fr 360fr 283fr}body[data-route="/services/custom-software/"] #section-3 .eyebrow{color:var(--purple)}
body[data-route="/services/custom-software/"] #section-3 .visual-panel{aspect-ratio:360/205}
body[data-route="/services/custom-software/"] #section-5{grid-template-columns:42fr 28fr 30fr}
body[data-route="/services/custom-software/"] #section-4 .source-stage{text-align:left}body[data-route="/services/custom-software/"] #section-4 .stage-number{margin-left:0}body[data-route="/services/custom-software/"] #section-4 .source-stage-flow:before{left:0;right:15%}
body[data-route="/services/custom-software/"] #section-4 .source-stage h3{font-size:15px}body[data-route="/services/custom-software/"] #section-4 .source-stage p{font-size:12px}
body[data-route="/services/custom-software/"] #section-6 .source-testimonial-three{grid-template-columns:21fr 50fr 29fr}body[data-route="/services/custom-software/"] #section-6 .source-testimonial-quote{padding-left:25px;border-left:1px solid var(--border)}
body[data-route="/services/custom-software/"] #section-6 .service-quote{font-size:22px}body[data-route="/services/custom-software/"] #section-6 .visual-panel{min-height:180px}
body[data-route="/services/custom-software/"] .coastal-cta{min-height:230px}body[data-route="/services/custom-software/"] .coastal-cta>.container{padding-block:35px}
body[data-route="/services/custom-software/"] .coastal-cta .cta-copy h2{font:800 39px/1.04 var(--display)}body[data-route="/services/custom-software/"] .coastal-cta .cta-copy p{font-size:14px;max-width:370px}
body[data-route="/services/custom-software/"] .footer-compact nav{font-size:10px;gap:14px}
body[data-route="/services/ai-development/"] .hero{min-height:clamp(660px,49.8vw,750px)}body[data-route="/services/ai-development/"] .hero-visual{width:56%}
body[data-route="/services/ai-development/"] .service-heading{font-family:var(--body);font-weight:600;font-size:39px}
body[data-route="/services/ai-development/"] .source-photo-split{grid-template-columns:39fr 61fr;min-height:clamp(400px,35.6vw,540px)}
body[data-route="/services/ai-development/"] #section-3{min-height:clamp(360px,30.8vw,480px)}body[data-route="/services/ai-development/"] #section-2 .check-list li:before{content:"×";color:#bc526d;border:1px solid #bc526d;border-radius:50%;width:16px;height:16px;display:grid;place-items:center;font-size:14px;top:3px}
body[data-route="/services/ai-development/"] #section-2 .photo-caption{inset:0;max-width:none}.source-photo-split .photo-caption .caption-secondary{font-family:var(--body);text-transform:uppercase;letter-spacing:.13em}
body[data-route="/services/ai-development/"] #section-2 .photo-caption:before,body[data-route="/services/ai-development/"] .coastal-cta .photo-caption:before,body[data-route="/services/fractional-cio/"] #section-4 .photo-caption:before{display:none}
body[data-route="/services/ai-development/"] #section-2 .caption-primary{position:absolute;left:24%;top:14%;font-size:28px;line-height:1.2;letter-spacing:.12em}
body[data-route="/services/ai-development/"] #section-2 .caption-secondary{position:absolute;right:7%;bottom:8%;font-size:12px;line-height:1.8}
body[data-route="/services/ai-development/"] .source-icon-columns .service-heading{font-size:30px}body[data-route="/services/ai-development/"] .source-icon-columns .check-list li:before{content:"";width:7px;height:7px;border:1px solid var(--cyan);border-radius:50%;top:6px}
body[data-route="/services/ai-development/"] .coastal-cta .cta-copy h2{font-family:var(--body);font-weight:750;line-height:1.05}
body[data-route="/services/ai-development/"] .coastal-cta .photo-caption{inset:0;max-width:none;width:100%}
body[data-route="/services/ai-development/"] .coastal-cta .caption-primary{position:absolute;left:65%;top:50%;font-size:11px;letter-spacing:.15em}
body[data-route="/services/ai-development/"] .coastal-cta .caption-secondary{position:absolute;right:3%;bottom:25%;font-size:13px}
body[data-route="/services/ai-development/"] .source-photo-testimonial .photo-caption{left:16%;top:35%;bottom:auto;max-width:380px}body[data-route="/services/ai-development/"] .source-photo-testimonial .caption-primary{font-size:28px}body[data-route="/services/ai-development/"] .source-photo-testimonial .caption-secondary{font-size:13px;margin-top:35px}
body[data-route="/services/ai-capability/"] .hero-visual{width:55%}body[data-route="/services/ai-capability/"] .source-photo-copy-band{grid-template-columns:40fr 33fr 27fr}
body[data-route="/services/ai-capability/"] .testimonial-strip .eyebrow,body[data-route="/services/custom-software/"] .testimonial-strip .eyebrow,body[data-route="/services/fractional-cio/"] .testimonial-strip .eyebrow{color:var(--purple)}
body[data-route="/services/ai-capability/"] .coastal-cta{min-height:270px}body[data-route="/services/ai-capability/"] .coastal-cta>.container{padding-block:35px}
body[data-route="/services/ai-capability/"] .pricing-card .badge{left:20px;right:auto}
body[data-route="/services/ai-capability/"] .source-photo-copy-band .service-heading{font-size:36px}body[data-route="/services/ai-capability/"] .source-testimonial-three{grid-template-columns:19fr 53fr 28fr}
body[data-route="/services/fractional-cio/"] .hero{min-height:clamp(570px,43.4vw,650px)}body[data-route="/services/fractional-cio/"] .hero-visual{width:56%}
body[data-route="/services/fractional-cio/"] .hero-copy{max-width:660px}body[data-route="/services/fractional-cio/"] .hero h1{font-size:clamp(40px,4.05vw,59px)}
body[data-route="/services/fractional-cio/"] #section-1{grid-template-columns:38fr 33fr 29fr}body[data-route="/services/fractional-cio/"] #section-1 .service-line .icon{color:#81919a;width:25px;height:25px}
body[data-route="/services/fractional-cio/"] #section-1 .service-line{padding-block:15px}body[data-route="/services/fractional-cio/"] #section-1 .service-line h3{font-size:16px}
body[data-route="/services/fractional-cio/"] #section-4{grid-template-columns:39fr 61fr;min-height:clamp(440px,36.9vw,580px)}
body[data-route="/services/fractional-cio/"] #section-4 .photo-caption{inset:0;max-width:none}body[data-route="/services/fractional-cio/"] #section-4 .caption-primary{position:absolute;right:9%;top:10%;font-size:28px;line-height:1.1;letter-spacing:0;font-weight:750}
body[data-route="/services/fractional-cio/"] #section-4 .caption-secondary{position:absolute;right:4%;bottom:6%;font-size:11px;line-height:1.8}
body[data-route="/services/fractional-cio/"] #section-4 .check-list li:before{content:"";width:7px;height:7px;border:1px solid var(--cyan);border-radius:50%;top:7px}
body[data-route="/services/fractional-cio/"] .coastal-cta .cta-copy h2{font:750 44px/1.07 var(--body)}body[data-route="/services/fractional-cio/"] .coastal-cta .photo-caption{font-size:10px;bottom:24px}
@media(min-width:981px){
 body{--layout-gutter:5.5vw}body[data-page="about"]{--layout-gutter:4.75vw}body[data-page="approach"]{--layout-gutter:5.9vw}body[data-page="process"]{--layout-gutter:5vw}body[data-page="work"]{--layout-gutter:5.4vw}body[data-page="contact"]{--layout-gutter:5.7vw}body[data-page="ventures"]{--layout-gutter:6vw}body[data-route="/services/custom-software/"]{--layout-gutter:4.2vw}
 main .container,.site-footer .container{width:min(1280px,calc(100% - var(--layout-gutter)*2))}
}
@media(max-width:1200px) and (min-width:981px){
 .footer-compact nav{gap:12px;font-size:10px}.footer-compact .footer-main{gap:15px}.footer-copyright{max-width:140px;font-size:9px}
 .source-process-band{grid-template-columns:.8fr 2.6fr;gap:20px}.source-process-note{display:none}.source-stage-flow{gap:12px}
 .capabilities-with-rail{grid-template-columns:27fr 55fr 18fr;gap:15px}.capabilities-intro-grid{gap:25px}.analytics-layout{gap:18px}
 .source-band-copy{padding:30px 25px}.source-band-sidebar,.source-phase-list{padding:25px 20px}.source-testimonial-three{gap:25px}
 .next-overlay{gap:20px;padding:24px;left:25px}.next-overlay h3{font-size:23px}.next-overlay .overlay-capabilities{padding-left:18px;font-size:11px}
}
@media(max-width:980px){
 .hero-visual,.hero-home .hero-visual,body[data-page="services"][data-route="/services/"] .hero-visual,body[data-page="work"] .hero-visual,body[data-route="/services/custom-software/"] .hero-visual,body[data-route="/services/ai-development/"] .hero-visual,body[data-route="/services/ai-capability/"] .hero-visual,body[data-route="/services/fractional-cio/"] .hero-visual{width:75%;right:0;height:100%;top:0}
 .hero-side-note,.hero-insight-card,.brand-wall-phrase,.brand-word-rail,.brand-tomorrow,.custom-garment-label,.custom-hero-note,.subscription-hero-note,.subscription-hero-tail,.subscription-garment-label{display:none}
 .hero-capability-line{font-size:10px}.hero-stats>div{padding-inline:16px}.diagram-centre p{font-size:16px}.diagram-centre strong{font-size:26px}.diagram-centre small{font-size:8px;margin-top:12px}.diagram-origin,.diagram-destination,.diagram-human{font-size:8px}
 .footer-compact .footer-main{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:25px}.footer-compact nav{flex:1;min-width:400px;justify-content:center}.footer-copyright{margin-left:auto}
 .footer-statement{display:none}.footer-main-link-columns .footer-main{grid-template-columns:repeat(2,1fr)}
 body[data-page="home"] .home-partner{grid-template-columns:1fr 1.6fr;gap:35px}.home-partner>.photo-caption{display:none}
 #integration .section-intro-split{grid-template-columns:1fr;gap:25px}#mindset .service-editorial{grid-template-columns:1fr;gap:30px}#mindset .principles-grid{border-left:0;padding-left:0}
 #clarity .service-editorial{grid-template-columns:1fr}#decisions .split-copy{padding:30px}#decisions h2{font-size:25px}.decisions-detail{grid-template-columns:1fr}
 .process-step .process-copy,.process-step.photo-left .process-copy{padding:25px;grid-template-columns:35px 1fr;gap:15px}.process-copy h3{font-size:18px}.process-copy h4{font-size:12px}.process-copy p{font-size:13px}
 .process-step .outcome{width:150px;padding:15px;right:3%}.process-step.photo-left .outcome{left:3%}.process-step .photo-caption{font-size:17px;max-width:100px}
 .next-venture-panel{grid-template-columns:75px 1fr auto;gap:22px}.next-venture-plus{width:75px;height:75px}.next-venture-panel .photo-caption{display:none}
 .venture-partner{grid-template-columns:1.3fr 1fr}.venture-partner>.photo-caption{display:none}
 body[data-page="contact"] #what-happens-next{min-height:740px;grid-template-columns:54fr 46fr}.next-overlay{grid-template-columns:1fr;min-height:0}.next-overlay .overlay-capabilities{grid-template-columns:repeat(2,1fr);border-left:0;padding-left:0;gap:10px}
 body[data-page="contact"] #testimonial .quote-layout,body[data-page="process"] #testimonial .quote-layout,body[data-page="approach"] #testimonial .quote-layout,body[data-page="work"] #testimonial .quote-layout{grid-template-columns:1fr 1fr;gap:25px}
 .quote-layout>.photo-caption{display:none}.quote-scenic .photo-caption{display:block}.quote-scenic .quote-copy{width:55%}
 .source-open-grid>.service-card{padding:16px}.source-process-band{grid-template-columns:1fr}.source-process-note{display:none}.source-stage-flow{gap:14px}
 .source-foundation,.source-search-worlds,.source-communications-journey,.source-photo-testimonial,.source-results-split{grid-template-columns:1fr 1fr;min-height:0}
 .source-foundation .foundation-heading{padding:40px 30px}.foundation-heading .service-heading{font-size:34px}.foundation-features{padding:35px 25px}.source-journey-copy{padding:30px}
 .positioning-layout,.messaging-layout,.analytics-layout,.opportunity-columns,.performance-layout,.source-case-layout,.source-testimonial-three{gap:22px}
 .capabilities-intro-grid{grid-template-columns:1fr}.capabilities-with-rail{grid-template-columns:1fr 2fr}.capabilities-with-rail>.visual-panel{display:none}
 .source-icon-columns{grid-template-columns:1fr}.source-icon-columns>div:not(:last-child){border-right:0;padding:0;border-bottom:1px solid var(--border);padding-bottom:25px}
 .roadmap-layout,.compound-layout,.capability-management-layout,.source-automation-features{grid-template-columns:1fr;gap:30px}
 .source-band-copy{padding:30px}.source-band-sidebar,.source-phase-list{padding:25px}.source-photo-copy-band{grid-template-columns:1fr 1fr;min-height:0}.source-photo-copy-band>div:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--border)}
 body[data-route="/services/fractional-cio/"] #section-1,body[data-route="/services/ai-capability/"] .source-photo-copy-band,body[data-route="/services/custom-software/"] .source-photo-copy-band,body[data-route="/services/custom-software/"] #section-5{grid-template-columns:1fr 1fr}
 body[data-route="/services/custom-software/"] .hero{min-height:440px}.source-search-copy{padding:35px 25px}.source-search-copy .service-two{grid-template-columns:1fr}
 .source-testimonial-row{grid-template-columns:1fr 1.6fr}.source-testimonial-row>.carousel-controls{grid-column:2}.source-testimonial-three{grid-template-columns:1fr 1.5fr!important}.source-testimonial-three>.visual-panel{grid-column:1/-1;min-height:200px}
 .cta-actions-right>.container,.cta-actions-centre>.container{grid-template-columns:1.3fr 1fr;gap:30px}.cta-actions-centre .photo-caption{display:none}.cta-actions-right .button-row{flex-direction:column;align-items:flex-start}
}
@media(max-width:700px){
 .hero-visual,.hero-home .hero-visual,body[data-page="services"][data-route="/services/"] .hero-visual,body[data-page="work"] .hero-visual,body[data-route="/services/custom-software/"] .hero-visual,body[data-route="/services/ai-development/"] .hero-visual,body[data-route="/services/ai-capability/"] .hero-visual,body[data-route="/services/fractional-cio/"] .hero-visual{width:100%;height:100%;right:0;top:0}
 .hero-stats{gap:18px}.hero-stats>div{max-width:none}.hero-stats .icon{width:28px;height:28px}.hero-capability-line{margin-top:24px;max-width:100%}.ai-hero-diagram{opacity:.3}
 .footer-compact .footer-main{display:block}.footer-compact nav{min-width:0;justify-content:flex-start;flex-wrap:wrap;gap:16px;margin:25px 0}.footer-socials{margin-top:20px}.footer-copyright{margin-top:20px;max-width:none}.footer-main-link-columns .footer-main{grid-template-columns:1fr 1fr}
 .footer-main-link-columns .footer-brand,.footer-main-link-columns .newsletter{grid-column:1/-1}.footer-bottom{gap:15px}.footer-message{text-align:left}
 .cta-copy{max-width:100%}.cta-actions-right>.container,.cta-actions-centre>.container{display:block}.cta-actions-right .cta-actions{margin-top:25px}.cta-actions-right .button-row{flex-direction:row;flex-wrap:wrap}.coastal-cta .photo-caption{display:none}
 body[data-page="home"] .home-partner{grid-template-columns:1fr;gap:30px}.home-intersection h2{font-size:36px}
 body[data-page="about"] #our-home h2,body[data-page="about"] #our-home p:not(.scribble){max-width:100%}body[data-page="about"] #capabilities h2{font-size:26px}
 body[data-page="about"] #capabilities .feature-card>div{padding:22px}.quote-scenic .quote-copy{width:100%;padding:35px 24px}.quote-scenic .quote-portrait{width:100%;opacity:.3}.quote-scenic .photo-caption{display:none}
 #strategy-before-tools,#decisions{grid-template-columns:1fr!important}.glass-statement{font-size:18px}.glass-board-labels ul,.glass-solution{font-size:11px}
 #mindset .principles-grid{grid-template-columns:1fr}.connection-flow{grid-template-columns:1fr 1fr}#integration .connection-flow:before,#integration .connection-flow:after{display:none}
 #clear-path h2{font-size:29px}#clear-path p:not(.eyebrow,.scribble){max-width:100%}#clear-path .scribble{display:none}
 .step-connector,.process-marker{display:none}.process-step,.process-step:nth-child(even),.process-step.photo-right,.process-step.photo-left{grid-template-columns:1fr;min-height:0}.process-step .process-copy,.process-step.photo-left .process-copy{order:0;padding:30px 24px}.process-step .process-visual,.process-step.photo-left .process-visual{order:1;min-height:300px}
 #decisions .split-photo{min-height:300px}#northbound.case-study.reverse,#aviv.case-study.reverse{grid-template-columns:1fr}
 .hero-visual>.photo-caption,.hero-caption-tail{display:none}
 .digital-hero-ui{display:none}.source-stage:after{display:none!important}.quote-scenic .quote-portrait{max-width:none}
 .process-step .outcome,.process-step.photo-left .outcome{right:20px;left:auto;top:25px;bottom:25px;width:170px}.process-step .photo-caption,.process-step.photo-left .photo-caption{left:25px;right:auto}
 #partnership .service-editorial{grid-template-columns:1fr}#partnership .content-band{padding:25px}
 body[data-page="contact"] #testimonial .quote-layout,body[data-page="process"] #testimonial .quote-layout,body[data-page="approach"] #testimonial .quote-layout,body[data-page="work"] #testimonial .quote-layout{grid-template-columns:1fr}
 .quote-layout.photo-centre .quote-copy{order:0}.quote-layout.photo-centre .quote-portrait{order:1}body[data-page="contact"] #testimonial .quote-portrait{height:360px}
 body[data-page="process"] .hero{min-height:600px}body[data-page="process"] .hero-inner{padding-block:40px}body[data-page="process"] .hero h1{font-size:40px}
 body[data-page="ventures"] #venture-lab .service-editorial{grid-template-columns:1fr}.venture-partner{grid-template-columns:1fr 150px;padding:20px;gap:20px}.venture-partner>img{height:240px}.next-venture-panel{grid-template-columns:60px 1fr}.next-venture-plus{width:60px;height:60px;font-size:30px}.next-venture-panel .button-row{grid-column:2}.next-venture-panel h2{font-size:27px}
 body[data-page="contact"] .contact-layout{padding-block:40px;gap:30px}body[data-page="contact"] .contact-copy{padding-top:0}body[data-page="contact"] #what-happens-next{grid-template-columns:1fr;min-height:0}
 .next-photo{min-height:690px}.next-photo>img{height:60%}.next-overlay{left:20px;right:20px;bottom:25px;padding:25px;gap:20px}.next-overlay h3{font-size:24px}.next-overlay .overlay-capabilities{grid-template-columns:1fr 1fr}
 body[data-page="contact"] #closing-cta{min-height:360px}body[data-page="contact"] #closing-cta>.container{padding-block:55px}
 .source-foundation,.source-search-worlds,.source-communications-journey,.source-photo-testimonial,.source-results-split,.source-photo-copy-band,.source-photo-split,.capabilities-with-rail,.positioning-layout,.messaging-layout,.analytics-layout,.opportunity-columns,.performance-layout,.source-case-layout,.source-testimonial-three,.source-testimonial-row,.visibility-layout,.human-approach-layout,.source-split-intro,.pricing-intro{grid-template-columns:1fr!important}
 .visual-panel{min-height:330px}.source-foundation>.visual-panel{min-height:420px}.source-foundation .foundation-heading{padding:35px 24px}.source-foundation .foundation-features{padding:35px 24px}
 .source-communications-journey .visual-panel{min-height:470px}.source-communications-journey .source-journey-copy{padding:35px 24px}.source-communications-journey .photo-caption .caption-primary{bottom:270px}
 .source-search-copy,.source-testimonial-copy{padding:35px 24px}.source-search-copy .service-two{grid-template-columns:1fr 1fr}.source-search-worlds>.visual-panel{min-height:430px}
 .source-testimonial-row>.carousel-controls{grid-column:auto}.source-testimonial-three>.visual-panel{grid-column:auto;min-height:260px}.source-testimonial-three .source-testimonial-quote{border:0!important;padding:0!important}
 .source-results-split>.visual-panel{min-height:390px}.source-photo-testimonial>.visual-panel{min-height:390px}
 .source-band-copy,.source-band-sidebar,.source-phase-list{padding:35px 24px}.source-photo-copy-band>div:last-child{grid-column:auto}
 .source-photo-copy-band>.visual-panel{min-height:350px}.source-photo-split>.visual-panel{min-height:330px}.source-photo-split>.split-copy{order:0}.source-photo-split>.visual-panel{order:1}
 .source-stage-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.source-stage-flow:before{display:none}.source-stage:last-child:nth-child(odd){grid-column:1/-1}.source-open-grid>.service-card{border:0;border-bottom:1px solid var(--border)}
 .source-open-grid>.service-card:last-child{border:0}.source-process-band{grid-template-columns:1fr}.source-stage{padding:15px}.service-heading{font-size:34px}
 .capabilities-with-rail>.visual-panel{display:block;min-height:350px}.source-case-layout .visual-panel{min-height:0;aspect-ratio:339/176}.source-case-layout .visual-panel .panel-photo{object-fit:contain}
 .source-case-layout .case-metric-sidebar{grid-template-columns:1fr 1fr;gap:20px}.messaging-visual{min-height:340px}.opportunity-columns>div:not(:first-child){border-left:0;padding-left:0}.performance-strip{min-height:330px}
 .source-split-intro,.pricing-intro{gap:20px}.pricing-card{margin-top:20px}.photo-result-metrics{padding:20px 15px}.photo-result-metrics .service-stats{gap:12px}.photo-result-metrics .service-stats strong{font-size:26px}
 .capability-management-layout .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-management-layout .service-card:last-child{grid-column:1/-1}
 body[data-route="/services/custom-software/"] .hero{min-height:560px}body[data-route="/services/custom-software/"] .hero h1{font-size:34px}body[data-route="/services/custom-software/"] .hero-copy>p:not(.eyebrow){font-size:16px}
 body[data-route="/services/custom-software/"] .hero .button{font-size:13px;padding:12px 17px}body[data-route="/services/custom-software/"] .hero-capability-line{font-size:9px}
 body[data-route="/services/custom-software/"] .coastal-cta{min-height:360px}body[data-route="/services/custom-software/"] .coastal-cta .cta-copy h2{font-size:36px}body[data-route="/services/custom-software/"] .coastal-cta .cta-copy p{font-size:16px}
 body[data-route="/services/ai-development/"] .hero{min-height:720px}body[data-route="/services/ai-development/"] .service-heading{font-size:32px}
 body[data-route="/services/ai-development/"] .source-icon-columns .service-heading{font-size:29px}.desk-diagram-labels{font-size:13px}.desk-conclusion{font-size:11px}
 body[data-route="/services/ai-capability/"] .coastal-cta{min-height:330px}body[data-route="/services/fractional-cio/"] .hero{min-height:630px}body[data-route="/services/fractional-cio/"] .hero h1{font-size:38px}
 body[data-route="/services/fractional-cio/"] .coastal-cta .cta-copy h2{font-size:34px}
}

/* Final responsive layer. Desktop mockup rules remain in reference-layouts.css. */
.button-label{font:inherit;line-height:inherit;min-width:0;overflow-wrap:anywhere}
.site-header .mobile-nav-cta{display:none}
.diagram-frame{width:100%;min-width:0;margin:0}
.diagram-viewport{width:100%;max-width:100%}
.diagram-hint{display:none}
.diagram-viewport:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(min-width:1101px){
 .service-editorial>.diagram-frame .diagram-image{height:360px;object-fit:contain}
}

@media(max-width:1100px){
 html{scroll-padding-top:90px}
 body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body.mobile-menu-open{overflow:hidden}
 .site-header{position:sticky;top:0}
 .header-inner{min-height:76px;padding:12px 20px;gap:16px}
 .header-inner>.button{display:none}
 .menu-toggle{display:block;order:3;margin-left:auto;width:48px;min-height:48px;flex-shrink:0;padding:10px}
 .menu-toggle span{margin:5px auto}
 .site-header nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;padding:16px 20px 24px;background:#080f14;border:1px solid var(--border);max-height:calc(100vh - 78px);max-height:calc(100dvh - 78px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 .site-header nav.is-open{display:flex}
 .site-header nav>a,.site-header .nav-services summary,.service-dropdown a{min-height:46px;padding:12px 10px;font-size:16px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
 .site-header .mobile-nav-cta{display:flex;margin-top:16px;color:#04151d}
 .site-header nav>.mobile-nav-cta:hover{color:#04151d}
 .service-dropdown{position:static;box-shadow:none;width:100%;margin:4px 0 12px;padding:8px}
 .service-dropdown a{display:block;font-size:15px}
 #main *, .site-footer *{min-width:0}
 #main :is(h1,h2,h3,h4,p,li,a,blockquote),.site-footer :is(p,a){overflow-wrap:anywhere}
 #main .container,.site-footer .container{width:calc(100% - 48px)}
 #main :is(.hero,.hero-home,.contact-hero){min-height:0}
 #main .hero-visual{width:100%;right:0;top:0;height:100%}
 #main .hero-visual .hero-photo{width:100%;height:100%;opacity:.6}
 #main .hero-shade{background:linear-gradient(90deg,#080d10f7,#080d10dc 60%,#080d1090)}
 #main .hero-visual>:not(img):not(picture),#main .hero-note,#main .hero-side-note{display:none}
 #main .hero-inner{min-height:0;padding-block:48px 36px}
 body[data-route] main .hero h1,body[data-route] .contact-copy h1{font-size:clamp(30px,5.5vw,48px);line-height:1.08}
 body[data-route='/'] main .hero-home h1{font-size:clamp(60px,11vw,86px);line-height:.98}
 body[data-page] main .hero .hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.55;max-width:580px}
 #main .hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:32px;max-width:700px}
 #main .hero-stats>div{min-width:0;max-width:none;padding:0 18px 0 0!important;gap:12px}
 #main .hero-stats>div:nth-child(even){padding-left:0!important;border-right:0}
 #main .hero-stats strong{font-size:16px}
 #main .hero-stats span:not(.icon){font-size:13px;line-height:1.5}
 #main .hero-capability-line{font-size:12px;line-height:1.7;letter-spacing:.08em;margin-top:26px}
 .hero-visual :is(.ai-hero-diagram,.digital-hero-ui,.hero-caption-tail,.photo-caption){display:none}
 .button,.text-link{min-height:46px;max-width:100%;font-size:14px;line-height:1.45}
 .button{padding:12px 18px;gap:16px}
 .button>span:not(.button-label),.text-link>span{flex-shrink:0}
 .button-row{gap:14px}
 .button:focus-visible,.text-link:focus-visible{outline-offset:3px}
 input,select,textarea,.newsletter-field input{max-width:100%;min-width:0;font-size:16px}
 input,select,.newsletter-field input{min-height:48px}
 .newsletter-field button{min-height:48px}
 #main .contact-form .button{width:100%;min-width:0}
 .contact-form .form-note,.contact-form .form-privacy{font-size:13px!important;line-height:1.6}
 .faq-item summary{min-height:48px;align-items:center;font-size:16px!important;padding-block:8px}
 .faq-item summary:after{flex-shrink:0}
 .faq-item p{font-size:16px;line-height:1.6}
 .circle-button,.square-controls .circle-button{width:46px;height:46px;min-width:46px}
 #main .client-logo-controls button{min-width:44px;min-height:44px}
 .carousel-dots{justify-content:flex-start;gap:2px}
 .carousel-dots button,.carousel-dots button[aria-current]{width:44px;height:44px;background:none;display:grid;place-items:center}
 .carousel-dots button:before{content:'';width:8px;height:8px;border-radius:50%;background:#77868e}
 .carousel-dots button[aria-current='true']:before{background:var(--text)}
 .dialog-close{width:48px;height:48px;line-height:1}
 .story-dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}

 /* Editorial compositions become a readable sequence on tablets and phones. */
 #main :is(.home-intersection,.home-services,.home-partner,.mountain-feature>.container,.about-who,.founder-section,.section-intro-split,.service-editorial,.service-intro,.split-section,.contact-layout,.source-foundation,.source-search-worlds,.source-communications-journey,.source-photo-testimonial,.source-results-split,.source-photo-copy-band,.source-photo-split,.capabilities-with-rail,.capabilities-intro-grid,.positioning-layout,.messaging-layout,.analytics-layout,.opportunity-columns,.performance-layout,.source-case-layout,.source-testimonial-three,.source-testimonial-row,.visibility-layout,.human-approach-layout,.source-split-intro,.pricing-intro,.roadmap-layout,.compound-layout,.capability-management-layout,.source-automation-features){grid-template-columns:minmax(0,1fr)!important;gap:30px}
 #main .source-photo-copy-band>div:last-child,#main .source-testimonial-three>.visual-panel,#main .source-testimonial-row>.carousel-controls{grid-column:auto}
 #main .intro-aside{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}
 #main :is(.split-copy,.source-search-copy,.source-journey-copy,.source-band-copy,.source-band-sidebar,.source-phase-list,.source-testimonial-copy,.foundation-features){padding:32px 24px}
 #main :is(.source-photo-split,.source-photo-copy-band,.source-foundation,.source-search-worlds,.source-communications-journey,.source-results-split,.source-photo-testimonial){gap:0;min-height:0}
 #main .source-photo-split>.split-copy{order:0}
 #main .source-photo-split>.visual-panel{order:1}
 #main .source-band-sidebar,#main .source-phase-list{border-left:0;border-top:1px solid var(--border)}
 #main .source-photo-copy-band>.visual-panel,#main .capabilities-with-rail>.visual-panel{min-height:clamp(280px,50vw,420px)}
 #main .source-foundation>.visual-panel,#main .source-search-worlds>.visual-panel{min-height:380px}
 #main .source-photo-split>.visual-panel{min-height:clamp(300px,50vw,440px)}
 #main .source-foundation .foundation-heading{padding:32px 24px}
 #main .positioning-layout>.visual-panel{width:100%;min-height:0;aspect-ratio:277/171}
 #main :is(.feature-grid,.feature-grid.four,.feature-grid.five,.service-card-grid,.service-steps,.service-pricing-grid,.services-pillars,.three-columns,.trust-grid,.contact-other){grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 #main .home-services .feature-grid .feature-card:last-child{grid-column:auto}
 #main .source-photo-cards{grid-template-columns:1fr;gap:30px}
 #main .source-photo-cards .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #main .source-open-grid>.service-card{border-right:0;border-bottom:1px solid var(--border)}
 #main .source-open-grid>.service-card:last-child{border-bottom:0}
 #main .source-photo-grid>.service-card{border:1px solid var(--border)}
 #main .source-photo-grid .card-photo{height:220px}
 #main .service-card{min-height:0}
 #main .service-card :is(p,li),#main .service-line p,#main .source-band-copy>p:not(.eyebrow),#main .source-split-intro p{font-size:16px;line-height:1.6}
 #main .service-card h3,#main .service-line h3{font-size:20px;line-height:1.3}
 #main .source-stage-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 #main .source-stage-flow:before,#main .source-stage:after,#main .service-step:after{display:none}
 #main .source-stage-flow .source-stage:last-child{grid-column:auto}
 #main .source-stage :is(p,h3){font-size:16px;line-height:1.5}
 #main .source-icon-columns{grid-template-columns:1fr}
 #main .inline-photo-features{grid-template-columns:repeat(3,minmax(0,1fr))}
 #main .source-process-band{grid-template-columns:1fr}
 #main .source-process-band .source-stage-flow{gap:26px}
 #main .source-process-band .stage-number{margin-bottom:14px}
 #main .service-pricing-grid{gap:36px 24px}
 #main .pricing-card{padding:28px 24px}
 #main .pricing-card p,#main .pricing-card li{font-size:16px;line-height:1.6}
 #main .capability-management-layout .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #main .capability-management-layout .service-card:last-child{grid-column:1/-1}
 #main .opportunity-columns>div:not(:first-child){border-left:0;padding-left:0}
 #main .source-testimonial-three .source-testimonial-quote{border:0;padding:0}
 #main :is(.source-testimonial-three,.source-testimonial-row) .service-heading{font-size:32px}
 #main :is(.quote-copy,.testimonial-slide) blockquote,#main .service-quote{font-size:22px;line-height:1.5}
 #main .testimonial-background{right:0;width:100%;opacity:.15}
 #main .photo-result-metrics{left:20px;right:20px;bottom:20px;display:block;padding:20px;background:#071117c9}
 #main .photo-result-metrics>p{font-size:12px;margin-bottom:16px}
 #main .photo-result-metrics .service-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 #main .photo-result-metrics .service-stats strong{font-size:28px}
 #main .source-results-split>.visual-panel{min-height:400px}
 #main .featured-quote .service-stats{gap:16px}
 #main .source-case-layout .case-metric-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}
 #main .source-photo-split .visual-panel.has-serif-caption{display:grid;min-height:0;overflow:visible}
 #main .source-photo-split .visual-panel.has-serif-caption>.panel-photo{position:static;width:100%;height:clamp(280px,55vw,460px)}
 #main .source-photo-split .visual-panel.has-serif-caption>.photo-caption{position:static;inset:auto;max-width:none;padding:28px 24px;font-size:28px}

 /* Separate the Comms quote from the portrait rather than squeezing its rail. */
 #main .hero-communications~section .source-word-rail{padding-left:20px}
 body[data-route='/services/strategic-communications/'] #main #section-1 .visual-panel{display:grid;min-height:0;overflow:visible}
 body[data-route='/services/strategic-communications/'] #main #section-1 .panel-photo{position:static;width:100%;height:clamp(280px,55vw,460px)}
 body[data-route='/services/strategic-communications/'] #main #section-1 .photo-caption{position:static;inset:auto;max-width:none;padding:28px 24px;font-size:28px}

 /* A detailed diagram stays readable inside its own horizontal scroll area. */
 .diagram-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--cyan) #17222a}
 #main .diagram-viewport .diagram-image{width:max(100%,900px);max-width:none;height:auto;max-height:none}
 #main .wheel-frame .capability-wheel{width:640px;max-width:none;height:auto;margin:0 auto}
 .diagram-hint{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px}
 .diagram-hint a{display:inline-flex;align-items:center;min-height:44px;color:var(--cyan);gap:6px}
 #main .desk-visual{display:grid;min-height:0}
 #main .desk-visual>.panel-photo{position:static;height:clamp(260px,45vw,400px)}
 #main .desk-diagram-labels{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:24px;font:15px/1.5 var(--body)}
 #main .desk-diagram-labels .desk-top{display:none}
 #main .desk-diagram-labels p{position:static;transform:none;margin:0;width:auto}
 #main .desk-diagram-labels .desk-box{padding:12px 8px;border:1px solid var(--cyan)}
 #main .desk-conclusion{grid-column:1/-1;font-size:15px}

 /* Photo overlays move into flow so their copy cannot be cropped. */
 #main .process-step,#main .process-step:nth-child(even){grid-template-columns:1fr;min-height:0;gap:0}
 #main .step-connector,#main .process-marker{display:none}
 #main .process-step .process-copy{order:0;padding:30px 24px;grid-template-columns:36px minmax(0,1fr);gap:18px}
 #main .process-step .process-visual{order:1;display:grid;min-height:0}
 #main .process-visual>img{position:static;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
 #main .process-step .outcome{position:static;inset:auto;width:auto;margin:20px 24px;padding:22px;display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px}
 #main .process-step .outcome .eyebrow{grid-column:1/-1;margin:0;font-size:12px}
 #main .process-step .outcome .icon{float:none;margin:0}
 #main .process-step .outcome ul{margin:0;font-size:14px;line-height:1.6}
 #main .process-step .photo-caption{display:none}
 #main .process-copy h3{font-size:21px;line-height:1.3}
 #main .process-copy h4{font-size:14px;line-height:1.5}
 #main .process-copy p{font-size:16px;line-height:1.6}
 #main .case-study,#main .case-study.reverse,#main .case-study.copy-photo{grid-template-columns:1fr;min-height:0}
 #main .case-copy{padding:32px 24px}
 #main .case-study>img{min-height:0;height:auto;aspect-ratio:16/10}
 #main .case-study.reverse>img{order:0}
 #main .case-stats{grid-column:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px}
 #main .case-stats>.eyebrow{grid-column:1/-1;margin:0}
 #main .case-stats>div{min-width:0}
 #main .case-small-stats{display:grid;grid-template-columns:1fr;gap:18px}
 #main .case-small-stats .metric-inline{margin:0;gap:14px}
 #main .filter-row{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;gap:12px;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--cyan) #17222a}
 #main .filter-row button{flex:0 0 auto;width:auto;min-height:48px;flex-direction:row;gap:10px;padding:10px 14px;font-size:14px;white-space:nowrap}
 #main .filter-row .icon{width:24px;height:24px}
 #main .comparison .service-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 #main .comparison ul{font-size:14px;line-height:1.55}
 #main .comparison h3{font-size:13px;grid-template-columns:1fr 26px 1fr}
 #main .connection-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 #main .connection-flow:before,#main .connection-flow:after,#main .connection-flow>div:after{display:none}
 #main .connection-flow>div{max-width:none;margin:0}
 #main .connection-flow p{font-size:14px;line-height:1.6}
 #main .quote-layout.with-portrait{grid-template-columns:minmax(0,1fr)!important;gap:24px}
 #main .quote-layout>.photo-caption{display:none}
 #main .quote-layout .quote-portrait{max-width:420px;width:100%;height:auto;aspect-ratio:4/3;margin-inline:auto;object-fit:cover}
 #main .quote-scenic .quote-portrait{position:absolute;max-width:none;width:100%;height:100%;aspect-ratio:auto;opacity:.35}
 #main .quote-scenic .quote-copy{width:100%;padding:36px 24px}
 #main .quote-scenic .quote-layout{width:100%}
 #main .venture-partner{grid-template-columns:1fr;gap:24px;padding:24px}
 #main .venture-partner>img{max-width:240px;height:260px;margin-inline:auto}
 #main .venture-partner blockquote{font-size:22px;line-height:1.5}
 #main .venture-partner>.photo-caption{display:none}
 #main .next-venture-panel{grid-template-columns:64px minmax(0,1fr);gap:22px;padding:24px}
 #main .next-venture-plus{width:64px;height:64px;font-size:30px}
 #main .next-venture-panel>.button-row{grid-column:1/-1}
 #main .next-venture-panel>.photo-caption{display:none}
 #main .next-venture-panel h2{font-size:30px}
 #main .contact-layout{padding-block:36px;gap:32px}
 #main .contact-copy{padding-top:0}
 #main .contact-copy>.scribble{display:none}
 #main .contact-form{padding:28px 24px}
 #main .contact-other>div:first-child{grid-column:1/-1}
 #main .contact-channel{min-height:0;padding:24px}
 #main .contact-channel .text-link{font-size:14px;margin-top:12px}
 #main .contact-channel p{font-size:16px}
 #main #what-happens-next{min-height:0;gap:0}
 #main .next-photo{min-height:0;display:grid}
 #main .next-photo>img{position:static;inset:auto;height:auto;aspect-ratio:16/10;object-fit:cover}
 #main .next-overlay{position:static;inset:auto;min-height:0;margin:24px;padding:24px;grid-template-columns:1fr}
 #main .next-overlay .overlay-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border:0;gap:18px}
 #main .overlay-capabilities>div{font-size:14px}
 #main .next-steps{gap:28px}
 #main .next-step{gap:18px}
 #main .coastal-cta{min-height:0}
 #main .coastal-cta>.container{display:block;padding:44px 0}
 #main .coastal-cta .cta-actions{margin-top:28px}
 #main .coastal-cta .button-row{flex-direction:row;align-items:stretch;justify-content:flex-start;gap:14px;margin:0}
 #main .coastal-cta .photo-caption{display:none}
 body[data-page] #main .coastal-cta .cta-copy h2{font-size:clamp(28px,4.7vw,40px);line-height:1.16}
 #main .coastal-cta .cta-copy p:not(.eyebrow){font-size:17px;line-height:1.6}

 .site-footer .footer-main,.site-footer.footer-main-link-columns .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .site-footer .footer-main>.footer-brand,.site-footer .footer-main>.newsletter{grid-column:1/-1}
 .site-footer .footer-main>div>a{font-size:14px;min-height:44px;display:flex;align-items:center;margin:0;padding-block:8px;line-height:1.5}
 .site-footer .footer-statement{display:none}
 .footer-compact .footer-main{display:block}
 .site-footer.footer-compact .footer-main{display:block}
 .site-footer.footer-compact nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;max-width:none;width:100%;gap:6px 20px;margin-top:24px;font-size:14px}
 .site-footer.footer-compact nav a{min-height:44px;display:flex;align-items:center;padding-block:8px;font-size:14px}
 .site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:20px;font-size:13px}
 .site-footer .footer-bottom>div{display:flex;flex-wrap:wrap;gap:4px 24px}
 .site-footer .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
 .site-footer .footer-brand>p,.site-footer .footer-copyright,.site-footer .newsletter p{font-size:14px;max-width:360px;line-height:1.6}
 .site-footer .footer-copyright{margin-top:20px}
 .footer-socials{gap:8px;margin-top:20px}
 .footer-socials a,.footer-socials button{display:grid;place-items:center;width:44px;height:44px}
 .footer-socials svg{width:20px;height:20px}
}

@media(max-width:600px){
 #main .container,.site-footer .container{width:calc(100% - 40px)}
 #main :is(.feature-grid,.feature-grid.four,.feature-grid.five,.service-card-grid,.service-steps,.service-pricing-grid,.services-pillars,.three-columns,.trust-grid,.contact-other,.founder-cards,.comparison-grid,.principles-grid){grid-template-columns:minmax(0,1fr)!important;gap:26px}
 #main .source-photo-cards .service-card-grid{grid-template-columns:1fr!important}
 #main :is(.inline-features,.inline-photo-features){grid-template-columns:1fr;gap:24px}
 #main .inline-features h3{font-size:19px}
 #main .inline-features p,#main .inline-photo-features p{font-size:16px;line-height:1.6}
 #main .inline-features>div:after{display:none}
 #main .source-stage-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 #main .source-icon-columns>div{grid-template-columns:32px minmax(0,1fr);gap:16px}
 #main .source-icon-columns .service-heading{font-size:28px}
 #main .service-steps .service-step{padding:24px}
 #main .pricing-card .badge{left:16px;right:auto}
 #main .source-case-layout .case-metric-sidebar{grid-template-columns:1fr}
 #main .photo-result-metrics{left:20px;right:20px;bottom:20px;padding:20px}
 #main .photo-result-metrics .service-stats{grid-template-columns:1fr;gap:16px}
 #main .photo-result-metrics .service-stats>div{border:0;padding:0;display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:center}
 #main .photo-result-metrics .service-stats strong{font-size:27px}
 #main .photo-result-metrics .service-stats p{font-size:14px}
 #main .source-results-split>.visual-panel{min-height:460px}
 #main .featured-quote .service-stats{grid-template-columns:1fr}
 #main .contact-values{grid-template-columns:1fr;gap:18px;margin-top:28px}
 #main .contact-values>div{display:flex;align-items:center;gap:18px;border:0;padding:0}
 #main .contact-values h3{font-size:17px;margin:0}
 #main .contact-values .icon{width:34px;height:34px}
 #main .next-overlay .overlay-capabilities{grid-template-columns:1fr}
 #main .contact-form{padding:26px 20px}
 #main .founder-card{grid-template-columns:1fr;min-height:0}
 #main .founder-card>img{height:auto;aspect-ratio:4/3;object-fit:cover}
 #main .founder-card>div{padding:24px}
 #main .founder-card :is(p,blockquote){font-size:16px;line-height:1.6}
 #main .about-who>.vertical-features{grid-template-columns:1fr;gap:0}
 #main .about-who>.vertical-features>div{display:flex;align-items:flex-start;padding-block:22px;gap:18px}
 #main .vertical-features.compact :is(h3,p){font-size:15px;line-height:1.55}
 #main .compact h3{margin-top:0}
 body[data-route] main .hero h1,body[data-route] .contact-copy h1{font-size:clamp(28px,7.4vw,42px);line-height:1.1}
 body[data-route='/'] main .hero-home h1{font-size:clamp(54px,15.5vw,76px);line-height:.98}
 .hero:not(.hero-home) .heading-break,.contact-copy .heading-break,.coastal-cta .heading-break{display:none}
 body[data-page] main .hero .hero-copy>p:not(.eyebrow){font-size:17px}
 body[data-page] #main .service-heading{font-size:clamp(28px,7.3vw,34px)}
 #main .source-photo-split .visual-panel .photo-caption{max-width:calc(100% - 48px)}
 #main .desk-diagram-labels{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px}
 #main .next-venture-panel{grid-template-columns:1fr}
 #main .next-venture-panel>.button-row{grid-column:auto}
 #main .coastal-cta .button-row{flex-direction:column;align-items:stretch}
 #main .coastal-cta .button{width:100%}
 .story-dialog{padding:58px 20px 28px;width:calc(100% - 24px);margin:12px auto}
}

@media(max-width:400px){
 #main #strategy-before-tools .photo-caption{left:auto;right:24px;max-width:calc(100% - 48px)}
 #main .source-stage-flow{grid-template-columns:1fr}
 #main .source-stage{text-align:left;padding:18px 0;border-bottom:1px solid var(--border)}
 #main .source-stage .stage-number{margin-left:0}
 #main .source-stage p{max-width:34ch}
 #main .venture-row{grid-template-columns:1fr}
 #main .stat-band{grid-template-columns:1fr;gap:22px}
 #main .stat-band>div{border:0;padding:0 20px;gap:16px}
 #main .stat-band strong{font-size:16px}
 #main .stat-band span:not(.icon){font-size:14px}
 #main .connection-flow{grid-template-columns:1fr}
 #main .case-stats{grid-template-columns:1fr}
 #main .hero-stats{gap:18px 14px}
 #main .hero-stats>div{border:0;padding:0!important;align-items:flex-start}
 .site-footer .footer-main:not(.footer-main-link-columns){gap:26px 16px}
}
/* Keep both founders' faces inside the complete studio photograph on narrow screens. */
@media (max-width:1100px) {
 body[data-page="about"] #main #who-we-are .editorial-photo { height:auto; aspect-ratio:1; object-fit:contain; }
}

/* Keep the photo, copy, slogan and panels independent at every viewport width. */
.home-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #080d10;
}
.home-hero-background {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  -webkit-mask-image: linear-gradient(transparent, #000 7%, #000 75%, transparent);
  mask-image: linear-gradient(transparent, #000 7%, #000 75%, transparent);
}
.home-hero-shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #080d100a 0%, #080d1026 10%, #080d1075 23%, #080d1070 37%, #080d1010 60%, #080d1005 100%);
}
.home-hero .home-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  align-items: center;
  column-gap: clamp(36px, 4.5vw, 72px);
  row-gap: 40px;
  width: min(1280px, 89%);
  margin-inline: auto;
  padding-block: 64px 42px;
}
.home-hero-copy,
.home-hero-art {
  min-width: 0;
}
.home-hero-copy > .eyebrow {
  margin: 0 0 22px;
  font-size: 12px;
  letter-spacing: .15em;
  color: #d3dde1;
}
.home-hero h1 {
  margin: 0 0 26px;
  font-family: var(--display);
  font-size: clamp(78px, 7.5vw, 108px);
  font-weight: 800;
  line-height: .97;
  letter-spacing: -.035em;
  color: #f4f4f0;
}
.home-hero h1 > span {
  display: block;
}
.home-hero .home-hero-description {
  max-width: 430px;
  margin: 0 0 28px;
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.55;
  color: #c3cbd0;
}
.home-hero-copy > .button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}
.home-hero-copy .button {
  padding: 14px 17px;
  font-size: 12px;
}
.home-hero-art {
  display: grid;
  grid-template-rows: auto auto;
  gap: 28px;
  align-self: center;
}
.home-hero-slogan {
  justify-self: end;
  width: fit-content;
  max-width: 100%;
  margin: 24px 14px 28px 0;
  padding: 0;
  font-style: normal;
  font-size: clamp(20px, 1.8vw, 26px);
  line-height: 1.35;
  color: #f2f2ee;
  text-align: right;
  text-shadow: 0 2px 12px #080d10;
}
.home-hero-slogan::after { margin-left: auto; }
.home-hero-slogan > span {
  display: block;
}
.home-hero-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.home-hero-panel {
  min-width: 0;
  min-height: 188px;
  padding: 19px 18px;
  border: 1px solid #9ab8c14f;
  border-radius: 5px;
  background: linear-gradient(135deg, #10212bb3, #091219bf);
  box-shadow: inset 0 1px 0 #e3f9ff0a, 0 8px 28px #00000016;
}
.home-hero-panel > h2 {
  margin: 0 0 18px;
  font: 500 13px/1.35 var(--body);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #e0e9ed;
}
.home-brand-diagram {
  display: block;
  width: min(100%, 248px);
  height: 134px;
  margin: -5px auto 0;
  color: #52bbd2;
}
.home-brand-summary {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.home-panel-body {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.6vw, 24px);
  min-height: 112px;
}
.home-panel-icon {
  display: block;
  width: 48px;
  height: 55px;
  flex: 0 0 48px;
  color: #60bfd3;
}
.home-bars {
  color: #8aaaba;
}
.home-growth {
  width: 66px;
  height: 60px;
  flex-basis: 66px;
}
.home-panel-points {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #d3dde2;
  font-size: 13px;
  line-height: 1.4;
}
.home-panel-points li {
  overflow-wrap: anywhere;
}
.home-hero-stats {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding-top: 24px;
  border-top: 1px solid #82949e26;
}
.home-hero-stats > div {
  min-width: 0;
}
.home-hero-stats dt {
  margin-bottom: 5px;
  color: #f4f4f0;
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: 700;
  line-height: 1.2;
}
.home-hero-stats dd {
  margin: 0;
  color: #b8c3c9;
  font-size: 12px;
  line-height: 1.5;
}
@media (max-width: 1100px) {
  .home-hero .home-hero-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    width: calc(100% - 48px);
    padding-block: 48px 40px;
  }
  .home-hero-background {
    bottom: auto;
    height: 740px;
    object-position: 62% center;
    opacity: .7;
  }
  .home-hero-shade {
    background: linear-gradient(90deg, #080d1080, #080d1026), linear-gradient(transparent 300px, #080d10 740px);
  }
  .home-hero h1 {
    font-size: clamp(64px, 10.5vw, 96px);
  }
  .home-hero-copy {
    max-width: 600px;
  }
  .home-hero .home-hero-description {
    max-width: 510px;
    font-size: 18px;
  }
  .home-hero-art {
    grid-row: 3;
    width: min(680px, 100%);
    justify-self: end;
    gap: 24px;
  }
  .home-hero-stats {
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
  }
  .home-hero-slogan {
    font-size: 24px;
  }
}
@media (max-width: 600px) {
  .home-hero .home-hero-layout {
    width: calc(100% - 40px);
    padding-block: 36px 32px;
  }
  .home-hero h1 {
    font-size: clamp(54px, 15.5vw, 80px);
  }
  .home-hero-copy > .eyebrow {
    font-size: 10px;
    letter-spacing: .11em;
    margin-bottom: 20px;
  }
  .home-hero .home-hero-description {
    font-size: 16px;
  }
  .home-hero-copy .button {
    min-height: 46px;
    padding: 12px 15px;
  }
  .home-hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 18px;
  }
  .home-hero-stats dt {
    font-size: 26px;
  }
  .home-hero-slogan {
    font-size: clamp(19px, 5vw, 24px);
    text-align: right;
  }
  .home-hero-panels {
    gap: 12px;
  }
  .home-hero-panel {
    min-height: 182px;
    padding: 16px 12px;
  }
  .home-hero-panel > h2 {
    font-size: 11px;
    letter-spacing: .045em;
    min-height: 30px;
    margin-bottom: 12px;
  }
  .home-panel-body {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    min-height: 0;
  }
  .home-panel-icon,
  .home-growth {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
  }
  .home-panel-points {
    font-size: 13px;
    gap: 6px;
  }
  .home-brand-diagram {
    display: none;
  }
  .home-brand-summary {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip-path: none;
    white-space: normal;
    font-size: 14px;
    line-height: 1.65;
    color: #d3dde2;
  }
}

/* Keep all five About proof points aligned as the capability and venture figures grow. */
body[data-page="about"] #main #proof-strip .stat-band { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) {
  body[data-page="about"] #main #proof-strip .stat-band { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 0; }
  body[data-page="about"] #main #proof-strip .stat-band > div { border: 0; }
}
@media (max-width: 600px) {
  body[data-page="about"] #main #proof-strip .stat-band { grid-template-columns: minmax(0, 1fr); }
}

/* Both text lines share a column; letter spacing fills COLLECTIVE to its width. */
.brand-logo .brand-name {
  display: inline-grid;
  grid-template-columns: max-content;
}
.brand-logo .brand-name-main {
  letter-spacing: .16em;
  margin-inline-end: -.16em;
}
.brand-logo .brand-name-sub {
  display: flex;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  letter-spacing: 0;
  text-transform: uppercase;
}
.brand-name-sub > span { display: block; }

/* Subdue the ocean independently of the foreground diagram and copy. */
.home-solutions {
  position: relative;
  isolation: isolate;
  background-color: #080d10;
  background-image:
    linear-gradient(180deg, #080d1059, #080d1026 55%, #080d1008),
    url('/assets/images/home-solutions-ocean-hd.webp');
  background-position: center, center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}
.home-solutions::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgb(4 9 13 / 60%);
  pointer-events: none;
}
.home-solutions .home-intersection {
  position: relative;
  z-index: 1;
  padding-bottom: 88px;
}
@media (max-width: 1100px) {
  .home-solutions {
    background-image:
      linear-gradient(180deg, #080d10 0%, #080d10 12%, #080d1080 48%, #080d1000 84%),
      url('/assets/images/home-solutions-ocean-hd.webp');
    background-size: 100% 100%, auto 720px;
  }
  .home-solutions .home-intersection { padding-bottom: 72px; }
}
@media (max-width: 600px) {
  .home-solutions { background-size: 100% 100%, auto 640px; }
}

/* A faint outcrop sits behind the work cards, anchored to the right edge. */
.home-selected-work {
  background-color: #080d10;
  background-image:
    linear-gradient(90deg, #080d10f0, #080d10db 45%, #080d10b8),
    url('/assets/images/mountain-dark-hd.webp');
  background-position: center, right center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* A separate foreground cliff gives testimonials their own subdued texture. */
.home-partners {
  background-color: #080d10;
  background-image:
    linear-gradient(90deg, #080d10f2, #080d10e6 48%, #080d10d9),
    url('/assets/images/fractional-cio-testimonial-mountain-clean-hd.webp');
  background-position: center, right bottom;
  background-size: cover;
  background-repeat: no-repeat;
}

/* A third rocky scene brings a different left-hand silhouette to Ventures. */
.home-ventures {
  background-color: #080d10;
  background-image:
    linear-gradient(90deg, #080d10d6, #080d10e6 50%, #080d10f0),
    url('/assets/images/digital-marketing-journey-mountains-clean-hd.webp');
  background-position: center, left bottom;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Four venture cards rotate together; smaller screens use fewer cards. */
:is(#home-ventures, #services-ventures) .venture-row { grid-template-columns: minmax(0, 1.4fr) minmax(0, 4fr); align-items: start; }
:is(#home-ventures, #services-ventures) .venture-intro { grid-column: auto; }
.venture-rotation { --visible-ventures: 4; --venture-gap: 18px; min-width: 0; }
.venture-viewport { overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--muted) transparent; }
.venture-rotation.is-ready .venture-viewport { overflow: hidden; }
.venture-cards { display: flex; gap: var(--venture-gap); }
.venture-cards > .venture-mini {
  flex: 0 0 calc((100% - (var(--visible-ventures) - 1) * var(--venture-gap)) / var(--visible-ventures));
  min-width: 0;
  min-height: 245px;
}
.venture-cards > .venture-mini[hidden], .venture-controls[hidden] { display: none; }
.venture-cards .venture-name { font-size: clamp(18px, 1.6vw, 25px); overflow-wrap: anywhere; }
.venture-cards .venture-mini-long-name .venture-name { font-size: clamp(16px, 1.3vw, 20px); }
.venture-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.venture-position { color: var(--muted); font-size: 12px; min-width: 52px; text-align: center; }
.venture-pause { background: transparent; border: 1px solid var(--border); color: var(--muted); min-height: 44px; padding: 9px 13px; font-size: 12px; }
.venture-pause:hover, .venture-pause:focus-visible { color: var(--cyan); border-color: var(--cyan); }
@media (max-width: 1100px) {
  :is(#home-ventures, #services-ventures) .venture-row { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .venture-rotation { --visible-ventures: 2; }
  .venture-cards .venture-name { font-size: 25px; }
  .venture-cards .venture-mini-long-name .venture-name { font-size: 22px; }
}
@media (max-width: 600px) {
  .venture-rotation { --visible-ventures: 1; }
  .venture-cards > .venture-mini { min-height: 220px; }
  .venture-controls { justify-content: center; }
}

/* Complete brand icons retain their original viewboxes and clear padding. */
.site-footer .footer-socials { gap: 8px; margin-top: 0; }
.site-footer .footer-socials a { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; }
.site-footer .footer-social-icon { display: block; width: 24px; height: 24px; overflow: visible; }
.site-footer .footer-socials a:hover { color: var(--cyan); }
.site-footer.footer-compact .footer-main { flex-wrap: wrap; }
.footer-compact-statement .footer-main, .footer-compact-statement-full .footer-main { grid-template-columns: minmax(180px, 1fr) minmax(0, 3fr) auto; }
.footer-bottom > .footer-legal-links { align-items: center; flex-wrap: wrap; }
@media (max-width: 1100px) {
  .site-footer .footer-main > .footer-socials { margin-top: 20px; }
}

/* Transparent client marks in one evenly spaced row. */
.client-logo-strip {
  --visible-logos: 5;
  --logo-gap: 36px;
  margin-top: 40px;
}
.client-logo-viewport {
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--muted) transparent;
}
.client-logo-strip.is-ready .client-logo-viewport { overflow: hidden; }
.contact-client-logos {
  display: flex;
  align-items: center;
  gap: var(--logo-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.contact-client-mark {
  display: grid;
  place-items: center;
  flex: 0 0 calc((100% - (var(--visible-logos) - 1) * var(--logo-gap)) / var(--visible-logos));
  min-width: 0;
  height: 120px;
  padding: 12px 0;
  background: transparent;
  border: 0;
}
.contact-client-mark[hidden], .client-logo-controls[hidden] { display: none; }
.contact-client-mark > img {
  display: block;
  width: 100%;
  height: 88px;
  object-fit: contain;
  /* Lift dark marks while preserving their original light-to-dark tone order. */
  filter: grayscale(1) contrast(.4) brightness(1.35);
}
.client-logo-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}
.client-logo-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
}
.client-logo-controls button:hover,
.client-logo-controls button:focus-visible { color: var(--cyan); }
.client-logo-controls svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* A compact six-logo variation sits beneath the homepage testimonials. */
.client-logo-strip-compact {
  --visible-logos: 6;
  --logo-gap: 40px;
  position: relative;
}
.client-logo-strip.client-logo-strip-compact { margin-top: 0; }
.client-logo-strip-compact .contact-client-mark { height: 72px; padding: 8px 0; }
.client-logo-strip-compact .contact-client-mark > img { height: 52px; }
.client-logo-strip-compact .client-logo-controls {
  position: absolute;
  top: -40px;
  right: 0;
  margin-top: 0;
  gap: 2px;
}
.client-logo-strip-compact [data-logo-pause-label] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Full-width editorial hero photography fades beneath the wider headings. */
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero { background-color: #080d10; }
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-visual { inset: 0; width: 100%; height: 100%; }
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-visual .hero-photo { width: 100%; height: 100%; object-fit: cover; object-position: 65% 50%; opacity: 1; }
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-shade {
  background:
    linear-gradient(0deg, #080d10 0%, #080d1000 24%),
    linear-gradient(90deg, #080d10f2 0%, #080d10e6 20%, #080d1099 43%, #080d1033 65%, #080d1000 82%);
}
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-copy { max-width: min(64%, 780px); }
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-copy h1 { font-size: clamp(42px, 3.8vw, 66px); line-height: 1.1; margin-bottom: 26px; }
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-copy > p:not(.eyebrow) { max-width: 620px; line-height: 1.55; }
body[data-page="about"] #our-home { background-position: center, 55% 50%; }
body[data-page="about"] #closing-cta .cta-photo { object-position: 50% 50%; }
body[data-page="about"] #capabilities {
  background-color: #080d10;
  background-image:
    linear-gradient(90deg, #080d10f2, #080d10ed 45%, #080d10e8),
    url('/assets/images/mountain-dark-hd.webp');
  background-position: center, right center;
  background-size: cover;
  background-repeat: no-repeat;
}
/* Let the reflective-person photograph span the full section and fade away at the right. */
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="contact"]) #testimonial { background: #080d10; border-bottom: 0; }
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="contact"]) #testimonial .quote-portrait { inset: 0; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 50% 50%; opacity: 1; }
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="contact"]) #testimonial::after {
  background:
    linear-gradient(0deg, #080d10, #080d1000 20%, #080d1000 85%, #080d10),
    linear-gradient(90deg, #080d10ed 0%, #080d10cc 25%, #080d1073 52%, #080d10a6 70%, #080d10 100%);
}
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="contact"]) #testimonial .quote-copy { width: 60%; max-width: 850px; }
body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="contact"]) #testimonial .photo-caption { display: none; }
/* Align the full-width partner treatments with each page's shared content gutters. */
/* Anchor the background to the padded section so the added space stays within the photograph. */
#main .quote-section.quote-from-partners { position: relative; padding-top: clamp(56px, 5vw, 80px); }
#main .quote-section.quote-from-partners > .quote-layout { position: static; }
#main .quote-section.quote-from-partners .quote-portrait { position: absolute; top: 0; height: 100%; min-height: 0; max-height: none; max-width: none; margin: 0; aspect-ratio: auto; object-fit: cover; }
body:is([data-page="about"],[data-page="approach"],[data-page="contact"]) #main #testimonial .quote-layout { position: static; width: min(1280px, calc(100% - var(--layout-gutter, 45px) * 2)); }
body:is([data-page="about"],[data-page="approach"],[data-page="contact"]) #main #testimonial .quote-copy { padding-inline: 0; }
@media (max-width: 1100px) {
  body:is([data-page="about"],[data-page="approach"],[data-page="contact"]) #main #testimonial .quote-layout { width: calc(100% - 48px); }
}
@media (max-width: 600px) {
  body:is([data-page="about"],[data-page="approach"],[data-page="contact"]) #main #testimonial .quote-layout { width: calc(100% - 40px); }
}
.testimonial-viewport { display: grid; }
.testimonial-viewport > .testimonial-slide { grid-area: 1 / 1; min-width: 0; align-self: start; }
.testimonial-viewport > .testimonial-slide[hidden] { display: block; visibility: hidden; pointer-events: none; }
.quote-copy .carousel-controls { align-items: center; flex-wrap: wrap; }
.testimonial-position { font-size: 12px; color: var(--muted); }
@media (max-width: 1100px) {
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-copy { max-width: 720px; }
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-copy h1 { font-size: clamp(34px, 4.8vw, 50px); }
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-shade { background: linear-gradient(90deg, #080d10ed, #080d10b8 65%, #080d1066), linear-gradient(0deg, #080d10, #080d1000 45%); }
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="contact"]) #main #testimonial .quote-copy { width: 100%; }
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="contact"]) #main #testimonial .quote-portrait { opacity: 1; }
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="contact"]) #testimonial::after { background: linear-gradient(90deg, #080d10ed, #080d10d9 55%, #080d10); }
}
@media (max-width: 600px) {
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-copy { max-width: 100%; }
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-copy h1 { font-size: clamp(30px, 7.8vw, 40px); line-height: 1.16; }
  body:is([data-page="about"],[data-page="approach"],[data-page="work"],[data-page="ventures"]) #main .hero-visual .hero-photo { object-position: 68% 50%; }
  body[data-page="about"] #our-home { background-position: center, 58% 50%; }
  body[data-page="about"] #closing-cta .cta-photo { object-position: 50% 50%; }
}

/* Keep the expanded Work devices and Ventures figure beside the copy. */
body:is([data-page="work"],[data-page="ventures"]) #main .hero-copy { max-width: min(54%, 700px); }
body:is([data-page="work"],[data-page="ventures"]) #main .hero-copy > p:not(.eyebrow) { max-width: 520px; }
body[data-page="work"] #main .hero-note { top: 26px; right: calc((100vw - 100%) / -2 + clamp(24px, 2vw, 48px)); bottom: auto; width: max-content; max-width: 136px; margin: 0; font-size: clamp(16px, 1.35vw, 21px); line-height: 1.12; transform: rotate(-8deg); transform-origin: top right; }
@media (max-width: 1100px) {
  body:is([data-page="work"],[data-page="ventures"]) #main .hero-copy { max-width: 720px; }
}
@media (max-width: 600px) {
  body:is([data-page="work"],[data-page="ventures"]) #main .hero-copy { max-width: 100%; }
}

/* Ventures reference: an introduction beside two framed partner panels. */
body[data-page="ventures"] #main #venture-lab {
  background: linear-gradient(90deg, #080d10c9, #080d10ed 44%, #080d10f5), url('/assets/images/digital-marketing-journey-mountains-clean-hd.webp') left bottom / cover no-repeat;
}
body[data-page="ventures"] #main #venture-lab .service-editorial { grid-template-columns: minmax(0, 43fr) minmax(0, 57fr); gap: 44px; align-items: start; }
body[data-page="ventures"] #main #venture-lab .venture-lab-intro { padding-top: 14px; }
body[data-page="ventures"] #main #venture-lab h2 { font: 400 clamp(32px, 3.3vw, 46px)/1.12 Georgia, 'Times New Roman', serif; margin-bottom: 18px; }
body[data-page="ventures"] #main #venture-lab .venture-lab-intro > p:not(.eyebrow) { max-width: 480px; font-size: 16px; line-height: 1.65; }
body[data-page="ventures"] #main #venture-lab .venture-lab-intro .button-row { margin-top: 24px; }
body[data-page="ventures"] #main #venture-lab .inline-features { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; padding: 26px 16px; border: 1px solid var(--border); border-radius: 3px; background: #080d1033; }
body[data-page="ventures"] #main #venture-lab .inline-features > div { min-width: 0; padding-inline: 22px; }
body[data-page="ventures"] #main #venture-lab .inline-features > div + div { border-left: 1px solid var(--border); }
body[data-page="ventures"] #main #venture-lab .inline-features .icon { width: 54px; height: 54px; }
body[data-page="ventures"] #main #venture-lab .inline-features h3 { margin: 12px 0 5px; font-size: 17px; }
body[data-page="ventures"] #main #venture-lab .inline-features p { font-size: 14px; line-height: 1.6; margin: 0; }
body[data-page="ventures"] #main #venture-lab .venture-partner { position: relative; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, .5fr); gap: 12px; margin-top: 8px; padding: 0 24px; border: 1px solid var(--border); border-radius: 3px; background: #080d1033; overflow: hidden; }
body[data-page="ventures"] #main #venture-lab .venture-partner-copy { min-width: 0; padding-block: 26px; }
body[data-page="ventures"] #main #venture-lab .venture-quote-mark { display: block; margin-bottom: 4px; color: var(--cyan); font: 700 52px/.7 Georgia, serif; }
body[data-page="ventures"] #main #venture-lab .venture-partner blockquote { margin: 0; font-size: 17px; font-style: italic; line-height: 1.6; }
body[data-page="ventures"] #main #venture-lab .quote-name { margin: 22px 0 4px; font-size: 13px; }
body[data-page="ventures"] #main #venture-lab .quote-role { margin: 0; font-size: 12px; line-height: 1.5; }
body[data-page="ventures"] #main #venture-lab .venture-partner > img { align-self: end; width: 100%; max-width: none; height: 285px; margin: 0; object-position: 50% 0%; mask-image: none; }
body[data-page="ventures"] #main #venture-lab .venture-partner > .photo-caption { position: static; display: block; width: auto; max-width: none; margin: 0; padding: 0; font-size: 22px; line-height: 1.3; }

/* Every venture uses the same photograph, heading and content card layout. */
body[data-page="ventures"] #main #portfolio .feature-card { display: flex; flex-direction: column; min-width: 0; scroll-margin-top: 100px; }
body[data-page="ventures"] #main #portfolio .feature-card > .card-photo { flex: 0 0 220px; height: 220px; width: 100%; object-fit: cover; }
body[data-page="ventures"] #main #portfolio .venture-card-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
body[data-page="ventures"] #main #portfolio .venture-card-copy h3 { font-size: 25px; overflow-wrap: anywhere; }
body[data-page="ventures"] #main #portfolio .venture-card-copy .text-link { margin-top: auto; padding-top: 16px; }

/* Real Impact keeps its copy above four icon-and-value columns. */
body[data-page="ventures"] #main #impact { background: linear-gradient(#080d10f5, #080d10f0 65%, #080d10de), url('/assets/images/mountain-dark-hd.webp') center bottom / cover no-repeat; }
body[data-page="ventures"] #main #impact .section-intro { display: grid; grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); gap: 60px; margin-bottom: 34px; }
body[data-page="ventures"] #main #impact h2 { font: 400 clamp(30px, 2.9vw, 44px)/1.12 Georgia, 'Times New Roman', serif; margin-bottom: 0; }
body[data-page="ventures"] #main #impact .intro-aside { align-self: start; padding: 30px 0 0; border: 0; font-size: 16px; line-height: 1.6; }
body[data-page="ventures"] #main #impact .intro-aside::after { content: none; }
body[data-page="ventures"] #main #impact .stat-band { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 16px 0 0; border: 0; }
body[data-page="ventures"] #main #impact .stat-band > div { align-items: flex-start; gap: 22px; padding: 0 28px; border: 0; }
body[data-page="ventures"] #main #impact .stat-band > div:first-child { padding-left: 0; }
body[data-page="ventures"] #main #impact .stat-band > div + div { border-left: 1px solid var(--border); }
body[data-page="ventures"] #main #impact .stat-band .icon { flex-shrink: 0; width: 54px; height: 54px; }
body[data-page="ventures"] #main #impact .stat-band strong { font-size: 28px; line-height: 1.3; margin-bottom: 8px; }
body[data-page="ventures"] #main #impact .stat-band > div:last-child strong { font-size: 22px; }
body[data-page="ventures"] #main #impact .stat-band span:not(.icon) { font-size: 15px; line-height: 1.6; }
@media (max-width: 1300px) {
  body[data-page="ventures"] #main #venture-lab .service-editorial { gap: 30px; }
  body[data-page="ventures"] #main #venture-lab .inline-features > div { padding-inline: 16px; }
  body[data-page="ventures"] #main #venture-lab .venture-partner > .photo-caption { font-size: 18px; }
  body[data-page="ventures"] #main #impact .stat-band > div { gap: 16px; padding-inline: 20px; }
  body[data-page="ventures"] #main #impact .stat-band .icon { width: 46px; height: 46px; }
  body[data-page="ventures"] #main #impact .stat-band strong { font-size: 25px; }
}
@media (max-width: 1100px) {
  body[data-page="ventures"] #main #venture-lab .venture-lab-intro > p:not(.eyebrow) { max-width: 720px; }
  body[data-page="ventures"] #main #venture-lab .venture-partner { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, .5fr); }
  body[data-page="ventures"] #main #venture-lab .venture-partner > .photo-caption { display: block; }
  body[data-page="ventures"] #main #impact .stat-band { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 0; }
  body[data-page="ventures"] #main #impact .stat-band > div { padding-inline: 24px; }
  body[data-page="ventures"] #main #impact .stat-band > div:nth-child(odd) { border-left: 0; padding-left: 0; }
}
@media (max-width: 700px) {
  body[data-page="ventures"] #main #venture-lab h2 { font-size: clamp(30px, 6vw, 38px); }
  body[data-page="ventures"] #main #venture-lab .inline-features { grid-template-columns: minmax(0, 1fr); padding: 8px 24px; }
  body[data-page="ventures"] #main #venture-lab .inline-features > div { padding: 22px 0; }
  body[data-page="ventures"] #main #venture-lab .inline-features > div + div { border-left: 0; border-top: 1px solid var(--border); }
  body[data-page="ventures"] #main #venture-lab .venture-partner { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 12px; padding-inline: 22px; }
  body[data-page="ventures"] #main #venture-lab .venture-partner > .photo-caption { display: none; }
  body[data-page="ventures"] #main #impact .section-intro { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body[data-page="ventures"] #main #impact .intro-aside { padding: 0; }
  body[data-page="ventures"] #main #impact .stat-band > div { gap: 14px; padding-inline: 16px; }
  body[data-page="ventures"] #main #impact .stat-band .icon { width: 40px; height: 40px; }
  body[data-page="ventures"] #main #impact .stat-band strong { font-size: 24px; }
  body[data-page="ventures"] #main #impact .stat-band > div:last-child strong { font-size: 20px; }
  body[data-page="ventures"] #main #impact .stat-band span:not(.icon) { font-size: 14px; }
}
@media (max-width: 480px) {
  body[data-page="ventures"] #main #venture-lab .venture-partner { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body[data-page="ventures"] #main #venture-lab .venture-partner > img { max-width: 260px; height: 290px; margin-inline: auto; }
  body[data-page="ventures"] #main #impact .stat-band { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body[data-page="ventures"] #main #impact .stat-band > div + div { border-left: 0; }
  body[data-page="ventures"] #main #impact .stat-band > div { padding: 0; }
}

/* Approach reference: drafting details flank the philosophy heading. */
body[data-page="approach"] #main #philosophy .philosophy { position: relative; margin-bottom: 34px; }
body[data-page="approach"] #main #philosophy .philosophy-intro { max-width: min(62%, 760px); margin-inline: auto; }
body[data-page="approach"] #main #philosophy .philosophy-intro > p:not(.eyebrow) { color: var(--muted); }
body[data-page="approach"] #main #philosophy .philosophy-drafting { position: absolute; top: 15px; width: 18%; height: 160px; color: #8998a2; opacity: .24; }
body[data-page="approach"] #main #philosophy .drafting-left { left: 0; }
body[data-page="approach"] #main #philosophy .drafting-right { right: 0; transform: scaleX(-1); }
body[data-page="approach"] #main #philosophy .comparison h3 { grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr); gap: 10px; }
body[data-page="approach"] #main #philosophy .comparison-label { font: inherit; text-align: center; }
body[data-page="approach"] #main #philosophy .comparison-vs { width: 48px; height: 48px; font-size: 16px; border-color: #39bce5a6; background: #080d10; box-shadow: 0 0 12px #2cbce514; }
body[data-page="approach"] #main #philosophy .service-two { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
body[data-page="approach"] #main #philosophy .service-two::before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 50%; border-left: 1px dashed #60717a66; }
body[data-page="approach"] #main #philosophy .comparison p { text-align: center; }

/* Five capabilities share a feed rail and a measurement feedback loop. */
body[data-page="approach"] #main #integration .integration-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr); gap: 48px; align-items: center; }
.integration-intro > p:not(.eyebrow) { color: var(--muted); }
.integration-scroll { max-width: 100%; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #3c5c6a #0c141a; }
.integration-scroll:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.integration-diagram { --integration-mark-size: clamp(72px, 7vw, 100px); position: relative; min-width: 660px; padding: 52px 0 110px; }
.integration-nodes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); text-align: center; }
.integration-node { position: relative; min-width: 0; }
.integration-mark { position: relative; width: var(--integration-mark-size); aspect-ratio: 120 / 140; margin: 0 auto 17px; }
.integration-hexagon { display: block; width: 100%; height: 100%; stroke: #46515a; stroke-width: 1; }
.integration-mark > .icon { position: absolute; left: 21%; top: 25%; width: 58%; height: 50%; }
.integration-node h3 { font-size: 12px; letter-spacing: .03em; color: inherit; margin-bottom: 8px; }
.integration-node > p { max-width: 140px; padding-inline: 5px; margin: 0 auto; color: var(--muted); font-size: 11px; line-height: 1.5; }
.integration-rail { position: absolute; left: 0; width: 100%; fill: none; stroke: #64727b; stroke-width: 1; opacity: .7; pointer-events: none; }
.integration-rail path { vector-effect: non-scaling-stroke; }
.integration-rail .dashed { stroke-dasharray: 2 4; }
.integration-rail-top { top: 0; height: 52px; }
.integration-rail-middle { top: calc(52px + var(--integration-mark-size) * .58333 - 16px); height: 32px; }
.integration-rail-bottom { bottom: 0; height: 90px; }
.integration-measurement { position: absolute; left: 25%; right: 25%; bottom: 0; min-height: 80px; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 14px; background: #0d151a; border: 1px solid var(--border); }
.integration-measurement > .icon { width: 36px; height: 36px; flex-shrink: 0; }
.integration-measurement h3 { font-size: 12px; letter-spacing: .04em; margin: 0; }
.integration-measurement p { color: var(--muted); font-size: 11px; line-height: 1.5; margin: 5px 0 0; }
.integration-hint { display: none; }

/* The glass-board scene is a section background, fading beneath the copy. */
body[data-page="approach"] #main #decisions.clarity-background-section { position: relative; display: block; isolation: isolate; overflow: hidden; background: #080d10; min-height: 350px; border-block: 1px solid var(--border); }
.clarity-background { position: absolute; inset: 0; z-index: -2; background-size: auto 100%, auto 100%; background-position: right center, left center; background-repeat: no-repeat; }
.clarity-background::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #080d102e, #080d1040 27%, #080d10d9 41%, #080d10 49%, #080d10 76%, #080d108c 87%, #080d1040); }
body[data-page="approach"] #main #decisions .glass-board-labels { inset: 0 auto 0 0; width: auto; height: 100%; aspect-ratio: 1817 / 866; container-type: inline-size; }
body[data-page="approach"] #main #decisions .glass-statement { left: 33%; top: 20%; margin: 0; font-size: clamp(13px, 2.7cqw, 22px); line-height: 1.5; }
body[data-page="approach"] #main #decisions .glass-board-labels ul { left: 57%; top: 15%; display: grid; grid-template-rows: repeat(5, 1fr); height: 47%; margin: 0; font-size: clamp(10px, 2.05cqw, 17px); line-height: 1.4; }
body[data-page="approach"] #main #decisions .glass-board-labels li { margin: 0; }
body[data-page="approach"] #main #decisions .glass-solution { left: 55.5%; top: 64%; bottom: auto; margin: 0; font-size: clamp(13px, 2.7cqw, 22px); }
.clarity-content { position: relative; z-index: 1; padding-block: 42px; }
.clarity-copy { margin-left: 44%; }
body[data-page="approach"] #main #decisions h2 { max-width: 760px; font-size: clamp(25px, 2.3vw, 34px); line-height: 1.35; }
.clarity-details { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.clarity-details .check-list { font-size: 13px; line-height: 1.6; margin: 0; }
.clarity-details .check-list li { margin-block: 14px; }
.clarity-pullquote { align-self: center; margin: 0; padding: 22px 24px; border: 1px solid #3e8aa26b; border-radius: 3px; background: #080d10a6; }
.clarity-quote-mark { display: block; color: var(--cyan); font: 700 58px/.7 Georgia, serif; margin-bottom: 10px; }
.clarity-pullquote p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }

/* Stretch every photograph to the row edges instead of centering a short panel. */
body[data-page="process"] #main .process-step { align-items: stretch; }
body[data-page="process"] #main .process-step .process-visual { align-self: stretch; height: auto; }
body[data-page="process"] #main .process-step .process-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-fit: cover; }
body[data-page="process"] #main .process-step .outcome { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
body[data-page="process"] #main .process-step .outcome > .icon { float: none; margin: 0; }
body[data-page="process"] #main .process-step .outcome-title { margin: 0; color: var(--cyan); font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; }
body[data-page="process"] #main .process-step .outcome ul { margin: 0; padding-left: 15px; list-style: disc; }
body[data-page="process"] #main .process-step .outcome li { margin-block: 4px; }
body[data-page="process"] #main .process-step .outcome li::before { content: none; }
body[data-page="process"] #main .process-step .outcome li::marker { color: var(--cyan); }
@media (max-width: 1100px) {
  body[data-page="approach"] #main #integration .integration-layout { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .integration-intro { max-width: 750px; }
  .clarity-copy { margin-left: 38%; }
  body[data-page="approach"] #main #decisions .glass-board-labels { display: none; }
  .clarity-details { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .clarity-pullquote { max-width: 450px; }
  .clarity-background::after { background: linear-gradient(90deg, #080d1073, #080d10c9 30%, #080d10f2 40%, #080d10 70%, #080d10cc 82%, #080d1059); }
  body[data-page="process"] #main .process-step .process-visual { display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(320px, 56vw, 480px); }
  body[data-page="process"] #main .process-step .outcome { position: relative; inset: auto; width: min(65%, 320px); margin: 24px; align-self: flex-end; background: #080d10e8; }
  body[data-page="process"] #main .process-step.photo-left .outcome { align-self: flex-start; }
}
@media (max-width: 900px) {
  body[data-page="approach"] #main #philosophy .philosophy-intro { max-width: 100%; }
  body[data-page="approach"] #main #philosophy .philosophy-drafting { display: none; }
}
@media (max-width: 760px) {
  .integration-diagram { --integration-mark-size: 80px; }
  .integration-hint { display: block; margin-top: 12px; color: var(--muted); font-size: 13px; }
  .clarity-content { padding-block: 42px; }
  .clarity-copy { margin-left: 0; }
  .clarity-background { opacity: .55; }
  .clarity-background::after { background: linear-gradient(90deg, #080d10d9, #080d10eb 55%, #080d1099 83%, #080d1059), linear-gradient(0deg, #080d10, transparent 65%); }
  .clarity-pullquote { max-width: none; }
  body[data-page="process"] #main .process-step .outcome { width: calc(100% - 48px); max-width: 320px; }
}

/* Preserve the Durban skyline and surf in the closing banner's crop. */
#home-closing-cta .cta-photo { object-position: 62% 50%; }
@media (max-width: 760px) {
  #home-closing-cta .cta-photo { object-position: 74% 50%; }
}

/* Keep the founders' photographs in colour; frame them within the page. */
.testimonial-author { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.testimonial-author:hover { color: var(--cyan); }
.founder-quote-portrait { position: relative; margin: 0; overflow: hidden; }
.founder-quote-portrait > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.founder-quote-portrait figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 26px 14px 12px;
  color: var(--text);
  background: linear-gradient(transparent, #080d10eb 45%);
  font-size: 11px;
  line-height: 1.4;
}
.founder-quote-portrait figcaption :is(strong, span) { display: block; }
.founder-quote-portrait figcaption strong { font-size: 13px; }
.trust-item .testimonial-slide blockquote { font-size: 15px; line-height: 1.5; }
.trust-item .quote-name { margin-top: 16px; font-size: 17px; color: var(--text); }
.trust-item .quote-role { font-size: 12px; color: var(--muted); }
.home-partner .carousel-dots { flex-wrap: wrap; }

#main img.portrait-lynette,
#main img.portrait-nikolai {
  object-fit: cover;
  object-position: 50% 0%;
  filter: brightness(.68) saturate(.86) contrast(1.04);
}

@media (max-width: 1100px) {
  .client-logo-strip { --visible-logos: 3; --logo-gap: 28px; }
  .client-logo-strip-compact .client-logo-controls { position: static; margin-top: 4px; }
}
@media (max-width: 600px) {
  .client-logo-strip { --visible-logos: 2; --logo-gap: 24px; margin-top: 28px; }
  .contact-client-mark { height: 104px; }
  .contact-client-mark > img { height: 80px; }
}

/* Frame the aerial Durban coastline and the distinct Isle of Man closing shoreline. */
body[data-page="process"] #clear-path { background-position: center, 55% 50%; }
body[data-page="process"] #closing-cta .cta-photo { object-position: 62% 50%; }
@media (max-width: 760px) {
  body[data-page="process"] #clear-path { background-position: center, 60% 50%; }
  body[data-page="process"] #closing-cta .cta-photo { object-position: 72% 50%; }
}

/* Client Perspective fills the section and fades behind the copy on the left. */
body[data-page="process"] #main #testimonial.quote-photo-right { position: relative; isolation: isolate; overflow: hidden; min-height: 480px; padding-block: 50px; background: #080d10; }
body[data-page="process"] #main #testimonial.quote-photo-right::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #080d10 0%, #080d10f5 24%, #080d10d9 42%, #080d1066 65%, #080d101a 85%), linear-gradient(0deg, #080d10, #080d1000 20%, #080d1000 82%, #080d10bb); }
body[data-page="process"] #main #testimonial.quote-photo-right .quote-layout { position: static; display: block; }
body[data-page="process"] #main #testimonial.quote-photo-right .quote-copy { position: relative; z-index: 1; width: 55%; max-width: 780px; padding: 0; }
body[data-page="process"] #main #testimonial.quote-photo-right .quote-portrait { position: absolute; inset: 0; display: block; width: 100%; max-width: none; height: 100%; min-height: 0; max-height: none; aspect-ratio: auto; margin: 0; object-fit: cover; object-position: 65% 15%; opacity: 1; border: 0; filter: brightness(.78) saturate(.94); }
@media (max-width: 1100px) {
  body[data-page="process"] #main #testimonial.quote-photo-right .quote-copy { width: 100%; max-width: none; }
  body[data-page="process"] #main #testimonial.quote-photo-right::after { background: linear-gradient(90deg, #080d10ed, #080d10cc 65%, #080d1099), linear-gradient(0deg, #080d10, #080d1000 25%, #080d1000 80%, #080d10); }
}

/* Contact's contemplative portrait remains visible beside the partner copy. */
body[data-page="contact"] #main #testimonial::after { background: linear-gradient(90deg, #080d10 0%, #080d10f2 25%, #080d10cc 43%, #080d1055 65%, #080d101a 85%, #080d1044), linear-gradient(0deg, #080d10, #080d1000 20%, #080d1000 85%, #080d1080); }
@media (max-width: 1100px) {
  body[data-page="contact"] #main #testimonial .quote-portrait { object-position: 90% 50%; }
  body[data-page="contact"] #main #testimonial::after { background: linear-gradient(90deg, #080d10ed, #080d10d9 55%, #080d10a6), linear-gradient(0deg, #080d10, #080d1000 20%, #080d1000 85%, #080d10); }
}

/* Give the centred Contact form breathing room within the header image. */
body[data-page="contact"] #main .contact-hero { min-height: 0; }
body[data-page="contact"] #main .contact-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: start; gap: clamp(28px, 4vw, 60px); padding-block: clamp(64px, 5vw, 90px); }
body[data-page="contact"] #main .contact-copy { padding-top: 0; }
body[data-page="contact"] #main .contact-copy h1 { font-size: clamp(36px, 4.3vw, 62px); line-height: 1.08; }
body[data-page="contact"] #main .contact-copy > p:not(.eyebrow,.scribble) { max-width: 520px; font-size: 17px; line-height: 1.55; }
body[data-page="contact"] #main .contact-values { margin-top: 28px; gap: 18px; }
body[data-page="contact"] #main .contact-values h3 { font-size: 15px; margin-top: 12px; }
body[data-page="contact"] #main .contact-copy .scribble { margin-top: 24px; font-size: 24px; }
body[data-page="contact"] #main .contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; align-self: center; width: 100%; max-width: 640px; margin-left: auto; padding: 22px 26px; }
body[data-page="contact"] #main .contact-form > :not(.form-field),
body[data-page="contact"] #main .contact-form > .form-field-message { grid-column: 1 / -1; }
body[data-page="contact"] #main .contact-form > * { min-width: 0; margin: 0; }
body[data-page="contact"] #main .contact-form h2 { font-size: 16px; line-height: 1.25; letter-spacing: .05em; }
body[data-page="contact"] #main .contact-form .form-intro { font-size: 13px; line-height: 1.45; }
body[data-page="contact"] #main .contact-form .form-field { display: flex; flex-direction: column; gap: 5px; }
body[data-page="contact"] #main .contact-form .form-field > span { margin: 0; font-size: 12px; line-height: 1.35; }
body[data-page="contact"] #main .contact-form :is(input,select) { min-height: 40px; height: 40px; padding: 8px 10px; margin-top: auto; font-size: 14px; }
body[data-page="contact"] #main .contact-form textarea { min-height: 70px; height: 70px; padding: 10px; font-size: 14px; line-height: 1.4; }
body[data-page="contact"] #main .contact-form .char-count { font-size: 10px; font-weight: 400; line-height: 1.2; }
body[data-page="contact"] #main .contact-form .button { min-width: 0; min-height: 42px; padding: 9px 18px; margin-top: 0; }
body[data-page="contact"] #main .contact-form .form-privacy { align-items: center; gap: 8px; margin: 0; font-size: 11px; line-height: 1.4; }
body[data-page="contact"] #main .contact-form .form-note { max-width: none; font-size: 11px !important; line-height: 1.4; margin-top: 0 !important; }
body[data-page="contact"] #main .contact-form .form-message:empty { display: none; }
body[data-page="contact"] #main .contact-form .form-note a { color: inherit; text-decoration: underline; }
body[data-page="contact"] .grecaptcha-badge { visibility: hidden; }
body[data-page="contact"] #main .contact-hero > .hero-photo { object-position: 50% 62%; }
body[data-page="contact"] #main .contact-hero > .hero-shade { background: linear-gradient(0deg, #080d10, #080d1026 20%, #080d1026 80%, #080d1066), linear-gradient(90deg, #080d10c9, #080d1099 48%, #080d1066); }
@media (min-width: 1101px) and (max-height: 760px) {
  body[data-page="contact"] #main .contact-layout { padding-block: 48px; }
  body[data-page="contact"] #main .contact-form { gap: 8px 14px; padding: 16px 22px; }
  body[data-page="contact"] #main .contact-form textarea { min-height: 58px; height: 58px; }
  body[data-page="contact"] #main .contact-copy h1 { font-size: clamp(34px, 4vw, 54px); }
  body[data-page="contact"] #main .contact-copy .scribble { margin-top: 16px; font-size: 21px; }
}
@media (max-width: 1100px) {
  body[data-page="contact"] #main .contact-layout { gap: 48px; padding-block: 48px; }
  body[data-page="contact"] #main .contact-form { order: -1; max-width: 680px; margin-inline: auto; }
  body[data-page="contact"] #main .contact-copy { max-width: 720px; }
  body[data-page="contact"] #main .contact-form :is(input,select) { min-height: 44px; height: 44px; font-size: 16px; }
  body[data-page="contact"] #main .contact-form .button { min-height: 44px; }
  body[data-page="contact"] #main .contact-form textarea { font-size: 16px; }
  body[data-page="contact"] #main .contact-values h3 { margin: 0; font-size: 16px; }
}
@media (max-width: 600px) {
  body[data-page="contact"] #main .contact-layout { width: calc(100% - 28px); padding-block: 40px; }
  body[data-page="contact"] #main .contact-form { gap: 8px 12px; padding: 18px 16px; }
  body[data-page="contact"] #main .contact-form h2 { font-size: 15px; }
  body[data-page="contact"] #main .contact-form .form-intro { font-size: 12px; line-height: 1.4; }
  body[data-page="contact"] #main .contact-form .form-field > span { font-size: 11px; }
  body[data-page="contact"] #main .contact-form .form-field-message { gap: 4px; }
  body[data-page="contact"] #main .contact-form textarea { min-height: 64px; height: 64px; }
  body[data-page="contact"] #main .contact-form .form-privacy { font-size: 11px !important; line-height: 1.4; }
  body[data-page="contact"] #main .contact-form .button { min-height: 44px; }
}

/* Services landing hero: continuous ocean photography beneath the copy. */
body[data-route="/services/"] #main .hero { min-height: clamp(580px, 46vw, 720px); background: #080d10; }
body[data-route="/services/"] #main .hero-visual { inset: 0; width: 100%; height: 100%; }
body[data-route="/services/"] #main .hero-visual .hero-photo { width: 100%; height: 100%; object-fit: cover; object-position: 72% 50%; opacity: 1; }
body[data-route="/services/"] #main .hero-shade { background: linear-gradient(0deg, #080d10, #080d1000 28%), linear-gradient(90deg, #080d10ed, #080d10c9 25%, #080d1073 53%, #080d1026 78%, #080d1000); }
body[data-route="/services/"] #main .hero-copy { max-width: min(60%, 780px); }
body[data-route="/services/"] #main .hero-copy h1 { font-size: clamp(40px, 4.1vw, 64px); line-height: 1.1; margin-bottom: 24px; }
body[data-route="/services/"] #main .hero-copy > p:not(.eyebrow) { max-width: 570px; font-size: 18px; line-height: 1.55; }
body[data-route="/services/"] #main .hero-note { top: auto; bottom: 148px; right: 1%; font-size: 23px; }
body[data-route="/services/"] #main .hero-footer-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 30px; margin-top: 40px; }
body[data-route="/services/"] #main .hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; width: 100%; max-width: none; margin: 0; align-items: stretch; }
body[data-route="/services/"] #main .hero-stats > div { display: block; min-width: 0; max-width: none; padding: 2px 24px !important; border: 0; border-left: 1px solid #405b698c; }
body[data-route="/services/"] #main .hero-stats strong { display: block; color: var(--cyan); font-size: clamp(12px, 1vw, 15px); line-height: 1.25; margin-bottom: 9px; }
body[data-route="/services/"] #main .hero-stats span:not(.icon) { display: block; color: #c8d0d4; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.4; }
body[data-route="/services/"] #main .hero-story { position: static; justify-self: end; align-self: center; display: flex; align-items: center; gap: 20px; margin: 0; padding: 8px; text-align: left; }
body[data-route="/services/"] #main .hero-story .story-play { flex: 0 0 74px; width: 74px; height: 74px; color: var(--cyan); border-color: var(--cyan); font-size: 25px; }
body[data-route="/services/"] #main .hero-story strong { color: var(--text); font-size: 12px; letter-spacing: .04em; }
body[data-route="/services/"] #main .hero-story small { color: var(--muted); font-size: 12px; white-space: nowrap; }

/* Reference layout: three coloured headings over equal photographic panels. */
body[data-route="/services/"] #main #services-overview > .container { width: calc(100% - 76px); max-width: 1450px; }
body[data-route="/services/"] #main #services-overview .section-intro { margin-bottom: 44px; }
body[data-route="/services/"] #main #services-overview .services-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
body[data-route="/services/"] #main #services-overview .service-pillar { display: flex; flex-direction: column; min-width: 0; }
body[data-route="/services/"] #main #services-overview .pillar-head { min-height: 190px; padding: 0 24px 24px; }
body[data-route="/services/"] #main #services-overview .pillar-index { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 1.2; }
body[data-route="/services/"] #main #services-overview .pillar-index::after { margin: 0; width: 80px; height: 2px; }
body[data-route="/services/"] #main #services-overview .pillar-head h3 { font-size: clamp(34px, 3.7vw, 52px); line-height: 1.1; margin: 12px 0 8px; }
body[data-route="/services/"] #main #services-overview .pillar-head p { margin: 0; font-size: 15px; line-height: 1.4; }
body[data-route="/services/"] #main #services-overview .pillar-head > span { display: block; font-size: 30px; line-height: 1; margin-top: 4px; }
body[data-route="/services/"] #main #services-overview .pillar-panel { display: flex; flex-direction: column; flex: 1; overflow: hidden; border: 1px solid var(--border); border-radius: 4px; background: #111416e8; }
body[data-route="/services/"] #main #services-overview .pillar-panel > img { flex: none; width: 100%; height: auto; aspect-ratio: 2.6; object-fit: cover; border-bottom: 1px solid #ffffff12; filter: brightness(.78) saturate(.38); }
body[data-route="/services/"] #main #services-overview .pillar-list { display: flex; flex-direction: column; flex: 1; min-height: 408px; padding: 8px 22px 18px; }
body[data-route="/services/"] #main #services-overview .pillar-item { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 16px; align-items: start; flex: 1; padding-block: 10px; border-bottom: 1px solid #ffffff0f; }
body[data-route="/services/"] #main #services-overview .pillar-item:last-child { border-bottom: 0; }
body[data-route="/services/"] #main #services-overview .pillar-item a { min-width: 0; }
body[data-route="/services/"] #main #services-overview .pillar-item h4 { font-size: clamp(14px, 1.2vw, 18px); line-height: 1.2; margin: 0 0 6px; }
body[data-route="/services/"] #main #services-overview .pillar-item p { font-size: clamp(11px, 1vw, 14px); line-height: 1.35; margin: 0; }
body[data-route="/services/"] #main .services-symbol { position: relative; display: block; flex-shrink: 0; width: 50px; height: 56px; }
body[data-route="/services/"] #main .services-symbol-frame { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
body[data-route="/services/"] #main .services-symbol > .icon { position: absolute; inset: 13px 11px; display: block; width: 28px; height: 30px; margin: 0; padding: 0; border: 0; clip-path: none; }

/* The reference's jagged mountain valley remains visible behind Strategy. */
body[data-route="/services/"] #main #services-strategy { min-height: 390px; padding-block: 52px; background: linear-gradient(90deg, #080d108c, #080d104d 46%, #080d10e6), url('/assets/images/services-strategy-peaks-hd.webp') center 46% / cover no-repeat; }
body[data-route="/services/"] #main #services-strategy > .container { grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 90px); }
body[data-route="/services/"] #main #services-strategy h2 { font: 750 clamp(29px, 3.3vw, 46px)/1.08 var(--body); margin-bottom: 18px; }
body[data-route="/services/"] #main #services-strategy p:not(.eyebrow) { max-width: 540px; font-size: 16px; line-height: 1.5; }
body[data-route="/services/"] #main #services-strategy .button { min-height: 44px; padding: 10px 18px; font-size: 13px; }
body[data-route="/services/"] #main #services-strategy .vertical-features { gap: 15px; }
body[data-route="/services/"] #main #services-strategy .vertical-features > div { gap: 20px; }
body[data-route="/services/"] #main #services-strategy .vertical-features h3 { font-size: clamp(15px, 1.3vw, 19px); margin-bottom: 4px; }
body[data-route="/services/"] #main #services-strategy .vertical-features p { font-size: 14px; margin: 0; }
body[data-route="/services/"] #main #services-strategy .services-symbol { width: 58px; height: 64px; }
body[data-route="/services/"] #main #services-strategy .services-symbol > .icon { inset: 15px 13px; width: 32px; height: 34px; }

/* Services uses the same cards, four-column allocation and treatment as Home. */
@media (max-width: 1100px) {
  body[data-route="/services/"] #main .hero { min-height: 0; }
  body[data-route="/services/"] #main .hero-copy { max-width: 760px; }
  body[data-route="/services/"] #main .hero-copy h1 { font-size: clamp(34px, 4.8vw, 50px); }
  body[data-route="/services/"] #main .hero-shade { background: linear-gradient(90deg, #080d10ed, #080d10b8 65%, #080d1080), linear-gradient(0deg, #080d10, #080d1000 40%); }
  body[data-route="/services/"] #main .hero-footer-row { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 32px; }
  body[data-route="/services/"] #main .hero-stats { max-width: none; }
  body[data-route="/services/"] #main .hero-stats > div { padding-inline: 18px !important; }
  body[data-route="/services/"] #main .hero-story { justify-self: start; padding-left: 0; margin-top: 0; }
}
@media (max-width: 1100px) {
  body[data-route="/services/"] #main #services-overview > .container { width: calc(100% - 40px); max-width: 760px; }
  body[data-route="/services/"] #main #services-overview .services-pillars { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  body[data-route="/services/"] #main #services-overview .pillar-head { min-height: 0; padding: 0 6px 20px; }
  body[data-route="/services/"] #main #services-overview .pillar-panel > img { height: clamp(150px, 25vw, 220px); aspect-ratio: auto; }
  body[data-route="/services/"] #main #services-overview .pillar-list { min-height: 0; }
  body[data-route="/services/"] #main #services-overview .pillar-item { flex: none; padding-block: 20px; }
  body[data-route="/services/"] #main #services-overview .pillar-item h4 { font-size: 17px; }
  body[data-route="/services/"] #main #services-overview .pillar-item p { font-size: 14px; }
  body[data-route="/services/"] #main #services-strategy { padding-block: 42px; background-position: 43% center; }
  body[data-route="/services/"] #main #services-strategy > .container { grid-template-columns: minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 600px) {
  body[data-route="/services/"] #main .hero-copy { max-width: 100%; }
  body[data-route="/services/"] #main .hero-copy h1 { font-size: clamp(28px, 7.4vw, 40px); line-height: 1.14; }
  body[data-route="/services/"] #main .hero-visual .hero-photo { object-position: 80% 50%; }
  body[data-route="/services/"] #main .hero-stats { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body[data-route="/services/"] #main #services-overview .pillar-head h3 { font-size: 38px; }
  body[data-route="/services/"] #main #services-strategy { background-image: linear-gradient(90deg, #080d10b8, #080d1099 55%, #080d10e6), url('/assets/images/services-strategy-peaks-hd.webp'); }
}

/* An anonymous reflecting person blends into the rotating Services testimonials. */
body[data-route="/services/"] #main #services-testimonial { min-height: 460px; background: #080d10; }
body[data-route="/services/"] #main #services-testimonial .quote-layout { position: static; width: min(1280px, calc(100% - 90px)); min-height: inherit; }
body[data-route="/services/"] #main #services-testimonial .quote-portrait { inset: 0; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: 40% 50%; opacity: 1; }
body[data-route="/services/"] #main #services-testimonial::after {
  background: linear-gradient(0deg, #080d10, #080d1000 20%, #080d1000 80%, #080d10), linear-gradient(90deg, #080d1033, #080d1059 30%, #080d10d9 53%, #080d10f2 75%, #080d10);
}
body[data-route="/services/"] #main #services-testimonial .quote-copy { width: 56%; max-width: 780px; margin-left: auto; padding: 58px 0 58px 30px; }
body[data-route="/services/"] #main #services-testimonial .quote-section-title { font: 400 clamp(30px, 2.8vw, 40px)/1.15 Georgia, serif; }
body[data-route="/services/"] #main #services-testimonial .testimonial-slide blockquote { font: 400 22px/1.6 var(--body); }
body[data-route="/services/"] #main #services-closing-cta .cta-photo { object-position: 62% 50%; }
@media (max-width: 1100px) {
  body[data-route="/services/"] #main #services-testimonial .quote-layout { width: calc(100% - 48px); }
  body[data-route="/services/"] #main #services-testimonial .quote-copy { width: 70%; padding-left: 20px; }
}
@media (max-width: 700px) {
  body[data-route="/services/"] #main #services-testimonial .quote-copy { width: 100%; max-width: none; padding: 44px 0; }
  body[data-route="/services/"] #main #services-testimonial::after { background: linear-gradient(90deg, #080d10d9, #080d10e6 65%, #080d10f2), linear-gradient(0deg, #080d10, #080d1000 50%, #080d10); }
  body[data-route="/services/"] #main #services-testimonial .testimonial-slide blockquote { font-size: 20px; }
}

/* Service-detail photographs span the viewport; their editable artwork stays at the right. */
#main .service-detail-hero { min-height: clamp(640px, 46vw, 720px); background: #080d10; }
#main .service-detail-hero .hero-visual { inset: 0; width: 100%; height: 100%; }
#main .service-detail-hero .hero-visual > .hero-photo { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 100% 0; opacity: 1; }
#main .service-detail-hero .hero-shade {
  background: linear-gradient(0deg, #080d10 0%, #080d1000 25%), linear-gradient(90deg, #080d10ed 0%, #080d10d9 25%, #080d1099 43%, #080d1033 62%, #080d1000 82%);
}
#main .service-detail-hero .hero-inner { min-height: inherit; padding-block: 60px 34px; }
#main .service-detail-hero .hero-copy { max-width: min(54%, 740px); }
#main .service-detail-hero .hero-copy h1 { font-size: clamp(42px, 4.3vw, 66px); line-height: 1.1; margin-bottom: 26px; }
#main .service-detail-hero .hero-copy > .eyebrow { font-size: 12px; margin-bottom: 17px; }
#main .service-detail-hero .hero-copy > p:not(.eyebrow) { max-width: 560px; color: #c1c6c9; font-size: 19px; line-height: 1.55; margin-bottom: 1em; }
#main .service-detail-hero .button-row { margin-top: 28px; }
#main .service-detail-hero .button { font-size: 14px; padding: 14px 21px; }
#main .service-detail-hero .hero-capability-line { max-width: 740px; margin-top: 35px; font-size: 12px; line-height: 1.7; }
#main .service-detail-hero .hero-stats { margin-top: 38px; max-width: 740px; }
#main .service-detail-hero .hero-stats > div { flex: 1; max-width: none; align-items: flex-start; }
#main .service-detail-hero .service-hero-art { position: absolute; inset: 0 0 0 auto; width: 58%; height: 100%; pointer-events: none; }
#main :is(.hero-digital-marketing, .hero-ai-development, .hero-fractional-cio).service-detail-hero .service-hero-art { width: 100%; }
#main .service-detail-hero .service-hero-diagram-overlay { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 100% 0; }
@media (max-width: 1100px) {
  #main .service-detail-hero { min-height: 0; }
  #main .service-detail-hero .hero-inner { min-height: 0; padding-block: 48px 36px; }
  #main .service-detail-hero .hero-copy { max-width: 760px; }
  #main .service-detail-hero .hero-copy h1 { font-size: clamp(34px, 4.8vw, 50px); }
  #main .service-detail-hero .hero-copy > p:not(.eyebrow) { font-size: 18px; }
  #main .service-detail-hero .hero-stats { max-width: 100%; }
  #main .service-detail-hero .hero-shade { background: linear-gradient(0deg, #080d10, #080d1000 48%), linear-gradient(90deg, #080d10ed, #080d10c9 62%, #080d1080); }
  #main .service-detail-hero .service-hero-art { display: none; }
}
@media (max-width: 600px) {
  #main .service-detail-hero .hero-copy { max-width: 100%; }
  #main .service-detail-hero .hero-copy h1 { font-size: clamp(30px, 7.8vw, 40px); line-height: 1.14; }
  #main .service-detail-hero .hero-visual > .hero-photo { object-position: 75% 50%; }
  #main .service-detail-hero .button { padding: 12px 18px; }
  #main .service-detail-hero .hero-capability-line { font-size: 11px; margin-top: 26px; }
}

/* Every service quote uses the shared, stable-height testimonial carousel. */
#main .service-testimonial-carousel { min-width: 0; }
#main .service-testimonial-carousel .testimonial-viewport { display: grid; }
#main .service-testimonial-carousel .testimonial-slide { grid-area: 1 / 1; min-width: 0; }
#main .service-testimonial-carousel .testimonial-slide[hidden] { display: block; visibility: hidden; pointer-events: none; }
#main .service-testimonial-carousel .service-quote { font: 400 22px/1.5 Georgia, serif; margin-bottom: 20px; }
#main .service-testimonial-carousel .quote-name { margin-top: 20px; font-size: 15px; }
#main .service-testimonial-carousel .quote-role { font-size: 13px; }
#main .service-testimonial-carousel .carousel-controls { align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
#main .service-testimonial-carousel .circle-button { width: 44px; height: 44px; min-width: 44px; }
#main .service-testimonial-carousel .testimonial-position { margin-left: 2px; font-size: 12px; white-space: nowrap; }
#main .service-testimonial-carousel .testimonial-pause { min-height: 44px; font-size: 12px; padding: 8px 12px; margin-left: 0; }
#main .source-testimonial-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr); }

/* Enlarged client-perspective backgrounds fade left beneath readable copy. */
#main .service-client-perspective { position: relative; overflow: hidden; background: #080d10; border-bottom: 1px solid var(--border); }
#main .service-client-background { position: absolute; inset: 0; pointer-events: none; }
#main .service-client-background > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% 65%; filter: brightness(.76); -webkit-mask-image: linear-gradient(90deg, transparent, #000 32%); mask-image: linear-gradient(90deg, transparent, #000 32%); }
#main .service-client-background::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #080d10 0%, #080d10f2 23%, #080d10d9 40%, #080d1099 57%, #080d1055 76%, #080d1044), linear-gradient(0deg, #080d10b3, #080d1000 24%, #080d1000 80%, #080d1080); }
#main .service-client-layout { position: relative; display: grid; grid-template-columns: minmax(0, 22fr) minmax(0, 50fr) minmax(0, 28fr); gap: 35px; align-items: center; min-height: 480px; padding-block: 52px; }
#main .service-client-heading .service-heading { font-size: 37px; }
#main .service-client-heading .eyebrow { color: var(--purple); }
#main .service-client-quote { min-width: 0; }
#main .service-client-layout > .photo-caption { position: static; justify-self: end; align-self: end; max-width: 240px; color: #f0f5f7; text-shadow: 0 2px 8px #000, 0 0 24px #000; margin: 0; }
#main .service-client-layout > .photo-caption.serif { max-width: 190px; font-size: 30px; line-height: 1.16; }
#main .service-client-layout > .photo-caption.upright { font-size: clamp(15px, 1.3vw, 19px); line-height: 1.65; letter-spacing: .14em; }
#main .service-client-layout > .photo-caption.upright::before { display: none; }
@media (max-width: 1100px) {
  #main .service-client-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; min-height: 0; padding-block: 40px; }
  #main .service-client-background > img { object-position: 64% 65%; }
  #main .service-client-background::after { background: linear-gradient(90deg, #080d10cc, #080d1080), linear-gradient(180deg, #080d10f2, #080d10cc 60%, #080d1080); }
  #main .service-client-heading .service-heading { font-size: 32px; }
  #main .service-client-layout > .photo-caption { max-width: 260px; margin-top: 6px; }
  #main .service-client-layout > .photo-caption.serif { font-size: 26px; }
}

/* Comms keeps one set of rotating testimonials over a contemplative-person background. */
body[data-route="/services/strategic-communications/"] #main .communications-stories-section { position: relative; overflow: hidden; background: #080d10; border-bottom: 1px solid var(--border); }
body[data-route="/services/strategic-communications/"] #main .communications-stories-background { position: absolute; inset: 0; pointer-events: none; }
body[data-route="/services/strategic-communications/"] #main .communications-stories-photo { width: 100%; height: 100%; object-fit: cover; object-position: 60% 20%; filter: brightness(.62); }
body[data-route="/services/strategic-communications/"] #main .communications-stories-background::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #080d10f2, #080d10e6 27%, #080d10b3 49%, #080d1099 70%, #080d1077), linear-gradient(0deg, #080d10cc, #080d1000 23%, #080d1000 80%, #080d10aa); }
body[data-route="/services/strategic-communications/"] #main .communications-stories-layout { position: relative; display: grid; grid-template-columns: minmax(0, 32fr) minmax(0, 68fr); gap: clamp(36px, 5vw, 70px); align-items: center; min-height: 480px; padding-block: 52px; }
body[data-route="/services/strategic-communications/"] #main .communications-stories-copy .service-heading { font-size: clamp(32px, 3vw, 42px); }
body[data-route="/services/strategic-communications/"] #main .communications-stories-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; color: var(--muted); }
body[data-route="/services/strategic-communications/"] #main .communications-stories-testimonials { min-width: 0; max-width: 820px; }
@media (max-width: 1100px) {
  body[data-route="/services/strategic-communications/"] #main .communications-stories-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; min-height: 0; padding-block: 40px; }
  body[data-route="/services/strategic-communications/"] #main .communications-stories-photo { object-position: 70% 25%; }
  body[data-route="/services/strategic-communications/"] #main .communications-stories-background::after { background: linear-gradient(90deg, #080d10f2, #080d10d9), linear-gradient(0deg, #080d10, #080d1000 30%, #080d1000 80%, #080d10); }
}

/* Websites & UX messaging keeps its composition while its ocean edges fade away. */
body[data-route="/services/websites-ux/"] #main #section-4 { background: #080d10; }
body[data-route="/services/websites-ux/"] #main #section-4 > .visual-panel { background: #080d10; }
body[data-route="/services/websites-ux/"] #main #section-4 > .visual-panel > .panel-photo { -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 72%, transparent); mask-image: linear-gradient(90deg, transparent, #000 18%, #000 72%, transparent); }

/* The compound-effect photograph fills the section and meets the right edge. */
#main .service-compound-section { display: grid; grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); background: #080d10; border-bottom: 1px solid var(--border); }
#main .compound-copy { align-self: center; padding: 54px 38px 54px max(45px, calc((100vw - 1280px) / 2)); }
#main .compound-copy > p:not(.eyebrow) { color: var(--muted); max-width: 560px; }
#main .compound-copy .service-heading { font-size: clamp(34px, 3.1vw, 46px); }
#main .compound-visual { position: relative; min-width: 0; min-height: 420px; margin: 0; }
#main .compound-diagram-viewport { width: 100%; height: 100%; }
#main .compound-diagram-canvas { position: relative; display: grid; width: 100%; height: 100%; min-height: 420px; }
#main .compound-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.65); }
#main .compound-diagram-canvas::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #080d10, #080d1000 24%); }
#main .compound-growth-overlay { position: relative; z-index: 1; width: 100%; height: 100%; min-height: 420px; object-fit: contain; }
#main .compound-diagram-hint { display: none; }
#main .compound-diagram-viewport:focus-visible { outline: 2px solid var(--cyan); outline-offset: -3px; }

/* Visibility: five steps above one continuous mountain scene, as in the mockup. */
#main .visibility-section { overflow: hidden; background: #080d10; border-bottom: 1px solid var(--border); }
#main .visibility-content { position: relative; display: grid; grid-template-columns: minmax(0, 41fr) minmax(0, 59fr); gap: 44px; padding-top: 48px; }
#main .visibility-copy { padding-bottom: 48px; }
#main .visibility-copy > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.6; }
#main .visibility-copy .service-heading { font-size: clamp(34px, 3.1vw, 44px); }
#main .visibility-copy .button { margin-top: 8px; color: var(--cyan); }
#main .visibility-landscape { position: absolute; inset: 34% 0 0 39%; pointer-events: none; }
#main .visibility-landscape img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
#main .visibility-landscape::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #080d10, #080d1000 38%), linear-gradient(90deg, #080d10, #080d1033 23%, #080d1022); }
#main .visibility-journey { display: flex; flex-direction: column; min-width: 0; }
#main .visibility-stages { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
#main .visibility-stages li { position: relative; text-align: center; margin: 0; }
#main .visibility-stages .icon { width: 34px; height: 34px; }
#main .visibility-stages h3 { font: 500 18px/1.3 var(--body); color: inherit; margin: 12px 0 10px; }
#main .visibility-stages p { font-size: 14px; line-height: 1.5; color: var(--muted); margin: 0; }
#main .visibility-stages li:not(:last-child)::after { content: '→'; position: absolute; top: 15px; right: -23px; font-size: 22px; color: #76828a; }
#main .visibility-progress { position: relative; flex: 1; min-height: 210px; }
#main .visibility-progress svg { position: absolute; inset: 0; width: 100%; height: 100%; }
#main .visibility-progress > p { position: absolute; right: 1%; bottom: 28px; color: #71a9bd; font-size: 11px; line-height: 1.7; letter-spacing: .18em; font-weight: 700; }

/* Search and content photographs belong to the full section, with soft fades. */
#main :is(.digital-search-section, .digital-proof-section) { position: relative; overflow: hidden; background: #080d10; border-bottom: 1px solid var(--border); }
#main .digital-section-background { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
#main .digital-section-background img { position: absolute; height: 100%; object-fit: cover; }
#main .digital-section-background::after { content: ''; position: absolute; inset: 0; }
#main .digital-search-photo { right: 0; width: 72%; object-position: 64% 50%; }
#main .digital-search-section .digital-section-background::after { background: linear-gradient(90deg, #080d10 0%, #080d10 29%, #080d10ed 40%, #080d1099 51%, #080d1022 69%, #080d1000), linear-gradient(0deg, #080d10, #080d1000 15%, #080d1000 87%, #080d10); }
#main .digital-search-section > .container { position: relative; }
#main .digital-search-copy { width: 55%; padding-block: 54px; }
#main .digital-search-copy > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.6; }
#main .digital-search-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-top: 30px; }
#main .digital-search-columns > div { border-left: 1px solid var(--border); padding-left: 22px; }
#main .digital-search-columns .icon { width: 40px; height: 40px; margin-bottom: 15px; }
#main .digital-search-columns h3 { font: 400 28px/1.2 Georgia, serif; }
#main .digital-search-columns p { font-size: 15px; color: var(--muted); }
#main .digital-search-columns .check-list { font-size: 14px; }
#main .digital-proof-photo { left: 0; width: 62%; object-position: 48% 50%; }
#main .digital-proof-section .digital-section-background::after { background: linear-gradient(90deg, #080d1022 0%, #080d1022 25%, #080d1099 36%, #080d10ed 46%, #080d10 59%), linear-gradient(0deg, #080d1080, #080d1000 25%, #080d1000 80%, #080d1066); }
#main .digital-proof-layout { position: relative; display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); gap: 40px; min-height: 480px; }
#main .digital-proof-copy { align-self: center; padding-block: 50px; }
#main .digital-proof-copy > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.6; }
#main .digital-proof-copy .service-heading { font-size: clamp(34px, 3vw, 44px); }
#main .digital-proof-caption { position: relative; }
#main .digital-proof-caption .photo-caption { left: 18px; bottom: 42px; max-width: 300px; font-size: 14px; letter-spacing: .2em; }
#main .digital-proof-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 30px 0; }
#main .digital-proof-features > div { display: flex; align-items: center; gap: 14px; }
#main .digital-proof-features .icon { width: 38px; height: 44px; }
#main .digital-proof-features p { margin: 0; font-size: 13px; line-height: 1.6; color: var(--muted); }
body[data-route="/services/digital-marketing/"] #main #section-7 .cta-photo { object-position: 70% 0%; }

/* Software opportunity: ocean fades into the copy, with varied supporting icons. */
body[data-route="/services/custom-software/"] #main .custom-opportunity-section { overflow: hidden; background: #080d10; border-bottom: 1px solid var(--border); }
body[data-route="/services/custom-software/"] #main .custom-opportunity-background { position: absolute; inset: 0; pointer-events: none; }
body[data-route="/services/custom-software/"] #main .custom-opportunity-background img { width: 63%; height: 100%; object-fit: cover; object-position: 42% 50%; }
body[data-route="/services/custom-software/"] #main .custom-opportunity-background::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #080d1033, #080d1066 23%, #080d10d9 35%, #080d10 57%), linear-gradient(0deg, #080d1066, #080d1000 30%, #080d1000 76%, #080d1044); }
body[data-route="/services/custom-software/"] #main .custom-opportunity-layout { position: relative; display: grid; grid-template-columns: minmax(0, 34fr) minmax(0, 40fr) minmax(0, 26fr); gap: 34px; min-height: 400px; }
body[data-route="/services/custom-software/"] #main .custom-opportunity-caption { position: relative; }
body[data-route="/services/custom-software/"] #main .custom-opportunity-caption .photo-caption { left: 16px; bottom: 40px; letter-spacing: .17em; font-size: 13px; }
body[data-route="/services/custom-software/"] #main .custom-opportunity-copy { align-self: center; padding-block: 42px; }
body[data-route="/services/custom-software/"] #main .custom-opportunity-copy .service-heading { font-size: clamp(31px, 2.6vw, 39px); }
body[data-route="/services/custom-software/"] #main .custom-opportunity-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; color: var(--muted); }
body[data-route="/services/custom-software/"] #main .custom-opportunity-points { align-self: center; display: grid; gap: 23px; padding: 28px 0 28px 28px; margin: 0; list-style: none; border-left: 1px solid var(--border); }
body[data-route="/services/custom-software/"] #main .custom-opportunity-points li { display: flex; align-items: center; gap: 16px; margin: 0; font-size: 16px; color: var(--text); }
body[data-route="/services/custom-software/"] #main .custom-opportunity-points .icon { width: 30px; height: 30px; }

/* Software capabilities stay open, with a full-height photographic rail. */
body[data-route="/services/custom-software/"] #main .custom-solutions-section { display: grid; grid-template-columns: minmax(0, 27fr) minmax(0, 52fr) minmax(0, 21fr); background: #080d10; border-bottom: 1px solid var(--border); }
body[data-route="/services/custom-software/"] #main .custom-solutions-intro { align-self: center; padding: 42px 30px 42px clamp(32px, 5vw, 100px); }
body[data-route="/services/custom-software/"] #main .custom-solutions-intro .service-heading { font: 800 clamp(34px, 3.2vw, 50px)/1.06 var(--display); }
body[data-route="/services/custom-software/"] #main .custom-solutions-intro > p:not(.eyebrow) { font-size: 16px; line-height: 1.6; color: var(--muted); }
body[data-route="/services/custom-software/"] #main .custom-solutions-intro .text-link { margin-top: 8px; font-size: 13px; }
body[data-route="/services/custom-software/"] #main .custom-solutions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 30px 22px; align-self: stretch; }
body[data-route="/services/custom-software/"] #main .custom-solutions-grid article { padding: 20px 18px; border-left: 1px solid var(--border); }
body[data-route="/services/custom-software/"] #main .custom-solutions-grid article:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
body[data-route="/services/custom-software/"] #main .custom-solutions-grid .icon { width: 34px; height: 34px; margin-bottom: 16px; }
body[data-route="/services/custom-software/"] #main .custom-solutions-grid h3 { font: 600 18px/1.3 var(--body); color: var(--text); }
body[data-route="/services/custom-software/"] #main .custom-solutions-grid p { font-size: 14px; line-height: 1.6; color: var(--muted); margin-bottom: 0; }
body[data-route="/services/custom-software/"] #main .custom-solutions-visual { min-height: 430px; }
body[data-route="/services/custom-software/"] #main .custom-solutions-visual .panel-photo { filter: brightness(.7); }
body[data-route="/services/custom-software/"] #main .custom-solutions-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #080d1077, #080d1000 55%); pointer-events: none; }
body[data-route="/services/custom-software/"] #main .custom-solutions-visual .photo-caption { left: 14%; bottom: 9%; max-width: 160px; font-size: 12px; }

/* IMICS uses the same portfolio artwork and case-study destination across services. */
#main .imics-feature-visual { display: block; width: 100%; min-height: 0; aspect-ratio: 3 / 2; align-self: center; }
#main .imics-feature-visual .panel-photo { object-fit: contain; }
body[data-route="/services/custom-software/"] #main .custom-imics-section { display: grid; grid-template-columns: minmax(0, 34fr) minmax(0, 40fr) minmax(0, 26fr); background: #080d10; border-bottom: 1px solid var(--border); }
body[data-route="/services/custom-software/"] #main .custom-imics-copy { align-self: center; padding: 32px 30px 32px clamp(32px, 5vw, 100px); }
body[data-route="/services/custom-software/"] #main .custom-imics-copy .eyebrow { color: var(--purple); margin-bottom: 14px; }
body[data-route="/services/custom-software/"] #main .custom-imics-copy .service-heading { font: 400 clamp(32px, 3vw, 46px)/1.1 Georgia, serif; margin-bottom: 8px; }
body[data-route="/services/custom-software/"] #main .custom-imics-copy h3 { font: 500 clamp(17px, 1.35vw, 22px)/1.3 var(--body); margin-bottom: 16px; }
body[data-route="/services/custom-software/"] #main .custom-imics-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.55; color: var(--muted); margin-bottom: 20px; }
body[data-route="/services/custom-software/"] #main .custom-imics-copy .text-link { padding-bottom: 7px; border-bottom: 1px solid #2ab5e566; }
body[data-route="/services/custom-software/"] #main .custom-imics-visual { min-height: 0; aspect-ratio: 3 / 2; }
body[data-route="/services/custom-software/"] #main .custom-imics-visual .panel-photo { object-fit: contain; object-position: 50% 50%; }
body[data-route="/services/custom-software/"] #main .custom-imics-metrics { align-self: center; display: grid; gap: 24px; padding: 30px clamp(32px, 5vw, 100px) 30px 34px; }
body[data-route="/services/custom-software/"] #main .custom-imics-metrics > div { display: flex; align-items: center; gap: 20px; }
body[data-route="/services/custom-software/"] #main .custom-imics-metrics .icon { width: 32px; height: 36px; }
body[data-route="/services/custom-software/"] #main .custom-imics-metrics strong { font: 500 30px/1.15 var(--body); color: var(--cyan); }
body[data-route="/services/custom-software/"] #main .custom-imics-metrics p { font-size: 15px; line-height: 1.4; color: var(--muted); margin: 4px 0 0; }

/* Five connected process stages and the photographic strategic-partner band. */
body[data-route="/services/custom-software/"] #main .custom-process-section { padding-block: 34px; background: #080d10; border-bottom: 1px solid var(--border); }
body[data-route="/services/custom-software/"] #main .custom-process-layout { width: min(1840px, calc(100% - clamp(48px, 10vw, 200px))); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 20fr) minmax(0, 72fr) minmax(0, 8fr); gap: 34px; align-items: center; }
body[data-route="/services/custom-software/"] #main .custom-process-intro .service-heading { font: 400 clamp(30px, 2.5vw, 40px)/1.15 Georgia, serif; margin-bottom: 14px; }
body[data-route="/services/custom-software/"] #main .custom-process-intro > p:not(.eyebrow) { font-size: 16px; line-height: 1.55; color: var(--muted); }
body[data-route="/services/custom-software/"] #main .custom-process-intro .text-link { padding-bottom: 6px; border-bottom: 1px solid #2ab5e566; }
body[data-route="/services/custom-software/"] #main .custom-process-stages { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px; list-style: none; padding: 0; margin: 0; }
body[data-route="/services/custom-software/"] #main .custom-process-stages li { position: relative; margin: 0; }
body[data-route="/services/custom-software/"] #main .custom-process-stages li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--purple); border-radius: 50%; color: var(--purple); background: #080d10; font-size: 14px; font-weight: 600; }
body[data-route="/services/custom-software/"] #main .custom-process-stages li::before { content: ''; position: absolute; top: 24px; left: 61px; right: -18px; height: 1px; background: linear-gradient(90deg, #2ab5e5, #354851 25%); }
body[data-route="/services/custom-software/"] #main .custom-process-stages h3 { margin-top: 18px; margin-bottom: 10px; font: 500 19px/1.3 var(--body); }
body[data-route="/services/custom-software/"] #main .custom-process-stages p { color: var(--muted); font-size: 15px; line-height: 1.55; margin-bottom: 0; }
body[data-route="/services/custom-software/"] #main .custom-process-note { justify-self: end; font-size: 25px; text-transform: none; max-width: 130px; margin: 0; }
body[data-route="/services/custom-software/"] #main .custom-process-note::after { width: 48px; }
body[data-route="/services/custom-software/"] #main .custom-partner-section { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 29fr) minmax(0, 29fr); min-height: 410px; background: #080d10; border-bottom: 1px solid var(--border); overflow: hidden; }
body[data-route="/services/custom-software/"] #main .custom-partner-background { position: absolute; inset: 0; pointer-events: none; }
body[data-route="/services/custom-software/"] #main .custom-partner-background img { width: 54%; height: 100%; object-fit: cover; object-position: 40% 50%; }
body[data-route="/services/custom-software/"] #main .custom-partner-background::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #080d1022, #080d1033 26%, #080d10a6 38%, #080d10 51%); }
body[data-route="/services/custom-software/"] #main .custom-partner-caption { position: relative; min-height: 340px; }
body[data-route="/services/custom-software/"] #main .custom-partner-caption .photo-caption { left: clamp(32px, 5vw, 100px); bottom: 42px; font-size: 13px; letter-spacing: .22em; }
body[data-route="/services/custom-software/"] #main .custom-partner-caption .photo-caption::before { display: none; }
body[data-route="/services/custom-software/"] #main .custom-partner-copy { position: relative; align-self: center; padding: 38px 30px 38px 18px; }
body[data-route="/services/custom-software/"] #main .custom-partner-copy .service-heading { font: 400 clamp(30px, 2.5vw, 40px)/1.14 Georgia, serif; }
body[data-route="/services/custom-software/"] #main .custom-partner-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.55; color: var(--muted); margin-bottom: 0; }
body[data-route="/services/custom-software/"] #main .custom-partner-points { position: relative; display: grid; align-self: center; gap: 24px; margin-block: 36px; padding: 0 clamp(32px, 5vw, 100px) 0 30px; border-left: 1px solid var(--border); }
body[data-route="/services/custom-software/"] #main .custom-partner-points > div { display: flex; align-items: center; gap: 22px; }
body[data-route="/services/custom-software/"] #main .custom-partner-points .icon { width: 42px; height: 46px; }
body[data-route="/services/custom-software/"] #main .custom-partner-points h3 { font: 500 18px/1.35 var(--body); margin: 0 0 4px; }
body[data-route="/services/custom-software/"] #main .custom-partner-points p { font-size: 14px; line-height: 1.5; color: var(--muted); margin: 0; }

/* AI reality uses clean native cross icons over a continuous fading background. */
body[data-route="/services/ai-development/"] #main .ai-reality-section { background: #080d10; border-bottom: 1px solid var(--border); overflow: hidden; }
body[data-route="/services/ai-development/"] #main .ai-reality-background { position: absolute; inset: 0; pointer-events: none; }
body[data-route="/services/ai-development/"] #main .ai-reality-background img { width: 70%; height: 100%; margin-left: auto; object-fit: cover; object-position: 65% 50%; }
body[data-route="/services/ai-development/"] #main .ai-reality-background::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #080d10, #080d10 28%, #080d10ed 42%, #080d1099 56%, #080d1033 72%, #080d1022), linear-gradient(0deg, #080d10aa, #080d1000 28%, #080d1000 80%, #080d1080); }
body[data-route="/services/ai-development/"] #main .ai-reality-layout { position: relative; display: grid; grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); gap: 42px; min-height: 560px; }
body[data-route="/services/ai-development/"] #main .ai-reality-copy { align-self: center; padding-block: 48px; }
body[data-route="/services/ai-development/"] #main .ai-reality-copy .service-heading { font: 500 clamp(32px, 2.8vw, 42px)/1.15 var(--body); }
body[data-route="/services/ai-development/"] #main .ai-reality-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; color: var(--muted); }
body[data-route="/services/ai-development/"] #main .ai-reality-problems { display: grid; gap: 19px; margin: 28px 0 0; padding: 0; list-style: none; }
body[data-route="/services/ai-development/"] #main .ai-reality-problems li { display: flex; align-items: center; gap: 20px; margin: 0; font-size: 17px; line-height: 1.5; color: var(--muted); }
body[data-route="/services/ai-development/"] #main .ai-reality-cross { display: inline-flex; flex: 0 0 30px; width: 30px; height: 30px; color: #c4535d; }
body[data-route="/services/ai-development/"] #main .ai-reality-cross svg { width: 100%; height: 100%; }
body[data-route="/services/ai-development/"] #main .ai-reality-art { position: relative; }
body[data-route="/services/ai-development/"] #main .ai-reality-art .photo-caption { position: absolute; inset: 0; max-width: none; }
body[data-route="/services/ai-development/"] #main .ai-reality-art .caption-primary { position: absolute; left: 20%; top: 14%; font-size: 25px; line-height: 1.3; letter-spacing: .12em; }
body[data-route="/services/ai-development/"] #main .ai-reality-art .caption-secondary { position: absolute; right: 2%; bottom: 9%; font-size: 12px; line-height: 1.8; }
body[data-route="/services/ai-development/"] #main .ai-reality-art .photo-caption::before { display: none; }
body[data-route="/services/ai-development/"] #main .ai-strategy-section { display: grid; grid-template-columns: minmax(0, 43fr) minmax(0, 57fr); min-height: 410px; background: #080d10; border-bottom: 1px solid var(--border); }
body[data-route="/services/ai-development/"] #main .ai-strategy-visual { display: flex; align-items: stretch; min-width: 0; }
body[data-route="/services/ai-development/"] #main .ai-strategy-visual .visual-panel { width: 100%; min-height: 0; aspect-ratio: auto; }
body[data-route="/services/ai-development/"] #main .ai-strategy-canvas { position: absolute; top: 50%; left: 50%; width: auto; min-width: 100%; height: 100%; aspect-ratio: 1774 / 887; transform: translate(-50%, -50%); }
body[data-route="/services/ai-development/"] #main .ai-strategy-visual .panel-photo { object-fit: cover; }
body[data-route="/services/ai-development/"] #main .ai-strategy-section .split-copy { padding: 46px clamp(32px, 5vw, 100px) 46px 46px; max-width: 850px; }
body[data-route="/services/ai-development/"] #main .ai-strategy-section .service-heading { font: 500 clamp(32px, 2.8vw, 42px)/1.15 var(--body); }
body[data-route="/services/ai-development/"] #main .ai-strategy-section .split-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; }

/* Keep the AI testimonial caption clear against the cloud and surf highlights. */
body[data-route="/services/ai-development/"] #main .source-photo-testimonial > .visual-panel::after { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #080d1099, #080d1033), linear-gradient(0deg, #080d10bb, #080d1044 65%, #080d1000); pointer-events: none; }
body[data-route="/services/ai-development/"] #main .source-photo-testimonial .photo-caption { left: clamp(32px, 5vw, 90px); right: 32px; top: auto; bottom: 14%; max-width: 380px; color: #f3f7f8; text-shadow: 0 2px 8px #000, 0 0 24px #000; }
body[data-route="/services/ai-development/"] #main .source-photo-testimonial .caption-primary { font-size: clamp(25px, 2.3vw, 34px); font-weight: 600; line-height: 1.25; letter-spacing: .1em; }
body[data-route="/services/ai-development/"] #main .source-photo-testimonial .caption-secondary { font-size: 13px; line-height: 1.7; margin-top: 25px; }

/* AI capability columns use an icon rail and connected circular bullet markers. */
body[data-route="/services/ai-development/"] #main .ai-capabilities-section { padding-block: 40px; background: #080d10; border-bottom: 1px solid var(--border); }
body[data-route="/services/ai-development/"] #main .ai-capability-grid { width: min(1840px, calc(100% - clamp(48px, 10vw, 200px))); margin-inline: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-route="/services/ai-development/"] #main .ai-capability-column { --rail-x: 56px; position: relative; display: flex; flex-direction: column; min-width: 0; padding: 0 32px; border-right: 1px solid var(--border); }
body[data-route="/services/ai-development/"] #main .ai-capability-column:first-child { --rail-x: 24px; padding-left: 0; }
body[data-route="/services/ai-development/"] #main .ai-capability-column:last-child { padding-right: 0; border-right: 0; }
body[data-route="/services/ai-development/"] #main .ai-capability-column::before { content: ''; position: absolute; top: 82px; bottom: 109px; left: var(--rail-x); border-left: 1px dotted #2ab5e566; }
body[data-route="/services/ai-development/"] #main .ai-capability-top { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 24px; min-height: 228px; }
body[data-route="/services/ai-development/"] #main .ai-capability-top > .icon { width: 48px; height: 48px; }
body[data-route="/services/ai-development/"] #main .ai-capability-top .eyebrow { font-size: 11px; margin-bottom: 25px; }
body[data-route="/services/ai-development/"] #main .ai-capability-top h2 { font: 500 clamp(24px, 2.2vw, 34px)/1.2 var(--body); text-transform: none; margin-bottom: 20px; }
body[data-route="/services/ai-development/"] #main .ai-capability-top p:not(.eyebrow) { font-size: 16px; line-height: 1.55; color: var(--muted); margin-bottom: 26px; }
body[data-route="/services/ai-development/"] #main .ai-capability-bullets { position: relative; display: grid; gap: 20px; list-style: none; margin: auto 0 0; padding: 0; }
body[data-route="/services/ai-development/"] #main .ai-capability-bullets li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: center; margin: 0; }
body[data-route="/services/ai-development/"] #main .ai-capability-bullets li > span:last-child { font-size: 16px; line-height: 1.5; color: var(--muted); }
body[data-route="/services/ai-development/"] #main .ai-capability-marker { position: relative; display: grid; place-items: center; width: 18px; height: 18px; margin-inline: auto; border: 1px solid currentColor; border-radius: 50%; background: #080d10; }
body[data-route="/services/ai-development/"] #main .ai-capability-marker::after { content: ''; width: 5px; height: 5px; border: 1px solid currentColor; border-radius: 50%; }
body[data-route="/services/ai-development/"] #main .ai-capability-column > .text-link { align-self: flex-start; margin-top: 32px; padding-bottom: 7px; border-bottom: 1px solid #2ab5e566; }

/* The larger management and roadmap diagrams share the continuous section photograph. */
#main :is(.managed-capability-section, .cio-roadmap-section) { position: relative; display: grid; overflow: hidden; background: #080d10; border-bottom: 1px solid var(--border); }
#main .managed-capability-section { grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); min-height: clamp(580px, 43vw, 800px); }
#main .cio-roadmap-section { grid-template-columns: minmax(0, 30fr) minmax(0, 70fr); min-height: clamp(430px, 34vw, 620px); }
#main .service-diagram-background { position: absolute; inset: 0; pointer-events: none; }
#main .service-diagram-background img { width: 100%; height: 100%; object-fit: cover; object-position: 65% 50%; filter: brightness(.55); }
#main .service-diagram-background::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #080d10, #080d10ed 25%, #080d10a6 44%, #080d1022 70%, #080d1033), linear-gradient(0deg, #080d10cc, #080d1000 26%, #080d1000 78%, #080d1066); }
#main .managed-capability-copy { position: relative; align-self: center; padding: 52px 25px 52px clamp(32px, 5vw, 100px); }
#main .managed-capability-copy .service-heading { font: 400 clamp(32px, 2.8vw, 44px)/1.15 Georgia, serif; }
#main .managed-capability-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; color: var(--muted); max-width: 630px; }
#main .managed-capability-copy > .text-link { padding-bottom: 7px; border-bottom: 1px solid #2ab5e566; }
#main .managed-capability-pillars { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 28px; }
#main .managed-capability-pillars article { min-width: 0; padding: 0 10px; border-left: 1px solid var(--border); }
#main .managed-capability-pillars article:first-child { padding-left: 0; border-left: 0; }
#main .managed-capability-pillars article:last-child { padding-right: 0; }
#main .managed-capability-pillars .icon { width: 44px; height: 44px; margin-bottom: 20px; }
#main .managed-capability-pillars h3 { font: 700 clamp(11px, .85vw, 14px)/1.5 var(--body); min-height: 4.5em; letter-spacing: .015em; color: inherit; overflow-wrap: anywhere; hyphens: auto; }
#main .managed-capability-pillars h3::after { content: ''; display: block; width: 32px; height: 2px; margin-top: 15px; background: currentColor; }
#main .managed-capability-pillars p { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 20px 0 0; }
#main .cio-roadmap-copy { position: relative; align-self: center; padding: 50px 30px 50px clamp(32px, 5vw, 100px); }
#main .cio-roadmap-copy .service-heading { font: 400 clamp(32px, 2.8vw, 44px)/1.15 Georgia, serif; }
#main .cio-roadmap-copy > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.6; }
#main .service-background-diagram { position: relative; min-width: 0; margin: 0; }
#main .service-background-diagram-viewport { width: 100%; height: 100%; }
#main .service-background-diagram-canvas { width: 100%; height: 100%; }
#main .service-background-diagram-canvas > img { width: 100%; height: 100%; object-fit: contain; }
#main .service-background-diagram figcaption { display: none; }
#main .service-background-diagram-viewport:focus-visible { outline: 2px solid var(--cyan); outline-offset: -3px; }

/* CIO partner: a broad meeting visual with a quiet caption area and stronger points. */
body[data-route="/services/fractional-cio/"] #main .cio-partner-section { display: grid; grid-template-columns: minmax(0, 40fr) minmax(0, 60fr); background: #080d10; border-bottom: 1px solid var(--border); padding-block: 44px; }
body[data-route="/services/fractional-cio/"] #main .cio-partner-copy { align-self: center; padding: 8px 36px 8px clamp(32px, 5vw, 100px); }
body[data-route="/services/fractional-cio/"] #main .cio-partner-copy .service-heading { font: 400 clamp(32px, 2.8vw, 44px)/1.15 Georgia, serif; }
body[data-route="/services/fractional-cio/"] #main .cio-partner-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; color: var(--muted); }
body[data-route="/services/fractional-cio/"] #main .cio-partner-points { list-style: none; display: grid; gap: 20px; padding: 0; margin: 28px 0 0; }
body[data-route="/services/fractional-cio/"] #main .cio-partner-points li { display: flex; align-items: center; gap: 18px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.5; }
body[data-route="/services/fractional-cio/"] #main .cio-partner-points .icon { width: 30px; height: 30px; }
body[data-route="/services/fractional-cio/"] #main .cio-partner-visual { position: relative; min-width: 0; min-height: 460px; margin-right: clamp(32px, 3vw, 65px); overflow: hidden; }
body[data-route="/services/fractional-cio/"] #main .cio-partner-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; filter: brightness(.78); }
body[data-route="/services/fractional-cio/"] #main .cio-partner-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #080d1022, #080d1000 55%, #080d1044 77%, #080d1080), linear-gradient(0deg, #080d1066, #080d1000 25%); }
body[data-route="/services/fractional-cio/"] #main .cio-partner-words { position: absolute; z-index: 1; top: 12%; right: 4%; width: 30%; font: 700 clamp(21px, 1.9vw, 33px)/1.15 var(--body); letter-spacing: -.025em; color: #9caab5; margin: 0; }
body[data-route="/services/fractional-cio/"] #main .cio-partner-words strong { color: var(--cyan); }
body[data-route="/services/fractional-cio/"] #main .cio-partner-words::after { content: ''; display: block; width: 58px; height: 2px; margin: 32px 0 0 auto; background: var(--purple); }
body[data-route="/services/fractional-cio/"] #main .cio-partner-outcomes { position: absolute; z-index: 1; bottom: 5%; right: 4%; font: 600 11px/1.8 var(--body); letter-spacing: .14em; color: #b6c2c9; margin: 0; }

/* Websites & UX: proportions, separators and vertical image fill from the references. */
body[data-route="/services/websites-ux/"] #main #section-1 { padding-block: 48px; background: linear-gradient(90deg, #080d10, #080d10 59%, #080d10cc 76%, #080d1055), url('/assets/images/digital-marketing-journey-mountains-clean-hd.webp') right center / cover; }
body[data-route="/services/websites-ux/"] #main #section-1 .opportunity-columns { grid-template-columns: minmax(0, 28fr) minmax(0, 40fr) minmax(0, 32fr); gap: 34px; align-items: start; }
body[data-route="/services/websites-ux/"] #main #section-1 .service-heading { font-size: clamp(34px, 3.1vw, 46px); line-height: 1.14; margin-bottom: 0; }
body[data-route="/services/websites-ux/"] #main #section-1 .opportunity-columns > div:not(:first-child) { padding: 38px 0 0 34px; }
body[data-route="/services/websites-ux/"] #main #section-1 .opportunity-columns > div:nth-child(2) p { color: var(--muted); font-size: 17px; line-height: 1.6; }
body[data-route="/services/websites-ux/"] #main #section-1 .check-list { margin: 0 0 32px; }
body[data-route="/services/websites-ux/"] #main #section-1 .check-list li { color: var(--text); font-size: 21px; margin: 0 0 24px; padding-left: 42px; }
body[data-route="/services/websites-ux/"] #main #section-1 .opportunity-caption { padding-left: 42px; }
body[data-route="/services/websites-ux/"] #main #section-2 { padding-block: 40px 46px; }
body[data-route="/services/websites-ux/"] #main #section-2 .source-open-grid { gap: 0; }
body[data-route="/services/websites-ux/"] #main #section-2 .service-card { display: flex; flex-direction: column; padding: 10px 28px 0; overflow: visible; }
body[data-route="/services/websites-ux/"] #main #section-2 .service-card:first-child { padding-left: 0; }
body[data-route="/services/websites-ux/"] #main #section-2 .service-card:last-child { padding-right: 0; }
body[data-route="/services/websites-ux/"] #main #section-2 .service-card .icon { width: 70px; height: 70px; padding: 14px; border: 1px solid currentColor; border-radius: 50%; margin-bottom: 22px; }
body[data-route="/services/websites-ux/"] #main #section-2 .service-card h3 { font: 400 clamp(21px, 1.75vw, 27px)/1.2 Georgia, serif; min-height: 2.4em; }
body[data-route="/services/websites-ux/"] #main #section-2 .service-card p { font-size: 16px; line-height: 1.55; margin-bottom: 24px; }
body[data-route="/services/websites-ux/"] #main #section-2 .text-link { align-self: flex-start; margin-top: auto; padding-bottom: 6px; border-bottom: 1px solid #2ab5e566; font-size: 13px; }
body[data-route="/services/websites-ux/"] #main #section-5 { padding-block: 0; }
body[data-route="/services/websites-ux/"] #main #section-5 > .container { width: 100%; max-width: none; }
body[data-route="/services/websites-ux/"] #main #section-5 .performance-layout { grid-template-columns: minmax(0, 38fr) minmax(0, 24fr) minmax(0, 38fr); gap: 0; align-items: stretch; }
body[data-route="/services/websites-ux/"] #main #section-5 .performance-layout > div:first-child { padding: 48px 36px 48px max(45px, calc((100vw - 1280px) / 2)); }
body[data-route="/services/websites-ux/"] #main #section-5 .performance-layout > div:last-child { padding: 48px max(45px, calc((100vw - 1280px) / 2)) 48px 48px; }
body[data-route="/services/websites-ux/"] #main #section-5 .service-heading { font-size: clamp(32px, 2.75vw, 42px); }
body[data-route="/services/websites-ux/"] #main #section-5 .performance-layout > div > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.6; }
body[data-route="/services/websites-ux/"] #main #section-5 .check-list { font-size: 16px; }
body[data-route="/services/websites-ux/"] #main #section-5 .performance-strip { display: grid; align-items: center; padding: 34px 38px; border-inline: 1px solid #27303580; }
body[data-route="/services/websites-ux/"] #main #section-5 .strip-photo { opacity: .18; }
body[data-route="/services/websites-ux/"] #main #section-5 .service-stats > div { padding-block: 24px; border-color: #2ab5e555; }
body[data-route="/services/websites-ux/"] #main #section-5 .service-stats strong { font-size: 32px; }
body[data-route="/services/websites-ux/"] #main #section-5 .service-stats p { font-size: 14px; line-height: 1.6; max-width: 20ch; }
body[data-route="/services/websites-ux/"] #main #section-7 { padding-block: 40px; background: #0a1115; }
body[data-route="/services/websites-ux/"] #main #section-7 > .container { position: static; }
body[data-route="/services/websites-ux/"] #main #section-7 .source-testimonial-row { grid-template-columns: minmax(0, 28fr) minmax(0, 72fr); gap: 45px; }
body[data-route="/services/websites-ux/"] #main #section-7 .source-testimonial-row > div:last-child { max-width: 800px; }
body[data-route="/services/websites-ux/"] #main #section-7 .testimonial-background { inset: 0 0 0 auto; width: 65%; height: 100%; opacity: .32; mask-image: linear-gradient(90deg, transparent, #000 80%); }
body[data-route="/services/websites-ux/"] #main #section-7 .service-heading { font-size: 34px; }
body[data-route="/services/websites-ux/"] #main #section-8 { padding-block: 38px; }
body[data-route="/services/websites-ux/"] #main #section-8 .faq-layout { grid-template-columns: minmax(0, 28fr) minmax(0, 72fr); gap: 45px; }
body[data-route="/services/websites-ux/"] #main #section-8 .service-heading { font-size: 36px; }
body[data-route="/services/websites-ux/"] #main #section-8 .faq-item { padding-block: 11px; }
body[data-route="/services/websites-ux/"] #main #section-8 .faq-item summary { font-size: 16px; }

@media (max-width: 1100px) {
  body[data-route="/services/fractional-cio/"] #main .cio-partner-section { grid-template-columns: minmax(0, 1fr); padding-block: 0; }
  body[data-route="/services/fractional-cio/"] #main .cio-partner-copy { padding: 38px 24px; max-width: 850px; }
  body[data-route="/services/fractional-cio/"] #main .cio-partner-visual { min-height: 0; aspect-ratio: 2 / 1; width: 100%; margin-right: 0; }
  #main :is(.managed-capability-section, .cio-roadmap-section) { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  #main :is(.managed-capability-copy, .cio-roadmap-copy) { padding: 38px 24px; }
  #main .managed-capability-pillars { margin-top: 26px; }
  #main .managed-capability-pillars h3 { font-size: 13px; }
  #main .service-background-diagram-viewport { height: auto; overflow-x: auto; overscroll-behavior-inline: contain; }
  #main .managed-capability-diagram .service-background-diagram-canvas { width: max(100%, 820px); height: auto; aspect-ratio: 900 / 712; }
  #main .cio-roadmap-diagram .service-background-diagram-canvas { width: max(100%, 900px); height: auto; aspect-ratio: 988 / 436; }
  #main .service-background-diagram figcaption { display: block; padding: 12px 24px; color: var(--muted); font-size: 13px; }
  #main .service-background-diagram figcaption a { color: var(--cyan); text-decoration: underline; }
  body[data-route="/services/ai-development/"] #main .ai-capability-grid { grid-template-columns: minmax(0, 1fr); width: calc(100% - 48px); gap: 36px; }
  body[data-route="/services/ai-development/"] #main .ai-capability-column { --rail-x: 24px; padding: 0 0 34px; border-right: 0; border-bottom: 1px solid var(--border); }
  body[data-route="/services/ai-development/"] #main .ai-capability-column:last-child { border-bottom: 0; padding-bottom: 0; }
  body[data-route="/services/ai-development/"] #main .ai-capability-top { min-height: 0; }
  body[data-route="/services/ai-development/"] #main .ai-capability-top .eyebrow { margin-bottom: 16px; }
  body[data-route="/services/ai-development/"] #main .ai-capability-column::before { bottom: 143px; }
  body[data-route="/services/ai-development/"] #main .ai-capability-column:last-child::before { bottom: 109px; }
  body[data-route="/services/ai-development/"] #main .ai-reality-layout { display: flex; flex-direction: column; gap: 0; min-height: 0; }
  body[data-route="/services/ai-development/"] #main .ai-reality-copy { padding-block: 38px 20px; }
  body[data-route="/services/ai-development/"] #main .ai-reality-art { min-height: 320px; }
  body[data-route="/services/ai-development/"] #main .ai-reality-background img { width: 100%; object-position: 60% 75%; }
  body[data-route="/services/ai-development/"] #main .ai-reality-background::after { background: linear-gradient(180deg, #080d10f5, #080d10e8 58%, #080d1077 77%, #080d1044); }
  body[data-route="/services/ai-development/"] #main .ai-strategy-section { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  body[data-route="/services/ai-development/"] #main .ai-strategy-visual { width: 100%; }
  body[data-route="/services/ai-development/"] #main .ai-strategy-visual .visual-panel { aspect-ratio: auto; }
  body[data-route="/services/ai-development/"] #main .ai-strategy-canvas { position: relative; inset: auto; width: 100%; min-width: 0; height: auto; aspect-ratio: auto; transform: none; }
  body[data-route="/services/ai-development/"] #main .ai-strategy-canvas > .panel-photo { position: relative; height: auto; aspect-ratio: 1774 / 887; }
  body[data-route="/services/ai-development/"] #main .ai-strategy-section .split-copy { padding: 34px 24px 40px; max-width: 850px; }
  body[data-route="/services/custom-software/"] #main .custom-process-layout { grid-template-columns: minmax(0, 1fr); width: calc(100% - 48px); gap: 28px; }
  body[data-route="/services/custom-software/"] #main .custom-process-intro { max-width: 700px; }
  body[data-route="/services/custom-software/"] #main .custom-process-note { display: none; }
  body[data-route="/services/custom-software/"] #main .custom-partner-section { display: flex; flex-direction: column; min-height: 0; }
  body[data-route="/services/custom-software/"] #main .custom-partner-copy { order: 0; align-self: stretch; padding: 36px 24px 22px; }
  body[data-route="/services/custom-software/"] #main .custom-partner-points { order: 1; align-self: stretch; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 12px 24px 34px; border-left: 0; }
  body[data-route="/services/custom-software/"] #main .custom-partner-caption { order: 2; min-height: 340px; }
  body[data-route="/services/custom-software/"] #main .custom-partner-background img { width: 100%; object-position: 40% 100%; }
  body[data-route="/services/custom-software/"] #main .custom-partner-background::after { background: linear-gradient(180deg, #080d10f5, #080d10e8 55%, #080d1055 78%, #080d1033); }
  body[data-route="/services/custom-software/"] #main .custom-solutions-section { grid-template-columns: minmax(0, 1fr); }
  body[data-route="/services/custom-software/"] #main .custom-solutions-intro { padding: 38px 24px 16px; max-width: 740px; }
  body[data-route="/services/custom-software/"] #main .custom-solutions-grid { padding: 12px 24px 30px; }
  body[data-route="/services/custom-software/"] #main .custom-solutions-grid article:first-child, body[data-route="/services/custom-software/"] #main .custom-solutions-grid article:nth-child(4) { border-left: 0; padding-left: 0; }
  body[data-route="/services/custom-software/"] #main .custom-solutions-visual { min-height: 340px; }
  body[data-route="/services/custom-software/"] #main .custom-solutions-visual .panel-photo { object-position: 50% 72%; }
  body[data-route="/services/custom-software/"] #main .custom-imics-section { grid-template-columns: minmax(0, 1fr); }
  body[data-route="/services/custom-software/"] #main .custom-imics-copy { padding: 36px 24px; max-width: 780px; }
  body[data-route="/services/custom-software/"] #main .custom-imics-visual { min-height: 0; aspect-ratio: 3 / 2; }
  body[data-route="/services/custom-software/"] #main .custom-imics-visual .panel-photo { object-fit: contain; }
  body[data-route="/services/custom-software/"] #main .custom-imics-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 32px 24px; gap: 28px; }
  body[data-route="/services/custom-software/"] #main .custom-opportunity-layout { display: flex; flex-direction: column; gap: 0; min-height: 0; }
  body[data-route="/services/custom-software/"] #main .custom-opportunity-copy { order: 0; padding-block: 36px 18px; }
  body[data-route="/services/custom-software/"] #main .custom-opportunity-points { order: 1; align-self: stretch; border-left: 0; padding: 14px 0 30px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-route="/services/custom-software/"] #main .custom-opportunity-caption { order: 2; min-height: 250px; }
  body[data-route="/services/custom-software/"] #main .custom-opportunity-background img { width: 100%; object-position: 40% 70%; }
  body[data-route="/services/custom-software/"] #main .custom-opportunity-background::after { background: linear-gradient(180deg, #080d10f5, #080d10e8 60%, #080d1066 82%, #080d1044); }
  #main .service-compound-section { grid-template-columns: minmax(0, 1fr); }
  #main .compound-copy { padding: 40px 24px; }
  #main .compound-visual { min-height: 0; }
  #main .compound-diagram-viewport { height: auto; overflow-x: auto; overscroll-behavior-inline: contain; }
  #main .compound-diagram-canvas { width: max(100%, 900px); min-height: 0; aspect-ratio: 1000 / 472; }
  #main .compound-growth-overlay { min-height: 0; height: 100%; }
  #main .compound-diagram-hint { display: block; padding: 12px 24px; color: var(--muted); font-size: 13px; }
  #main .compound-diagram-hint a { color: var(--cyan); text-decoration: underline; }
  #main .visibility-content { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-top: 38px; }
  #main .visibility-copy { max-width: 780px; padding-bottom: 22px; }
  #main .visibility-landscape { inset: 55% 0 0; }
  #main .visibility-journey { margin-bottom: 0; }
  #main .visibility-stages { gap: 30px; }
  #main .visibility-progress { min-height: 230px; }
  #main .digital-search-copy { width: 72%; }
  #main .digital-search-section .digital-section-background::after { background: linear-gradient(90deg, #080d10f2, #080d10e6 52%, #080d1099 78%, #080d1044); }
  #main .digital-proof-layout { grid-template-columns: minmax(0, 30fr) minmax(0, 70fr); gap: 20px; }
  #main .digital-proof-features { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #main .digital-proof-features .icon { width: 34px; height: 38px; }
  #main .digital-proof-features p { font-size: 15px; }
  body[data-route="/services/websites-ux/"] #main #section-1 .opportunity-columns > div:not(:first-child) { padding: 0; }
  body[data-route="/services/websites-ux/"] #main #section-1 .check-list li { padding-left: 34px; }
  body[data-route="/services/websites-ux/"] #main #section-1 .opportunity-caption { padding-left: 34px; }
  body[data-route="/services/websites-ux/"] #main #section-2 .source-open-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  body[data-route="/services/websites-ux/"] #main #section-2 .service-card { padding: 0 20px 24px 0; border: 0; border-bottom: 1px solid var(--border); }
  body[data-route="/services/websites-ux/"] #main #section-5 .performance-layout > div:first-child,
  body[data-route="/services/websites-ux/"] #main #section-5 .performance-layout > div:last-child { padding: 36px 24px; }
  body[data-route="/services/websites-ux/"] #main #section-5 .performance-strip { padding: 26px 24px; min-height: 0; }
  body[data-route="/services/websites-ux/"] #main #section-5 .service-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
  body[data-route="/services/websites-ux/"] #main #section-5 .service-stats > div { border-bottom: 0; padding-block: 10px; }
  body[data-route="/services/websites-ux/"] #main #section-8 .faq-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 700px) {
  body[data-route="/services/fractional-cio/"] #main .cio-partner-words { font-size: clamp(13px, 3.4vw, 22px); }
  body[data-route="/services/fractional-cio/"] #main .cio-partner-words::after { width: 34px; margin-top: 15px; }
  body[data-route="/services/fractional-cio/"] #main .cio-partner-outcomes { font-size: 8px; letter-spacing: .08em; }
  #main .managed-capability-pillars { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  #main .managed-capability-pillars article { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 0 20px; padding: 0 0 22px; border-left: 0; border-bottom: 1px solid var(--border); }
  #main .managed-capability-pillars article:last-child { border-bottom: 0; }
  #main .managed-capability-pillars .icon { grid-row: 1 / 3; margin-bottom: 0; }
  #main .managed-capability-pillars h3 { min-height: 0; font-size: 15px; margin-bottom: 0; }
  #main .managed-capability-pillars h3::after { display: none; }
  #main .managed-capability-pillars p { grid-column: 2; font-size: 16px; margin-top: 8px; }
  body[data-route="/services/ai-development/"] #main .ai-reality-problems li { gap: 15px; font-size: 16px; }
  body[data-route="/services/ai-development/"] #main .ai-reality-art .caption-primary { left: 10%; font-size: 21px; }
  body[data-route="/services/custom-software/"] #main .custom-process-stages { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  body[data-route="/services/custom-software/"] #main .custom-process-stages li { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 18px; }
  body[data-route="/services/custom-software/"] #main .custom-process-stages li > span { grid-row: 1 / 3; }
  body[data-route="/services/custom-software/"] #main .custom-process-stages li::before { top: 58px; bottom: -14px; left: 24px; right: auto; width: 1px; height: auto; background: #354851; }
  body[data-route="/services/custom-software/"] #main .custom-process-stages li:last-child::before { display: none; }
  body[data-route="/services/custom-software/"] #main .custom-process-stages h3 { margin-top: 2px; }
  body[data-route="/services/custom-software/"] #main .custom-process-stages p { grid-column: 2; }
  body[data-route="/services/custom-software/"] #main .custom-partner-points { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body[data-route="/services/custom-software/"] #main .custom-solutions-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-route="/services/custom-software/"] #main .custom-solutions-grid article { padding: 24px 0; border-left: 0; border-bottom: 1px solid var(--border); }
  body[data-route="/services/custom-software/"] #main .custom-solutions-grid article:last-child { border-bottom: 0; }
  body[data-route="/services/custom-software/"] #main .custom-solutions-grid p { font-size: 16px; max-width: 38ch; }
  body[data-route="/services/custom-software/"] #main .custom-imics-metrics { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body[data-route="/services/custom-software/"] #main .custom-opportunity-points { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #main .service-testimonial-carousel .service-quote { font-size: 20px; line-height: 1.55; }
  #main .visibility-stages { grid-template-columns: minmax(0, 1fr); gap: 0; }
  #main .visibility-stages li { display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 16px; text-align: left; padding: 18px 0; border-bottom: 1px solid var(--border); }
  #main .visibility-stages .icon { grid-row: 1 / 3; align-self: start; }
  #main .visibility-stages h3 { margin: 0 0 5px; }
  #main .visibility-stages p { grid-column: 2; font-size: 15px; }
  #main .visibility-stages li:not(:last-child)::after { display: none; }
  #main .visibility-landscape { top: 75%; }
  #main .visibility-progress { min-height: 180px; }
  #main .visibility-progress > p { font-size: 10px; bottom: 18px; }
  #main .digital-search-copy { width: 100%; padding-block: 40px; }
  #main .digital-search-photo { width: 100%; object-position: 70% 50%; }
  #main .digital-search-section .digital-section-background::after { background: #080d10e8; }
  #main .digital-search-columns { gap: 22px; }
  #main .digital-search-columns > div { padding-left: 14px; }
  #main .digital-search-columns .check-list { font-size: 14px; }
  #main .digital-proof-layout { display: flex; flex-direction: column; gap: 0; }
  #main .digital-proof-copy { order: 0; padding-block: 40px 30px; }
  #main .digital-proof-caption { order: 1; min-height: 260px; }
  #main .digital-proof-caption .photo-caption { left: 16px; bottom: 28px; font-size: 12px; }
  #main .digital-proof-photo { width: 100%; height: 100%; object-position: 50% 100%; }
  #main .digital-proof-section .digital-section-background::after { background: linear-gradient(180deg, #080d10f5, #080d10e8 57%, #080d1066 76%, #080d1044); }
  body[data-route="/services/digital-marketing/"] #main #section-7 .cta-photo { object-position: 78% 0%; }
  body[data-route="/services/websites-ux/"] #main #section-1 { padding-block: 36px; }
  body[data-route="/services/websites-ux/"] #main #section-2 .source-open-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  body[data-route="/services/websites-ux/"] #main #section-2 .service-card h3 { min-height: 0; font-size: 26px; }
  body[data-route="/services/websites-ux/"] #main #section-2 .service-card p { max-width: 38ch; }
  body[data-route="/services/websites-ux/"] #main #section-5 .service-stats { grid-template-columns: minmax(0, 1fr); gap: 0; }
  body[data-route="/services/websites-ux/"] #main #section-5 .service-stats > div { padding-block: 22px; border-bottom: 1px solid #2ab5e555; }
  body[data-route="/services/websites-ux/"] #main #section-5 .service-stats > div:last-child { border: 0; }
  body[data-route="/services/websites-ux/"] #main #section-7 .source-testimonial-row { gap: 22px; }
}

/* Compact rotation navigation; no visible play/pause controls. */
.carousel-controls .carousel-dots{margin:0 0 0 8px;gap:7px;align-self:center}.carousel-controls .carousel-dots button{flex-shrink:0}.client-logo-controls{justify-content:center;gap:14px}.venture-controls{justify-content:flex-end;gap:10px}.client-logo-controls button{min-width:34px}

/* Full-height case-study artwork sits flush with its section and screen edge. */
.capability-case-study {
  padding: 0;
  border-block: 1px solid var(--border);
  background: #080d10;
}
.capability-case-layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: stretch;
  gap: 0;
  min-height: 38.333333vw;
}
.capability-case-copy { min-width: 0; align-self: center; padding: clamp(36px, 4vw, 76px); }
.capability-case-copy .eyebrow { margin-bottom: 14px; }
.capability-case-project {
  margin: 0 0 12px;
  color: var(--case-feature-accent, var(--cyan));
  font-size: 18px;
  font-weight: 600;
}
.capability-case-title {
  max-width: 17ch;
  margin: 0 0 18px;
  font: 400 clamp(30px, 2.6vw, 42px)/1.16 Georgia, serif;
}
.capability-case-description {
  max-width: 49ch;
  margin: 0 0 22px;
  color: var(--muted);
  line-height: 1.65;
}
.capability-case-focus {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}
.capability-case-focus li { display: flex; align-items: center; gap: 7px; font-size: 12px; }
.capability-case-focus .icon { width: 19px; height: 19px; flex-shrink: 0; margin: 0; }
.capability-case-visual { position: relative; display: block; width: 100%; min-width: 0; align-self: stretch; overflow: hidden; line-height: 0; }
.capability-case-visual img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.capability-case-visual:focus-visible { outline: 2px solid var(--cyan); outline-offset: 6px; }
.capability-case-visual-left .capability-case-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.capability-case-visual-left .capability-case-visual { grid-column: 1; grid-row: 1; }
.capability-case-visual-left .capability-case-copy { grid-column: 2; grid-row: 1; }
@media (max-width: 1200px) {
  .capability-case-layout,
  .capability-case-visual-left .capability-case-layout { grid-template-columns: minmax(0, 1fr); gap: 0; min-height: 0; }
  .capability-case-visual-left .capability-case-copy,
  .capability-case-visual-left .capability-case-visual { grid-column: auto; grid-row: auto; }
  .capability-case-title { max-width: 21ch; }
  .capability-case-copy { max-width: 780px; padding: 40px max(24px, 5vw); }
  .capability-case-visual { min-height: 0; }
  .capability-case-visual img { position: static; height: auto; }
}

/* Direct profiles for the founders, with a comfortable link target. */
.founder-profile-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--cyan); font-size: 13px; font-weight: 600; }
.founder-profile-link svg { width: 16px; height: 16px; flex-shrink: 0; }
.founder-profile-link:hover, .founder-profile-link:focus-visible { text-decoration: underline; text-underline-offset: 4px; }

.capability-case-copy > p:not(.eyebrow):not(.capability-case-project) { color: var(--muted); line-height: 1.65; }
.capability-case-copy > .service-heading { margin-bottom: 14px; font-size: clamp(30px, 2.7vw, 42px); }
.capability-case-copy > h3 { font-size: 18px; line-height: 1.35; }
.capability-case-detail { margin-bottom: 22px; color: var(--muted); font-size: 14px; }
.capability-case-detail > p { margin-bottom: 16px; }
.capability-case-detail .check-list { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; }
.capability-case-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 18px; margin: 24px 0; }
.capability-case-metrics > div { display: flex; gap: 10px; align-items: flex-start; min-width: 0; }
.capability-case-metrics .icon { width: 25px; height: 25px; }
.capability-case-metrics strong { display: block; margin-bottom: 6px; color: var(--cyan); font-size: 25px; line-height: 1.15; }
.capability-case-metrics p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.amyco-identity-visual .panel-photo { object-position: center; }
@media (max-width: 500px) { .capability-case-metrics { grid-template-columns: minmax(0, 1fr); } }

/* Let the landscape AMYCO artwork set a compact, natural section height. */
.amyco-identity-section { min-height: 0; }
#main .amyco-identity-section > .amyco-identity-visual { min-height: 0; aspect-ratio: auto; align-self: center; }
.amyco-identity-visual .panel-photo { position: static; display: block; width: 100%; height: auto; object-fit: contain; }

#main .faq-directory-hero .hero-visual { inset: 0; width: 100%; height: 100%; }
#main .faq-directory-hero .hero-photo { width: 100%; height: 100%; object-position: 70% 50%; opacity: 1; }
#main .faq-directory-hero .hero-shade { background: linear-gradient(90deg, #080d10 0%, #080d10ed 28%, #080d1080 54%, #080d1000 82%); }
.faq-directory-hero .hero-copy { max-width: 620px; }
.faq-directory-hero .button-row { display: none; }
#faq-closing-cta .cta-photo { object-position: 70% 0%; }
@media (max-width: 700px) {
 #faq-closing-cta .cta-photo { object-position: 78% 0%; }
}
.faq-directory-layout { display: grid; grid-template-columns: minmax(200px, 250px) minmax(0, 1fr); gap: clamp(36px, 6vw, 95px); padding-block: 64px 90px; }
.faq-category-nav { position: sticky; top: 26px; align-self: start; }
.faq-category-nav > p { margin: 0 0 16px; color: var(--cyan); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.faq-category-nav a { display: flex; justify-content: space-between; align-items: center; gap: 18px; min-height: 48px; padding-block: 12px; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 14px; line-height: 1.5; }
.faq-category-nav a:hover, .faq-category-nav a:focus-visible { color: var(--cyan); }
.faq-category-nav a > span { color: var(--cyan); }
.faq-directory-categories { min-width: 0; }
.faq-category { scroll-margin-top: 32px; padding-bottom: 54px; }
.faq-category + .faq-category { padding-top: 34px; }
.faq-category h2 { max-width: 24ch; margin-bottom: 20px; font: 400 clamp(28px, 3vw, 38px)/1.15 Georgia, serif; }
.faq-category > .text-link { margin-top: 22px; min-height: 44px; }
.faq-category .faq-item summary { min-height: 44px; align-items: center; }
.faq-category .faq-item p { max-width: 75ch; line-height: 1.75; }
@media (max-width: 850px) {
 .faq-directory-layout { grid-template-columns: minmax(0, 1fr); gap: 44px; padding-block: 36px 55px; }
 .faq-category-nav { position: static; }
}

/* The active capability follows the current route, including the overview. */
.service-dropdown a.active { color: var(--cyan); background: #102832; box-shadow: inset 2px 0 var(--cyan); }

/* Content & Messaging follows the same left gutter as Performance below it. */
body[data-route="/services/websites-ux/"] #main #section-4 > .split-copy {
  padding: 48px 36px 48px max(45px, calc((100vw - 1280px) / 2));
}
body[data-route="/services/websites-ux/"] #main #section-4 .photo-caption {
  left: auto; right: 10%; top: 9%; bottom: auto;
  max-width: 360px; color: #f4f8fa; text-align: right;
  font-size: clamp(28px, 2.5vw, 37px); line-height: 1.12;
  text-shadow: 0 2px 8px #000, 0 0 24px #000;
}
body[data-route="/services/websites-ux/"] #main #section-4 > .visual-panel::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, transparent 35%, #080d1077 75%);
}
body[data-route="/services/websites-ux/"] #main #section-4 .photo-caption::before { font-size: 48px; margin-bottom: 8px; }
body[data-route="/services/websites-ux/"] #main #section-4 .photo-caption .caption-secondary { margin-top: 16px; font-size: 12px; line-height: 1.6; }
@media (max-width: 1100px) {
  body[data-route="/services/websites-ux/"] #main #section-4 > .split-copy { padding: 36px 24px; }
  body[data-route="/services/websites-ux/"] #main #section-4 .photo-caption {
    position: absolute; top: 26px; right: 24px; left: auto; bottom: auto;
    padding: 0; max-width: calc(100% - 48px); font-size: 28px;
  }
  body[data-route="/services/websites-ux/"] #main #section-4 .visual-panel.has-serif-caption > .panel-photo { height: 360px; }
}
/* The Digital Marketing landscape spans the testimonial and fades beneath its copy. */
body[data-route="/services/digital-marketing/"] #main .digital-client-perspective { display:block; isolation:isolate; background:#080d10; }
body[data-route="/services/digital-marketing/"] #main .digital-client-perspective > .source-testimonial-copy { position:relative; z-index:1; width:41%; min-height:inherit; display:flex; flex-direction:column; justify-content:center; }
body[data-route="/services/digital-marketing/"] #main .digital-client-perspective > .visual-panel { position:absolute; inset:0; min-height:0; z-index:0; }
body[data-route="/services/digital-marketing/"] #main .digital-client-perspective .panel-photo { object-position:70% 50%; -webkit-mask-image:linear-gradient(90deg, transparent, #000 45%); mask-image:linear-gradient(90deg, transparent, #000 45%); }
body[data-route="/services/digital-marketing/"] #main .digital-client-perspective > .visual-panel::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, #080d10 0%, #080d10ed 22%, #080d1080 46%, #080d1000 72%),linear-gradient(0deg,#080d1066,transparent 25%,transparent 80%,#080d1044); }
@media (max-width:1100px) {
 body[data-route="/services/digital-marketing/"] #main .digital-client-perspective > .source-testimonial-copy { width:100%; padding:40px 24px; }
 body[data-route="/services/digital-marketing/"] #main .digital-client-perspective > .visual-panel::after { background:linear-gradient(90deg,#080d10e8,#080d1099),linear-gradient(0deg,#080d10b3,transparent 35%); }
}

/* Keep the existing hero caption clear of the homepage shown on the phone. */
body[data-route="/services/websites-ux/"] #main .hero-visual .photo-caption { top:6%; right:4%; bottom:auto; text-align:right; text-shadow:0 2px 8px #080d10; }
body[data-route="/services/websites-ux/"] #main .hero-visual .photo-caption::before { left:auto; right:0; }

.newsletter .newsletter-consent { font-size: 11px; line-height: 1.5; margin: 12px 0 0; color: #b7c1c7; }

/* Dedicated venture pages share the Collective's editorial and coastal language. */
.venture-detail { --venture-accent: var(--cyan); }
.venture-accent-purple { --venture-accent: var(--purple); }
.venture-accent-green { --venture-accent: var(--green); }
.venture-accent-gold { --venture-accent: var(--gold); }
.venture-detail .eyebrow, .venture-detail .text-link { color: var(--venture-accent); }
.venture-detail-hero { isolation: isolate; overflow: hidden; background: var(--bg); border-bottom: 1px solid var(--border); }
.venture-detail-hero-photo { position: absolute; z-index: -2; inset: 0 0 0 auto; width: 75%; height: 100%; object-fit: cover; object-position: 55% 50%; filter: brightness(.7) saturate(.85); }
.venture-detail-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, #080d10 0%, #080d1000 40%), linear-gradient(90deg, #080d10 8%, #080d10ed 30%, #080d1073 62%, #080d101a); }
.venture-detail-hero > .container { min-height: 640px; padding-block: 28px 34px; display: flex; flex-direction: column; }
.venture-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px 12px; padding: 0; margin: 0 0 48px; list-style: none; font-size: 12px; color: #b9c1c5; }
.venture-breadcrumb li { margin: 0; }
.venture-breadcrumb li + li::before { content: "/"; margin-right: 12px; color: #77868e; }
.venture-breadcrumb a { display: inline-flex; align-items: center; min-height: 32px; color: var(--venture-accent); }
.venture-breadcrumb span { display: inline-block; padding-block: 7px; }
.venture-detail-hero-copy { max-width: 720px; padding-bottom: 46px; }
.venture-detail-hero h1 { font-size: clamp(40px, 4.5vw, 66px); line-height: 1.08; letter-spacing: -.025em; overflow-wrap: anywhere; }
.venture-detail-lead { max-width: 550px; font-size: 18px; line-height: 1.6; color: #c1c6c9; }
.venture-detail .button:not(.button-outline) { background: var(--venture-accent); border-color: var(--venture-accent); color: #081015; }
.venture-detail .button:hover { filter: brightness(1.12); }
.venture-focus-list { display: flex; flex-wrap: wrap; gap: 16px 28px; list-style: none; margin: auto 0 0; padding: 22px 0 0; border-top: 1px solid #69777f55; max-width: 850px; color: #c2c9cd; font-size: 13px; }
.venture-focus-list li { margin: 0; padding-left: 14px; position: relative; }
.venture-focus-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; background: var(--venture-accent); }
.venture-detail-section { padding-block: clamp(46px, 6vw, 78px); border-bottom: 1px solid var(--border); }
.venture-detail h2 { font: 400 clamp(30px, 3vw, 44px)/1.15 Georgia, 'Times New Roman', serif; }
.venture-detail h3 { font-size: 20px; line-height: 1.3; }
.venture-detail-section p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.7; }
.venture-editorial-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(36px, 7vw, 100px); align-items: start; }
.venture-editorial-grid > *, .venture-offering-grid > *, .venture-audience-grid > *, .venture-related-grid > * { min-width: 0; }
.venture-body-copy { padding-top: 30px; }
.venture-body-copy p:last-child { margin-bottom: 0; }
.venture-section-heading { max-width: 740px; margin-bottom: 35px; }
.venture-section-heading > p:last-child { max-width: 650px; }
.venture-offerings { background: #0b1114; }
.venture-offering-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.venture-offering { position: relative; padding: 0 25px; border-left: 1px solid var(--border); }
.venture-offering:first-child { padding-left: 0; border-left: 0; }
.venture-offering:last-child { padding-right: 0; }
.venture-offering > .icon { margin-bottom: 26px; }
.venture-item-number { display: block; color: #77868e; font-size: 12px; margin-bottom: 12px; }
.venture-offering h3 { color: var(--venture-accent); }
.venture-offering p:last-child { font-size: 14px; margin-bottom: 0; }
.venture-offering .venture-offering-tag { font-size: 14px; font-weight: 700; line-height: 1.45; color: var(--text); }
.venture-perspective { background: linear-gradient(90deg, #080d10ed, #080d10e6 50%, #080d10cc), url('/assets/images/mountain-dark-hd.webp') center / cover; }
.venture-perspective .venture-editorial-grid > div > p:last-child { max-width: 470px; }
.venture-principles { list-style: none; padding: 0; margin: 0; }
.venture-principles li { display: flex; align-items: start; gap: 22px; padding-block: 24px; border-top: 1px solid var(--border); margin: 0; }
.venture-principles li:first-child { padding-top: 0; border-top: 0; }
.venture-principles li > span { color: var(--venture-accent); font-size: 14px; padding-top: 4px; }
.venture-principles h3 { color: var(--text); margin-bottom: 7px; }
.venture-principles li p { margin-bottom: 0; font-size: 15px; }
.venture-audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px; }
.venture-audience-grid > div { padding-top: 24px; border-top: 2px solid var(--venture-accent); }
.venture-audience-grid p { margin-bottom: 0; }
.venture-detail #venture-connect { min-height: 390px; background: var(--bg); }
.venture-detail #venture-connect .cta-copy h2 { font: 800 clamp(32px, 3.6vw, 50px)/1.1 var(--display); }
.venture-detail #venture-connect .cta-copy { max-width: 800px; }
.venture-detail #venture-connect .cta-copy > p:last-child { max-width: 590px; }
.venture-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.venture-related-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); border: 1px solid var(--border); background: #101619; transition: border-color .18s; }
.venture-related-card:hover { border-color: var(--venture-accent); }
.venture-related-card > img { width: 100%; height: 100%; min-height: 245px; object-fit: cover; filter: brightness(.75) saturate(.85); }
.venture-related-card > div { padding: 25px; }
.venture-related-card .eyebrow { font-size: 10px; color: var(--muted); }
.venture-related-card h3 { font-size: 21px; overflow-wrap: anywhere; }
.venture-related-card p:not(.eyebrow) { font-size: 14px; }
.venture-directory { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 38px; padding-top: 24px; border-top: 1px solid var(--border); }
.venture-directory a { display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; font-weight: 600; letter-spacing: .04em; color: var(--muted); }
.venture-directory a:hover, .venture-directory [aria-current] { color: var(--venture-accent); }

/* Original identities sit within the Collective's shared page framework. */
.venture-detail-hero-photo { width: 100%; }
.venture-detail-hero .venture-breadcrumb ol { margin-bottom: 24px; }
.venture-brand-mark { display: grid; place-items: center; width: 300px; max-width: 100%; padding: 14px 18px; margin-bottom: 24px; border: 1px solid #ffffff1a; }
.venture-brand-mark img { display: block; width: 100%; height: auto; max-height: 110px; object-fit: contain; }
.venture-brand-mark.surface-ivory { background: #f7f6f2; }
.venture-brand-mark.surface-white { background: #fff; }
.venture-brand-mark.surface-navy { background: #010f19; }
.venture-brand-mark.surface-gaming { background: #030814; }
.venture-brand-mark.surface-paper { background: #f3f0e9; }
.venture-brand-mark.logo-crop-aviv { position: relative; display: block; padding: 0; aspect-ratio: 520 / 210; overflow: hidden; }
.venture-brand-mark.logo-crop-aviv img { position: absolute; width: 295.3846%; max-width: none; max-height: none; height: auto; left: -7.6923%; top: -42.8571%; }
.venture-detail[data-venture="forward-durban-media-hub"] .venture-brand-mark { width: 148px; padding: 0; border: 0; background: transparent; }
.venture-detail[data-venture="forward-durban-media-hub"] .venture-brand-mark img { max-height: none; }

.venture-build-status { padding-block: 32px; background: #0c1419; border-bottom: 1px solid var(--border); }
.venture-build-layout { display: grid; grid-template-columns: minmax(0, 36fr) minmax(0, 64fr); align-items: center; gap: 48px; }
.venture-build-status .eyebrow { margin-bottom: 10px; }
.venture-detail .venture-build-status h2 { font: 600 21px/1.35 var(--body); margin-bottom: 10px; }
.venture-build-status p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 0; max-width: 470px; }
.venture-stage-track { min-width: 0; }
.venture-stage-track ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; }
.venture-stage-track li { position: relative; display: grid; justify-items: center; gap: 12px; color: #aebac2; margin: 0; font-size: 12px; line-height: 1.5; }
.venture-stage-track li::before { content: ''; position: absolute; top: 15px; right: calc(50% + 16px); width: calc(100% - 32px); border-top: 1px solid #45545e; }
.venture-stage-track li:first-child::before { display: none; }
.venture-stage-dot { position: relative; display: grid; place-items: center; width: 32px; height: 32px; background: #0c1419; border: 1px solid #61727d; border-radius: 50%; font-size: 10px; }
.venture-stage-track .is-complete::before, .venture-stage-track .is-current::before { border-color: var(--venture-accent); }
.venture-stage-track .is-complete .venture-stage-dot { background: var(--venture-accent); border-color: var(--venture-accent); color: #080d10; }
.venture-stage-track .is-current { color: #f0f5f7; }
.venture-stage-track .is-current .venture-stage-dot { border: 2px solid var(--venture-accent); box-shadow: 0 0 0 5px #ffffff08; color: var(--venture-accent); }
.venture-build-status.is-unconfirmed .venture-stage-track li::before { border-top-style: dashed; }

.venture-brand-story { position: relative; overflow: hidden; isolation: isolate; background: #0b141a; padding: 0; }
.venture-brand-grid { display: grid; grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); gap: 0; align-items: stretch; min-height: clamp(600px, 40vw, 780px); }
.venture-brand-copy, .venture-brand-showcase { min-width: 0; }
.venture-brand-copy { align-self: center; padding: clamp(48px, 5vw, 84px) clamp(32px, 4.5vw, 88px); padding-left: max(32px, calc((100vw - 1280px) / 2)); }
.venture-brand-grid.is-visual-left { grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); }
.venture-brand-grid.is-visual-left .venture-brand-copy { padding-left: clamp(32px, 4.5vw, 88px); padding-right: max(32px, calc((100vw - 1280px) / 2)); }
.venture-brand-copy h2 { max-width: 15ch; }
.venture-brand-copy > p:not(.eyebrow) { max-width: 540px; }
.venture-brand-elements { list-style: none; padding: 0; margin: 27px 0; display: grid; gap: 12px; color: #d0d9de; font-size: 14px; }
.venture-brand-elements li { margin: 0; padding-left: 19px; position: relative; }
.venture-brand-elements li::before { content: ''; position: absolute; width: 5px; height: 5px; left: 0; top: .5em; background: var(--venture-accent); }
.venture-brand-palette { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; list-style: none; padding: 24px 0 0; margin: 30px 0 0; border-top: 1px solid var(--border); }
.venture-brand-palette li { display: grid; align-content: start; gap: 9px; margin: 0; font-size: 11px; line-height: 1.5; color: #b8c5cd; overflow-wrap: anywhere; }
.venture-brand-swatch { display: block; height: 30px; width: 100%; border: 1px solid #ffffff33; }
.venture-brand-showcase { position: relative; align-self: stretch; margin: 0; border: 0; overflow: hidden; background: transparent; }
.venture-brand-image { position: absolute; inset: 0; display: block; }
.venture-brand-image > img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: right center; }
.venture-brand-grid.is-visual-left .venture-brand-image > img { object-position: left center; }
.venture-detail[data-venture="circuit-and-co"] .venture-brand-story { background: linear-gradient(140deg, #010f19, #13202b); }
.venture-detail[data-venture="amyco"] .venture-brand-story { background: linear-gradient(130deg, #0d1b3d77, #080d10 70%); }
.venture-detail[data-venture="aviv-printpak"] .venture-brand-story { background: linear-gradient(130deg, #143b2e88, #080d10 75%); }
.venture-detail[data-venture="fortis-legacy"] .venture-brand-story { background: linear-gradient(130deg, #0e2d26, #080d10); border-top: 1px solid #b79a5a55; }
.venture-detail[data-venture="forward-durban-media-hub"] .venture-brand-story { background: linear-gradient(150deg, #144a9555, #080d10 70%); border-top: 2px solid #f9b43688; }
.venture-detail[data-venture="paragaming"] .venture-brand-story { background: linear-gradient(145deg, #170e30, #030814 65%); }

.helpfully-product-section { background: #0a1217; padding-bottom: 0; }
.helpfully-product { border-top: 1px solid var(--border); min-height: 740px; }
.helpfully-product-copy, .helpfully-product-visual { min-width: 0; }
.venture-detail .helpfully-product h3 { font: 400 clamp(30px, 3vw, 42px)/1.15 Georgia, serif; }
#main .helpfully-product .helpfully-product-tagline { font-size: 20px; color: var(--venture-accent); }
.helpfully-product h4 { margin: 30px 0 10px; font-size: 17px; }

.venture-channels { background: #0c1419; }
.venture-channel-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(36px, 7vw, 100px); align-items: start; }
.venture-channel-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.venture-channel-link { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 10px 0; border-bottom: 1px solid #ffffff29; color: #e0e8ed; font-size: 15px; }
.venture-channel-link > svg, .venture-channel-link > .icon { width: 22px; height: 22px; flex: 0 0 22px; color: var(--venture-accent); }
.venture-channel-link > span:nth-last-child(2) { margin-left: auto; color: var(--venture-accent); }
.venture-channel-link:hover { color: var(--venture-accent); }
.venture-channel-link:focus-visible { outline: 2px solid var(--venture-accent); outline-offset: 4px; }
.venture-channel-layout.has-companion-channels { row-gap: 36px; }
.venture-companion-channels { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.venture-companion-channel { min-width: 0; padding: 24px; border: 1px solid var(--border); background: #10191f; }
.venture-companion-channel .venture-channel-links { grid-template-columns: minmax(0, 1fr); gap: 0; }
.venture-detail .venture-channel-group-title { color: var(--venture-accent); font-size: 18px; margin-bottom: 8px; }
.venture-update-link { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; margin-top: 20px; }
@media (max-width: 1100px) {
  .venture-detail-hero > .container { min-height: 580px; }
  .venture-detail-hero-copy { max-width: 650px; }
  .venture-detail-hero h1 { font-size: clamp(36px, 5.4vw, 54px); }
  .venture-detail-hero-photo { width: 100%; object-position: 65% 50%; }
  .venture-detail-hero::before { background: linear-gradient(0deg, #080d10, #080d1000 55%), linear-gradient(90deg, #080d10ed, #080d10bd 60%, #080d1059); }
  .venture-editorial-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .venture-build-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .venture-channel-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .venture-brand-grid, .venture-brand-grid.is-visual-left { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .venture-brand-copy, .venture-brand-grid.is-visual-left .venture-brand-copy { padding: 46px 32px; }
  .venture-brand-showcase { width: 100%; min-height: 0; }
  .venture-brand-image { position: relative; inset: auto; }
  .venture-brand-image > img { width: 100%; height: auto; object-fit: contain; }
  .venture-brand-copy h2 { max-width: 22ch; }
  .venture-brand-copy > p:not(.eyebrow) { max-width: 740px; }
  .venture-brand-palette { max-width: 600px; }
  .venture-body-copy { padding-top: 0; max-width: 740px; }
  .venture-offering-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 0; }
  .venture-offering:nth-child(odd) { padding-left: 0; border-left: 0; }
  .venture-offering:nth-child(even) { padding-right: 0; }
  .venture-perspective .venture-editorial-grid > div > p:last-child { max-width: 700px; }
  .venture-related-card { grid-template-columns: minmax(0, 1fr); }
  .venture-related-card > img { height: 200px; min-height: 0; }
}
@media (max-width: 600px) {
  .venture-detail-hero > .container { min-height: 0; padding-block: 18px 30px; }
  .venture-breadcrumb ol { margin-bottom: 34px; }
  .venture-detail-hero-copy { padding-bottom: 32px; }
  .venture-brand-mark { width: 250px; padding: 12px 16px; }
  .venture-build-status { padding-block: 26px; }
  .venture-stage-track li { font-size: 11px; }
  .venture-brand-palette { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .venture-brand-copy, .venture-brand-grid.is-visual-left .venture-brand-copy { padding: 40px 20px; }
  .venture-channel-links { grid-template-columns: minmax(0, 1fr); }
  .venture-companion-channels { grid-template-columns: minmax(0, 1fr); }
  .venture-detail-hero h1 { font-size: clamp(30px, 8vw, 44px); }
  .venture-detail-lead { font-size: 17px; }
  .venture-detail-hero-copy .button-row { align-items: stretch; }
  .venture-focus-list { display: grid; gap: 12px; }
  .venture-detail h2 { font-size: clamp(28px, 7.8vw, 36px); }
  .venture-line-break { display: none; }
  .venture-offering-grid, .venture-audience-grid, .venture-related-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .venture-offering { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--border); }
  .venture-offering:first-child { padding-top: 0; border-top: 0; }
  .venture-offering > .icon { margin-bottom: 16px; }
  .venture-offering .venture-item-number { display: inline-block; margin-left: 16px; vertical-align: top; padding-top: 15px; }
  .venture-detail #venture-connect .cta-copy h2 { font-size: clamp(29px, 8vw, 40px); }
  .venture-detail #venture-connect .cta-photo { object-position: 60% 50%; }
  .venture-related-card > img { height: 220px; }
}

/* Four everyday products, followed by the business offering. */
[data-venture="helpfully"] .venture-offering:last-child { grid-column: 1 / -1; }
@media (min-width: 761px) and (max-width: 1100px) {
  .venture-companion-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Original project artwork and composed presentations share the Collective's dark palette. */
.portfolio-hero,.work-case-hero{position:relative;isolation:isolate;overflow:hidden;background:#080d10}
.portfolio-coast{position:absolute;z-index:-2;inset:0;background:url('/assets/images/work-closing-coast-bioluminescent-hd.webp') center 54%/cover no-repeat;opacity:.33}
.portfolio-coast:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080d10 2%,#080d10d9 35%,#080d1070 80%),linear-gradient(0deg,#080d10,transparent 50%,#080d1066)}
.portfolio-hero-layout{min-height:640px;display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding-block:65px 75px}
.portfolio-hero-copy{position:relative;z-index:2}.portfolio-hero-copy h1{font-size:clamp(44px,5.15vw,74px);line-height:1.02;letter-spacing:-.045em;margin:20px 0 25px}.portfolio-hero-copy>p:not(.eyebrow){max-width:530px;font-size:18px;line-height:1.7;color:#bec6ca}.portfolio-hero-copy .button{margin-top:20px}
.portfolio-hero-art{position:relative;padding-bottom:115px;min-width:0}.portfolio-main-art{position:relative;transform:perspective(900px) rotateY(-5deg);padding:10px;background:#18262ddd;border:1px solid #3a555c;box-shadow:0 15px 60px #0009,0 0 40px #29b9e314;border-radius:6px}.portfolio-main-art img{display:block;width:100%;height:auto;border-radius:2px}.portfolio-main-art span,.portfolio-brand-art span{display:block;font-size:11px;color:#d5dce0;padding:10px 5px 2px;letter-spacing:.03em}.portfolio-brand-art{position:absolute;right:-10px;bottom:18px;width:64%;padding:8px;background:#141d24;border:1px solid #635087;box-shadow:0 12px 45px #0009;transform:rotate(3deg);border-radius:4px}.portfolio-brand-art img{display:block;width:100%;height:auto}.portfolio-art-note{font:italic 22px/1.35 Georgia,serif;position:absolute;left:2px;bottom:-8px;color:#acbac1;transform:rotate(-4deg);max-width:180px}
.work-section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:36px}.work-section-heading h2{font-size:clamp(29px,3.3vw,44px);line-height:1.15;letter-spacing:-.025em;margin-bottom:0}.work-section-heading>p{max-width:370px;color:var(--muted);font-size:15px;line-height:1.7;margin:0}.work-section-heading>.text-link{flex-shrink:0}
.work-filter-controls{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0;border-block:1px solid var(--border)}.work-filter-controls button{display:flex;align-items:center;gap:10px;padding:11px 15px;background:transparent;border:1px solid transparent;border-radius:2px;color:#bac5cb;font:inherit;font-size:12px;cursor:pointer}.work-filter-controls button small{font-size:10px;color:#93a6b0}.work-filter-controls button:hover,.work-filter-controls button:focus-visible{color:white;background:#14232b}.work-filter-controls button[aria-pressed=true]{color:white;background:#12303a;border-color:#34b1cf88}.work-filter-controls button[aria-pressed=true] small{color:var(--cyan)}.work-result-count{color:#9eafb9;font-size:12px;min-height:20px;margin:22px 0}
.work-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px;row-gap:48px}.work-card{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid #2a343c;padding-bottom:27px}.work-card[hidden],.work-empty[hidden]{display:none!important}.work-card-art{position:relative;display:grid;place-items:center;width:100%;min-height:0;aspect-ratio:1.65;overflow:hidden;background:linear-gradient(145deg,#19272d,#10171b);border:1px solid #ffffff0c;transition:border-color .2s}.work-card-art:before{content:'';position:absolute;inset:auto 12% -70px;height:90px;background:var(--work-accent);opacity:.09;filter:blur(35px)}.work-card-art img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;padding:17px;transition:transform .35s}.work-card-art:hover{border-color:var(--work-accent)}.work-card-art:hover img{transform:scale(1.025)}.work-art-arrow,.work-image-expand{position:absolute;right:12px;bottom:12px;width:31px;height:31px;display:grid;place-items:center;background:#080d10d9;color:white;border:1px solid #ffffff38;border-radius:50%;font-size:18px}.work-card-copy{padding-top:24px;display:flex;flex-direction:column;flex:1;min-width:0}.work-card-copy>.eyebrow{color:var(--work-accent);font-size:10px;margin-bottom:12px}.work-card h3{font-size:clamp(23px,2.15vw,30px);line-height:1.15;letter-spacing:-.025em;margin:0 0 16px}.work-card h3 a{color:var(--text)}.work-card h3 a:hover{color:var(--work-accent)}.work-card-copy>p:not(.eyebrow){font-size:15px;line-height:1.75;color:#adb9c0;margin-bottom:22px;max-width:620px}.work-tags{display:flex;flex-wrap:wrap;gap:7px 14px;margin:0 0 24px;padding:0;list-style:none}.work-tags li{color:#9cb3c0;font-size:10px;letter-spacing:.035em;border-bottom:1px solid #36515c;padding:0 0 5px}.work-card-bottom{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-top:auto}.work-card-bottom>.text-link{font-size:12px;white-space:nowrap}.work-card-fact{margin:0;text-align:right;display:grid;gap:4px}.work-card-fact strong{font-size:28px;line-height:1;color:var(--work-accent)}.work-card-fact span{font-size:10px;color:#9caeb9;max-width:150px;line-height:1.4}.work-card-featured{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding-bottom:35px;align-items:center}.work-card-featured .work-card-art{aspect-ratio:1.55}.work-card-featured .work-card-copy{padding:0}.work-card-featured h3{font-size:36px}.work-empty{padding:55px 20px;text-align:center;border:1px dashed #30444f}.work-empty h3{font-size:28px}.work-empty p{max-width:540px;margin:15px auto 25px;color:var(--muted)}.work-empty .button{cursor:pointer}
.home-selected-work .work-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.home-selected-work .work-card h3{font-size:23px}.home-selected-work .work-card-art{aspect-ratio:1.48}.home-selected-work .work-card-copy>p:not(.eyebrow){font-size:14px}.home-selected-work .work-card-fact{display:none}.home-selected-work .work-tags{min-height:47px;align-content:start;margin-bottom:20px}
.work-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:30px;font-size:12px;color:#91a2ac}.work-breadcrumb a{color:#d3e1e8}.work-breadcrumb a:hover{color:var(--cyan)}.work-case-hero-layout{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:50px;padding:55px 0 65px}.work-case-intro>.eyebrow{color:var(--work-accent);font-size:10px}.work-case-intro h1{font-size:clamp(39px,4.7vw,66px);line-height:1.02;letter-spacing:-.045em;margin:18px 0 24px;overflow-wrap:break-word}.work-case-headline{font:400 25px/1.35 Georgia,serif;color:#e2e8eb;max-width:480px}.work-case-intro>p:not(.eyebrow):not(.work-case-headline){font-size:15px;line-height:1.75;max-width:540px;color:#acbbc3}.work-case-intro .work-tags{margin:24px 0}.work-case-intro>.text-link{font-size:12px}.work-case-cover{margin:0;min-width:0}.work-case-cover>a{position:relative;display:flex;align-items:center;justify-content:center;min-height:270px;background:#1420299c;box-shadow:0 20px 65px #0008;border:1px solid #ffffff17;padding:16px}.work-case-cover img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}.work-case-cover figcaption{font-size:11px;color:#9babba;margin-top:13px;line-height:1.5}
.work-project-facts{border-block:1px solid var(--border);background:#0c151a}.work-project-facts dl{display:grid;grid-template-columns:.9fr 1.4fr 1fr;gap:35px;padding:26px 0 22px;margin:0}.work-project-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8299a6;margin-bottom:9px}.work-project-facts dd{font-size:14px;line-height:1.55;color:#e2e9ed;margin:0}.work-delivery-credit{font-size:11px!important;color:#a9b8c2;line-height:1.7;border-top:1px solid #ffffff0d;padding:15px 0 18px;margin:0;max-width:1000px}
.work-metrics{padding:38px 0 0}.work-metric-grid{display:grid;grid-template-columns:repeat(var(--metric-count),minmax(0,1fr));gap:28px;max-width:1100px}.work-metric{border-left:1px solid var(--work-accent);padding:0 25px}.work-metric-kind{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#95acb9;margin-bottom:13px}.work-metric strong{display:block;font-size:clamp(40px,5vw,65px);line-height:1.06;color:var(--work-accent);letter-spacing:-.04em}.work-metric h3{font-size:17px;margin:10px 0}.work-metric p{font-size:12px;color:#9cabb4;line-height:1.7;max-width:450px;margin-bottom:0}
.work-story-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px}.work-story h2{font-size:clamp(30px,3.2vw,44px);line-height:1.16;letter-spacing:-.025em;max-width:520px}.work-story h3{font-size:26px;margin:18px 0 25px}.work-story p{font-size:16px;line-height:1.85;color:#adbbc4}.work-story .eyebrow{color:var(--work-accent);font-size:10px}.work-scope-section{padding:50px 0;border-block:1px solid var(--border);background:linear-gradient(110deg,#11212b88,#0a1116)}.work-scope-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:60px}.work-scope-layout h2{font-size:clamp(29px,3vw,40px);line-height:1.2}.work-scope-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:0;margin:0;list-style:none}.work-scope-list li{display:flex;gap:14px;border-bottom:1px solid #ffffff12;padding:15px 0;font-size:14px;line-height:1.6;color:#c1ccd3}.work-scope-list li>span{font-size:11px;color:var(--work-accent);padding-top:3px;flex-shrink:0}
.work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.work-gallery-item{margin:0;min-width:0}.work-gallery-item a{display:grid;place-items:center;position:relative;background:#152027;min-height:280px;padding:15px;border:1px solid #ffffff0e;height:380px}.work-gallery-item img{display:block;height:100%;width:100%;min-height:0;object-fit:contain}.work-gallery-portrait a{height:620px}.work-gallery-item:only-child{grid-column:1/-1}.work-gallery-item:only-child a{height:auto;min-height:0;max-height:730px}.work-gallery-item:only-child img{height:auto;max-height:690px}.work-gallery-item figcaption{font-size:12px;line-height:1.6;color:#a7b8c3;margin-top:14px}.work-gallery-item a:hover{border-color:var(--work-accent)}
.work-outcomes{background:linear-gradient(115deg,#0d1b24,#080d10)}.work-outcomes-layout{display:grid;grid-template-columns:.9fr 1.2fr;gap:80px}.work-outcomes h2{font-size:clamp(32px,3.4vw,46px);line-height:1.13}.work-outcomes p{font-size:16px;line-height:1.8;color:#abbcc7;max-width:480px}.work-outcomes ul{list-style:none;padding:0;margin:0}.work-outcomes li{display:flex;gap:22px;padding:20px 0;border-bottom:1px solid #ffffff14}.work-outcomes li:first-child{padding-top:0}.work-outcomes li>span{color:var(--work-accent);font-size:25px}.work-outcomes li p{margin:0;max-width:none}
.work-market-context{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;padding-block:60px;border-bottom:1px solid var(--border);align-items:center}.work-market-context h2{font-size:29px;line-height:1.3}.work-market-context p{font-size:15px;line-height:1.8;color:#aebdc7}.work-market-context .eyebrow{font-size:10px}.work-market-context .work-context-source,.work-market-context .work-context-note{font-size:12px}.work-market-context .work-context-note{border-left:2px solid var(--work-accent);padding-left:15px;color:#d0dbe2}.work-market-context img{display:block;width:100%;max-height:360px;object-fit:contain}
.work-project-notes{padding:35px 0;color:#99aebc}.work-context-callout{border-left:2px solid #3f6b7e;padding:0 22px;margin-bottom:30px;max-width:940px}.work-context-callout p{font-size:13px;line-height:1.8}.work-context-callout .text-link{font-size:12px}.work-project-notes details{max-width:940px;font-size:12px;line-height:1.8}.work-project-notes summary{cursor:pointer;color:#b9cbd6;padding:10px 0}.work-project-notes details[open] summary{margin-bottom:10px}.work-project-notes details .text-link{font-size:11px}.work-related{border-top:1px solid var(--border)}.work-related .work-card h3{font-size:24px}
@media(min-width:1440px){.portfolio-hero-layout{min-height:690px}.work-case-hero-layout{padding-block:65px 80px}}
@media(max-width:1100px){.portfolio-hero-layout{gap:30px}.portfolio-hero-copy h1{font-size:clamp(42px,5.5vw,60px)}.portfolio-art-note{font-size:19px;max-width:140px}.portfolio-brand-art{width:61%}.work-filter-controls{gap:5px}.work-filter-controls button{padding:10px}.work-case-hero-layout{gap:30px}.work-case-intro h1{font-size:clamp(37px,4.8vw,53px)}.work-story-layout{gap:45px}.work-scope-layout{grid-template-columns:.8fr 1.5fr;gap:35px}.work-outcomes-layout{gap:40px}.work-card-featured{gap:28px}.home-selected-work .work-project-grid{gap:18px}}
@media(max-width:760px){.portfolio-hero-layout{grid-template-columns:1fr;padding-block:45px 30px;gap:35px;min-height:0}.portfolio-hero-copy h1{font-size:clamp(41px,8vw,62px)}.portfolio-hero-copy>p:not(.eyebrow){font-size:16px;max-width:590px}.portfolio-hero-art{max-width:560px;width:100%;margin-inline:auto;padding-bottom:100px}.portfolio-main-art{transform:none}.portfolio-brand-art{right:3px;bottom:7px;width:59%}.portfolio-art-note{font-size:19px;bottom:2px}.work-section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:27px}.work-section-heading>p{max-width:550px;font-size:14px}.work-filter-controls button{padding:11px 10px;font-size:11px;gap:8px;border-color:#ffffff0c}.work-result-count{margin-block:18px}.work-project-grid{gap:36px 22px}.work-card-featured{grid-column:auto;display:flex;gap:0}.work-card-featured .work-card-copy{padding-top:24px}.work-card-featured .work-card-art,.work-card-art{aspect-ratio:1.55}.work-card-featured h3,.work-card h3{font-size:25px}.work-card-copy>p:not(.eyebrow){font-size:14px}.work-card-bottom{flex-wrap:wrap;align-items:start}.work-card-fact{text-align:left}.work-card-art img{padding:10px}.work-tags{gap:7px 10px}.work-tags li{font-size:9px}.home-selected-work .work-project-grid{grid-template-columns:1fr;gap:35px}.home-selected-work .work-card-art{aspect-ratio:1.7}.home-selected-work .work-tags{min-height:0}.work-case-hero-layout{grid-template-columns:1fr;padding-block:35px 40px;gap:35px}.work-case-intro h1{font-size:clamp(39px,8.4vw,60px);max-width:650px}.work-case-headline{font-size:24px}.work-case-cover{max-width:650px;width:100%;margin-inline:auto}.work-case-cover>a{min-height:200px}.work-case-cover img{max-height:420px}.work-project-facts dl{grid-template-columns:1fr 1fr;gap:22px}.work-project-facts dl>div:nth-child(2){grid-column:1/-1;grid-row:2}.work-delivery-credit{font-size:11px!important}.work-metric-grid{gap:23px;grid-template-columns:repeat(var(--metric-count),minmax(0,1fr))}.work-metric{padding-inline:14px 5px}.work-metric strong{font-size:40px}.work-metric h3{font-size:14px}.work-metric p{font-size:11px}.work-metric-kind{font-size:9px}.work-story-layout{grid-template-columns:1fr;gap:28px}.work-story p{font-size:15px}.work-story h3{font-size:24px;margin-block:12px 18px}.work-scope-section{padding-block:35px}.work-scope-layout{grid-template-columns:1fr;gap:12px}.work-scope-layout h2 br{display:none}.work-scope-list{gap:0 25px}.work-scope-list li{font-size:13px}.work-gallery{gap:28px 20px}.work-gallery-item a{height:280px;min-height:0;padding:10px}.work-gallery-portrait a{height:480px}.work-gallery-item figcaption{font-size:11px}.work-outcomes-layout{grid-template-columns:1fr;gap:20px}.work-outcomes li p{font-size:15px}.work-market-context{grid-template-columns:1fr;gap:20px;padding-block:35px}.work-market-context img{max-height:400px}.work-related .work-card h3{font-size:24px}}
@media(max-width:520px){.work-project-grid{grid-template-columns:1fr}.portfolio-art-note{font-size:14px;max-width:95px}.portfolio-main-art span,.portfolio-brand-art span{font-size:9px}.portfolio-hero-art{padding-bottom:82px}.work-card-bottom{flex-wrap:nowrap;align-items:end}.work-card-fact{text-align:right}.work-case-intro>.eyebrow{font-size:9px;letter-spacing:.1em}.work-case-intro h1{font-size:40px}.work-case-headline{font-size:23px}.work-case-cover>a{padding:10px;min-height:160px}.work-project-facts dd{font-size:13px}.work-metric-grid{grid-template-columns:1fr;gap:25px}.work-metric{padding-left:20px}.work-metric strong{font-size:51px}.work-metric h3{font-size:17px}.work-metric p{font-size:12px}.work-scope-list{grid-template-columns:1fr}.work-gallery{grid-template-columns:1fr}.work-gallery-item a{height:auto;min-height:0;max-height:none}.work-gallery-item img{height:auto;max-height:560px}.work-gallery-portrait a{height:560px}.work-gallery-portrait img{height:100%}.work-gallery-item figcaption{font-size:12px}.work-breadcrumb{font-size:11px;gap:8px}.work-empty{padding:35px 18px}}

.work-related .work-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}
.work-related .work-card-copy>p:not(.eyebrow){font-size:14px}
@media(max-width:980px){.work-related .work-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.work-related .work-project-grid{grid-template-columns:minmax(0,1fr)}}

/* Restore the approved Work index: icon filters, featured work, alternating full-width rows. */
.work-reference-index [data-project][hidden]{display:none!important}
.work-reference-row.reverse{grid-template-columns:57fr 43fr}
.work-reference-row .case-copy{min-width:0}
.work-reference-row h2{overflow-wrap:break-word}
.work-row-visual{display:block;position:relative;align-self:stretch;min-height:420px;min-width:0;overflow:hidden;background:#091116}
.work-row-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:clamp(18px,2.6vw,44px)}
.work-row-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#091116,transparent 12%,transparent 92%,#091116)}
.work-reference-row.reverse .work-row-visual{order:-1}
#main .work-reference-row .case-small-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}
.work-reference-row .metric-inline{min-width:0;flex:1;flex-direction:column;gap:12px;align-items:flex-start;margin:0}
.work-reference-row .metric-inline>div{min-width:0;max-width:100%}
.work-reference-row .metric-inline .icon{width:30px;height:30px;flex-shrink:0}
.work-reference-row .metric-inline strong{font-size:clamp(22px,1.9vw,27px);line-height:1.05;margin-bottom:7px;color:var(--metric-accent,var(--text))}
.work-reference-row .metric-inline span{line-height:1.5}
@media(max-width:700px){#main .work-reference-row .case-small-stats{grid-template-columns:1fr}.work-reference-row .metric-inline{flex-direction:row;gap:14px}}
.work-reference-featured .work-row-visual img{padding:16px}
.work-featured-band{border-bottom:1px solid var(--border)}
.work-purpose-quote{font:400 30px/1.35 Georgia,serif;color:var(--text);margin:0 0 18px}
.work-purpose-attribution{font-size:13px;color:var(--muted);line-height:1.7;margin:0}
.work-reference-index .work-empty{margin-block:40px}
@media(max-width:980px){.work-reference-row .case-copy{padding:35px}.work-row-visual{min-height:360px}.work-reference-row .metric-inline{gap:8px}.work-reference-row .metric-inline .icon{width:25px;height:25px}.work-reference-row .case-small-stats{gap:12px}}
@media(max-width:700px){#main .work-reference-row.reverse,#main .work-reference-row.copy-photo{grid-template-columns:1fr}#main .work-reference-row .case-copy{padding:32px 24px}.work-row-visual{min-height:0;height:auto;aspect-ratio:16/10}.work-reference-row.reverse .work-row-visual{order:0}.work-row-visual img{padding:20px}.work-reference-featured .work-row-visual{aspect-ratio:1.2}.work-reference-row .case-small-stats{display:grid;grid-template-columns:1fr;gap:18px}.work-reference-row .metric-inline{margin:0}.work-reference-row .metric-inline strong{font-size:27px}.work-featured-band .service-editorial{gap:30px}.work-purpose-quote{font-size:27px}}

@media(max-width:1100px){.work-reference-row.reverse .work-row-visual{order:0}.work-row-visual{height:auto;min-height:0;aspect-ratio:16/10}.work-reference-featured .work-row-visual{aspect-ratio:1.2}}

.work-reference-index .work-row-visual.is-concept{align-self:center;min-height:0;height:auto;aspect-ratio:auto;background:transparent}
.work-reference-index .work-row-visual.is-concept img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:contain;padding:0}
.work-reference-index .work-row-visual.is-concept:after{display:none}

[data-work-interlude][hidden]{display:none!important}
.work-founder-insight{padding-block:clamp(48px,5.5vw,80px);border-block:1px solid var(--border);background:radial-gradient(ellipse at 20% 50%,#21324377,transparent 70%)}
.work-founder-insight.is-portrait-right{background:radial-gradient(ellipse at 80% 50%,#15324177,transparent 70%)}
.work-insight-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(36px,6vw,90px);align-items:center;max-width:1120px}
.is-portrait-right .work-insight-layout{grid-template-columns:minmax(0,1fr) 230px}
.work-insight-portrait{width:230px;margin:0}
.is-portrait-right .work-insight-portrait{order:2}
.work-insight-portrait img{display:block;width:100%;height:auto;filter:saturate(.65) contrast(.96)}
.work-insight-portrait figcaption{display:grid;gap:4px;padding-top:16px;font-size:14px;line-height:1.5}
.work-insight-portrait figcaption span{color:var(--insight-accent);font-size:12px}
.work-insight-copy{min-width:0}
.work-insight-copy .eyebrow{font-size:10px;color:var(--insight-accent);margin-bottom:18px}
.work-insight-copy h2{font:400 clamp(30px,3vw,43px)/1.15 Georgia,serif;letter-spacing:-.025em;max-width:20ch;margin:0 0 24px}
.work-insight-copy .work-insight-text{font:400 clamp(20px,2vw,27px)/1.55 Georgia,serif;color:#c6d1d8;margin:0;max-width:45ch}
.work-client-logos{padding-block:38px;background:#0e171d}
.work-own-ventures{padding-block:clamp(56px,6vw,88px);text-align:center;border-block:1px solid var(--border);background:linear-gradient(125deg,#0d2732,#101a29 48%,#211731)}
.work-own-ventures .eyebrow{color:var(--cyan);font-size:11px}
.work-own-ventures h2{font:400 clamp(36px,4vw,56px)/1.12 Georgia,serif;letter-spacing:-.035em;max-width:20ch;margin:18px auto 24px}
.work-own-ventures p:not(.eyebrow){max-width:660px;margin:0 auto 28px;font-size:17px;line-height:1.8;color:#bac8d2}
.work-venture-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1040px;margin:32px auto}
.work-venture-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px;padding:16px 18px;border:1px solid #ffffff24;border-bottom:2px solid var(--venture-link-accent);background:#ffffff05;color:var(--text);text-align:left;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.035em;text-decoration:none;transition:background .2s,border-color .2s}
.work-venture-links a>span:last-child{color:var(--venture-link-accent);font-size:22px;font-weight:400}
.work-venture-links a:hover,.work-venture-links a:focus-visible{background:#ffffff0d;border-color:var(--venture-link-accent)}
@media(max-width:700px){
 .work-insight-layout,.is-portrait-right .work-insight-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .work-insight-portrait,.is-portrait-right .work-insight-portrait{order:0;width:auto;display:flex;align-items:center;gap:20px}
 .work-insight-portrait img{width:110px;flex:0 0 110px}
 .work-insight-portrait figcaption{padding:0}
 .work-insight-copy .work-insight-text{font-size:22px}
 .work-client-logos{padding-block:28px}
 .work-own-ventures p:not(.eyebrow){font-size:16px}
 .work-venture-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:28px auto}
 .work-venture-links a{padding:14px;gap:8px;font-size:12px}
}

/* Feature cards use the complete compact hero artwork. */
.work-related .work-card-art-hero,.home-selected-work .work-card-art-hero{aspect-ratio:1.5}
.work-related .work-card-art-hero img,.home-selected-work .work-card-art-hero img{padding:0}

@media(max-width:600px){
 .work-card-bottom{flex-wrap:wrap;gap:16px 20px}
 .work-card-bottom>.text-link{flex-shrink:0}
 .work-card-fact{text-align:left}
}

/* Case studies follow the site's full-width visual storytelling, using authentic client artwork. */
.work-case-rich{--case-line:#283944}
.case-story-tagline{font:400 clamp(21px,2vw,26px)/1.45 Georgia,serif;color:#e0e8ed;max-width:550px;margin-bottom:24px}
.case-story-nav{display:flex;flex-wrap:wrap;gap:28px;padding-block:20px;border-bottom:1px solid var(--case-line)}
.case-story-nav a{font-size:12px;color:#b9cdd8;display:flex;gap:16px;align-items:center}
.case-story-nav a:hover{color:var(--cyan)}
.case-story-nav a:last-child{margin-left:auto}
.case-story-nav a span{color:var(--cyan)}
.case-story-introduction{padding-block:45px 0;max-width:960px;color:#d0dbe2;font:400 23px/1.65 Georgia,serif}
.case-context-section{padding:65px 0 70px}
.case-context-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px}
.case-context-layout h2{font-size:clamp(32px,3.5vw,47px);line-height:1.15;margin-bottom:28px;letter-spacing:-.025em}
.case-context-layout h3{font-size:27px;line-height:1.3;margin-bottom:25px}
.case-context-layout p,.case-story-chapter p,.case-execution-section p,.case-impact-section p,.case-historical-context p{font-size:16px;line-height:1.85;color:#b1c1cb}
.case-context-layout .eyebrow,.case-story-chapter .eyebrow,.case-execution-section .eyebrow,.case-impact-section .eyebrow{font-size:10px;color:var(--work-accent)}
.case-strategic-challenge{padding-left:35px;border-left:1px solid var(--case-line)}
.case-story-list{list-style:none;padding:0;margin:25px 0 0;color:#bdcbd4}
.case-story-list li{position:relative;padding-left:22px;margin:13px 0;font-size:15px;line-height:1.65}
.case-story-list li:before{content:'';position:absolute;left:0;top:.65em;width:6px;height:6px;background:var(--work-accent);transform:rotate(45deg)}
.case-story-chapter{padding:65px 0;border-top:1px solid #ffffff09;overflow:hidden}
.case-story-chapter:nth-of-type(2n){background:linear-gradient(105deg,#101d2680,#080d10)}
.case-chapter-layout{display:grid;grid-template-columns:.68fr 1fr;gap:70px;align-items:start}
.case-chapter-copy{min-width:0}
.case-chapter-copy h2{font-size:clamp(30px,3vw,42px);line-height:1.16;letter-spacing:-.025em;margin-bottom:27px}
.case-story-chapter:not(.case-chapter-with-art) .case-chapter-copy{grid-column:1/-1;display:grid;grid-template-columns:.68fr 1fr;column-gap:70px}
.case-story-chapter:not(.case-chapter-with-art) .case-chapter-heading{grid-column:1}
.case-story-chapter:not(.case-chapter-with-art) .case-chapter-text{grid-column:2}
.case-chapter-with-art .case-chapter-layout{grid-template-columns:1fr 1fr;align-items:center;gap:65px}
.case-art-left .case-chapter-art{order:-1}
.case-chapter-art{min-width:0;position:relative}
.case-chapter-art:before{content:'';position:absolute;z-index:-1;inset:20% 0;background:var(--work-accent);opacity:.05;filter:blur(55px)}
.case-art-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center}
.case-art-pair .case-story-figure:nth-child(2){transform:translateY(30px)}
body[data-route="/work/forward-durban/"] :is(#story-movement-architecture,#story-brand-identity,#story-campaign-communication) .case-art-pair{grid-template-columns:minmax(0,1fr);gap:24px;width:100%;max-width:420px;margin-inline:auto}
body[data-route="/work/forward-durban/"] :is(#story-movement-architecture,#story-brand-identity,#story-campaign-communication) .case-art-pair .case-story-figure{transform:none}
body[data-route="/work/imics-gen11/"] :is(#story-operational-ux,#story-protocol-engine) .case-art-pair{grid-template-columns:minmax(0,1fr);gap:24px;width:100%;max-width:520px;margin-inline:auto}
body[data-route="/work/imics-gen11/"] :is(#story-operational-ux,#story-protocol-engine) .case-art-pair .case-story-figure{transform:none}
body[data-route="/work/specialised-victim-support-platform/"] :is(#story-operational-systemisation,#story-svs-productisation) .case-art-pair{grid-template-columns:minmax(0,1fr);gap:24px}
body[data-route="/work/specialised-victim-support-platform/"] :is(#story-operational-systemisation,#story-svs-productisation) .case-art-pair .case-story-figure{transform:none}
body[data-route="/work/inecto-colours/"] :is(#story-concept-research,#story-authentic-representation,#story-range-architecture) .case-art-pair{grid-template-columns:minmax(0,1fr);gap:24px}
body[data-route="/work/inecto-colours/"] :is(#story-concept-research,#story-authentic-representation,#story-range-architecture) .case-art-pair .case-story-figure{transform:none}
body[data-route="/work/inecto-superblack/"] #story-research-before-change .case-art-pair{grid-template-columns:minmax(0,1fr);gap:24px}
body[data-route="/work/inecto-superblack/"] #story-research-before-change .case-art-pair .case-story-figure{transform:none}
body[data-route="/work/renew-perfect-colour/"] :is(#story-disruption-with-clarity,#story-concept-to-market,#story-process-communication) .case-art-pair{grid-template-columns:minmax(0,1fr);gap:24px}
body[data-route="/work/renew-perfect-colour/"] :is(#story-disruption-with-clarity,#story-concept-to-market,#story-process-communication) .case-art-pair .case-story-figure{transform:none}
body[data-route="/work/renew-perfect-colour/"] .case-historical-context .case-story-figure{width:100%;max-width:360px;justify-self:center}
body[data-route="/work/inecto-unlimited/"] #story-new-usage-behaviour .case-art-pair{grid-template-columns:minmax(0,1fr);gap:24px;width:100%;max-width:520px;margin-inline:auto}
body[data-route="/work/inecto-unlimited/"] #story-new-usage-behaviour .case-art-pair .case-story-figure{transform:none}
@media(min-width:761px){
 body[data-route="/work/renew-perfect-colour/"] #story-consistent-model .case-chapter-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 body[data-route="/work/renew-perfect-colour/"] #story-consistent-model .case-art-pair{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
}
@media(min-width:761px){body[data-route="/work/advanced-codriver-assistance-centre/"] :is(#story-product-first,#story-commercial-positioning) .case-chapter-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.case-story-figure{margin:0;min-width:0}
.case-story-figure>a{display:block;position:relative;outline-offset:7px}
.case-story-figure img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;filter:brightness(.91) saturate(.95)}
.case-story-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.case-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px;list-style:none;padding:0;margin:0}
.case-role-grid li{display:flex;align-items:flex-start;gap:12px;padding-top:16px;border-top:1px solid var(--case-line);font-size:14px;line-height:1.65;color:#bdcbd4}
.case-role-grid .icon{width:28px;height:28px;flex:0 0 28px;margin:0;color:var(--work-accent)}
.case-role-grid li>span:not(.icon){min-width:0}
@media(max-width:560px){.case-role-grid{grid-template-columns:minmax(0,1fr);gap:14px}}
.case-story-figure figcaption{font-size:11px;line-height:1.65;color:#90a8b7;padding:13px 2px 0}
.case-archive-label{display:block;font-size:9px;letter-spacing:.1em;color:#cfac63;margin-bottom:5px}
.case-image-enlarge{position:absolute;bottom:10px;right:10px;background:#080d10d9;border:1px solid #7694a357;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;color:#ecf5fb;font-size:18px}
.case-story-figure a:hover .case-image-enlarge{background:#1a6079}
.case-story-pullquote{font:400 27px/1.45 Georgia,serif;color:#d6e4ed;border-left:2px solid var(--work-accent);padding:5px 0 5px 24px;margin-top:30px}
.case-execution-section{padding:65px 0;border-block:1px solid var(--case-line);background:#101c24}
.case-execution-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}
.case-execution-layout h2,.case-impact-layout h2{font-size:clamp(33px,3.5vw,47px);line-height:1.15;margin-bottom:26px}
.case-execution-layout .case-story-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin:0}
.case-impact-section{padding:70px 0;background:radial-gradient(ellipse at 85% 40%,#12354750,transparent 60%),#080d10}
.case-impact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px}
.case-impact-layout .case-story-list{margin:0}
.case-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding-top:40px;margin-top:25px;border-top:1px solid var(--case-line)}
.case-results>div{min-width:0}
.case-results>div>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8da8b8;margin-bottom:13px}
.case-results strong{display:block;font-size:clamp(34px,4vw,52px);font-weight:700;line-height:1;color:var(--work-accent);margin-bottom:12px;letter-spacing:-.04em}
.case-results h3{font-size:18px;line-height:1.3;margin-bottom:10px}
.case-results p{font-size:12px;line-height:1.7;max-width:390px;margin:0}
.case-historical-context{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding-block:55px;border-bottom:1px solid var(--case-line)}
.case-historical-context h2{font-size:30px;line-height:1.25}
.case-historical-context .case-source-note{font-size:12px;line-height:1.7;color:#8da5b4}
.case-complete-gallery{background:linear-gradient(#0a1218,#080d10)}
.case-gallery-heading{margin-bottom:40px;align-items:end}
.case-gallery-heading h2{font-size:clamp(33px,3.5vw,47px);line-height:1.15;margin:0}
.case-gallery-heading>p{font-size:14px;line-height:1.8;color:#a8bdcb;max-width:450px;margin:0}
.case-gallery-carousel{max-width:1100px;margin-inline:auto;min-width:0}
.case-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.case-gallery-toolbar p{margin:0;font-size:12px;color:#a8bdcb}
.case-gallery-toolbar>div{display:flex;gap:10px}
.case-gallery-toolbar button{display:grid;place-items:center;width:46px;height:44px;border:1px solid #52636c;background:transparent;color:#e3edf3;font-size:24px;line-height:1}
.case-gallery-toolbar button:hover{border-color:var(--work-accent);color:var(--work-accent)}
.case-gallery-toolbar button[hidden],.case-gallery-slide[hidden]{display:none}
.case-gallery-slide{margin:0;min-width:0}
.case-gallery-open{display:grid;gap:16px;outline-offset:6px}
.case-gallery-image-frame{display:block;height:clamp(280px,42vw,500px);min-width:0}
.case-gallery-image-frame img,.case-gallery-image-frame video{display:block;width:100%;height:100%;object-fit:contain}
.case-gallery-fullscreen{justify-self:end;display:inline-flex;align-items:center;gap:18px;min-height:44px;padding:10px 15px;border:1px solid #52636c;font-size:12px;color:#d5e6ef}
.case-gallery-fullscreen>span{font-size:18px;color:var(--work-accent)}
.case-gallery-open:hover .case-gallery-fullscreen{border-color:var(--work-accent);background:#ffffff08}
.case-gallery-slide figcaption{min-height:42px;padding:13px 0 0;font-size:12px;line-height:1.65;color:#a3b7c3}
.case-gallery-thumbnails{display:flex;gap:10px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 3px 16px;margin-top:20px;scrollbar-width:thin;scrollbar-color:#536b78 transparent}
.case-gallery-thumbnails button{flex:0 0 88px;width:88px;height:68px;padding:5px;border:1px solid #ffffff2b;background:transparent;outline-offset:2px}
.case-gallery-thumbnails img{width:100%;height:100%;object-fit:contain}
.case-gallery-thumbnails button:hover,.case-gallery-thumbnails button[aria-pressed="true"]{border-color:var(--work-accent);background:#ffffff08;box-shadow:inset 0 -2px var(--work-accent)}
.case-client-logos{padding-block:38px;background:#0e171d;border-block:1px solid #283944}
.case-gallery-video-controls{display:flex;justify-content:flex-end;margin-top:16px}
.case-gallery-video-controls button{background:transparent;cursor:pointer}
.case-gallery-video-thumb{position:relative}
.case-gallery-video-badge{position:absolute;inset:auto 3px 3px;display:flex;justify-content:center;align-items:center;gap:4px;padding:2px;background:#071018e8;color:#d5e6ef;font-size:9px}
.case-gallery-video-badge .icon{width:15px;height:15px}
.case-story-notes{padding:30px 0 45px}
.case-story-notes details{font-size:12px;line-height:1.8;color:#91a8b7;max-width:1000px}
.case-story-notes summary{cursor:pointer;padding:12px 0;color:#b5c9d6}
.case-story-notes .text-link{font-size:12px}
.image-viewer-open{overflow:hidden}
.work-lightbox{padding:0;margin:auto;width:calc(100vw - 32px);height:calc(100vh - 32px);height:calc(100dvh - 32px);max-width:1600px;max-height:none;border:1px solid #3b5362;background:#080d10;color:#edf5f9;overflow:hidden;box-shadow:0 20px 90px #000c}
.work-lightbox[open]{display:flex;flex-direction:column}
.work-lightbox::backdrop{background:#020609ed;backdrop-filter:blur(8px)}
.work-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;border-bottom:1px solid #2c404d;flex-shrink:0;background:#0d1922;z-index:2}
.work-lightbox-toolbar>p{font-size:12px;color:#b7ccd9;margin:0}
.work-lightbox-toolbar>div{display:flex;gap:10px}
.work-lightbox-toolbar button{border:1px solid #456476;background:transparent;color:#d6e8f3;padding:10px 15px;font-size:12px;min-height:44px}
.work-lightbox-toolbar [data-lightbox-close]{background:#2ab5e5;border-color:#2ab5e5;color:#041b26;font-weight:700;display:flex;align-items:center;gap:18px}
.work-lightbox-toolbar [data-lightbox-close]>span:last-child{font-size:25px;line-height:1}
.work-lightbox-stage{min-height:0;flex:1;display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:10px;padding:18px;align-items:center}
.work-lightbox-stage>button{height:50px;width:44px;font-size:35px;border:1px solid #48616f;background:#12222e;color:#d7eaf6;align-self:center}
.work-lightbox-stage>button[hidden]{visibility:hidden;display:block}
.work-lightbox-stage>figure{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;margin:0;overflow:hidden}
.work-lightbox-image-area{flex:1;min-height:0;min-width:0;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain;background:#050a0e}
.work-lightbox-image-area img{display:block;width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.work-lightbox-image-area video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.work-lightbox [data-lightbox-image][hidden],.work-lightbox [data-lightbox-video][hidden],.work-lightbox [data-lightbox-zoom][hidden]{display:none}
.work-lightbox-stage figcaption{padding-top:13px;font-size:12px;line-height:1.65;color:#b7cbd8;max-height:85px;overflow:auto;flex-shrink:0}
.work-lightbox.is-zoomed .work-lightbox-image-area{display:block}
.work-lightbox.is-zoomed .work-lightbox-image-area img{width:auto;height:auto;max-width:none;max-height:none;object-fit:initial}
@media(max-width:1100px){.case-story-tagline{font-size:22px}.case-context-layout,.case-execution-layout,.case-impact-layout{gap:45px}.case-chapter-with-art .case-chapter-layout{gap:40px}.case-chapter-layout{gap:40px}.case-story-chapter:not(.case-chapter-with-art) .case-chapter-copy{column-gap:40px}.case-historical-context{gap:40px}}
@media(max-width:760px){.case-story-tagline{max-width:650px}.case-story-introduction{font-size:21px;padding-top:32px}.case-context-section,.case-story-chapter{padding-block:40px}.case-context-layout{grid-template-columns:1fr;gap:28px}.case-strategic-challenge{padding:28px 0 0;border-left:0;border-top:1px solid var(--case-line)}.case-context-layout p,.case-story-chapter p,.case-execution-section p,.case-impact-section p{font-size:15px;line-height:1.85}.case-story-chapter:not(.case-chapter-with-art) .case-chapter-copy{display:block}.case-chapter-with-art .case-chapter-layout{grid-template-columns:1fr;gap:25px}.case-art-left .case-chapter-art{order:0}.case-chapter-art{max-width:650px;width:100%;margin:auto}.case-art-pair .case-story-figure:nth-child(2){transform:translateY(15px)}.case-story-figure img{max-height:550px}.case-story-pullquote{font-size:24px;padding-left:20px}.case-execution-section,.case-impact-section{padding-block:40px}.case-execution-layout,.case-impact-layout{grid-template-columns:1fr;gap:20px}.case-execution-layout .case-story-list{gap:0 25px}.case-results{grid-template-columns:1fr;gap:30px;margin-top:15px;padding-top:30px}.case-results>div{min-width:0}.case-historical-context{grid-template-columns:1fr;gap:22px;padding-block:35px}.case-historical-context .case-story-figure{max-width:600px}.case-gallery-heading{gap:22px}.case-story-nav{gap:16px 25px}.case-story-nav a{font-size:11px;gap:9px}.work-lightbox{width:calc(100vw - 12px);height:calc(100dvh - 12px)}.work-lightbox-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px;padding:12px 5px}.work-lightbox-stage>button{width:44px;height:44px;font-size:28px}.work-lightbox-toolbar{padding:9px 11px;gap:8px}.work-lightbox-toolbar>div{gap:7px}.work-lightbox-toolbar button{padding:9px 11px}.work-lightbox-toolbar [data-lightbox-close]{gap:10px}.work-lightbox-stage figcaption{font-size:11px;max-height:100px}}
@media(max-width:480px){.case-story-tagline{font-size:21px}.case-story-nav{gap:15px 22px}.case-story-nav a:last-child{margin-left:0}.case-story-introduction{font-size:20px}.case-context-layout h2,.case-execution-layout h2,.case-impact-layout h2{font-size:32px}.case-story-list li{font-size:14px}.case-chapter-copy h2{font-size:30px}.case-execution-layout .case-story-list{grid-template-columns:1fr}.case-art-pair{gap:10px}.case-story-figure figcaption{font-size:10px}.case-results{display:grid;grid-template-columns:1fr}.case-results strong{font-size:42px}.work-lightbox-toolbar>p{font-size:10px}.work-lightbox-toolbar button{font-size:11px;padding:8px 9px}.work-lightbox-toolbar [data-lightbox-close]>span:last-child{font-size:22px}}

@media(max-width:760px){.case-gallery-image-frame{height:clamp(230px,65vw,360px)}.case-gallery-heading{margin-bottom:28px}.case-gallery-thumbnails{gap:8px}.case-gallery-thumbnails button{flex-basis:74px;width:74px;height:60px}.case-gallery-slide figcaption{font-size:11px}.case-client-logos{padding-block:28px}}

.case-story-hero{position:relative;isolation:isolate;overflow:hidden;background:#080d10}
.case-hero-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none}
.case-hero-backdrop{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;filter:blur(18px) brightness(.75);opacity:.65}
.case-hero-background{position:absolute;inset:0;display:block}
.case-hero-wide-image{position:absolute;right:0;top:50%;transform:translateY(-50%);display:block;width:100%;height:auto;max-height:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent)}
.case-hero-atmosphere:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080d10fa 0%,#080d10ee 26%,#080d10b0 39%,#080d1030 54%,transparent 65%),linear-gradient(180deg,#080d1040,transparent 20%,transparent 82%,#080d10b3)}
.case-story-hero-layout{display:flex;align-items:center;min-height:clamp(660px,43vw,820px);padding:52px 0 70px}
.case-story-hero-copy{position:relative;z-index:2;width:46%;max-width:580px;min-width:0}
.case-story-hero-copy>.eyebrow{font-size:11px;color:var(--work-accent);margin-bottom:20px}
.case-story-hero h1{font-size:clamp(39px,4.1vw,62px);line-height:1.04;letter-spacing:-.04em;overflow-wrap:break-word;margin-bottom:26px}
.case-story-tagline{font:400 clamp(21px,2vw,26px)/1.45 Georgia,serif;color:#e0e8ed;max-width:550px;margin-bottom:24px}
.case-story-hero-copy>p:not(.eyebrow):not(.case-story-tagline){font-size:16px;line-height:1.8;max-width:560px;color:#c4ced5}
.case-facts{background:linear-gradient(120deg,#0c151b,#101b23);border-block:1px solid var(--case-line)}
.case-facts dl{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:16px;margin:0;padding:28px 0}
.case-facts dl>div{min-width:0;padding:22px 24px;background:#ffffff03;border:1px solid #ffffff13;border-top:2px solid var(--fact-accent)}
.case-facts dt{display:flex;align-items:center;gap:12px}
.case-facts dt,.case-facts .case-role-title{font-size:10px;font-weight:600;letter-spacing:.11em;line-height:1.5;text-transform:uppercase;color:#9eb3c0}
.case-facts dt .icon{width:28px;height:28px;flex:0 0 28px}
.case-facts dd{margin:12px 0 0 40px;font-size:17px;font-weight:600;line-height:1.55;color:#e5edf2;overflow-wrap:break-word}
.case-facts .case-project-role{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;color:#b8c9d5;margin:0;border-top:1px solid #ffffff0d;padding:16px 0 36px}
.case-project-role>.icon{width:24px;height:24px;flex:0 0 24px;margin:0;color:#f28c38}
.case-project-role>span:not(.icon){min-width:0}
.case-role-title{white-space:nowrap}
.case-role-divider{display:inline-block;padding-inline:10px;font-size:16px;line-height:1;color:#f28c38}
.case-capability-strip{padding:32px 0 48px;border-block:1px solid #ffffff0d;background:#0d171d}
.case-capability-strip .eyebrow{font-size:10px;margin-bottom:22px}
.case-capability-strip ul{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;margin:0}
.case-capability-strip li{display:flex;align-items:flex-start;gap:11px;margin:0;font-size:12px;line-height:1.6;color:#c4d2db}
.case-capability-strip li .icon{width:23px;height:23px;flex:0 0 23px}
.case-capability-strip li>a{display:flex;align-items:flex-start;gap:11px;min-height:44px;max-width:100%;color:inherit;text-decoration:none}
.case-capability-strip li>a:hover,.case-capability-strip li>a:focus-visible{color:var(--cyan);text-decoration:underline;text-underline-offset:4px}
#case-partner-perspective{position:relative;isolation:isolate;overflow:hidden;padding:28px 0 36px;background:#080d10;border-bottom:1px solid var(--case-line)}
#case-partner-perspective .quote-layout{position:static;display:block;min-height:400px}
#case-partner-perspective .quote-portrait{position:absolute;right:0;top:0;width:68%;height:100%;max-width:none;object-fit:cover;object-position:75% center;mask-image:linear-gradient(90deg,transparent,#000 44%);filter:brightness(.8) saturate(.9)}
#case-partner-perspective:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#080d10 0%,#080d10e8 32%,#080d1050 57%,transparent 80%),linear-gradient(180deg,#080d1040,transparent 22%,transparent 80%,#080d1060)}
#case-partner-perspective .quote-copy{position:relative;z-index:1;width:50%;max-width:620px;padding:0}
#case-partner-perspective .quote-copy blockquote{font:400 24px/1.45 Georgia,serif;margin-bottom:20px}
#case-partner-perspective .quote-mark{display:none}
#case-partner-perspective .testimonial-viewport{display:grid}
#case-partner-perspective .testimonial-slide[hidden]{display:block;visibility:hidden;pointer-events:none}
#case-partner-perspective .carousel-controls{margin-top:20px;gap:14px;align-items:center}
@media(max-width:1100px){
 .case-story-hero-layout{display:block;min-height:0;padding:40px 0 calc(min(66.666vw,600px) + 55px)}
 .case-story-hero-copy{width:100%;max-width:680px}
 .case-story-hero h1{font-size:clamp(38px,5.4vw,58px);max-width:680px}
 .case-hero-background{inset:auto 0 0;height:min(66.666vw,600px);z-index:1;mask-image:linear-gradient(180deg,transparent,#000 3%,#000 97%,transparent)}
 .case-hero-wide-image{position:static;transform:none;height:100%;max-height:none;object-position:center;mask-image:none}
 .case-hero-atmosphere:after{background:#080d10d9}
 .case-facts dl>div{padding:20px 16px}
 .case-facts dd{font-size:15px}
 .case-capability-strip ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .case-story-hero h1{font-size:clamp(38px,7.8vw,54px)}
 .case-story-tagline{font-size:22px}
 .case-story-hero-copy>p:not(.eyebrow):not(.case-story-tagline){font-size:15px}
 .case-facts dl{grid-template-columns:1fr;gap:12px;padding:24px 0}
 .case-facts dl>div{padding:18px 20px}
 .case-facts dd{font-size:16px}
 .case-capability-strip ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
 .case-capability-strip li{font-size:11px}
 #case-partner-perspective{padding:32px 0}
 #case-partner-perspective .quote-layout{min-height:470px}
 #case-partner-perspective .quote-copy{width:100%;max-width:none}
 #case-partner-perspective .quote-copy blockquote{font-size:21px}
 #case-partner-perspective .quote-portrait{width:100%;opacity:.38;object-position:75% center}
 #case-partner-perspective:after{background:linear-gradient(90deg,#080d10f0,#080d1070)}
}
.case-impact-highlights{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;margin:0;padding:4px 0 0}
.case-impact-highlights li{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;margin:0;padding:0 0 20px;border-bottom:1px solid var(--case-line);font-size:14px;line-height:1.65;color:#d3e0e8}
.case-impact-highlights .icon{width:38px;height:38px;flex-shrink:0;color:var(--work-accent)}
@media(max-width:560px){
 .case-impact-highlights{grid-template-columns:1fr;gap:18px;padding:0}
 .case-impact-highlights li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:16px;padding-bottom:16px}
 .case-impact-highlights .icon{width:34px;height:34px}
}
