:root{--ink:#f4f7f8;--muted:#8c9aa2;--cyan:#73d6ee;--line:rgba(160,205,218,.17);--bg:#05090c;--panel:#091117}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-geist),Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.particles{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.75}.site-header{height:92px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 4.2vw;border-bottom:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,rgba(4,8,11,.93),rgba(4,8,11,.46) 75%,transparent);backdrop-filter:blur(7px)}.mark{display:flex;align-items:center;gap:13px;letter-spacing:.18em;font-size:15px;font-weight:500}.mark b{font-weight:300;color:#a9b5ba}.mark-line{width:27px;height:34px;border-left:1px solid var(--cyan);transform:skew(-15deg);position:relative}.mark-line:after{content:"";position:absolute;left:7px;top:16px;width:22px;border-top:1px solid var(--cyan);transform:skew(15deg)}.nav{display:flex;gap:34px}.nav a{text-transform:uppercase;font-size:10px;letter-spacing:.17em;color:#bbc5c9;transition:.3s}.nav a:hover{color:#fff}.menu{display:none;background:none;border:0}.panel{position:relative;min-height:100vh;padding:150px 6vw 90px;z-index:2;overflow:hidden;scroll-snap-align:start;border-bottom:1px solid rgba(255,255,255,.06)}.hero{display:flex;align-items:center;padding-top:90px}.hero-copy{max-width:910px;position:relative;z-index:4}.eyebrow{text-transform:uppercase;font:500 10px/1.4 var(--font-mono);letter-spacing:.24em;color:var(--cyan);margin:0 0 26px}.hero h1,.panel h2{font-weight:320;letter-spacing:-.055em;line-height:.93;margin:0;font-size:clamp(55px,7.6vw,118px)}h1 em,h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(214,235,241,.64)}.lede{max-width:610px;font-size:clamp(16px,1.45vw,21px);line-height:1.62;color:#a6b3b9;margin:38px 0}.actions{display:flex;align-items:center;gap:34px}.button{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;font:500 10px var(--font-mono);letter-spacing:.16em;height:50px}.button.primary{padding:0 26px;border:1px solid rgba(114,214,238,.6);background:rgba(71,167,194,.09)}.button.primary:hover{background:rgba(114,214,238,.15)}.button.text{gap:14px;color:#dce3e6}.button.text span{color:var(--cyan);font-size:17px}.horizon{position:absolute;left:42%;right:-8%;top:46%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),rgba(143,218,237,.3),transparent);box-shadow:0 0 22px rgba(95,206,235,.42)}.horizon:before{content:"";position:absolute;width:420px;height:220px;left:28%;top:-110px;background:radial-gradient(ellipse,rgba(80,177,211,.11),transparent 65%)}.keel{position:absolute;left:42%;top:0;width:1px;height:47vh;background:linear-gradient(var(--cyan),rgba(92,185,211,.13),transparent);transform:skew(-11deg);transform-origin:top}.keel:after,.keel:before{content:"";position:absolute;top:0;height:40vh;width:1px;background:linear-gradient(rgba(123,212,236,.35),transparent);transform-origin:top}.keel:before{transform:rotate(21deg)}.keel:after{transform:rotate(-21deg)}.scroll-cue{position:absolute;bottom:40px;left:6vw;text-transform:uppercase;font:500 9px var(--font-mono);letter-spacing:.22em;color:#6f7e85;display:flex;align-items:center;gap:13px}.scroll-cue span{width:38px;border-top:1px solid var(--cyan)}.hero-index{position:absolute;right:5vw;bottom:38px;font:10px var(--font-mono);letter-spacing:.16em;color:#728087}.hero-index span{color:#34444c;margin:0 8px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.section-grid{display:grid;grid-template-columns:1.1fr .78fr;gap:10vw;align-items:start}.story{padding-top:55px}.story p{color:#8f9da4;line-height:1.72;font-size:15px;max-width:530px}.story .large{font-size:clamp(21px,2vw,29px);line-height:1.4;color:#dae2e5;letter-spacing:-.02em;margin-top:0}.principles{display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid var(--line)}.principle{padding:24px 30px 10px 0;border-right:1px solid var(--line);min-height:180px}.principle:not(:first-child){padding-left:30px}.principle span,.sector span{font:9px var(--font-mono);color:var(--cyan);letter-spacing:.17em}.principle h3{font-size:18px;font-weight:450;margin:35px 0 12px}.principle p{font-size:13px;line-height:1.55;color:#79888f}.portfolio{background:linear-gradient(135deg,#071017,#05090c 60%)}.portfolio-intro{width:min(530px,100%);font-size:17px;line-height:1.65;color:#8e9ba2;margin:34px 0 65px}.sector-list{border-top:1px solid var(--line)}.sector{display:grid;grid-template-columns:60px 1fr 30px;align-items:center;border-bottom:1px solid var(--line);height:72px;transition:.3s}.sector:hover{padding-left:13px;background:rgba(113,214,238,.035)}.sector h3{font-size:clamp(18px,2vw,27px);font-weight:380;margin:0}.sector i{font-style:normal;color:#55717b}.criteria{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:70px}.criteria div{padding:28px;border-right:1px solid var(--line)}.criteria div:last-child{border:0}.criteria small{display:block;text-transform:uppercase;font:9px var(--font-mono);letter-spacing:.16em;color:#6f7f86;margin-bottom:14px}.criteria strong{font-weight:400;font-size:18px}.system{display:grid;grid-template-columns:.85fr 1.1fr;align-items:center;gap:6vw;background:radial-gradient(circle at 67% 47%,rgba(18,80,99,.2),transparent 34%)}.system-head h2{font-size:clamp(48px,6vw,89px)}.system-head>p:last-child{color:#89979e;line-height:1.68;max-width:470px;margin-top:35px}.orbit{width:min(43vw,580px);aspect-ratio:1;justify-self:center;border:1px solid rgba(122,206,228,.2);border-radius:50%;position:relative;display:grid;place-items:center}.orbit:before,.orbit:after{content:"";position:absolute;inset:14%;border:1px solid rgba(122,206,228,.13);border-radius:50%}.orbit:after{inset:31%;background:radial-gradient(circle,rgba(39,129,155,.14),transparent);box-shadow:0 0 80px rgba(47,170,204,.08)}.orbit-center{z-index:2;font-size:40px;font-weight:250;letter-spacing:.08em;text-align:center}.orbit-center small{display:block;font:8px var(--font-mono);letter-spacing:.15em;color:#6e8992;margin-top:9px}.orbit>span{position:absolute;left:50%;top:50%;width:126px;text-align:center;font:8px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#aebdc2;transform:translate(-50%,-50%) rotate(calc(var(--i)*60deg)) translateY(-20vw) rotate(calc(var(--i)*-60deg))}.way{position:absolute;left:6vw;right:6vw;bottom:45px;display:flex;gap:50px;border-top:1px solid var(--line);padding-top:22px}.way p:last-child{margin:0;max-width:850px;color:#84949b;font-size:12px;line-height:1.6}.team-note{margin-top:100px;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr 1.5fr auto;align-items:center;gap:30px;padding:35px 0}.team-note span{font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:#708087}.team-note strong{letter-spacing:.16em;font-weight:400}.team-note p{font-size:12px;line-height:1.55;color:#7d8b92}.team-note a{font:9px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}.faq{display:grid;grid-template-columns:.7fr 1fr;gap:9vw}.faq h2{font-size:clamp(50px,6vw,88px)}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{width:100%;min-height:83px;color:#dce3e6;background:none;border:0;display:grid;grid-template-columns:42px 1fr 30px;text-align:left;align-items:center;cursor:pointer;font-size:16px}.faq-item button span{font:9px var(--font-mono);color:#5d7882}.faq-item button i{font-style:normal;color:var(--cyan);font-size:21px;text-align:right}.answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}.answer>p{overflow:hidden;margin:0 30px 0 42px;color:#7e8d94;font-size:13px;line-height:1.7}.answer.open{grid-template-rows:1fr}.answer.open>p{margin-bottom:28px}.connect{display:flex;align-items:center;background:linear-gradient(#05090c,#071118)}.connect>div:not(.horizon){position:relative;z-index:4}.connect h2{font-size:clamp(51px,7.3vw,108px)}.connect>div>p:not(.eyebrow){color:#89969c;max-width:560px;line-height:1.6;margin:31px 0}.email{font-size:clamp(16px,1.8vw,25px);border-bottom:1px solid var(--cyan);padding-bottom:7px}.email span{color:var(--cyan);margin-left:14px}.horizon.lower{top:47%;left:48%}.connect footer{position:absolute;bottom:0;left:0;right:0;height:95px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;color:#6f7e84;font-size:10px}.connect footer .mark{color:#d9e0e2}.connect footer>a:last-child{text-transform:uppercase;font:9px var(--font-mono);letter-spacing:.14em}.connect footer p{margin:0}
@media(max-width:900px){html{scroll-snap-type:none}.site-header{height:72px}.nav{position:fixed;inset:72px 0 0;background:rgba(4,8,11,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;pointer-events:none;transition:.3s}.nav.open{opacity:1;pointer-events:auto}.nav a{font-size:14px}.menu{display:block;width:35px;height:35px;position:relative}.menu span{position:absolute;left:6px;right:6px;border-top:1px solid #fff;top:13px}.menu span:last-child{top:21px}.panel{padding:120px 6vw 80px;min-height:auto}.hero{min-height:100svh}.hero h1{font-size:clamp(49px,14vw,75px)}.horizon{left:10%;top:66%}.lede{font-size:15px}.section-grid,.system,.faq{grid-template-columns:1fr;gap:45px}.story{padding-top:0}.principles{grid-template-columns:1fr 1fr;margin-top:60px}.principle:nth-child(2){border-right:0}.criteria{grid-template-columns:1fr}.criteria div{border-right:0;border-bottom:1px solid var(--line)}.system{padding-bottom:130px}.orbit{width:min(88vw,500px)}.orbit>span{transform:translate(-50%,-50%) rotate(calc(var(--i)*60deg)) translateY(-40vw) rotate(calc(var(--i)*-60deg))}.way{position:relative;left:auto;right:auto;bottom:auto;flex-direction:column;gap:5px;margin-top:50px}.team-note{grid-template-columns:1fr 1fr}.faq-list{margin-top:20px}.connect{min-height:100svh;padding-bottom:130px}.connect footer{height:auto;min-height:95px;gap:20px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}.connect footer p{order:3;width:100%}}
@media(max-width:560px){.mark{font-size:12px}.panel h2{font-size:46px}.actions{align-items:flex-start;flex-direction:column;gap:5px}.principles{grid-template-columns:1fr}.principle{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}.criteria strong{font-size:16px}.orbit-center{font-size:30px}.orbit>span{width:90px;font-size:7px}.team-note{grid-template-columns:1fr}.faq-item button{font-size:14px;grid-template-columns:32px 1fr 24px}.answer>p{margin-left:32px}.connect footer .mark{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.particles{display:none}.reveal{opacity:1;transform:none;transition:none}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{padding:0;background:#020609;isolation:isolate}
.hero-art{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(1,5,8,.12),transparent 32%,rgba(1,5,8,.22)),url('public/hero-keel-horizons-clean.png');background-size:cover;background-position:center center;z-index:0}
.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,5,8,.12),transparent 55%),linear-gradient(0deg,rgba(1,5,8,.6),transparent 28%)}
.hero-actions{position:absolute;z-index:4;left:6vw;bottom:76px;display:flex;align-items:center;gap:34px}
.hero .scroll-cue{left:auto;right:6vw;bottom:42px}
.hero .hero-index{display:none}
@media(max-width:900px){.hero-art{background-position:62% center}.hero-actions{left:6vw;right:6vw;bottom:88px}.hero .scroll-cue{display:none}}
@media(max-width:560px){.hero-art{background-position:58% center}.hero-actions{flex-direction:column;align-items:flex-start;gap:2px;bottom:46px}}

/* Static-site refinements */
.sector-list{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line)}
.sector{grid-template-columns:52px 1fr 24px;padding:0 24px;border-right:1px solid var(--line)}
.sector:nth-child(5){grid-column:1 / -1}
.system{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:5vw;padding-bottom:145px}
.system>*{min-width:0}
.system-head{max-width:100%}
.discipline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.discipline-grid>div{min-height:165px;padding:23px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(7,18,24,.46);transition:background .3s,transform .3s}
.discipline-grid>div:hover{background:rgba(47,145,173,.08);transform:translateY(-2px)}
.discipline-grid span{font:9px var(--font-mono,monospace);letter-spacing:.17em;color:var(--cyan)}
.discipline-grid h3{margin:25px 0 10px;font-size:17px;font-weight:430}
.discipline-grid p{margin:0;max-width:270px;color:#75878e;font-size:12px;line-height:1.55}
.criteria{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0}
.criteria>div{min-width:0}
.portfolio-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.65fr);gap:7vw;align-items:end}
.portfolio-head .portfolio-intro{margin-bottom:0}
.portfolio-head .criteria{grid-template-columns:1fr;margin:0}
.portfolio-head .criteria div{padding:18px 22px;border-right:0;border-bottom:1px solid var(--line)}
.portfolio-head .criteria div:last-child{border-bottom:0}
.portfolio-head .criteria small{margin-bottom:8px}
.sector-list{margin-top:55px}
@media(max-width:900px){.portfolio-head{grid-template-columns:1fr}.portfolio-head .criteria{grid-template-columns:1fr 1fr 1fr}.portfolio-head .criteria div{border-right:1px solid var(--line);border-bottom:0}.portfolio-head .criteria div:last-child{border-right:0}}
@media(max-width:650px){.portfolio-head .criteria{grid-template-columns:1fr}.portfolio-head .criteria div{border-right:0;border-bottom:1px solid var(--line)}}
.connect-form-section{display:grid;grid-template-columns:.9fr 1fr;gap:8vw;align-items:center;padding-bottom:140px}
.connect-form-section .horizon{opacity:.35}
.connect-copy{position:relative;z-index:4}
.connect-copy h2{font-size:clamp(48px,5.4vw,82px)}
.contact-form{position:relative;z-index:5;display:grid;gap:18px;padding:34px;border:1px solid var(--line);background:rgba(5,12,16,.84);backdrop-filter:blur(15px)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:grid;gap:8px;text-transform:uppercase;font:8px var(--font-mono,monospace);letter-spacing:.17em;color:#82939a}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(151,202,216,.28);border-radius:0;background:transparent;color:#e9eef0;padding:10px 0 12px;font:14px Arial,sans-serif;outline:none}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--cyan)}
.contact-form select option{background:#071017;color:#e9eef0}
.contact-form textarea{resize:vertical;min-height:90px}
.submit-button{justify-self:start;color:#fff;cursor:pointer}
.submit-button span{margin-left:14px;color:var(--cyan)}
.form-note{margin:0!important;font-size:10px!important;color:#66777e!important}
@media(max-width:900px){.sector-list{grid-template-columns:1fr}.sector:nth-child(5){grid-column:auto}.system{grid-template-columns:1fr;padding-bottom:150px}.discipline-grid{grid-template-columns:1fr 1fr}.connect-form-section{grid-template-columns:1fr;gap:50px}.contact-form{padding:26px}}
@media(max-width:560px){.discipline-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.contact-form{padding:20px}.sector{padding:0 14px}.connect-form-section{padding-bottom:160px}}

/* Team page */
.nav a[aria-current="page"]{color:#fff}
.team-page-hero{position:relative;z-index:2;min-height:76vh;padding:180px 6vw 90px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:radial-gradient(circle at 72% 50%,rgba(28,104,126,.16),transparent 32%)}
.team-page-hero h1{margin:0;font-size:clamp(58px,8vw,120px);line-height:.92;letter-spacing:-.055em;font-weight:320}
.team-page-hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(214,235,241,.64)}
.team-page-hero>div:first-child>p:last-child{max-width:none;margin-top:34px;color:#8e9da3;font-size:17px;line-height:1.65;white-space:nowrap}
.team-page-index{position:absolute;right:6vw;bottom:42px;text-transform:uppercase;font:9px var(--font-mono,monospace);letter-spacing:.18em;color:#60747c}
.team-directory{position:relative;z-index:2;padding:0 6vw;background:#05090c}
.leader-profile{display:grid;grid-template-columns:minmax(270px,.65fr) 1.35fr;gap:7vw;align-items:start;padding:110px 0;border-bottom:1px solid var(--line)}
.leader-profile.reverse .portrait-wrap{order:2}.leader-profile.reverse .profile-copy{order:1}
.portrait-wrap{position:relative;max-width:430px}
.portrait-wrap:before{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid rgba(115,210,235,.28);z-index:-1}
.portrait-wrap img{display:block;width:100%;height:auto;aspect-ratio:1/1.06;object-fit:cover;filter:saturate(.78) contrast(1.06)}
.profile-number{margin:0 0 28px;text-transform:uppercase;font:9px var(--font-mono,monospace);letter-spacing:.18em;color:var(--cyan)}
.profile-copy h2{margin:0;font-size:clamp(42px,5.2vw,78px);line-height:.95;letter-spacing:-.045em;font-weight:340}
.profile-role{margin:18px 0 42px;text-transform:uppercase;font:9px var(--font-mono,monospace);letter-spacing:.16em;color:#81949b}
.profile-lede{max-width:760px;color:#d6e0e3;font-size:clamp(19px,2vw,27px);line-height:1.45;letter-spacing:-.02em}
.bio-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:38px;border-top:1px solid var(--line);padding-top:28px}
.bio-columns p{margin:0;color:#7f9097;font-size:13px;line-height:1.75}
.team-page-cta{position:relative;z-index:2;min-height:64vh;padding:120px 6vw;display:flex;align-items:center;background:linear-gradient(135deg,#07131a,#05090c)}
.team-page-cta h2{margin:0 0 42px;font-size:clamp(48px,6.8vw,96px);line-height:.96;letter-spacing:-.05em;font-weight:330}
.standalone-footer{position:relative;z-index:3;min-height:95px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px 6vw;color:#6f7e84;font-size:10px;background:#05090c}
.standalone-footer>a:last-child{text-transform:uppercase;font:9px var(--font-mono,monospace);letter-spacing:.14em}
@media(max-width:900px){.team-page-hero{min-height:70vh;padding-top:140px}.leader-profile{grid-template-columns:1fr;gap:50px;padding:80px 0}.leader-profile.reverse .portrait-wrap,.leader-profile.reverse .profile-copy{order:initial}.portrait-wrap{max-width:390px}.bio-columns{grid-template-columns:1fr}.standalone-footer{flex-wrap:wrap;gap:20px}.standalone-footer p{order:3;width:100%}}
@media(max-width:560px){.team-page-hero h1{font-size:52px}.team-page-index{display:none}.leader-profile{padding:60px 0}.profile-copy h2{font-size:42px}.standalone-footer .mark{display:none}}

/* Team page spacing and alignment */
.team-page-hero{min-height:72vh;padding-top:170px;padding-bottom:110px}
.team-directory{padding-top:28px;padding-bottom:28px}
.leader-profile{grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:clamp(55px,7vw,120px);align-items:center;padding:105px 0;max-width:1500px;margin:0 auto}
.leader-profile.reverse .portrait-wrap,.leader-profile.reverse .profile-copy{order:initial}
.portrait-wrap{width:100%;max-width:390px;justify-self:start}
.profile-copy{min-width:0;max-width:900px}
.profile-number{margin-bottom:24px}
.profile-role{margin-bottom:34px}
.profile-lede{margin-top:0;margin-bottom:0;max-width:820px}
.bio-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,58px);margin-top:34px;padding-top:30px}
.bio-columns p{max-width:none}
.team-page-cta{min-height:58vh;padding-top:110px;padding-bottom:110px}
@media(max-width:900px){.team-page-hero{min-height:66vh;padding-top:140px;padding-bottom:80px}.team-directory{padding-top:0;padding-bottom:0}.leader-profile{grid-template-columns:minmax(210px,300px) minmax(0,1fr);gap:45px;padding:75px 0;align-items:start}.bio-columns{grid-template-columns:1fr;gap:18px}.profile-lede{font-size:19px}}
@media(max-width:680px){.team-page-hero>div:first-child>p:last-child{white-space:normal}.leader-profile{grid-template-columns:1fr;gap:52px;padding:70px 0}.portrait-wrap{max-width:340px}.profile-copy{max-width:none}.bio-columns{gap:20px}.team-page-cta{min-height:52vh;padding-top:90px;padding-bottom:90px}}

/* Cropped high-resolution brand lockup */
.mark.logo-v2{display:block;width:248px;height:82px;background-image:url('public/keel-logo-v2.png');background-repeat:no-repeat;background-size:226px auto;background-position:center 50%;mix-blend-mode:screen;flex:0 0 auto}
.connect footer .mark.logo-v2,.standalone-footer .mark.logo-v2{width:198px;height:72px;background-size:181px auto}
@media(max-width:700px){.mark.logo-v2{width:198px;height:72px;background-size:181px auto}}
@media(max-width:560px){.mark.logo-v2{width:176px;height:66px;background-size:162px auto}.connect footer .mark.logo-v2,.standalone-footer .mark.logo-v2{display:block;width:152px;height:58px;background-size:140px auto}}

/* Partnership page, adapted from the Evergreen Horizons Consulting section */
.partnership-page{position:relative;z-index:2}
.partnership-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:170px 6vw 92px;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
.partnership-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;filter:saturate(.72) contrast(1.08)}
.partnership-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,7,10,.96) 0%,rgba(2,7,10,.78) 42%,rgba(2,7,10,.2) 76%),linear-gradient(0deg,rgba(2,7,10,.84),transparent 54%)}
.partnership-copy{max-width:850px}
.partnership-copy h1{margin:0;font-size:clamp(58px,7.5vw,112px);line-height:.92;letter-spacing:-.055em;font-weight:320}
.partnership-copy h1 em,.partnership-services h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(214,235,241,.64)}
.partnership-copy>p:not(.eyebrow){max-width:690px;margin:34px 0;color:#b5c2c7;font-size:clamp(16px,1.45vw,20px);line-height:1.68}
.partnership-services{padding:125px 6vw;background:#05090c;border-bottom:1px solid var(--line)}
.partnership-services-head{display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw;align-items:start}
.partnership-services h2{margin:0;font-size:clamp(48px,6.5vw,94px);line-height:.96;letter-spacing:-.05em;font-weight:330}
.partnership-service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:85px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partnership-service-grid article{min-height:280px;padding:32px clamp(24px,3vw,46px);border-right:1px solid var(--line)}
.partnership-service-grid article:first-child{padding-left:0}.partnership-service-grid article:last-child{border-right:0}
.partnership-service-grid span{font:9px var(--font-mono,monospace);letter-spacing:.18em;color:var(--cyan)}
.partnership-service-grid h3{margin:54px 0 20px;font-size:clamp(22px,2.3vw,34px);line-height:1.1;font-weight:380}
.partnership-service-grid p{margin:0;color:#7f9097;font-size:13px;line-height:1.75}
.partnership-cta{min-height:58vh;padding:110px 6vw;display:flex;align-items:center;background:linear-gradient(135deg,#07131a,#05090c)}
.partnership-cta h2{margin:0 0 42px;font-size:clamp(48px,6.8vw,96px);line-height:.96;letter-spacing:-.05em;font-weight:330}
@media(max-width:900px){.nav{gap:22px}.partnership-hero{padding-top:140px}.partnership-services-head{grid-template-columns:1fr;gap:28px}.partnership-service-grid{grid-template-columns:1fr}.partnership-service-grid article,.partnership-service-grid article:first-child{min-height:auto;padding:34px 0;border-right:0;border-bottom:1px solid var(--line)}.partnership-service-grid article:last-child{border-bottom:0}.partnership-service-grid h3{margin:24px 0 14px}}
@media(max-width:560px){.partnership-hero{min-height:88svh;padding:130px 6vw 70px}.partnership-copy h1{font-size:49px}.partnership-overlay{background:linear-gradient(90deg,rgba(2,7,10,.94),rgba(2,7,10,.52)),linear-gradient(0deg,rgba(2,7,10,.9),transparent 60%)}.partnership-services{padding-top:85px;padding-bottom:85px}.partnership-services h2{font-size:44px}.partnership-cta{min-height:52vh;padding-top:90px;padding-bottom:90px}}

/* 2026-08-31: mobile hero fit fix — preserve artwork without horizontal cropping */
@media (max-width: 900px) {
  .hero {
    min-height: 100svh;
  }

  .hero-art {
    inset: 72px 0 138px;
    background-size: 100% auto;
    background-position: center center;
    background-repeat: no-repeat;
  }

  .hero-actions {
    left: 6vw;
    right: 6vw;
    bottom: 38px;
  }
}

@media (max-width: 560px) {
  .hero-art {
    inset: 72px 0 132px;
    background-size: 100% auto;
    background-position: center center;
  }

  .hero-actions {
    left: 6vw;
    right: 6vw;
    bottom: 28px;
  }
}


/* Mobile hero CTA typography refinement — 2026-08-31 */
@media (max-width: 560px) {
  .hero-actions {
    width: calc(100% - 12vw);
  }
  .hero-actions .button {
    font-size: 13px;
    letter-spacing: .14em;
    line-height: 1.2;
  }
  .hero-actions .button.primary {
    width: 100%;
    min-height: 58px;
    padding: 0 18px;
  }
  .hero-actions .button.text {
    min-height: 50px;
    font-size: 14px;
  }
  .hero-actions .button.text span {
    font-size: 19px;
  }
}

@media (max-width: 390px) {
  .hero-actions .button {
    font-size: 12px;
    letter-spacing: .12em;
  }
  .hero-actions .button.text {
    font-size: 13px;
  }
}

/* Mobile header collision fix — keep logo and menu in separate reserved areas */
@media (max-width: 700px) {
  .site-header {
    padding-left: 4vw;
    padding-right: 4vw;
    gap: 16px;
  }

  .site-header .mark.logo-v2 {
    width: min(56vw, 198px);
    max-width: calc(100% - 70px);
    flex: 0 1 auto;
    background-size: min(51vw, 181px) auto;
    background-position: left center;
  }

  .site-header .menu {
    display: block;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: auto;
    position: relative;
    z-index: 52;
  }

  .site-header .nav {
    z-index: 49;
  }
}

@media (max-width: 390px) {
  .site-header .mark.logo-v2 {
    width: min(58vw, 176px);
    background-size: min(53vw, 162px) auto;
  }
}


/* FINAL MOBILE NAV + HERO CLEANUP
   - menu lives completely below header
   - no mask/box over artwork
   - baked-in small lockup is moved off-screen by mobile background crop
   - one centered HTML lockup remains */
.hero-mobile-lockup {
  display: block;
  position: absolute;
  z-index: 4;
  left: 6vw;
  right: 6vw;
  top: 25%;
  text-align: center;
  pointer-events: none;
}

.hero-mobile-title {
  margin: 0;
  color: #f4f7f8;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(42px, 4.7vw, 76px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .13em;
  white-space: nowrap;
  text-transform: uppercase;
  text-shadow: 0 1px 10px rgba(0,0,0,.4);
}

.hero-mobile-subtitle {
  margin-top: 18px;
  color: var(--cyan);
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(9px, .9vw, 13px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .2em;
  white-space: nowrap;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .site-header {
    height: 72px !important;
    min-height: 72px !important;
    background: #05090c !important;
  }

  .site-header .nav {
    position: fixed !important;
    top: 72px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: calc(100dvh - 72px) !important;
    min-height: 0 !important;
    padding: 42px 24px max(32px, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 28px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    background: rgba(4,8,11,.985) !important;
    backdrop-filter: blur(10px);
    z-index: 49 !important;
    transform: none !important;
  }

  .site-header .nav a {
    flex: 0 0 auto;
    width: auto;
    padding: 7px 12px;
    font-family: Arial, sans-serif;
    font-size: 14px !important;
    line-height: 1.35;
    letter-spacing: .17em;
    text-align: center;
  }

  .site-header .menu {
    z-index: 52 !important;
  }
}

@media (max-width: 560px) {
  .hero-art {
    /* Fill vertically so the image's small baked-in lockup on the left is cropped out. */
    inset: 72px 0 132px !important;
    background-size: auto 100% !important;
    background-position: 62% center !important;
    background-repeat: no-repeat !important;
  }

  .hero-mobile-lockup {
    display: block;
    position: absolute;
    z-index: 4;
    left: 4vw;
    right: 4vw;
    top: 27%;
    text-align: center;
    pointer-events: none;
  }

  .hero-mobile-title {
    margin: 0;
    color: #f4f7f8;
    font-family: "Times New Roman", Times, serif;
    font-size: clamp(29px, 8.6vw, 42px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: .11em;
    white-space: nowrap;
    text-transform: uppercase;
    text-shadow: 0 1px 8px rgba(0,0,0,.35);
  }

  .hero-mobile-subtitle {
    margin-top: 15px;
    color: var(--cyan);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: clamp(8px, 2.3vw, 11px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .17em;
    white-space: nowrap;
    text-transform: uppercase;
  }
}

@media (max-width: 390px) {
  .site-header .nav {
    padding-top: 32px !important;
    gap: 22px !important;
  }

  .hero-art {
    background-position: 63% center !important;
  }

  .hero-mobile-title {
    font-size: clamp(27px, 8.4vw, 34px);
    letter-spacing: .09em;
  }

  .hero-mobile-subtitle {
    font-size: 8px;
    letter-spacing: .14em;
  }
}

/* Mobile hero final fix: preserve the artwork's original centered composition. */
@media (max-width: 560px) {
  .hero {
    min-height: 100svh;
    padding: 72px 0 0;
  }

  .hero-art {
    inset: 72px 0 132px !important;
    background-size: auto 100% !important;
    background-position: center center !important;
  }

  .hero-mobile-lockup {
    left: max(18px, 4vw);
    right: max(18px, 4vw);
    top: 27%;
  }

  .hero-mobile-title,
  .hero-mobile-subtitle {
    max-width: 100%;
    white-space: nowrap;
  }

  .hero-actions {
    left: 6vw !important;
    right: 6vw !important;
    bottom: max(28px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 390px) {
  .hero-art {
    background-position: center center !important;
  }
}

/* Crisp interface arrow; avoids platform-specific emoji rendering. */
.button.text span,
.email span,
.submit-button span,
.team-note .link-arrow,
.sector i {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 0;
  overflow: hidden;
  color: transparent;
  font-size: 0 !important;
  flex: 0 0 14px;
}

.button.text span::before,
.email span::before,
.submit-button span::before,
.team-note .link-arrow::before,
.sector i::before {
  content: "";
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--cyan);
  border-right: 1px solid var(--cyan);
}

.button.text span::after,
.email span::after,
.submit-button span::after,
.team-note .link-arrow::after,
.sector i::after {
  content: "";
  position: absolute;
  left: 2px;
  bottom: 3px;
  width: 13px;
  border-top: 1px solid var(--cyan);
  transform: rotate(-45deg);
  transform-origin: left center;
}

.team-note a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* Consistent vertical rhythm on phones. */
@media (max-width: 560px) {
  .panel:not(.hero) {
    padding-top: 88px;
    padding-bottom: 72px;
  }

  .section-grid,
  .system,
  .faq {
    gap: 32px;
  }

  .story p {
    margin-top: 0;
    margin-bottom: 18px;
  }

  .principles,
  .team-note {
    margin-top: 52px;
  }

  .sector-list {
    margin-top: 42px;
  }

  .system {
    padding-bottom: 80px;
  }

  .discipline-grid {
    gap: 0;
  }

  .way {
    margin-top: 42px;
  }

  .faq-list {
    margin-top: 0;
  }

  .connect-form-section {
    gap: 38px;
    padding-bottom: 150px;
  }
}

/* Keep the contact footer in normal flow when the form stacks. */
@media (max-width: 900px) {
  .connect-form-section {
    padding-bottom: 0;
  }

  .connect-form-section footer {
    position: relative;
    grid-column: 1 / -1;
    left: auto;
    right: auto;
    bottom: auto;
    width: calc(100% + 12vw);
    margin: 10px -6vw 0;
    padding: 24px 6vw max(24px, env(safe-area-inset-bottom));
  }
}
