@font-face{font-family:'GT America';src:url('./fonts/GT-America-Standard-Thin.otf') format('opentype');font-weight:275;font-style:normal;font-display:swap}
@font-face{font-family:'GT America';src:url('./fonts/GT-America-Standard-Light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'GT America';src:url('./fonts/GT-America-Standard-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'GT America Mono';src:url('./fonts/GT-America-Mono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Tobias';src:url('./fonts/Tobias-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
:root{--unit:32px;--edge:32px;--index:128px;--spine:160px;--bg:#141513;--canvas-ink:#eceae2;--ink:#dbdad2;--muted:#aaa99f;--quiet:#85877e;--accent:#c4ccb2;--rule:#eceae22b;--sans:'GT America',Arial,sans-serif;--mono:'GT America Mono',monospace;--serif:'Tobias',Georgia,serif}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark;scroll-behavior:auto;scroll-padding-top:32px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button,summary{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
::selection{background:var(--accent);color:var(--bg)}
.mono{font-family:var(--mono);font-size:10px;font-weight:400;line-height:16px;letter-spacing:0;text-transform:uppercase;font-variant-numeric:tabular-nums}
.skip{position:fixed;top:0;left:32px;z-index:10;transform:translateY(-110%);padding:16px;background:var(--bg)}.skip:focus{transform:none}
.field-plane{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;background:var(--bg)}
#field{width:100%;height:100%;display:block}
main,.top,.foot{position:relative;z-index:1}
.top{position:fixed;z-index:5;top:32px;left:var(--edge);right:var(--edge);height:64px;display:flex;align-items:start;justify-content:space-between;gap:32px;}
.wordmark{display:inline-flex;align-items:center;gap:8px;font-weight:400;font-size:20px;line-height:32px;letter-spacing:.025em;color:var(--canvas-ink)}
.brand-mark{display:inline-flex;width:24px;height:32px;align-items:center;flex:none}.brand-mark svg{width:24px;height:24px;fill:currentColor}.brand-mark img{width:24px;height:24px;object-fit:contain;filter:invert(95%) sepia(8%) saturate(244%) hue-rotate(4deg) brightness(102%)}
.top nav{display:flex;gap:32px;align-items:center;font-family:var(--mono);font-size:10px;line-height:32px;font-weight:400;text-transform:uppercase;letter-spacing:0}
.top nav a:hover{color:var(--accent)}
.scene{position:relative;padding:0;scroll-margin-top:0}.scene-stage{position:relative;padding:64px var(--edge);min-height:0}.scene-stage[data-fixed-stage]{box-sizing:border-box}
.hero>.scene-stage{padding-top:160px;min-height:640px}
.eyebrow{color:var(--muted);margin:0 0 32px var(--spine);font-size:10px;line-height:32px}
.hero-title,.work-title,.statement-title,.contact-title{color:var(--canvas-ink);margin:0;max-width:100%;width:max-content;letter-spacing:-.035em;pointer-events:none}
.hero-title{font-size:88px;font-weight:275;line-height:96px;margin-left:var(--spine);max-width:calc(100% - var(--spine))}
.hero-line{display:block;white-space:nowrap}.mobile-break{display:none}
[data-canvas-text].canvas-ready{color:transparent}
.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:32px;align-items:end;margin:32px 0 0 var(--spine)}
.hero-description{font-size:16px;line-height:24px;font-weight:300;margin:0;color:var(--muted);letter-spacing:0}
.scroll-cue{margin-top:16px;justify-self:start;display:flex;align-items:center;justify-content:space-between;gap:32px;width:256px;height:32px;}
.scroll-cue .mono{font-size:9px;line-height:16px;color:var(--muted)}.scroll-cue:hover{color:var(--canvas-ink);}
.section-rail{display:flex;align-items:center;justify-content:space-between;height:64px;}
.section-label{font-size:10px;line-height:16px;color:var(--muted)}
.rail-dot{width:3px;height:3px;background:var(--accent)}
.approach-layout{display:grid;grid-template-columns:var(--index) minmax(0,1fr);gap:32px;margin-top:0}
.side-note{font-size:9px;line-height:16px;color:var(--quiet);margin:0;text-transform:none;max-width:128px}
.statement{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:32px;align-items:start}
.statement-title{font-family:var(--sans);font-size:44px;font-weight:300;line-height:48px;letter-spacing:-.035em}
.statement-detail{margin:0;max-width:384px}
.statement-copy{font-size:16px;line-height:24px;font-weight:300;margin:0;color:var(--ink);letter-spacing:0}
.secondary-copy{margin-top:16px;color:var(--muted)}
.text-link{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;height:32px;font-family:var(--mono);font-size:10px;line-height:16px;margin-top:32px;text-transform:uppercase}

.work-intro{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:32px;align-items:start;margin:0 0 32px var(--spine)}
.work-title{font-size:44px;line-height:48px;font-weight:300}.work-caption{font-size:16px;line-height:24px;color:var(--muted);margin:0}
.services{margin-left:var(--spine)}
.service{display:grid;grid-template-columns:minmax(0,1fr) 384px;column-gap:32px;align-items:start;padding:24px 0;min-height:96px}

.service h3{font-size:30px;line-height:32px;font-weight:300;margin:0;letter-spacing:-.025em}.service p{font-size:16px;line-height:24px;font-weight:300;margin:0;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:32px;align-items:start;margin:0 0 32px var(--spine)}
.contact-title{font-size:48px;line-height:48px;font-weight:300}
.contact-detail>p{margin:0;font-size:16px;line-height:24px;color:var(--muted)}.contact-detail .text-link{margin-top:16px}
.question{width:100%;margin:0;scroll-margin-top:min(512px,calc(100svh - 160px))}.question label{display:block;color:var(--muted);font-size:9px;line-height:16px}
.question-line{display:flex;gap:32px;align-items:center;height:64px}.question-line:focus-within{}
.question input{width:0;min-width:0;flex:1;background:none;border:0;padding:0;color:var(--canvas-ink);font-family:var(--sans);font-weight:300;font-size:32px;line-height:32px;letter-spacing:-.025em;caret-color:var(--accent);border-radius:0}
.question input::placeholder{color:var(--ink);opacity:1}.question input:focus-visible{outline:none}
.question button{background:none;border:0;color:var(--accent);font-family:var(--mono);font-size:9px;font-weight:400;text-transform:uppercase;padding:0;min-width:56px;height:32px;line-height:32px}
.question-hint{color:var(--quiet);font-size:11px;font-weight:400;line-height:16px;min-height:32px;margin:8px 0 0}
.study-link{display:inline-block;font-size:9px;line-height:32px;color:var(--muted);margin-left:var(--spine)}
.foot{margin:0 var(--edge);padding:32px 0 96px;display:grid;grid-template-columns:var(--index) minmax(0,1fr) 384px;align-items:center;gap:32px;color:var(--quiet)}.foot>.mono{font-size:9px}.foot>.mono:last-child{justify-self:end}
.footer-brand{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:400;letter-spacing:-.04em;color:var(--ink);line-height:32px;white-space:nowrap}.footer-brand svg{width:20px;height:20px;fill:currentColor;flex:none}
.field-readout{position:fixed;z-index:3;bottom:24px;left:32px;display:grid;grid-template-columns:48px 64px;gap:8px;align-items:center;height:32px;padding:0 8px;background:var(--bg);color:var(--quiet);pointer-events:none;font-size:8px;line-height:16px}
.field-readout output{color:var(--ink)}.field-readout #field-phase{text-align:right;color:var(--muted)}
.field-panel{position:fixed;z-index:4;bottom:24px;right:32px;width:160px;color:var(--muted)}
.field-panel summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;font-size:8px;line-height:32px;list-style:none;background:var(--bg);user-select:none}.field-panel summary::-webkit-details-marker{display:none}
.settings-sign{font-size:14px;font-family:var(--sans);color:var(--ink)}.field-panel[open] .settings-sign{transform:rotate(45deg)}
.field-tools{position:absolute;bottom:40px;left:0;right:0;padding:16px;background:var(--bg);font-size:9px}
.field-id{display:block;font-size:8px;line-height:32px;color:var(--quiet);margin-bottom:8px}.field-tools button{font:inherit;text-transform:inherit;display:flex;width:100%;justify-content:space-between;align-items:center;padding:0;border:0;background:none;color:var(--muted);height:32px}.field-tools button span{color:var(--ink)}.field-tools button:hover{color:#fff}.field-tools button:disabled{opacity:.4;cursor:default}
.live-dot{width:3px;height:3px;background:var(--accent);margin-right:auto}body.is-paused .live-dot{background:var(--quiet)}
@media(min-width:1600px){.hero-title{font-size:112px;line-height:128px}.hero>.scene-stage{min-height:736px}.hero-bottom{margin-top:32px;grid-template-columns:minmax(0,1fr) 448px}.statement,.work-intro,.contact-layout{grid-template-columns:minmax(0,1fr) 448px}.service{grid-template-columns:minmax(0,1fr) 448px}.foot{grid-template-columns:var(--index) minmax(0,1fr) 448px}.statement-detail{max-width:448px}.statement-title,.work-title{font-size:52px;line-height:64px}}
@media(max-width:1279px){.hero-bottom{grid-template-columns:minmax(0,1fr) 320px}.hero-title{font-size:80px;line-height:96px}.statement,.work-intro,.contact-layout{grid-template-columns:minmax(0,1fr) 320px}.service{grid-template-columns:minmax(0,1fr) 320px}.foot{grid-template-columns:var(--index) minmax(0,1fr) 320px}.statement-title,.work-title{font-size:36px;line-height:48px}.contact-title{font-size:40px;line-height:48px}.statement-detail{max-width:320px}}
@media(max-width:1023px){
  :root{--index:64px;--spine:96px}.top nav{font-size:9px;gap:24px}.hero>.scene-stage{padding-top:160px;min-height:608px}.hero-title{font-size:72px;line-height:80px}.hero-bottom{grid-template-columns:minmax(0,1fr) 256px;gap:32px}.scroll-cue{width:224px}.scroll-cue .mono{font-size:8px}.hero-description{font-size:15px}
  .side-note{display:none}.statement{grid-column:2}.statement,.work-intro,.contact-layout{grid-template-columns:minmax(0,1fr) 256px}.service{grid-template-columns:minmax(0,1fr) 256px}.foot{grid-template-columns:var(--index) minmax(0,1fr) 256px}.statement-title,.work-title{font-size:30px;line-height:40px}.statement-copy,.work-caption,.service p{font-size:14px;line-height:24px}.service h3{font-size:26px;line-height:32px}.contact-title{font-size:32px;line-height:40px}.question-hint{font-size:10px}.footer-brand{font-size:0;gap:0}.footer-brand svg{width:20px;height:20px}
}
@media(max-width:767px){
  :root{--index:32px;--spine:0px}.top{top:24px;height:56px;gap:16px}.wordmark{font-size:22px}.top nav a:not(.nav-cta){display:none}.top nav{font-size:9px;line-height:32px}
  .scene-stage{padding:64px var(--edge) 32px}.hero>.scene-stage{padding-top:128px;min-height:576px}.eyebrow{font-size:8px;margin-bottom:16px;line-height:32px}.hero-title{font-size:64px;line-height:64px}.mobile-break{display:block}.hero-bottom{display:block;margin-top:32px}.hero-bottom .question{margin-top:32px;max-width:384px}.hero-description{font-size:15px;line-height:24px}.scroll-cue{margin-top:24px;width:256px;justify-self:auto}
  .section-rail{height:64px}.section-label{font-size:9px}.approach-layout{display:block}.statement{display:block}.statement-title,.work-title{font-size:40px;line-height:48px}.statement-detail{margin-top:32px;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}.statement-copy{font-size:15px;line-height:24px}.secondary-copy{margin-top:0}.text-link{grid-column:1 / -1;margin-top:0;font-size:9px}
  .work-intro{grid-template-columns:1fr;gap:16px;margin-bottom:32px}.work-caption{font-size:14px;line-height:24px}.work-caption br{display:none}.service{grid-template-columns:minmax(0,1fr) minmax(160px,1fr);gap:16px;min-height:96px;padding:24px 0}.service h3{font-size:24px;line-height:32px}.service p{font-size:14px;line-height:24px}
  .contact-layout{grid-template-columns:minmax(0,1fr) minmax(224px,1fr);gap:32px;margin-bottom:16px}.contact-title{font-size:36px;line-height:40px}.contact-detail>p{font-size:14px;line-height:24px}.question input{font-size:28px}.question-hint{font-size:10px;max-width:100%}
  .foot{grid-template-columns:1fr 1fr;gap:16px;padding:24px 0 96px}.footer-brand{font-size:18px;gap:8px}.footer-brand svg{width:20px;height:20px}.foot>.mono{font-size:8px}.foot>.mono:last-child{grid-column:1 / -1;justify-self:start}
  .field-readout{grid-template-columns:32px 48px;gap:8px;font-size:7px;padding:0 4px}.field-panel{width:128px}.field-panel summary{font-size:7px}.field-tools{font-size:8px;padding:12px}
}
@media(max-width:559px){
  .statement-detail{display:block}.statement-copy{font-size:15px;line-height:24px}.secondary-copy{margin-top:16px}.text-link{margin-top:24px}
  .service{grid-template-columns:1fr;gap:0;padding:8px 0;min-height:96px}.service h3{font-size:25px;line-height:32px}.service p{grid-column:1;margin-top:8px;font-size:14px;line-height:24px}
  .contact-layout{grid-template-columns:1fr;gap:32px}.contact-title{font-size:40px;line-height:48px}.question{max-width:384px}.question-hint{font-size:11px}.question-line{height:64px}
}
@media(max-width:479px){.hero-title{font-size:50px;line-height:56px}.hero>.scene-stage{min-height:544px}.hero-description{font-size:14px}.eyebrow{font-size:7px}.statement-title,.work-title{font-size:36px;line-height:40px}.wordmark{font-size:21px}.field-readout{left:32px}.field-panel{right:32px}}
@media(max-width:359px){.hero-title{font-size:44px;line-height:48px}.hero>.scene-stage{min-height:512px}.eyebrow{font-size:6px}.statement-title,.work-title{font-size:32px;line-height:40px}.statement-title{font-size:30px}.contact-title{font-size:36px;line-height:40px}.hero-description{font-size:13px}.wordmark{font-size:19px}.top nav{font-size:8px}.top{gap:8px}.scroll-cue{width:100%}.scroll-cue .mono{font-size:8px}.field-panel{width:112px}.field-readout{grid-template-columns:24px 40px;gap:4px}.field-readout,.field-panel summary{font-size:6px}.question-hint{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Use spacing and type hierarchy for separation. Decorative rules and indices are prohibited. */

.work-intro{display:block;margin-bottom:16px}
.section-rail{height:32px;margin-bottom:32px}
.question-line{background:#eceae207;padding:0 8px}
.question-line:focus-within{background:#eceae20b}
.field-tools{background:#22241f}
@media(max-width:767px){.scene-stage{padding-top:64px}.hero>.scene-stage{padding-top:112px;min-height:0}.section-rail{margin-bottom:24px}.work-intro{margin-bottom:16px}.service p{line-height:20px}.service{min-height:88px}.work-title{font-size:36px;line-height:40px}}
@media(max-width:479px){.work-title{font-size:28px;line-height:32px}.section-rail{margin-bottom:24px}.hero>.scene-stage{padding-top:96px}.hero-bottom .question{margin-top:16px}}
@media(max-width:359px){.work-title{font-size:24px;line-height:32px}.hero-title{font-size:40px;line-height:48px}.hero>.scene-stage{padding-top:96px}.hero-bottom{margin-top:24px}.scroll-cue{margin-top:16px}}
@media(min-width:768px) and (max-height:760px){
  .hero>.scene-stage{padding-top:128px;padding-bottom:32px;min-height:0}
  .hero-title{font-size:72px;line-height:80px}
}
@media(min-width:768px) and (max-height:600px){
  .hero>.scene-stage{padding-top:112px}
  .hero-title{font-size:64px;line-height:64px}
  .eyebrow{margin-bottom:16px}
}
@media(max-width:767px) and (max-height:600px){
  .hero>.scene-stage{padding-top:96px}
  .hero-title{font-size:40px;line-height:48px}
  .hero-bottom{margin-top:16px}
  .hero-bottom .question{margin-top:16px}
  .scroll-cue{margin-top:8px}
  .question-line{height:40px}
  .question-hint{min-height:16px}
}

/* Mobile reading mode: motion belongs to the field, never the words. */
.native-text .field-plane{opacity:.34}
.native-text .top{position:relative;top:auto;left:auto;right:auto;margin:24px var(--edge) 0;height:auto;min-height:48px}
.native-text .hero>.scene-stage{padding-top:48px}
.native-text .scene-stage{padding-bottom:64px}
.native-text .hero-line{white-space:normal}
.native-text .hero-title{width:auto}
.native-text .hero-description,.native-text .statement-copy,.native-text .service p,.native-text .contact-detail>p{font-size:16px;line-height:1.5}
.native-text .eyebrow{font-size:11px;line-height:1.6}
.native-text .section-label,.native-text .text-link,.native-text .scroll-cue .mono,.native-text .question label,.native-text .question button,.native-text .study-link{font-size:12px}
.native-text .question-hint{font-size:12px;line-height:1.5}
.native-text .top nav{font-size:12px;gap:20px}
.native-text .top nav .services-nav{display:block}
.native-text .top nav .nav-cta{display:none}
.native-text .field-readout{font-size:10px;grid-template-columns:40px 56px}
.native-text .field-panel{width:152px}
.native-text .field-panel summary{font-size:10px;min-height:44px}
.native-text .field-tools{font-size:12px}
.native-text .field-tools button{height:44px}
@media(max-width:359px){.native-text{--edge:24px}.native-text .field-readout{left:16px}.native-text .field-panel{right:16px}}
.native-text .field-readout{position:relative;left:auto;bottom:auto;margin:0 var(--edge) 16px}
.native-text .field-panel{position:relative;right:auto;bottom:auto;margin:0 var(--edge) 24px;width:calc(100% - var(--edge) * 2)}
.native-text .foot{padding-bottom:48px}
