
:root { --ink:#121D33; --paper:#F1F0EB; --acid:#E1FD72; --blue:#13223e; --line:rgba(18,29,51,.22); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1400px, calc(100% - 96px)); margin:0 auto; }
.nav { height:108px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); position:relative; z-index:5; }
.brand { display:inline-flex; align-items:center; flex:none; max-width:100%; }
.brand:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.brand-logo { display:block; width:300px; max-width:100%; height:auto; }
.brand-logo--stacked { width:218px; }
.nav nav { display:flex; gap:38px; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.14em; }
.nav nav a:hover { opacity:.55; }
.nav-cta { background:var(--ink); color:var(--paper); flex:none; padding:15px 18px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; display:flex; gap:20px; }
.nav-menu-cta { display:none; }
.nav-toggle { display:none; flex:none; width:44px; height:44px; padding:0; border:1px solid var(--ink); background:transparent; color:var(--ink); cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.nav-toggle span { display:block; width:18px; height:2px; background:currentColor; transition:transform .2s; }
.nav.is-open .nav-toggle span:first-child { transform:translateY(4px) rotate(45deg); }
.nav.is-open .nav-toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
.nav-toggle:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.hero { min-height:760px; padding:64px 0 58px; position:relative; overflow:hidden; }
.eyebrow,.section-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; }
.eyebrow span { margin-right:28px; color:#778092; }
.hero h1 { margin:65px 0 56px; max-width:1200px; font-size:clamp(78px,10.5vw,164px); line-height:.77; letter-spacing:-.075em; text-transform:uppercase; font-weight:800; position:relative; z-index:2; }
h1 em, footer em { font-family:Georgia, 'Times New Roman', serif; text-transform:none; font-weight:400; letter-spacing:-.055em; }
.hero-bottom { margin-left:50%; width:37%; position:relative; z-index:2; display:flex; align-items:end; gap:44px; }
.hero-bottom p { font-size:17px; line-height:1.55; margin:0; }
.circle-link { flex:none; width:54px; height:54px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font-size:20px; transition:.2s; }
.circle-link:hover { background:var(--acid); }
.pitch-graphic { position:absolute; width:520px; height:520px; border:1px solid rgba(18,29,51,.15); border-radius:50%; right:-110px; bottom:-190px; }
.pitch-graphic:before,.pitch-graphic:after { content:""; position:absolute; background:rgba(18,29,51,.14); }
.pitch-graphic:before { width:1px; height:100%; left:50%; }
.pitch-graphic:after { height:1px; width:100%; top:50%; }
.pitch-center { width:118px; height:118px; border:1px solid rgba(18,29,51,.18); border-radius:50%; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.point { position:absolute; font-size:8px; letter-spacing:.12em; font-weight:700; display:flex; align-items:center; gap:7px; }
.point i { width:9px; height:9px; background:var(--acid); border:2px solid var(--ink); border-radius:50%; }
.p1 { left:12%; top:25%; }.p2 { left:58%; top:13%; }.p3 { left:62%; top:56%; }
.manifesto { background:var(--acid); padding:130px 0; }
.section-grid,.edge-grid,.team-grid { display:grid; grid-template-columns:1fr 3fr; gap:40px; }
.lead { font-size:clamp(38px,4.2vw,65px); line-height:1.04; letter-spacing:-.045em; margin:0 0 80px; max-width:1050px; }
.split-copy { display:grid; grid-template-columns:1fr 1fr; gap:70px; max-width:760px; margin-left:auto; }
.split-copy-item { padding-top:18px; border-top:1px solid var(--ink); }
.split-copy-label { display:flex; justify-content:space-between; align-items:center; margin-bottom:34px; font-size:9px; line-height:1; text-transform:uppercase; letter-spacing:.16em; }
.split-copy-label span { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--ink); border-radius:50%; font-weight:700; }
.split-copy-label strong { font-weight:700; }
.split-copy p,.edge-content>p { font-size:16px; line-height:1.65; margin:0; }
.split-copy p>strong { font-weight:700; }
.challenger { background:#dfe3dc; padding:130px 0; }
.challenger-grid { display:grid; grid-template-columns:1fr 3fr; gap:40px; }
.challenger-intro { display:grid; grid-template-columns:1.7fr 1fr; gap:70px; align-items:end; padding-bottom:85px; }
.challenger-intro h2 { font-size:clamp(58px,6.7vw,104px); line-height:.86; letter-spacing:-.06em; text-transform:uppercase; margin:0; }
.challenger-intro h2 em { font-family:Georgia, 'Times New Roman', serif; text-transform:none; font-weight:400; }
.challenger-intro>p { font-size:16px; line-height:1.65; margin:0; }
.method-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.method-grid article { min-height:300px; padding:28px 25px; border-right:1px solid var(--line); display:flex; flex-direction:column; }
.method-grid article:last-child { border-right:0; }
.method-grid span { font-size:10px; font-weight:700; }
.method-grid h3 { margin:auto 0 18px; font-size:23px; letter-spacing:-.03em; }
.method-grid p { font-size:13px; line-height:1.55; margin:0; color:#4e5868; }
.challenger-statement { display:flex; justify-content:space-between; padding-top:30px; text-transform:uppercase; letter-spacing:.11em; font-size:10px; }
.challenger-statement strong { color:#657044; }
.services { padding:130px 0; }
.section-head { display:grid; grid-template-columns:1fr 3fr; margin-bottom:100px; }
.section-head h2,.edge h2,.team h2 { font-size:clamp(54px,6vw,92px); line-height:.94; letter-spacing:-.055em; font-weight:500; margin:0; }
.service-row { display:grid; grid-template-columns:.5fr 1.45fr 1fr .3fr; gap:30px; border-top:1px solid var(--ink); padding:46px 0 54px; }
.service-row:last-child { border-bottom:1px solid var(--ink); }
.service-number { font-size:11px; font-weight:700; }
.service-title { display:flex; gap:30px; align-items:flex-start; }
.service-icon { background:var(--acid); width:42px; height:42px; display:grid; place-items:center; flex:none; font-size:22px; border-radius:50%; }
.service-title h3 { font-size:34px; line-height:1.05; margin:0; letter-spacing:-.035em; }
.service-copy>p { line-height:1.55; margin:0 0 28px; }
.service-copy ul { list-style:none; padding:0; margin:0; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.service-copy li { border-top:1px solid var(--line); padding:12px 0; }
.row-arrow { width:48px; height:48px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font-size:18px; justify-self:end; }
.row-arrow:hover { background:var(--ink); color:white; }
.edge { background:var(--blue); color:white; padding:130px 0 0; }
.section-label.light { color:#a9b2c2; }
.edge-content>p { max-width:560px; margin:50px 0 90px; color:#bec5d0; }
.edge-cards { display:grid; grid-template-columns:repeat(3,1fr); }
.edge-cards>div { min-height:310px; padding:35px; border:1px solid rgba(255,255,255,.19); border-bottom:0; }
.edge-cards>div:nth-child(2) { background:var(--acid); color:var(--ink); transform:translateY(-24px); }
.edge-cards strong { font-size:11px; }
.edge-cards h3 { font-size:24px; margin:115px 0 16px; }
.edge-cards p { font-size:13px; line-height:1.5; color:#b9c0cc; }
.edge-cards>div:nth-child(2) p { color:#3e4930; }
.case-studies { background:var(--paper); padding:130px 0; }
.case-studies-head { margin-bottom:70px; }
.case-list { border-top:1px solid var(--ink); }
.case-study { --case-accent:var(--ink); --case-accent-text:var(--acid); --case-wash:rgba(18,29,51,.055); display:grid; grid-template-columns:1fr 3fr; gap:40px; padding:58px 24px 64px; border-bottom:1px solid var(--ink); background:linear-gradient(90deg,var(--case-wash),transparent 44%); box-shadow:inset 5px 0 var(--case-accent); }
.case-study:nth-child(2) { --case-accent:#68764d; --case-accent-text:#fff; --case-wash:rgba(104,118,77,.10); }
.case-study:nth-child(3) { --case-accent:var(--acid); --case-accent-text:var(--ink); --case-wash:rgba(225,253,114,.18); }
.case-study:nth-child(4) { --case-accent:#2d6981; --case-accent-text:#fff; --case-wash:rgba(45,105,129,.10); }
.case-index { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; min-height:210px; }
.case-index span { font-size:11px; font-weight:700; }
.case-identity { display:flex; align-items:flex-start; gap:28px; }
.case-logo { width:92px; height:92px; object-fit:contain; }
.case-logo-wide { width:132px; }
.case-index b,.case-columns h4 { font-size:9px; text-transform:uppercase; letter-spacing:.15em; }
.case-index b { max-width:150px; color:#697284; }
.case-kicker { margin:0 0 28px; display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; }
.case-kicker strong { display:inline-block; background:var(--case-accent); color:var(--case-accent-text); padding:8px 11px 7px; font-size:18px; line-height:1; letter-spacing:-.02em; }
.case-kicker span { color:var(--ink); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.case-main h3 { max-width:920px; margin:0; font-size:clamp(38px,4.5vw,68px); line-height:.96; letter-spacing:-.05em; font-weight:500; }
.case-summary { max-width:760px; margin:38px 0 55px; font-size:18px; line-height:1.55; }
.case-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); }
.case-columns>div { padding:25px 28px 0 0; border-right:1px solid var(--line); }
.case-columns>div+div { padding-left:28px; }
.case-columns>div:last-child { padding-right:0; border-right:0; }
.case-columns h4 { margin:0 0 18px; }
.case-columns p { margin:0; color:#4e5868; font-size:13px; line-height:1.6; }
.team { background:#e7e4dc; padding:130px 0; }
.case-detail-hero { padding:70px 0 110px; }
.case-detail-back { display:inline-flex; align-items:center; gap:12px; margin-bottom:105px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.case-detail-back:hover { opacity:.55; }
.case-detail-grid { display:grid; grid-template-columns:1fr 3fr; gap:40px; }
.case-detail-number { font-size:11px; font-weight:700; }
.case-detail-hero h1 { max-width:1080px; margin:26px 0 48px; font-size:clamp(58px,7.8vw,120px); line-height:.88; letter-spacing:-.065em; font-weight:500; }
.case-detail-summary { max-width:760px; margin:0; font-size:22px; line-height:1.55; }
.case-detail-body { background:var(--acid); padding:120px 0; }
.case-detail-body .case-columns { border-color:var(--ink); }
.case-detail-body .case-columns>div { padding-top:0; min-height:250px; }
.case-detail-body .case-columns p { color:var(--ink); font-size:16px; line-height:1.65; }
.case-detail-next { padding:95px 0 110px; }
.case-detail-next .section-label { margin-bottom:24px; }
.case-detail-next a { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; padding-top:28px; border-top:1px solid var(--ink); font-size:clamp(36px,5vw,74px); line-height:.95; letter-spacing:-.05em; }
.case-detail-next a span:last-child { flex:none; width:58px; height:58px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font-size:18px; letter-spacing:0; }
.founders { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:70px; }
.founders article { border-top:1px solid var(--ink); padding-top:25px; }
.founder-trigger { width:100%; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; display:grid; grid-template-columns:180px 1fr; align-items:end; gap:25px; }
.portrait { display:block; width:180px; height:230px; object-fit:cover; object-position:center top; background:var(--blue); }
.founders article:first-child .portrait { filter:grayscale(1); }
.founders h3 { font-size:23px; margin:0 0 6px; }.founders p { font-size:11px; text-transform:uppercase; letter-spacing:.12em; margin:0; }
.founder-copy { padding-bottom:2px; }
.profile-link { display:inline-flex; gap:12px; margin-top:34px; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.founder-trigger:hover .profile-link,.founder-trigger:focus-visible .profile-link { opacity:.55; }
.bio-dialog { width:min(900px,calc(100% - 64px)); max-width:none; max-height:calc(100dvh - 64px); margin:auto; padding:0; border:0; background:var(--paper); color:var(--ink); box-shadow:0 28px 90px rgba(5,12,25,.32); overflow:auto; }
.bio-dialog::backdrop { background:rgba(8,17,33,.72); backdrop-filter:blur(4px); }
.bio-close { position:absolute; top:24px; right:24px; z-index:2; width:48px; height:48px; border:1px solid var(--ink); border-radius:50%; background:var(--paper); color:var(--ink); font-size:22px; cursor:pointer; }
.bio-close:hover { background:var(--ink); color:white; }
.bio-layout { min-height:640px; }
.bio-content { padding:82px 90px 74px; }
.bio-content h3 { margin:28px 0 12px; max-width:650px; font-size:clamp(52px,6vw,86px); line-height:.88; letter-spacing:-.06em; font-weight:500; }
.bio-role { margin:0 0 56px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.bio-copy { padding-top:34px; border-top:1px solid var(--ink); }
.bio-copy p { margin:0 0 24px; font-size:16px; line-height:1.65; }
.bio-copy p:last-child { margin-bottom:0; }
.footer { background:var(--ink); color:var(--paper); padding:110px 0 34px; }
.footer-top { display:flex; justify-content:space-between; align-items:end; padding-bottom:110px; }
.footer h2 { font-size:clamp(70px,9vw,130px); line-height:.82; letter-spacing:-.07em; text-transform:uppercase; margin:45px 0 0; }
.footer-cta { width:190px; height:190px; border-radius:50%; background:var(--acid); color:var(--ink); display:flex; align-items:center; justify-content:center; gap:14px; padding:0 30px; text-align:left; text-transform:uppercase; letter-spacing:.09em; font-size:10px; font-weight:700; }
.footer-bottom { gap:32px; padding-top:28px; border-top:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:space-between; }
.footer-bottom p { color:#9ba3b2; text-transform:uppercase; font-size:9px; letter-spacing:.1em; }
@media (max-width:1100px) {
  .nav .brand { flex:0 1 auto; min-width:0; margin-right:auto; }
  .nav-toggle { display:flex; }
  .nav nav { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; padding:8px 0 28px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 18px 30px -24px rgba(18,29,51,.45); font-size:12px; }
  .nav.is-open nav { display:flex; }
  .nav nav a { padding:18px 0; border-bottom:1px solid var(--line); }
  .nav nav a:hover { opacity:1; }
  .nav .nav-menu-cta { display:flex; justify-content:space-between; margin-top:20px; padding:16px 18px; border-bottom:0; background:var(--ink); color:var(--paper); letter-spacing:.08em; }
}
@media (max-width:900px) {
  .shell { width:calc(100% - 40px); }.nav { height:86px; }.nav .brand-logo { width:260px; }.nav-cta { padding:12px; font-size:9px; }
  .hero { min-height:700px; padding-top:48px; }.hero h1 { font-size:clamp(58px,17.5vw,104px); margin-top:100px; }.hero-bottom { margin-left:15%; width:76%; }.pitch-graphic { opacity:.6; }
  .section-grid,.edge-grid,.team-grid,.section-head,.challenger-grid { grid-template-columns:1fr; gap:44px; }.manifesto,.services,.case-studies,.team,.challenger { padding:85px 0; }.lead { margin-bottom:55px; }.split-copy { grid-template-columns:1fr; gap:34px; }.split-copy-label { margin-bottom:24px; }
  .challenger-intro { grid-template-columns:1fr; gap:35px; }.method-grid { grid-template-columns:1fr 1fr; }.method-grid article { min-height:240px; }.method-grid article:nth-child(2) { border-right:0; }.method-grid article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .service-row { grid-template-columns:.2fr 1fr; }.service-copy { grid-column:2; }.row-arrow { grid-column:2; justify-self:start; }.service-title h3 { font-size:29px; }
  .edge { padding-top:85px; }.edge-cards { grid-template-columns:1fr; }.edge-cards>div:nth-child(2) { transform:none; }.edge-cards>div { min-height:230px; }.edge-cards h3 { margin-top:70px; }
  .case-study { grid-template-columns:1fr; gap:36px; }.case-index { min-height:0; flex-direction:row; align-items:flex-end; }.case-logo { width:72px;height:72px }.case-logo-wide{width:110px}.case-columns { grid-template-columns:1fr; }.case-columns>div,.case-columns>div+div { padding:24px 0; border-right:0; border-bottom:1px solid var(--line); }.case-columns>div:last-child { border-bottom:0; }
  .case-detail-hero { padding:55px 0 80px; }.case-detail-back { margin-bottom:70px; }.case-detail-grid { grid-template-columns:1fr; gap:25px; }.case-detail-body { padding:80px 0; }.case-detail-body .case-columns>div { min-height:0; }.case-detail-next { padding:70px 0 80px; }
  .founders { grid-template-columns:1fr; }.footer-top { display:block; }.footer-cta { width:145px;height:145px;padding:0 22px;margin:70px 0 0 auto; }.footer-bottom { gap:30px; flex-wrap:wrap; }
  .bio-dialog { width:calc(100% - 32px); max-height:calc(100dvh - 32px); }.bio-content { padding:64px 42px 52px; }.bio-close { top:16px; right:16px; }
}
@media (max-width:560px) {
  .nav-cta { display:none; }.hero-bottom { margin-left:0; width:100%; }.section-head h2,.edge h2,.team h2 { font-size:48px; }
  .challenger-intro h2 { font-size:54px; }.method-grid { grid-template-columns:1fr; }.method-grid article { min-height:210px; border-right:0; border-bottom:1px solid var(--line); }.method-grid article:last-child { border-bottom:0; }.challenger-statement { display:block; }.challenger-statement strong { display:block; margin-top:10px; }
  .service-row { grid-template-columns:1fr; }.service-title,.service-copy,.row-arrow { grid-column:1; }.service-number { display:none; }.case-main h3 { font-size:42px; }.case-summary { font-size:16px; margin:30px 0 40px; }
  .founder-trigger { grid-template-columns:130px 1fr; }.portrait { width:130px;height:170px}.bio-dialog{width:100%;height:100dvh;max-height:none}.bio-content{padding:56px 22px 42px}.bio-content h3{font-size:52px}.footer h2{font-size:62px}.footer-bottom{display:block}.footer-bottom>*{margin-bottom:24px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
