@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/geist-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/geist-mono-latin.woff2') format('woff2');
}

:root {
  --background: #0b0c0d; --foreground: #f1f0eb; --card: #141516;
  --card-foreground: #f1f0eb; --popover: #141516; --popover-foreground: #f1f0eb;
  --primary: #f1f0eb; --primary-foreground: #0b0c0d; --secondary: #1b1c1e;
  --secondary-foreground: #f1f0eb; --muted: #18191b; --muted-foreground: #999994;
  --accent: #252629; --accent-foreground: #f1f0eb; --destructive: #ba4b42;
  --border: rgba(241,240,235,.14); --input: rgba(241,240,235,.14); --ring: #9d9d98;
  --radius: .25rem; --graphite: #101112; --off-white: #f1f0eb;
  --ash: #a4a49f; --hairline: rgba(241,240,235,.16); --sudoku: #42d6cb;
}

.dark { --background:#0b0c0d; --foreground:#f1f0eb; --card:#141516; --card-foreground:#f1f0eb; --popover:#141516; --popover-foreground:#f1f0eb; --primary:#f1f0eb; --primary-foreground:#0b0c0d; --secondary:#1b1c1e; --secondary-foreground:#f1f0eb; --muted:#18191b; --muted-foreground:#999994; --accent:#252629; --accent-foreground:#f1f0eb; --destructive:#ba4b42; --border:rgba(241,240,235,.14); --input:rgba(241,240,235,.14); --ring:#9d9d98; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--background); }
body { margin:0; background:var(--background); color:var(--foreground); font-family:'Geist',Arial,Helvetica,sans-serif; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }

.site-header { position:fixed; z-index:20; inset:0 0 auto; height:80px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; padding:0 36px; border-bottom:1px solid var(--hairline); background:rgba(11,12,13,.84); backdrop-filter:blur(18px); }
.brand { display:inline-flex; align-items:center; gap:11px; width:max-content; font-size:14px; font-weight:650; letter-spacing:-.02em; }
.brand-mark { position:relative; width:27px; height:22px; overflow:hidden; }
.brand-mark::before,.brand-mark::after { content:''; position:absolute; left:0; width:27px; height:15px; border-bottom:1px solid rgba(241,240,235,.46); border-radius:0 0 50% 50%; }
.brand-mark::before { top:-5px; }
.brand-mark::after { top:1px; width:23px; left:2px; border-bottom-color:rgba(241,240,235,.24); }
.brand-mark span { position:absolute; z-index:2; width:5px; height:5px; left:11px; top:8px; border-radius:50%; background:var(--off-white); box-shadow:0 0 10px rgba(241,240,235,.45); }
.desktop-nav { display:flex; align-items:center; gap:clamp(22px,3vw,48px); color:var(--ash); font-size:13px; }
.mobile-menu { display:none; }
.desktop-nav a,.nav-cta,.text-link,.project-link { transition:color 180ms ease,opacity 180ms ease; }
.desktop-nav a:hover,.desktop-nav a:focus-visible,.text-link:hover,.text-link:focus-visible { color:var(--off-white); }
.nav-cta { justify-self:end; display:flex; gap:13px; align-items:center; font-size:13px; }
.nav-cta:hover,.nav-cta:focus-visible { opacity:.62; }

.hero { position:relative; min-height:min(970px,100svh); padding:clamp(150px,21vh,220px) 36px 52px; display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; border-bottom:1px solid var(--hairline); }
.eyebrow,.section-count,.project-meta { margin:0; color:var(--ash); font-family:'Geist Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.hero h1 { position:relative; z-index:2; align-self:center; margin:0; width:min(1280px,94vw); font-size:clamp(70px,10.8vw,174px); font-weight:470; line-height:.84; letter-spacing:-.075em; }
.hero h1 span { display:block; margin-left:clamp(7vw,13vw,210px); color:transparent; -webkit-text-stroke:1.5px rgba(241,240,235,.92); }
.hero-footer { position:relative; z-index:2; display:grid; grid-template-columns:minmax(280px,530px) auto; justify-content:space-between; align-items:end; gap:40px; padding-left:clamp(0px,28vw,420px); }
.hero-footer p { margin:0; color:#c3c2bd; font-size:clamp(17px,1.4vw,22px); line-height:1.45; letter-spacing:-.025em; }
.text-link { display:flex; align-items:center; gap:14px; white-space:nowrap; color:var(--ash); font-size:13px; }
.hero-orbit { position:absolute; z-index:1; width:min(48vw,700px); aspect-ratio:1; right:-10vw; top:13vh; opacity:.65; }
.orbit { position:absolute; inset:8%; border:1px solid rgba(241,240,235,.14); border-radius:50%; animation:orbit 22s linear infinite; }
.orbit-b { inset:25%; animation-duration:14s; animation-direction:reverse; }
.orbit i { position:absolute; left:50%; top:-4px; width:7px; height:7px; background:var(--off-white); border-radius:50%; }
.orbit-b i { width:4px; height:4px; opacity:.5; }
.orbit-core { position:absolute; inset:45%; background:radial-gradient(circle,rgba(241,240,235,.5),rgba(241,240,235,0) 70%); border-radius:50%; }
@keyframes orbit { to { transform:rotate(360deg); } }

.work-section { padding:130px 36px 36px; background:#0e0f10; }
.section-intro { display:grid; grid-template-columns:1fr 1.2fr .8fr; gap:40px; align-items:end; margin-bottom:76px; }
.section-intro h2 { margin:0; font-size:clamp(46px,5.6vw,88px); line-height:.95; font-weight:470; letter-spacing:-.06em; }
.section-deck { max-width:340px; margin:0; color:var(--ash); font-size:17px; line-height:1.5; }
.project-card { min-height:680px; display:grid; grid-template-columns:minmax(320px,.86fr) minmax(420px,1.14fr); margin-top:36px; background:#151617; overflow:hidden; }
.project-copy { display:flex; flex-direction:column; padding:36px; }
.project-meta { display:flex; justify-content:space-between; }
.project-copy h3 { margin:auto 0 22px; font-size:clamp(52px,6vw,98px); font-weight:480; line-height:.94; letter-spacing:-.065em; }
.project-copy>p { max-width:470px; margin:0 0 38px; color:#afafa9; font-size:18px; line-height:1.5; }
.project-link { display:inline-flex; justify-content:space-between; width:100%; padding-top:18px; border-top:1px solid var(--hairline); font-size:14px; }
.project-link:hover,.project-link:focus-visible { color:var(--sudoku); }
.project-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; border-top:1px solid var(--hairline); }
.project-actions a { display:flex; justify-content:space-between; gap:16px; padding:15px 0; border-bottom:1px solid var(--hairline); color:#c6c5bf; font-size:13px; transition:color 180ms ease; }
.project-actions a:nth-child(odd) { padding-right:18px; }
.project-actions a:nth-child(even) { padding-left:18px; border-left:1px solid var(--hairline); }
.project-actions a:hover,.project-actions a:focus-visible { color:var(--sudoku); }
.sudoku-visual { display:grid; place-items:center; align-content:center; gap:38px; min-height:600px; background:var(--sudoku); color:#101112; }
.sudoku-grid { display:grid; grid-template-columns:repeat(3,1fr); width:min(58%,420px); aspect-ratio:1; border:1px solid rgba(16,17,18,.6); }
.sudoku-grid span { display:grid; place-items:center; border:1px solid rgba(16,17,18,.2); font-size:clamp(28px,4vw,60px); font-weight:440; }
.sudoku-grid .focus-cell { background:#101112; color:var(--sudoku); }
.sudoku-visual p { margin:0; font-family:'Geist Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }

.shots-card { margin-top:36px; }
.shots-card .project-copy { order:2; }
.shots-card .shots-visual { order:1; }
.quiet-link { color:var(--ash); }
.shots-visual { position:relative; min-height:600px; overflow:hidden; background:#d6c0a5; color:#241d18; }
.court-frame { position:absolute; inset:9%; border:1px solid rgba(36,29,24,.56); overflow:hidden; }
.court-frame::before { content:''; position:absolute; top:0; bottom:0; left:50%; border-left:1px solid rgba(36,29,24,.36); }
.court-frame::after { content:''; position:absolute; width:34%; aspect-ratio:1; left:33%; top:30%; border:1px solid rgba(36,29,24,.36); border-radius:50%; }
.court-arc { position:absolute; width:52%; aspect-ratio:1; right:-26%; top:24%; border:1px solid rgba(36,29,24,.46); border-radius:50%; }
.player-dot { position:absolute; width:14px; height:14px; border-radius:50%; background:#241d18; box-shadow:0 0 0 6px rgba(36,29,24,.12); }
.player-one { left:28%; top:64%; }
.player-two { right:20%; top:33%; }
.shot-origin { position:absolute; width:10px; height:10px; left:28%; top:64%; border-radius:50%; background:#ef4b2d; transform:translate(2px,2px); }
.shot-path { position:absolute; left:29%; top:37%; width:52%; height:31%; border-top:2px dashed #ef4b2d; border-radius:50%; transform:rotate(-18deg); }
.shots-readout { position:absolute; left:9%; right:9%; bottom:9%; display:grid; grid-template-columns:repeat(3,auto 1fr); gap:10px; align-items:baseline; padding:16px 18px; background:rgba(232,218,201,.88); border:1px solid rgba(36,29,24,.3); backdrop-filter:blur(8px); font-family:'Geist Mono',monospace; text-transform:uppercase; font-size:10px; letter-spacing:.06em; }
.shots-readout b { font-size:16px; font-weight:550; letter-spacing:-.03em; }

.project-pair { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:36px; }
.project-small { min-height:780px; display:flex; flex-direction:column; padding:30px; overflow:hidden; }
.agents-card { background:#e8e7e1; color:#101112; }
.agents-card .project-meta { color:#555651; }
.physical-card { position:relative; background:#ba5338; color:#170e0a; }
.physical-card .project-meta { color:rgba(23,14,10,.6); }
.agent-visual { margin:auto 0; padding:9%; border:1px solid rgba(16,17,18,.18); }
.agent-line { display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center; padding:22px 0; border-bottom:1px solid rgba(16,17,18,.16); font-family:'Geist Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.agent-line i { position:relative; height:1px; background:rgba(16,17,18,.25); }
.agent-line i::after { content:''; position:absolute; right:0; top:-4px; width:9px; height:9px; border-radius:50%; background:#101112; }
.agent-line.active i { background:#101112; }
.agent-line.active i::after { box-shadow:0 0 0 7px rgba(16,17,18,.12); }
.agent-status { display:flex; gap:12px; align-items:center; padding-top:28px; color:#555651; font-size:13px; }
.agent-status i { width:7px; height:7px; border-radius:50%; background:#6d9f45; box-shadow:0 0 0 5px rgba(109,159,69,.14); }
.small-copy h3 { margin:0 0 18px; font-size:clamp(46px,5vw,78px); line-height:.93; font-weight:480; letter-spacing:-.06em; }
.small-copy p { max-width:520px; margin:0; font-size:17px; line-height:1.5; opacity:.66; }
.physical-visual { position:relative; min-height:430px; margin:auto -30px; }
.signal-ring { position:absolute; border:1px solid rgba(23,14,10,.34); border-radius:50%; }
.ring-one { width:430px; height:430px; left:50%; top:50%; transform:translate(-50%,-50%); }
.ring-two { width:280px; height:280px; left:50%; top:50%; transform:translate(-50%,-50%); }
.machine-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:142px; height:142px; border-radius:50%; background:#170e0a; color:#ba5338; text-align:center; font-size:32px; font-weight:570; line-height:.7; letter-spacing:-.06em; }
.machine-core span { font-family:'Geist Mono',monospace; font-size:10px; letter-spacing:.14em; }
.sensor { position:absolute; padding:8px 10px; border:1px solid rgba(23,14,10,.35); background:rgba(186,83,56,.85); font-family:'Geist Mono',monospace; font-size:9px; letter-spacing:.08em; }
.sensor-a { left:8%; top:18%; }.sensor-b { right:6%; top:50%; }.sensor-c { left:15%; bottom:12%; }

.spectrum-section { padding:160px 36px 130px; background:var(--off-white); color:#121314; }
.spectrum-section .eyebrow { color:#6e6e69; }
.spectrum-heading { display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:start; margin-bottom:120px; }
.spectrum-heading h2 { margin:0; font-size:clamp(48px,6vw,96px); line-height:.94; font-weight:470; letter-spacing:-.065em; }
.spectrum-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(18,19,20,.22); }
.spectrum-grid::before { content:''; position:absolute; top:82px; left:10%; right:10%; border-top:1px solid rgba(18,19,20,.18); }
.spectrum-grid article { position:relative; min-height:420px; padding:40px 22px 0 0; border-right:1px solid rgba(18,19,20,.14); }
.spectrum-grid article:not(:first-child) { padding-left:22px; }
.spectrum-grid article:last-child { border-right:0; }
.spectrum-orbit { position:relative; z-index:2; display:grid; place-items:center; width:84px; height:84px; margin-bottom:50px; border:1px solid rgba(18,19,20,.44); border-radius:50%; background:var(--off-white); }
.spectrum-orbit i { position:absolute; top:9px; right:4px; width:8px; height:8px; border-radius:50%; background:#121314; }
.spectrum-orbit span { font-family:'Geist Mono',monospace; font-size:11px; }
.spectrum-name { margin:0 0 18px; color:#60605c; font-family:'Geist Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.09em; }
.spectrum-grid h3 { margin:0 0 18px; font-size:clamp(25px,2.2vw,36px); line-height:1.05; font-weight:520; letter-spacing:-.045em; }
.spectrum-grid article>p:last-child { max-width:250px; margin:0; color:#676762; font-size:15px; line-height:1.5; }

.studio-section { display:grid; grid-template-columns:1.1fr .9fr; gap:9vw; padding:150px 36px; background:#111213; }
.studio-statement h2 { margin:90px 0 0; font-size:clamp(60px,7.4vw,118px); line-height:.86; font-weight:460; letter-spacing:-.07em; }
.studio-statement h2 span { color:transparent; -webkit-text-stroke:1px rgba(241,240,235,.75); }
.studio-body { align-self:end; padding-top:120px; }
.studio-body>p { max-width:600px; margin:0 0 32px; color:#bbb9b3; font-size:clamp(18px,1.5vw,23px); line-height:1.5; letter-spacing:-.025em; }
.studio-body>p+p { color:#858580; font-size:16px; }
.studio-question { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; max-width:600px; margin-top:62px; padding-bottom:18px; border-bottom:1px solid var(--off-white); font-size:clamp(28px,3vw,48px); line-height:1.03; letter-spacing:-.045em; }
.studio-question span { flex:0 0 auto; transition:transform 180ms ease; }
.studio-question:hover span,.studio-question:focus-visible span { transform:translate(5px,-5px); }
.capability-list { display:grid; grid-template-columns:1fr 1fr; margin-top:54px; border-top:1px solid var(--hairline); }
.capability-list span { padding:16px 0; border-bottom:1px solid var(--hairline); color:#b7b6b0; font-family:'Geist Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.capability-list span:nth-child(even) { padding-left:18px; border-left:1px solid var(--hairline); }

.beyond-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; padding:140px 36px; border-top:1px solid var(--hairline); background:#111213; }
.beyond-intro h2 { margin:76px 0 38px; font-size:clamp(58px,7vw,110px); line-height:.87; font-weight:460; letter-spacing:-.07em; }
.beyond-intro>p:last-child { max-width:470px; margin:0; color:#8d8d88; font-size:17px; line-height:1.55; }
.beyond-list { align-self:end; border-top:1px solid var(--hairline); }
.beyond-item { display:grid; grid-template-columns:92px 1fr; gap:26px; min-height:270px; padding:34px 0 42px; border-bottom:1px solid var(--hairline); }
.beyond-number { position:relative; display:grid; place-items:center; width:58px; height:58px; border:1px solid rgba(241,240,235,.28); border-radius:50%; color:#aaa9a4; font-family:'Geist Mono',monospace; font-size:10px; letter-spacing:.08em; }
.beyond-number i { position:absolute; right:2px; top:5px; width:6px; height:6px; border-radius:50%; background:var(--off-white); }
.beyond-meta { margin:3px 0 36px; color:#858580; font-family:'Geist Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.beyond-item h3 { margin:0 0 18px; font-size:clamp(32px,3vw,48px); line-height:1; font-weight:490; letter-spacing:-.05em; }
.beyond-item div>p:last-child { max-width:560px; margin:0; color:#aaa9a4; font-size:17px; line-height:1.5; }

.contact-section { position:relative; min-height:690px; display:flex; flex-direction:column; justify-content:space-between; padding:70px 36px 56px; overflow:hidden; background:#090a0b; }
.contact-link { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; width:100%; padding-bottom:20px; border-bottom:1px solid var(--off-white); font-size:clamp(66px,11vw,175px); line-height:.9; font-weight:460; letter-spacing:-.075em; }
.contact-link:hover span { transform:translate(8px,-8px); }
.contact-link span { transition:transform 220ms ease; }
.contact-orbit { position:absolute; left:50%; top:52%; width:480px; height:190px; transform:translate(-50%,-50%) rotate(-12deg); border:1px solid rgba(241,240,235,.16); border-radius:50%; }
.contact-orbit i { position:absolute; top:4%; right:20%; width:12px; height:12px; border-radius:50%; background:var(--off-white); box-shadow:0 0 35px rgba(241,240,235,.7); }
footer { min-height:170px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; gap:32px; padding:44px 36px; border-top:1px solid var(--hairline); color:var(--ash); font-size:12px; }
footer>p { margin:0; text-align:center; }
footer>div { display:flex; justify-content:flex-end; gap:28px; }

.policy-page { min-height:100vh; }
.policy-main { min-height:calc(100vh - 170px); padding:180px 36px 120px; }
.policy-hero { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding-bottom:86px; border-bottom:1px solid var(--hairline); }
.policy-hero h1 { margin:70px 0 0; font-size:clamp(68px,9vw,144px); font-weight:470; line-height:.86; letter-spacing:-.075em; }
.policy-hero h1 span { display:block; color:transparent; -webkit-text-stroke:1px rgba(241,240,235,.78); }
.policy-intro { align-self:end; max-width:630px; margin:0; color:#bbb9b3; font-size:clamp(19px,1.6vw,24px); line-height:1.5; letter-spacing:-.025em; }
.policy-content { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding-top:72px; }
.policy-aside { color:var(--ash); font-family:'Geist Mono',monospace; font-size:11px; line-height:1.7; letter-spacing:.08em; text-transform:uppercase; }
.policy-aside p { margin:0 0 26px; }
.policy-article { max-width:760px; }
.policy-article section { padding:0 0 46px; margin:0 0 46px; border-bottom:1px solid var(--hairline); }
.policy-article h2 { margin:0 0 18px; font-size:clamp(28px,3vw,44px); font-weight:490; line-height:1; letter-spacing:-.05em; }
.policy-article p { margin:0 0 16px; color:#aaa9a4; font-size:17px; line-height:1.65; }
.policy-article p:last-child { margin-bottom:0; }
.policy-article a { color:var(--foreground); border-bottom:1px solid rgba(241,240,235,.46); }

@media (max-width:820px) {
  .site-header { height:68px; grid-template-columns:1fr auto; padding:0 20px; }
  .desktop-nav,.nav-cta { display:none; }
  .mobile-menu { display:block; justify-self:end; }
  .mobile-menu summary { list-style:none; cursor:pointer; font-size:13px; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu nav { position:fixed; inset:68px 0 auto; display:flex; flex-direction:column; padding:22px 20px 28px; background:rgba(11,12,13,.98); border-bottom:1px solid var(--hairline); }
  .mobile-menu nav a { padding:13px 0; border-bottom:1px solid rgba(241,240,235,.08); font-size:16px; }
  .hero { min-height:800px; padding:124px 20px 32px; }
  .hero h1 { align-self:center; font-size:clamp(62px,17vw,112px); line-height:.88; }
  .hero h1 span { margin-left:0; }
  .hero-footer { grid-template-columns:1fr; padding-left:0; }
  .hero-footer .text-link { display:none; }
  .hero-orbit { width:95vw; right:-45vw; top:30vh; }
  .work-section { padding:90px 20px 20px; }
  .section-intro { grid-template-columns:1fr; margin-bottom:50px; }
  .project-card { grid-template-columns:1fr; }
  .project-copy { min-height:480px; padding:24px; }
  .sudoku-visual { min-height:520px; }
  .shots-card .project-copy { order:1; }.shots-card .shots-visual { order:2; }
  .shots-visual { min-height:520px; }
  .shots-readout { grid-template-columns:repeat(3,1fr); }.shots-readout span { display:none; }
  .project-pair { grid-template-columns:1fr; gap:20px; }
  .project-small { min-height:680px; padding:24px; }
  .physical-visual { margin:auto -24px; }
  .spectrum-section { padding:100px 20px 80px; }
  .spectrum-heading { grid-template-columns:1fr; margin-bottom:70px; }
  .spectrum-grid { grid-template-columns:1fr 1fr; }
  .spectrum-grid::before { display:none; }
  .spectrum-grid article { min-height:360px; border-bottom:1px solid rgba(18,19,20,.14); }
  .spectrum-grid article:nth-child(even) { border-right:0; }
  .studio-section { grid-template-columns:1fr; padding:100px 20px; }
  .studio-statement h2 { margin-top:65px; }
  .studio-body { padding-top:30px; }
  .beyond-section { grid-template-columns:1fr; gap:72px; padding:100px 20px; }
  .beyond-intro h2 { margin-top:64px; }
  .beyond-item { grid-template-columns:74px 1fr; }
  .contact-section { min-height:540px; padding:56px 20px 38px; }
  footer { grid-template-columns:1fr; align-items:start; padding:36px 20px; }
  footer>p { text-align:left; } footer>div { justify-content:flex-start; }
  .policy-main { padding:130px 20px 80px; }
  .policy-hero,.policy-content { grid-template-columns:1fr; gap:50px; }
  .policy-hero h1 { margin-top:54px; }
  .policy-aside { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
}
@media (max-width:480px) {
  .brand { font-size:13px; }
  .hero { min-height:720px; }
  .eyebrow { max-width:240px; line-height:1.5; }
  .project-card { min-height:0; }
  .project-copy { min-height:420px; }
  .sudoku-visual { min-height:440px; }
  .project-small { min-height:620px; }
  .spectrum-grid { grid-template-columns:1fr; }
  .spectrum-grid article { min-height:320px; border-right:0; }
  .capability-list { grid-template-columns:1fr; }
  .capability-list span:nth-child(even) { padding-left:0; border-left:0; }
  .beyond-section { gap:58px; }
  .beyond-item { grid-template-columns:1fr; gap:28px; min-height:0; }
  .beyond-meta { margin-bottom:24px; }
  .contact-link { align-items:flex-end; }
  .contact-link span { font-size:36px; }
  .project-actions { grid-template-columns:1fr; }
  .project-actions a:nth-child(odd),.project-actions a:nth-child(even) { padding:15px 0; border-left:0; }
  .policy-aside { grid-template-columns:1fr; gap:0; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.orbit{animation:none} }
