/*
Theme Name: NoviThea
Theme URI: https://novithea.org/
Author: NoviThea
Description: A bold, editorial WordPress theme for NoviThea.
Version: 1.1.0
Text Domain: novithea
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Instrument+Serif:ital@0;1&display=swap');

:root { --ink:#172329; --paper:#f6f3ec; --acid:#c8fa42; --coral:#ff6b51; --mist:#d8e7e3; --line:rgba(23,35,41,.18); --mono:'DM Mono', monospace; --sans:'DM Sans', sans-serif; --serif:'Instrument Serif', Georgia, serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); overflow-x:hidden; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
.noise { pointer-events:none; position:fixed; z-index:20; opacity:.07; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.site-header { height:84px; width:100%; padding:0 4.2vw; display:flex; align-items:center; justify-content:space-between; position:absolute; z-index:10; border-bottom:1px solid rgba(23,35,41,.16); }
.brand { display:inline-flex; gap:10px; align-items:center; font-size:24px; letter-spacing:-1.4px; font-weight:700; }
.brand-mark { width:27px; height:27px; }
.desktop-nav { display:flex; gap:30px; margin-left:auto; margin-right:48px; padding:0; list-style:none; font-family:var(--mono); font-size:10px; letter-spacing:.02em; text-transform:uppercase; }
.desktop-nav a { transition:opacity .2s; }.desktop-nav a:hover { opacity:.55; }
.header-contact, .text-link { font-size:12px; font-weight:600; border-bottom:1px solid currentColor; padding-bottom:3px; }.header-contact span, .text-link span { margin-left:6px; font-size:15px; }
.menu-button { display:none; border:0; background:none; padding:8px 0 8px 12px; }.menu-button span { height:1.5px; width:25px; background:var(--ink); display:block; margin:5px; }
.mobile-menu { display:none; }
.hero { min-height:760px; height:100vh; max-height:900px; position:relative; padding:160px 4.2vw 42px; display:grid; grid-template-columns:1.08fr .92fr; border-bottom:1px solid var(--line); overflow:hidden; }
.hero-copy { position:relative; z-index:2; align-self:center; padding-bottom:35px; }.eyebrow { font:500 10px/1.3 var(--mono); letter-spacing:.08em; text-transform:uppercase; margin:0 0 20px; }.hero-eyebrow { display:flex; align-items:center; gap:8px; }.dot { width:8px; height:8px; background:var(--coral); border-radius:100%; display:block; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { letter-spacing:-.055em; line-height:.91; font-weight:500; } h1 { font-size:clamp(64px,8.3vw,138px); max-width:760px; margin:0; } h1 em,h2 em { font-family:var(--serif); font-weight:400; } h1 em { font-size:1.1em; } .hero-intro { max-width:410px; font-size:17px; line-height:1.4; margin:38px 0 30px; }
.hero-actions { display:flex; align-items:center; gap:29px; }.button { padding:15px 18px 14px; border-radius:2px; display:inline-flex; gap:29px; align-items:center; justify-content:space-between; font:500 11px var(--mono); text-transform:uppercase; letter-spacing:.04em; transition:transform .2s, background .2s; }.button:hover { transform:translateY(-3px); }.button-dark { color:var(--paper); background:var(--ink); }.button-dark:hover { background:#314047; }.button-lime { color:var(--ink); background:var(--acid); }.button-lime:hover { background:#d7ff69; }
.hero-art { position:relative; min-height:500px; z-index:1; }.hero-orb { position:absolute; width:min(35vw,525px); height:min(35vw,525px); right:-1vw; top:44%; transform:translateY(-50%); border-radius:50%; background:var(--coral); overflow:hidden; box-shadow:18px 28px 0 rgba(23,35,41,.11); }.orb-slice { width:150%; height:18%; background:var(--ink); position:absolute; left:-18%; transform:rotate(-36deg); }.slice-one { top:16%; }.slice-two { top:45%; }.slice-three { top:74%; }.orbital { position:absolute; border:1px solid rgba(23,35,41,.7); border-radius:50%; transform:rotate(-35deg); }.orbital-one { width:102%; height:43%; top:21%; right:-17%; }.orbital-two { width:89%; height:38%; top:30%; right:-8%; }.orbital-three { width:115%; height:49%; top:10%; right:-23%; }.art-kicker { font:500 17px/.98 var(--mono); text-transform:uppercase; position:absolute; left:7%; top:17%; z-index:2; }.art-label { position:absolute; font:500 9px var(--mono); letter-spacing:.08em; }.label-one { right:3%; top:12%; }.label-two { right:54%; bottom:20%; transform:rotate(-90deg); }.label-three { right:7%; bottom:7%; }
.hero-bottom { grid-column:1/-1; align-self:end; position:relative; z-index:2; display:flex; justify-content:space-between; font:400 9px/1.3 var(--mono); letter-spacing:.04em; text-transform:uppercase; }.hero-bottom p { margin:0; max-width:660px; }.hero-bottom a { border-bottom:1px solid var(--ink); padding-bottom:4px; }.hero-bottom span { margin-left:16px; font-size:15px; }
.marquee { overflow:hidden; background:var(--acid); padding:17px 0 15px; white-space:nowrap; }.marquee-track { display:inline-flex; gap:24px; align-items:center; font:500 12px var(--mono); letter-spacing:.03em; animation:marquee 30s linear infinite; }.marquee i { color:var(--coral); font-style:normal; font-size:18px; } @keyframes marquee { to { transform:translateX(-50%); } }
.section { padding:125px 4.2vw; }.section-label { font:500 10px var(--mono); letter-spacing:.08em; text-transform:uppercase; display:flex; gap:14px; align-items:center; }.section-label span { color:var(--coral); }.section-label.light,.eyebrow.light { color:var(--paper); }.why { position:relative; }.why-main { display:grid; grid-template-columns:1.15fr .85fr; gap:6vw; padding:112px 9vw 95px 10.5vw; }.why-heading h2,.display-heading { font-size:clamp(52px,6.35vw,106px); margin:0; }.why-text { font-size:16px; line-height:1.55; padding-top:15px; }.why-text p { margin:0 0 20px; }.why-text strong { font-weight:600; }.why-text .text-link { display:inline-block; margin-top:24px; font-size:11px; }
.question { background:var(--mist); min-height:250px; width:62%; margin-left:auto; position:relative; padding:43px 7.5% 30px; }.question-asterisk { font-size:32px; position:absolute; top:31px; right:8%; color:var(--coral); }.question p { font:400 clamp(35px,4.3vw,70px)/.95 var(--serif); letter-spacing:-.045em; margin:0 0 22px; }.question small { font:400 10px var(--mono); text-transform:uppercase; letter-spacing:.05em; }
.work { padding-top:110px; }.section-title-row { display:flex; align-items:center; justify-content:space-between; }.section-title-row .eyebrow { margin:0; }.display-heading { margin:59px 0 74px; }.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.service-card { min-height:490px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 20px 21px; display:flex; flex-direction:column; transition:background .25s,color .25s; }.service-card:hover { background:var(--ink); color:var(--paper); }.service-top { display:flex; justify-content:space-between; align-items:flex-start; font:400 10px var(--mono); }.service-symbol { font-size:32px; line-height:.7; }.service-card h3 { font-size:clamp(25px,2.2vw,39px); margin:88px 0 20px; }.service-card p { font-size:13px; line-height:1.45; margin:0 0 22px; }.service-card ul { margin:0; padding:0; list-style:none; font:400 10px/1.8 var(--mono); text-transform:uppercase; }.service-card li::before { content:'— '; }.service-card a { margin-top:auto; align-self:flex-start; font:500 10px var(--mono); text-transform:uppercase; border-bottom:1px solid; padding-bottom:4px; }.service-card a span { margin-left:20px; }.card-research:hover { background:#256b79; }.card-strategy:hover { background:#6d4a87; }.card-capacity:hover { background:#bb4938; }.card-innovation:hover { background:#7f9130; }
.focus { background:var(--ink); color:var(--paper); }.focus-inner { padding-top:116px; padding-bottom:125px; }.focus-head { margin:62px 0 72px; font-size:clamp(49px,6.25vw,102px); }.focus-head em { color:var(--acid); }.focus-list { border-top:1px solid rgba(246,243,236,.38); }.focus-item { min-height:141px; border-bottom:1px solid rgba(246,243,236,.38); display:grid; grid-template-columns:11% 36% 42% 11%; align-items:center; transition:padding .25s, color .25s; }.focus-item:hover { padding:0 1.5%; color:var(--acid); }.focus-number { font:400 10px var(--mono); }.focus-item h3 { font-size:clamp(22px,2.45vw,38px); margin:0; }.focus-item p { max-width:430px; font-size:13px; line-height:1.4; margin:0; }.focus-arrow { font-size:25px; justify-self:end; }
.lab { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; min-height:770px; }.lab-visual { height:550px; position:relative; overflow:hidden; background:#f0cfbd; }.lab-sun { width:220px; height:220px; border-radius:50%; background:var(--coral); position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:11px 13px 0 rgba(23,35,41,.14); }.lab-ring { position:absolute; left:50%; top:50%; border:1px solid var(--ink); border-radius:50%; transform:translate(-50%,-50%) rotate(-24deg); }.ring-a { width:580px; height:164px; }.ring-b { width:520px; height:285px; transform:translate(-50%,-50%) rotate(37deg); }.ring-c { width:370px; height:530px; transform:translate(-50%,-50%) rotate(18deg); }.lab-word { position:absolute; font:500 10px var(--mono); letter-spacing:.06em; }.word-one { top:11%; left:9%; }.word-two { right:9%; top:31%; }.word-three { bottom:14%; left:19%; }.word-four { right:4%; bottom:8%; transform:rotate(-90deg); transform-origin:top right; }.lab-copy h2 { font-size:clamp(46px,5.2vw,82px); margin:0 0 31px; }.lab-copy > p:not(.eyebrow) { font-size:16px; line-height:1.53; max-width:500px; margin-bottom:33px; }
.approach { background:var(--coral); color:var(--ink); }.approach-inner { display:grid; grid-template-columns:.82fr 1.18fr; gap:8vw; }.approach-intro h2 { font-size:clamp(45px,4.85vw,76px); margin:52px 0 0; }.steps { border-top:1px solid rgba(23,35,41,.4); }.step { min-height:141px; border-bottom:1px solid rgba(23,35,41,.4); display:grid; grid-template-columns:13% 1fr 20px; gap:18px; padding:26px 0; }.step > span { font:400 10px var(--mono); }.step h3 { font-size:37px; margin:0 0 12px; }.step p { max-width:390px; font-size:13px; line-height:1.4; margin:0; }.step i { font-style:normal; font-size:19px; }
.inclusion { display:grid; grid-template-columns:1.08fr .92fr; min-height:690px; gap:9vw; align-items:center; }.inclusion-copy h2 { font-size:clamp(46px,5.5vw,89px); margin:50px 0 35px; }.inclusion-copy p { max-width:600px; font-size:15px; line-height:1.57; margin-bottom:16px; }.inclusion-quote { padding:55px; background:var(--acid); min-height:290px; align-self:end; }.inclusion-quote span { display:block; font:80px/.4 var(--serif); }.inclusion-quote p { font:400 clamp(27px,2.7vw,42px)/1 var(--serif); letter-spacing:-.04em; margin:39px 0 0; }.inclusion-quote strong { font-family:var(--sans); font-size:.76em; font-weight:600; }
.partners { padding-bottom:150px; }.partner-grid { border-left:1px solid var(--line); border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); margin-top:73px; }.partner-card { min-height:230px; padding:17px 20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; transition:background .2s; }.partner-card:hover { background:#e7e2d9; }.partner-card span { font:400 10px var(--mono); color:var(--coral); }.partner-card h3 { font-size:28px; margin:46px 0 15px; }.partner-card p { font-size:12px; line-height:1.45; max-width:300px; margin:0; }
.audiences { background:var(--mist); display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }.audience-heading h2 { font-size:clamp(46px,5vw,79px); margin:48px 0 0; }.audience-list { border-top:1px solid var(--line); }.audience-list details { border-bottom:1px solid var(--line); padding:0; }.audience-list summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding:21px 0; font-size:clamp(24px,2.4vw,37px); letter-spacing:-.04em; }.audience-list summary::-webkit-details-marker { display:none; }.audience-list summary b { font:400 25px var(--mono); transition:transform .2s; }.audience-list details[open] summary b { transform:rotate(45deg); }.audience-list details p { font-size:14px; line-height:1.45; max-width:550px; margin:0 0 17px; }.audience-list details a { display:inline-block; margin-bottom:24px; font:500 10px var(--mono); text-transform:uppercase; border-bottom:1px solid; padding-bottom:4px; }
.impact { background:var(--ink); color:var(--paper); }.impact-inner { padding-top:118px; padding-bottom:115px; }.impact h2 { font-size:clamp(59px,7.5vw,121px); margin:48px 0 33px; }.impact h2 em { color:var(--acid); }.impact-copy { max-width:470px; font-size:16px; line-height:1.48; margin:0 0 64px; }.impact-questions { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(246,243,236,.35); border-left:1px solid rgba(246,243,236,.35); }.impact-questions span { padding:18px; min-height:82px; border-right:1px solid rgba(246,243,236,.35); border-bottom:1px solid rgba(246,243,236,.35); font:400 12px/1.35 var(--mono); text-transform:uppercase; }
.contact { min-height:680px; display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:center; }.contact-orb { width:min(32vw,480px); aspect-ratio:1; background:var(--coral); border-radius:50%; margin:auto; display:grid; place-items:center; box-shadow:20px 22px 0 var(--ink); }.contact-orb span { font-size:clamp(90px,11vw,168px); color:var(--acid); }.contact-copy h2 { font-size:clamp(58px,6.7vw,106px); margin:0 0 30px; }.contact-copy p:not(.eyebrow) { font-size:16px; line-height:1.5; max-width:430px; margin-bottom:31px; }
.footer { background:var(--acid); padding:46px 4.2vw 24px; }.footer-top { display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:100px; }.footer-brand { font-size:36px; }.footer-brand .brand-mark { width:36px; height:36px; }.footer-top > p { font:400 16px var(--mono); text-transform:uppercase; margin:9px 0 0; }.footer-bottom { border-top:1px solid rgba(23,35,41,.4); padding-top:18px; display:grid; grid-template-columns:1fr 1.8fr auto; gap:25px; align-items:start; font:400 9px/1.4 var(--mono); letter-spacing:.05em; text-transform:uppercase; }.footer-bottom p { margin:0; }.footer-bottom a { border-bottom:1px solid; padding-bottom:4px; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }.reveal.is-visible { opacity:1; transform:translateY(0); }.service-card:nth-child(2),.focus-item:nth-child(2),.partner-card:nth-child(2),.step:nth-child(2) { transition-delay:.08s; }.service-card:nth-child(3),.focus-item:nth-child(3),.partner-card:nth-child(3),.step:nth-child(3) { transition-delay:.16s; }.service-card:nth-child(4),.focus-item:nth-child(4),.partner-card:nth-child(4),.step:nth-child(4) { transition-delay:.24s; }
@media (max-width: 900px) { .site-header { height:70px; padding:0 5.5vw; }.desktop-nav,.header-contact { display:none; }.menu-button { display:block; }.mobile-menu { position:fixed; z-index:9; inset:70px 0 0; background:var(--acid); padding:8vh 5.5vw; flex-direction:column; gap:22px; transform:translateY(-105%); transition:transform .35s ease; }.mobile-menu a { font-size:clamp(35px,9vw,62px); letter-spacing:-.06em; }.mobile-menu.is-open { display:flex; transform:translateY(0); }.hero { min-height:770px; height:auto; padding:120px 5.5vw 30px; grid-template-columns:1fr; }.hero-copy { padding-bottom:10px; }.hero-art { height:360px; min-height:0; }.hero-orb { width:360px; height:360px; right:-75px; top:48%; }.orbital-one { width:120%; height:42%; top:25%; right:-18%; }.orbital-two { width:106%; height:35%; top:31%; right:-6%; }.orbital-three { width:135%; height:50%; top:15%; right:-26%; }.art-kicker { top:16%; left:4%; }.label-two { right:75%; bottom:25%; }.hero-bottom { margin-top:14px; gap:20px; }.hero-bottom p { max-width:430px; }.section { padding:90px 5.5vw; }.why-main { padding:80px 4vw; grid-template-columns:1fr; gap:30px; }.question { width:76%; }.service-grid { grid-template-columns:repeat(2,1fr); }.service-card { min-height:430px; }.focus-inner { padding-top:90px; }.focus-item { grid-template-columns:12% 43% 38% 7%; }.lab { grid-template-columns:1fr; gap:55px; }.lab-visual { height:480px; }.approach-inner { grid-template-columns:1fr; gap:55px; }.inclusion { grid-template-columns:1fr; gap:55px; }.inclusion-quote { max-width:600px; }.audiences { grid-template-columns:1fr; gap:55px; }.contact { grid-template-columns:.8fr 1.2fr; gap:6vw; }.contact-orb { width:30vw; }.footer-bottom { grid-template-columns:1fr 1fr; }.footer-bottom a { grid-column:2; justify-self:end; } }
@media (max-width: 600px) { h1 { font-size:18.5vw; }.hero { min-height:750px; }.hero-intro { font-size:15px; margin:29px 0 24px; }.hero-actions { gap:19px; }.text-link { font-size:11px; }.hero-art { height:315px; }.hero-orb { width:315px; height:315px; right:-75px; }.art-kicker { font-size:14px; }.hero-bottom { font-size:8px; align-items:end; }.hero-bottom a { white-space:nowrap; }.hero-bottom p { max-width:240px; }.marquee { padding:13px 0 12px; }.section { padding:75px 5.5vw; }.why-main { padding:70px 0 65px; }.why-heading h2,.display-heading { font-size:14vw; }.why-text { font-size:14px; }.question { width:100%; padding:33px 8%; min-height:215px; }.question p { font-size:12vw; }.section-title-row { align-items:flex-start; gap:25px; }.section-title-row .eyebrow { text-align:right; font-size:8px; }.display-heading { margin:44px 0 49px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:365px; }.service-card h3 { margin-top:48px; font-size:38px; }.focus-head { font-size:13.5vw; margin:46px 0 50px; }.focus-item { min-height:0; padding:23px 0; grid-template-columns:20% 1fr 20px; gap:8px; }.focus-item p { display:none; }.focus-item h3 { font-size:27px; }.focus-arrow { grid-column:3; grid-row:1; }.lab { min-height:0; }.lab-visual { height:360px; margin:0 -5.5vw; }.lab-sun { width:160px; height:160px; }.ring-a { width:430px; height:120px; }.ring-b { width:390px; height:210px; }.ring-c { width:280px; height:400px; }.lab-copy h2 { font-size:13.5vw; }.lab-copy > p:not(.eyebrow) { font-size:14px; }.approach-intro h2 { font-size:13vw; }.step { grid-template-columns:14% 1fr 20px; }.step h3 { font-size:33px; }.step p { font-size:12px; }.inclusion-copy h2 { font-size:13.5vw; }.inclusion-copy p { font-size:14px; }.inclusion-quote { min-height:230px; padding:42px 31px; }.inclusion-quote p { font-size:32px; }.partner-grid { grid-template-columns:1fr; margin-top:50px; }.partner-card { min-height:190px; }.partner-card h3 { margin-top:32px; font-size:31px; }.audience-heading h2 { font-size:13.5vw; }.audience-list summary { font-size:27px; }.impact h2 { font-size:15vw; }.impact-copy { font-size:14px; }.impact-questions { grid-template-columns:1fr 1fr; }.impact-questions span { min-height:92px; padding:13px; font-size:10px; }.contact { grid-template-columns:1fr; min-height:0; }.contact-orb { width:220px; margin:0; }.contact-copy h2 { font-size:15vw; }.contact-copy p:not(.eyebrow) { font-size:14px; }.footer { padding:36px 5.5vw 20px; }.footer-top { display:block; padding-bottom:62px; }.footer-brand { font-size:34px; }.footer-top > p { margin-top:22px; font-size:11px; }.footer-bottom { grid-template-columns:1fr; gap:12px; font-size:8px; }.footer-bottom a { grid-column:auto; justify-self:start; margin-top:11px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }

/* NoviThea midnight / violet colour system */
:root { --navy:#0B1026; --indigo:#252A5A; --violet:#7C5CFF; --lilac:#B8A9FF; --future-white:#F7F7FA; --graphite:#171923; --ink:var(--graphite); --paper:var(--future-white); --acid:var(--violet); --coral:var(--lilac); --mist:var(--indigo); --line:rgba(23,25,35,.16); }
.site-header { background:var(--navy); color:var(--future-white); border-color:rgba(247,247,250,.16); }
.hero { background:var(--navy); color:var(--future-white); border-color:rgba(247,247,250,.17); }
.menu-button span { background:var(--future-white); }
.hero-orb { background:var(--violet); box-shadow:18px 28px 0 rgba(184,169,255,.22); }
.orb-slice { background:var(--indigo); }.orbital { border-color:rgba(184,169,255,.8); }
.button-dark { background:var(--violet); color:var(--future-white); }.button-dark:hover { background:#947dff; }
.button-lime { background:var(--violet); color:var(--future-white); }.button-lime:hover { background:#947dff; }
.hero-bottom a { border-color:var(--future-white); }
.marquee { background:var(--violet); color:var(--future-white); }.marquee i { color:var(--lilac); }
.section-label span { color:var(--violet); }.question { background:var(--indigo); color:var(--future-white); }.question-asterisk { color:var(--lilac); }
.service-card:hover,.card-research:hover,.card-strategy:hover,.card-capacity:hover,.card-innovation:hover { background:var(--indigo); color:var(--future-white); }
.focus,.impact,.footer { background:var(--navy); color:var(--future-white); }.focus-head em,.impact h2 em { color:var(--lilac); }
.lab-visual { background:var(--indigo); color:var(--future-white); }.lab-sun { background:var(--violet); box-shadow:11px 13px 0 rgba(184,169,255,.24); }.lab-ring { border-color:var(--lilac); }
.approach { background:var(--indigo); color:var(--future-white); }.approach .section-label span { color:var(--lilac); }.steps { border-color:rgba(247,247,250,.35); }.step { border-color:rgba(247,247,250,.35); }
.inclusion-quote { background:var(--violet); color:var(--future-white); }
.partner-card:hover { background:#ecebff; }.partner-card span { color:var(--violet); }
.audiences { background:var(--indigo); color:var(--future-white); }.audience-list,.audience-list details { border-color:rgba(247,247,250,.3); }
.contact-orb { background:var(--violet); box-shadow:20px 22px 0 var(--navy); }.contact-orb span { color:var(--lilac); }
.footer-bottom { border-color:rgba(247,247,250,.35); }

/* Expanded homepage content */
.mobile-menu { background:var(--navy); color:var(--future-white); }
.mobile-menu ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:20px; }.mobile-menu li { margin:0; }
.intro-grid,.purpose-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:9vw; align-items:start; }.intro-grid { padding:95px 9vw 0 10.5vw; }.intro-grid h2,.purpose-grid h2,.beliefs-heading h2,.principles-heading h2,.note-copy h2 { font-size:clamp(48px,5.8vw,93px); margin:0; }.prose-lead { font-size:18px; line-height:1.55; max-width:630px; }.prose-lead p:last-child { margin-bottom:0; }.purpose-grid { margin-top:67px; }.purpose-grid > div > p { font-size:15px; line-height:1.57; max-width:570px; }.vision-mission { display:grid; gap:18px; }.vision-card { border:1px solid var(--line); padding:25px; }.vision-card h3 { font-size:28px; margin:0 0 15px; }.vision-card p { font-size:14px; line-height:1.5; margin:0; }
.identity-lines { display:flex; flex-wrap:wrap; gap:10px 21px; margin:38px 0; font:500 12px var(--mono); letter-spacing:.04em; text-transform:uppercase; }.identity-lines span { padding-bottom:6px; border-bottom:1px solid var(--line); }
.beliefs { background:#eeedff; }.beliefs-heading { max-width:800px; }.beliefs-heading h2 { margin:46px 0 0; }.belief-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); margin-top:70px; }.belief-card { min-height:286px; padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.belief-card span { color:var(--violet); font:500 10px var(--mono); }.belief-card h3 { font-size:25px; margin:47px 0 14px; }.belief-card p { margin:0; font-size:12px; line-height:1.48; }
.difference { background:var(--navy); color:var(--future-white); }.difference h2 { font-size:clamp(49px,5.9vw,96px); margin:49px 0 65px; }.difference h2 em { color:var(--lilac); }.difference-list { border-top:1px solid rgba(247,247,250,.3); }.difference-list p { padding:19px 0; border-bottom:1px solid rgba(247,247,250,.3); font-size:clamp(20px,2.3vw,36px); letter-spacing:-.04em; margin:0; }.difference-list strong { color:var(--lilac); font-weight:500; }
.principles { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; align-items:start; }.principles-heading h2 { margin:45px 0 0; }.principle-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }.principle { padding:22px; min-height:170px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); }.principle h3 { font-size:26px; margin:0 0 13px; }.principle p { font-size:13px; line-height:1.48; margin:0; }
.method-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); margin-top:72px; }.method-card { min-height:230px; padding:21px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.method-card span { color:var(--violet); font:500 10px var(--mono); }.method-card h3 { font-size:29px; margin:42px 0 13px; }.method-card p { font-size:13px; line-height:1.5; margin:0; }
.offering-card { min-height:520px; }.offering-card h3 { margin-top:55px; }.offering-card ul { font-size:9px; line-height:1.7; }.offering-card p + p { margin-top:-8px; }.topic-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(247,247,250,.3); border-left:1px solid rgba(247,247,250,.3); }.topic-card { min-height:260px; padding:20px; border-right:1px solid rgba(247,247,250,.3); border-bottom:1px solid rgba(247,247,250,.3); }.topic-card span { font:500 10px var(--mono); color:var(--lilac); }.topic-card h3 { margin:41px 0 14px; font-size:29px; }.topic-card p { font-size:12px; line-height:1.48; margin:0; }
.lab-intro { margin:0 0 25px; }.lab-topics { margin-top:70px; }.lab-topics .topic-card { color:var(--ink); border-color:var(--line); }.lab-topics .topic-grid { border-color:var(--line); }.lab-topics .topic-card:nth-child(2n) { background:#eeedff; }.lab-topics .topic-card span { color:var(--violet); }
.framework-copy { max-width:580px; }.framework-copy > p:not(.eyebrow) { font-size:16px; line-height:1.5; }.framework-step .step { min-height:205px; }.framework-step .step p { max-width:480px; }.framework-step .step h3 { font-size:34px; }
.partner-grid.extended { grid-template-columns:repeat(4,1fr); }.partner-grid.extended .partner-card { min-height:250px; }.partner-grid.extended .partner-card h3 { font-size:25px; }
.partner-intro { max-width:500px; margin:0 0 -36px; font-size:15px; line-height:1.5; }
.audience-list details p + p { margin-top:-4px; }.audience-list ul { list-style:none; padding:0; margin:0 0 18px; display:grid; grid-template-columns:1fr 1fr; gap:6px 22px; font:400 10px/1.45 var(--mono); letter-spacing:.03em; text-transform:uppercase; }.audience-list li::before { content:'— '; color:var(--lilac); }
.insights { background:#eeedff; }.insight-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:47px; }.insight-list span { border:1px solid var(--line); padding:10px 13px; font:500 10px var(--mono); text-transform:uppercase; letter-spacing:.04em; }.partnerships { background:var(--navy); color:var(--future-white); }.partnerships .section-label span { color:var(--lilac); }.partnership-copy { display:grid; grid-template-columns:1fr 1fr; gap:11vw; margin-top:59px; }.partnership-copy h2 { font-size:clamp(47px,5.75vw,91px); margin:0; }.partnership-copy h2 em { color:var(--lilac); }.partnership-copy p { font-size:16px; line-height:1.57; }.partnership-copy ul { margin:27px 0; padding:0; list-style:none; font-size:14px; line-height:1.66; }.partnership-copy li::before { content:'— '; color:var(--lilac); }
.note { background:var(--indigo); color:var(--future-white); }.note-copy { max-width:900px; }.note-copy h2 { margin:46px 0 38px; }.note-copy h2 em { color:var(--lilac); }.note-copy p { font-size:16px; line-height:1.62; max-width:720px; }.note-copy .signoff { margin-top:42px; font:400 13px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--lilac); }
@media (max-width:900px) { .intro-grid,.purpose-grid,.principles,.partnership-copy { grid-template-columns:1fr; gap:45px; }.intro-grid { padding:75px 4vw 0; }.belief-grid,.method-grid { grid-template-columns:repeat(3,1fr); }.topic-grid { grid-template-columns:1fr 1fr; }.partner-grid.extended { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .site-header { background:var(--navy); }.mobile-menu { padding:6vh 5.5vw; overflow:auto; }.mobile-menu a { font-size:clamp(30px,8vw,50px); }.intro-grid { padding:60px 0 0; }.prose-lead { font-size:15px; }.belief-grid,.method-grid,.topic-grid,.partner-grid.extended { grid-template-columns:1fr; }.belief-card { min-height:195px; }.belief-card h3 { margin-top:28px; }.method-card { min-height:185px; }.method-card h3 { margin-top:28px; }.principle-grid { grid-template-columns:1fr; }.topic-card { min-height:210px; }.topic-card h3 { margin-top:28px; }.partner-grid.extended .partner-card { min-height:190px; }.audience-list ul { grid-template-columns:1fr; }.partnership-copy { margin-top:42px; }.note-copy p { font-size:14px; } }
