:root{--yellow:#ffd400;--ink:#181614;--line:rgba(24,22,20,.75);--mono:'DM Mono',monospace;--sans:'Space Grotesk',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--yellow);color:var(--ink);font-family:var(--sans)}
a{color:inherit;text-decoration:none}
.topbar{height:94px;border-bottom:2px solid var(--ink);display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;padding:0 5vw;position:relative}
.brand{font-family:var(--mono);font-size:1.45rem;font-weight:500;letter-spacing:-.04em}
.brand-logo{display:block;width:132px;height:auto}
.brand span{font-size:.72em;vertical-align:super;letter-spacing:-.08em}
.topnote,.eyebrow,.section-label,footer,.hero-stamp,.service-grid span,.case span,.insight-list b,.insight-list i,.top-tool,.hero-meta,.hero-barcode{font-family:var(--mono);font-size:.72rem;line-height:1.35;letter-spacing:.02em}
.topnote{justify-self:center;border-right:2px solid var(--ink);padding-right:24px}
.top-tool{display:flex;gap:15px;align-items:center}
.mini-cross{width:28px;height:28px;border:1.5px solid;border-radius:50%;position:relative;display:block}
.mini-cross:before,.mini-cross:after{content:"";position:absolute;background:var(--ink)}
.mini-cross:before{width:42px;height:1.5px;left:-8px;top:12px}
.mini-cross:after{height:42px;width:1.5px;top:-8px;left:12px}
.menu{display:none;background:none;border:0;font:inherit;font-family:var(--mono);font-size:.75rem}
.topbar nav{position:absolute;right:5vw;bottom:-30px;display:flex;gap:22px;z-index:2;font-family:var(--mono);font-size:.72rem}
.topbar nav a{background:var(--yellow);padding:8px 0}
.section-rule{border-bottom:2px solid var(--ink)}
.hero{min-height:690px;padding:64px 10vw 40px;position:relative;overflow:hidden}
.hero-meta{display:flex;align-items:flex-start;gap:24px}
.hero-meta p{margin:0}
.hero-rule{height:2px;background:var(--ink);width:34px;margin-top:8px}
.hero h1{font-size:clamp(3.7rem,8.7vw,9rem);letter-spacing:-.085em;line-height:.83;margin:75px 0 85px;max-width:1000px;text-transform:uppercase}
.hero h1 em,.contact h2 em{font-style:normal;-webkit-text-stroke:2px var(--ink);color:transparent}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-left:20%;max-width:800px}
.hero-bottom p{font-size:1.12rem;line-height:1.45;margin:0;max-width:540px}
.circle-link{border:2px solid var(--ink);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:2rem;flex:none}
.hero-stamp{position:absolute;right:5vw;top:62px;border-left:2px solid var(--ink);padding-left:18px}
.hero-barcode{position:absolute;right:5vw;bottom:35px;text-align:center}
.bars{height:48px;width:205px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 6px,transparent 6px 9px,var(--ink) 9px 13px,transparent 13px 16px,var(--ink) 16px 18px,transparent 18px 22px,var(--ink) 22px 23px,transparent 23px 27px);margin-bottom:4px}
.crosshair{position:absolute;right:23%;top:77px;width:58px;height:58px;border:2px solid var(--ink);border-radius:50%}
.crosshair:before,.crosshair:after{content:"";position:absolute;background:var(--ink)}
.crosshair:before{height:2px;width:90px;top:27px;left:-18px}
.crosshair:after{width:2px;height:90px;left:27px;top:-18px}
.practice,.work,.insights,.intersection{padding:68px 5vw}
.section-label{display:flex;gap:32px;border-bottom:2px solid var(--ink);padding-bottom:12px}
.section-label span{font-size:1.3rem}
.practice-intro{font-size:clamp(1.7rem,3.3vw,3.5rem);letter-spacing:-.055em;line-height:1.04;max-width:860px;margin:76px 0}
.intersection{background:var(--ink);color:var(--yellow)}
.intersection .section-label{border-color:var(--yellow)}
.intersection-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:55px 0}
.intersection-intro h2{font-size:clamp(2.6rem,5.5vw,6rem);line-height:.88;letter-spacing:-.075em;text-transform:uppercase;margin:0}
.intersection-intro h2 em{font-style:normal;-webkit-text-stroke:1.5px var(--yellow);color:transparent}
.intersection-intro p{max-width:330px;font-size:1.08rem;line-height:1.55;margin:0}
.intersection-matrix{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--yellow)}
.intersection-matrix article{min-height:325px;padding:22px 20px;border-right:2px solid var(--yellow);display:flex;flex-direction:column}
.intersection-matrix article:last-child{border-right:0}
.intersection-matrix span{font-family:var(--mono);font-size:.72rem}
.intersection-matrix h3{font-size:clamp(1.55rem,2.6vw,2.7rem);line-height:.96;letter-spacing:-.06em;text-transform:uppercase;margin:52px 0 24px}
.intersection-matrix ul{list-style:none;padding:0;margin:0;font-size:1rem;line-height:1.45}
.intersection-matrix li{position:relative;padding-left:16px;margin:0 0 11px}
.intersection-matrix li:before{content:'';position:absolute;left:0;top:.46em;width:6px;height:6px;background:var(--yellow)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.service-grid article{padding:22px 20px 35px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);min-height:290px;position:relative}
.service-icon{display:block;position:absolute;right:19px;top:19px;width:31px;height:31px}
.icon-file{border:2px solid}
.icon-file:after{content:"";position:absolute;right:-2px;top:-2px;width:10px;height:10px;background:var(--yellow);border-left:2px solid;border-bottom:2px solid}
.icon-grid{background:repeating-linear-gradient(90deg,var(--ink) 0 5px,transparent 5px 9px),repeating-linear-gradient(0deg,var(--ink) 0 5px,transparent 5px 9px)}
.icon-focus{border:2px dotted;border-radius:50%}
.icon-focus:after{content:"";position:absolute;inset:8px;border:2px solid;border-radius:50%}
.icon-folder{border:2px solid;border-radius:2px;margin-top:7px;height:24px}
.icon-folder:before{content:"";position:absolute;top:-8px;left:3px;width:14px;height:7px;border:2px solid;border-bottom:0;border-radius:2px}
.service-grid h2,.work h2,.insights h2,.contact h2{font-size:clamp(1.75rem,3vw,3.2rem);line-height:.96;letter-spacing:-.07em;text-transform:uppercase;margin:53px 0 25px}
.service-grid p,.case p{font-size:1.08rem;line-height:1.55}
.clients{padding:66px 5vw 42px;background:var(--ink);color:var(--yellow)}
.clients .section-label{border-color:var(--yellow)}
.client-list{display:grid;grid-template-columns:repeat(2,1fr);column-gap:70px;margin-top:43px}
.client-list p{font-size:clamp(1.3rem,2.8vw,3rem);letter-spacing:-.06em;margin:0;padding:14px 0;border-bottom:1px solid rgba(255,212,0,.7)}
.client-foot{font-family:var(--mono);font-size:.9rem;line-height:1.45;margin:42px 0 0}
.work-header,.insight-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:55px 0}
.work-header h2,.insight-intro h2{margin:0}
.work-header p,.insight-intro p{max-width:280px;line-height:1.55;font-size:1.08rem}
.workbench-link{display:inline-flex;gap:34px;align-items:center;border-bottom:2px solid var(--ink);font-family:var(--mono);font-size:.82rem;padding:18px 0 8px;margin-top:38px}
.workbench-link span{font-size:1.4rem;line-height:.6}
.case-carousel{overflow:hidden;border:2px solid var(--ink)}
.cases{display:flex;width:max-content;animation:case-scroll 60s linear infinite}
.case-carousel:hover .cases,.case-carousel:focus-within .cases{animation-play-state:paused}
.case{width:min(390px,82vw);padding:26px;min-height:445px;border-right:2px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between;flex:none}
.case h3{font-size:clamp(1.45rem,2.3vw,2.5rem);line-height:1;letter-spacing:-.06em;margin:50px 0 0}
@keyframes case-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.cases{animation-play-state:paused}}
.case-dark{background:var(--ink);color:var(--yellow)}
.insight-intro{margin-bottom:42px}
.insight-list{border-top:2px solid var(--ink)}
.insight-list a{display:grid;grid-template-columns:85px 1fr 55px;gap:15px;border-bottom:2px solid var(--ink);padding:22px 0;align-items:center}
.insight-list span{font-size:clamp(1.15rem,2vw,2rem);letter-spacing:-.05em}
.contact{padding:86px 10vw 70px;background:var(--ink);color:var(--yellow)}
.contact h2{font-size:clamp(3rem,7vw,7rem);margin:42px 0 28px}
.contact h2 em{-webkit-text-stroke-color:var(--yellow)}
.contact>p:not(.eyebrow){max-width:450px;line-height:1.55;font-size:1.14rem}
.contact-email{font-family:var(--mono);font-size:clamp(1.2rem,2.6vw,2.3rem);display:inline-flex;gap:36px;border-bottom:2px solid var(--yellow);margin-top:46px;padding-bottom:9px}
.site-footer{background:var(--ink);color:var(--yellow);border-top:2px solid var(--yellow);overflow:hidden}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:52px;padding:62px 5vw 48px;align-items:start}
.footer-brand{display:inline-block;border-bottom:1px solid var(--yellow);padding-bottom:15px;margin-bottom:20px}
.footer-brand img{display:block;width:166px;height:auto;filter:brightness(0) saturate(100%) invert(85%) sepia(97%) saturate(1300%) hue-rotate(2deg) brightness(104%)}
.footer-description{max-width:250px;font-size:1rem;line-height:1.45;font-style:italic;margin:0 0 28px}
.footer-contact{font-family:var(--mono);font-size:.78rem;border-bottom:1px solid var(--yellow);padding-bottom:7px;display:inline-block}
.footer-locations{font-family:var(--mono);font-size:.72rem;line-height:1.55;margin:32px 0 0}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-column h2{font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.03em;margin:0 0 10px;padding-bottom:12px;border-bottom:1px solid var(--yellow)}
.footer-column a{font-size:1rem;line-height:1.3}
.footer-column a:hover,.footer-contact:hover{color:#fff3a1}
.footer-policies{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,212,0,.65);padding:18px 5vw;font-family:var(--mono);font-size:.68rem;letter-spacing:.02em}
.footer-landscape{line-height:0;border-top:2px solid var(--yellow)}
.footer-landscape img{display:block;width:100%;height:auto;min-height:205px;object-fit:cover;object-position:center bottom}

