@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=IBM+Plex+Sans:wght@400;500;600&display=swap');
:root{--ink:#101010;--paper:#fff;--acid:#e6ff00;--line:#c9c9c9;--sans:'IBM Plex Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #415dff;outline-offset:7px}p,h1,h2,h3{margin:0}p{line-height:1.6}em{font-style:normal}::selection{background:var(--acid);color:var(--ink)}.masthead{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:24px 4%;gap:24px}.wordmark{font:bold 30px/1 Arial,sans-serif;letter-spacing:-2px}.logo-ew{white-space:nowrap}.logo-w{display:inline-block;margin-left:-.105em}.masthead nav{display:flex;gap:30px;font-size:13px}.masthead nav a{padding:7px 0;border-bottom:1px solid #626262}.masthead nav a:hover{color:var(--acid);border-color:var(--acid)}.hero{position:relative;display:grid;grid-template-columns:61% 39%;min-height:690px;border-bottom:3px solid var(--ink);overflow:hidden}.hero-type{padding:36px 0 32px 6.56%;z-index:1}.small-label{font-size:12px;font-weight:600;line-height:1.5}.hero h1{font:800 clamp(90px,10.5vw,172px)/.88 var(--display);text-transform:uppercase;letter-spacing:-.035em;margin-top:50px}.hero h1 em{display:inline-block;background:var(--acid);padding:0 .12em .06em;margin-left:-.02em;margin-top:.035em}.big-arrow{grid-column:2;grid-row:1;width:100%;height:100%;padding:24px 5%;background:var(--acid);color:var(--ink)}.hero-caption{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:26px 4%;border-top:1px solid var(--ink);background:white}.hero-caption p{font-size:18px;max-width:740px}.inline-link{display:flex;align-items:center;justify-content:space-between;min-width:180px;font-size:14px;font-weight:600;padding:14px 0;border-bottom:2px solid var(--ink)}.inline-link span{font-size:24px}.services{padding:80px 4% 90px}.services-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:22px 10%;align-items:end;padding-bottom:48px}.services-heading .small-label{grid-column:1/-1}.services-heading h2{font:800 clamp(48px,5.5vw,84px)/.96 var(--display);text-transform:uppercase;letter-spacing:-.02em}.services-deck{font-size:17px;max-width:480px}.service-list{border-top:3px solid var(--ink)}.service{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:32px 0 36px;border-bottom:1px solid var(--ink)}.service-title{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.service h3{font:700 clamp(36px,4vw,60px)/1 var(--display);text-transform:uppercase;letter-spacing:-.01em}.service-tag{font-size:11px;text-transform:uppercase;letter-spacing:1px;order:-1;color:#555}.service-description>p{font-size:16px;max-width:600px}.service-description .service-output{font-size:13px;margin-top:20px;color:#555;max-width:540px}.service-output span{font-weight:600;color:var(--ink);margin-right:8px}.service-output span:after{content:' /'}.service:last-child{background:var(--acid);margin:0 -20px;padding:32px 20px 36px;border-bottom:3px solid var(--ink)}.service:last-child .service-tag,.service:last-child .service-output{color:#303500}.working-together{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:65px 4% 75px}.working-title .small-label{color:var(--acid);margin-bottom:26px}.working-title h2{font:800 clamp(52px,6.3vw,94px)/.95 var(--display);letter-spacing:-.02em;text-transform:uppercase;max-width:600px}.working-copy{padding-top:44px}.working-lead{font-size:24px;font-weight:500;line-height:1.4;max-width:480px;margin-bottom:22px}.working-copy>p:not(.working-lead){font-size:16px;color:#ccc}.engagement-note{border-top:1px solid #555;margin-top:28px;padding-top:22px}.engagement-note h3{font-size:15px;margin-bottom:9px;font-weight:600}.engagement-note p{font-size:14px;color:#ccc}footer{background:var(--ink);color:var(--acid);padding:30px 4%;border-top:1px solid #555;overflow:hidden}.footer-wordmark{font:900 clamp(70px,16.3vw,300px)/1 Arial,sans-serif;letter-spacing:-.075em;display:block}footer>div{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:white;margin-top:24px}.skip{position:absolute;top:-100px;left:20px;padding:15px;background:var(--acid);z-index:9}.skip:focus{top:10px}
@media(min-width:1700px){.hero-type{padding-bottom:60px}.hero h1{font-size:12vw}}
@media(max-width:900px){.hero{min-height:0}.hero h1{font-size:11vw;margin-top:40px}.hero-type{padding-bottom:45px}.hero-caption p{font-size:16px}.services-heading{gap:20px 6%}.service,.working-together{gap:6%}}
@media(max-width:600px){.masthead{padding:20px 6%}.wordmark{font-size:25px}.masthead nav{gap:16px;font-size:10px}.masthead nav a{border:0}.hero{display:grid;grid-template-columns:1fr}.hero-type{padding:26px 6% 34px}.hero h1{font-size:22vw;line-height:.9;margin-top:32px}.small-label{font-size:11px}.big-arrow{grid-column:1;grid-row:2;height:260px;width:100%;padding:12px 18%}.hero-caption{display:block;padding:25px 6% 28px}.hero-caption p{font-size:16px}.inline-link{margin-top:20px;max-width:180px;min-width:0}.services{padding:48px 6% 50px}.services-heading{display:block;padding-bottom:30px}.services-heading .small-label{margin-bottom:20px}.services-heading h2{font-size:49px;line-height:.97;margin-bottom:22px}.services-deck{font-size:15px}.service{display:block;padding:26px 0 28px}.service-title{gap:9px;margin-bottom:18px}.service h3{font-size:38px}.service-description>p{font-size:15px}.service-description .service-output{font-size:13px;margin-top:15px}.service:last-child{margin:0 -12px;padding:26px 12px 28px}.working-together{display:block;padding:42px 6% 45px}.working-title h2{font-size:60px}.working-title .small-label{margin-bottom:20px}.working-copy{padding-top:26px}.working-lead{font-size:23px}.working-copy>p:not(.working-lead){font-size:15px}footer{padding:24px 6%}.footer-wordmark{font-size:15.5vw}footer>div{font-size:10px;flex-wrap:wrap;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.concise-work{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding-top:60px;padding-bottom:70px}.concise-work>h2{font:600 18px/1.4 var(--sans);margin:0}.work-list{margin:0}.work-list>div{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;padding:25px 0;border-top:1px solid var(--ink)}.work-list>div:first-child{padding-top:0;border:0}.work-list dt{font-size:20px;font-weight:500;line-height:1.4}.work-list dd{font-size:16px;line-height:1.6;margin:0;color:#444}@media(max-width:700px){.concise-work{display:block;padding:38px 6% 45px}.concise-work>h2{margin-bottom:30px}.work-list>div{display:block;padding:20px 0}.work-list dt{font-size:19px;margin-bottom:8px}.work-list dd{font-size:15px}}

.brand-only{min-height:calc(100svh - 78px);display:flex;align-items:center;justify-content:flex-end;background:white}.brand-only .big-arrow{display:block;width:45%;height:auto;max-height:80svh;padding:30px 3%}@media(max-width:600px){.brand-only .big-arrow{width:100%;height:auto;padding:30px 10%}}

.service-question{font:400 15px/1.5 var(--sans);max-width:340px;color:#555}.service-output strong{display:block;color:var(--ink);font-weight:600;margin-bottom:7px}.service:last-child .service-question{color:#303500}.experience{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:60px 4%}.experience h2{font:700 38px/1.05 var(--display);text-transform:uppercase;max-width:400px}.experience p{font-size:15px;margin-bottom:18px}.experience p:last-child{margin-bottom:0}@media(max-width:600px){.experience{display:block;padding:40px 6%}.experience h2{font-size:34px;margin-bottom:24px}.experience p{font-size:14px}.service-question{font-size:14px}}

.hero-thesis{font:500 clamp(19px,2vw,28px)/1.35 var(--sans);max-width:580px;margin:28px 7% 0 0}.contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;background:var(--ink);color:var(--acid);padding:18px 22px;font-size:14px;font-weight:600;flex-shrink:0}.contact-button:hover{background:var(--acid);color:var(--ink)}.discuss-link{display:inline-flex;gap:18px;border-bottom:1px solid currentColor;font-size:13px;font-weight:500;padding:5px 0;margin-top:22px}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:65px 4%}.editorial h2{font:800 clamp(42px,4.5vw,68px)/.98 var(--display);text-transform:uppercase;letter-spacing:-.02em}.editorial .small-label{margin-bottom:24px}.editorial-copy>p{font-size:16px;margin-bottom:20px}.editorial-copy>p:last-child{margin-bottom:0}.how-we-work{border-top:3px solid var(--ink)}.placeholder-label{font:600 11px/1.5 var(--sans)!important;display:table;background:var(--acid);color:var(--ink)!important;border:1px dashed var(--ink);padding:6px 8px;margin:16px 0!important;letter-spacing:.3px}.proof{border-bottom:1px solid var(--ink)}.proof-note{font-size:13px;max-width:400px}.sketches article{border-top:1px solid var(--ink);padding:0 0 28px}.sketches article:last-child{padding-bottom:0}.sketches h3{font:700 30px/1.1 var(--display);text-transform:uppercase;margin:16px 0}.sketches article>p:not(.placeholder-label){font-size:15px}.contact-section{background:var(--acid);border-top:3px solid var(--ink)}.contact-email{font-size:clamp(18px,2vw,28px);font-weight:600;border-bottom:2px solid currentColor;overflow-wrap:anywhere}.contact-note{font-size:12px!important;margin-top:16px}.contact-section .placeholder-label{background:var(--ink);color:var(--acid)!important}.working-title h2{font-size:clamp(48px,5.5vw,82px)}@media(max-width:900px){.hero-caption{flex-wrap:wrap}.editorial{gap:6%}}@media(max-width:600px){.hero-thesis{font-size:20px;margin:24px 0 0}.contact-button{margin-top:22px;width:100%}.editorial{display:block;padding:42px 6%}.editorial h2{font-size:44px}.editorial-copy,.sketches{margin-top:28px}.editorial-copy>p{font-size:15px}.working-title h2{font-size:54px}.masthead nav{gap:11px;font-size:9px}}

/* Draw the E/W join once instead of overlapping font edges. */
.logo-ew-vector{display:inline-block;width:1.357em;height:.716em;overflow:visible;vertical-align:baseline}

/* Outlined wordmark with the arrow confined to the E/W counterspace. */
.brand-wordmark{display:block;width:100%;height:auto;overflow:visible}.wordmark{width:180px;flex-shrink:0}.footer-wordmark{width:min(100%,1160px)}@media(max-width:600px){.wordmark{width:132px}}

/* ===== Depth pass: sticky header, ticker, service questions, model diagram, answers, motion ===== */
html{scroll-padding-top:96px}
.masthead{position:sticky;top:0;z-index:20}
.skip{z-index:40}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.progress{position:fixed;top:0;left:0;right:0;height:4px;background:var(--acid);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
.masthead nav a{transition:color .2s,border-color .2s}
.masthead nav a.is-active{color:var(--acid);border-color:var(--acid)}

.ticker{background:var(--ink);color:var(--acid);overflow:hidden;white-space:nowrap}
.ticker-track{display:flex;width:max-content;animation:ticker 48s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track>div{display:flex;flex-shrink:0}
.ticker span{font:800 clamp(26px,3.2vw,46px)/1 var(--display);text-transform:uppercase;letter-spacing:-.01em;padding:20px 0 22px}
.ticker span:after{content:"↗";color:#fff;margin:0 .7em}
@keyframes ticker{to{transform:translateX(-50%)}}

.service{position:relative}
.service-asks{margin-top:26px;max-width:540px}
.service-asks strong{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.service-asks ul{list-style:none;margin:0;padding:0}
.service-asks li{position:relative;font-size:15px;line-height:1.45;padding:11px 0 11px 22px;border-top:1px solid rgba(16,16,16,.28)}
.service-asks li:before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;background:var(--ink)}
@media(hover:hover){
.service:not(:last-child):before{content:"";position:absolute;inset:0 -20px;background:var(--acid);transform:scaleY(0);transform-origin:bottom;transition:transform .32s cubic-bezier(.2,.7,.2,1);z-index:-1}
.service:not(:last-child):hover:before{transform:scaleY(1)}
.service .discuss-link span{display:inline-block;transition:transform .2s}
.service .discuss-link:hover span,.contact-button:hover span{transform:translateX(5px)}
}

.model{padding:80px 4% 90px;border-top:3px solid var(--ink)}
.model-head{display:grid;grid-template-columns:1.2fr 1fr;gap:22px 10%;align-items:end;padding-bottom:48px}
.model-head .small-label{grid-column:1/-1}
.model-head h2{font:800 clamp(48px,5.5vw,84px)/.96 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.model-deck{font-size:17px;max-width:480px}
.model-visual{display:grid;grid-template-columns:1fr 1fr;border:3px solid var(--ink)}
.pyramid{margin:0;padding:30px 30px 18px}
.pyramid+.pyramid{border-left:3px solid var(--ink)}
.pyramid figcaption{font:800 clamp(28px,3vw,42px)/1 var(--display);text-transform:uppercase;margin-bottom:28px}
.pyramid .row{margin-bottom:20px}
.pyramid .row p{font-size:13px;line-height:1.4;margin-bottom:7px;text-align:center}
.pyramid .bar{display:block;height:34px;width:var(--w);margin:0 auto;background:var(--ink);transform-origin:center;transition:transform .9s cubic-bezier(.2,.7,.2,1) calc(var(--i,0)*.14s)}
.pyramid-usual .bar{background:#b9b9b9}
.pyramid-sw .bar-ai{background:var(--acid);border:3px solid var(--ink)}
.pyramid-sw .bar-you{background:transparent;border:3px dashed var(--ink)}
.model-note{font-size:12px;color:#555;margin:12px 0 56px}
.compare{width:100%;border-collapse:collapse}
.compare th,.compare td{text-align:left;vertical-align:top;padding:22px 24px 22px 0;border-top:1px solid var(--ink);font-size:16px;line-height:1.5}
.compare thead th{font:800 clamp(24px,2.4vw,32px)/1 var(--display);text-transform:uppercase;border-top:3px solid var(--ink);padding-bottom:18px}
.compare tbody th{width:22%;font-size:14px;font-weight:600}
.compare td{width:39%;color:#555}
.compare td:last-child,.compare thead th:last-child{background:var(--acid);color:var(--ink);padding-left:20px}
.compare td:last-child{font-weight:500}
.compare tbody tr:last-child>*{border-bottom:3px solid var(--ink)}

.statement{background:var(--acid);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:70px 4% 76px}
.statement p{font:800 clamp(44px,7.5vw,118px)/.92 var(--display);text-transform:uppercase;letter-spacing:-.025em;max-width:1200px}
.statement em{display:inline-block;background:var(--ink);color:var(--acid);padding:0 .1em .05em;margin-top:.06em}

.faq{border-top:3px solid var(--ink)}
.faq-list details{border-top:1px solid var(--ink)}
.faq-list details:last-child{border-bottom:1px solid var(--ink)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 12px;margin:0 -12px;font-size:20px;font-weight:500;line-height:1.35;transition:background .2s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font:700 36px/.8 var(--display);flex-shrink:0;transition:transform .25s}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list summary:hover{background:var(--acid)}
.faq-list summary:focus-visible{outline:3px solid #415dff;outline-offset:2px}
.faq-list details p{font-size:16px;max-width:620px;padding:0 0 28px}

@media(max-width:900px){.model-head{gap:20px 6%}.pyramid{padding:24px 20px 10px}}
@media(max-width:700px){
.model{padding:48px 6% 52px}.model-head{display:block;padding-bottom:30px}.model-head .small-label{margin-bottom:20px}.model-head h2{font-size:49px;margin-bottom:22px}.model-deck{font-size:15px}
.model-visual{display:block}.pyramid+.pyramid{border-left:0;border-top:3px solid var(--ink)}
.model-note{margin-bottom:36px}
.compare,.compare tbody,.compare tr,.compare th,.compare td{display:block;width:auto}
.compare thead{display:none}
.compare tr{border-top:3px solid var(--ink);padding:18px 0 4px}
.compare th,.compare td{border:0!important;padding:0 0 14px;font-size:15px}
.compare tbody th{width:auto}
.compare td:before{content:attr(data-label);display:block;font:600 11px var(--sans);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}
.compare td:last-child{padding:12px;margin:0 -12px 14px}
.statement{padding:44px 6% 50px}
.faq-list summary{font-size:18px}.faq-list details p{font-size:15px}
}

/* Motion */
.js:not(.no-reveal) .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js:not(.no-reveal) .reveal.in{opacity:1;transform:none}
.js:not(.no-reveal) .draw:not(.in) .bar{transform:scaleX(0)}
@media(prefers-reduced-motion:no-preference){
.hero h1 em{animation:slide-in .85s cubic-bezier(.2,.7,.2,1) .15s both}
.hero h1{animation:fade-up .7s ease both}
.big-arrow path:first-child{animation:nudge 3.4s ease-in-out infinite alternate}
.big-arrow path:nth-child(2){animation:nudge-shadow 3.4s ease-in-out infinite alternate}
}
@keyframes slide-in{from{transform:translateX(-12%);clip-path:inset(0 100% 0 0)}to{transform:none;clip-path:inset(0 0 0 0)}}
@keyframes fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes nudge{to{transform:translate(20px,-20px)}}
@keyframes nudge-shadow{to{transform:translate(8px,-8px)}}
@media(prefers-reduced-motion:reduce){
.ticker-track{animation:none}
.reveal,.draw .bar{opacity:1!important;transform:none!important;transition:none!important}
.progress{display:none}
}
.model-head h2,.statement p,.working-title h2,.editorial h2{text-wrap:balance}