@media(max-width:760px){.topbar{height:76px;grid-template-columns:1fr auto}
.topnote,.top-tool{display:none}
.menu{display:block}
.menu i{width:21px;border-top:2px solid;display:inline-block;margin-left:5px;vertical-align:middle}
.topbar nav{display:none;right:5vw;bottom:-132px;flex-direction:column;gap:0;width:150px;border:2px solid;background:var(--yellow);padding:10px 15px}
.topbar nav.open{display:flex}
.topbar nav a{padding:7px 0}
.hero{min-height:635px;padding:45px 5vw 35px}
.hero h1{margin:105px 0 58px}
.hero-bottom{margin:0;align-items:end}
.hero-bottom p{font-size:1rem}
.hero-stamp,.hero-barcode{display:none}
.crosshair{right:8%;top:45px;transform:scale(.7)}
.practice,.work,.insights,.intersection{padding:49px 5vw}
.practice-intro{margin:55px 0}
.service-grid,.cases,.intersection-matrix{grid-template-columns:1fr}
.service-grid article,.case{min-height:0;border-right:0}
.service-grid h2{margin-top:32px}
.intersection-intro{display:block;margin:44px 0}
.intersection-intro p{margin-top:20px}
.intersection-matrix article{min-height:0;border-right:0;border-bottom:2px solid var(--yellow)}
.intersection-matrix article:last-child{border-bottom:0}
.intersection-matrix h3{margin:34px 0 18px}
.client-list{grid-template-columns:1fr}
.work-header,.insight-intro{display:block;margin:44px 0}
.work-header p,.insight-intro p{margin-top:20px}
.case{gap:32px;padding:22px}
.case h3{margin-top:35px}
.insight-list a{grid-template-columns:35px 1fr 35px}
.contact{padding:64px 5vw}
.contact h2{margin:34px 0 25px}
.footer-grid{grid-template-columns:1fr 1fr;gap:42px 24px;padding:48px 5vw 38px}
.footer-brand-block{grid-column:1 / -1}
.footer-brand img{width:148px}
.footer-policies{flex-wrap:wrap;gap:10px;font-size:.62rem}
.footer-landscape img{min-height:150px;object-fit:cover}
}

.service-grid{grid-template-columns:repeat(5,1fr)}
.icon-link:before,.icon-link:after{content:"";position:absolute;width:20px;height:12px;border:2px solid;border-radius:9px;transform:rotate(-42deg)}
.icon-link:before{left:0;top:4px}
.icon-link:after{right:0;bottom:4px}
@media(max-width:760px){.service-grid{grid-template-columns:1fr}
}
