@font-face{
  font-family:"AndOr Typewriter";
  src:url("assets/fonts/AndOr-Typewriter-Mono-Regular.otf") format("opentype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"AndOr Sans";
  src:url("assets/fonts/Manrope-Regular.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
:root{
  --paper:#FDFAF4;
  --ink:#141210;
  --gold:#BC9346;
  --gold-deep:#8A6425;
  --muted:#6F675B;
  --rule:rgba(20,18,16,.16);
  --soft:rgba(188,147,70,.08);
  --display:"American Typewriter","AmericanTypewriter","AndOr Typewriter",monospace;
  --body:"AndOr Sans",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:400;font-size:1.0625rem;line-height:1.72;-webkit-font-smoothing:antialiased;font-synthesis:none}
a{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,.wordmark,.eyebrow,.nav-link,.text-link,.number,.role,.status{font-family:var(--display);font-weight:400}
h1,h2,h3{font-weight:400}
h1,h2,h3,.status-copy{text-wrap:pretty}
p,dd{text-wrap:pretty}
strong,b{font-weight:400}
.shell{width:min(76rem,calc(100% - 4rem));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(253,250,244,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.header-inner{min-height:6rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;text-decoration:none;flex:0 0 auto}
.brand-logo{width:8.6rem;height:auto;display:block}
.brand-line{width:8.6rem;height:1px;background:var(--gold)}
.brand-tag{font-family:var(--display);font-weight:400;font-size:.66rem;line-height:1.4;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.nav{display:flex;align-items:center;gap:1.2rem;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav-link{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;padding:.35rem 0;border-bottom:1px solid transparent;color:var(--muted)}
.nav-link:hover,.nav-link[aria-current="page"]{color:var(--ink);border-bottom-color:var(--gold)}
.home-hero{min-height:calc(100svh - 6rem);display:block;padding:5.5rem 0 6rem}
.home-hero h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.08;letter-spacing:-.025em;margin-bottom:0;max-width:67rem}
.hero-side{max-width:42rem;border-top:1px solid var(--gold);padding-top:1.5rem;margin-top:3.5rem}
.hero-side p{color:var(--muted);margin-bottom:1.15rem}
.hero-side .principle{color:var(--ink);font-family:var(--display);font-size:1.12rem;line-height:1.55}
.text-link{display:inline-block;font-size:.78rem;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.15rem}
.doorways{border-top:1px solid var(--rule);padding:5rem 0 6rem}
.section-intro{display:block;margin-bottom:2.5rem}
.section-intro h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;max-width:38rem;margin-bottom:0}
.eyebrow{font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:1.5rem}
.door-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.door{min-height:14rem;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:transparent;transition:background .2s ease}
.door:hover{background:var(--soft)}
.door .number{font-size:.7rem;letter-spacing:.12em;color:var(--gold-deep)}
.door h3{font-size:1.45rem;line-height:1.25;margin-bottom:.7rem}
.door p{color:var(--muted);margin-bottom:0;font-size:.98rem;line-height:1.55}
.page-main{min-height:calc(100svh - 5rem);padding:5.5rem 0 7rem}
.page-hero{display:block;margin-bottom:4.5rem}
.page-hero h1{font-size:clamp(2.5rem,4.4vw,4.35rem);line-height:1.08;letter-spacing:-.025em;margin-bottom:0;max-width:64rem}
.page-hero .intro{font-size:1.16rem;line-height:1.65;max-width:43rem;color:var(--muted);padding-top:0;margin-top:2.25rem}
.page-hero .intro p:last-child{margin-bottom:0}
.rule{border-top:1px solid var(--rule)}
.copy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 5rem}
.copy-grid p{max-width:34rem}
.method-note{margin-top:4.5rem;padding-top:2rem}
.method-note .eyebrow{margin-bottom:1.75rem}
.founders{display:grid;grid-template-columns:repeat(2,1fr);gap:5rem;background:transparent;border:0;border-top:1px solid var(--rule);margin-top:2rem;padding-top:3rem}
.founder{background:transparent;padding:0}
.founder h2{font-size:2rem;line-height:1.2;margin-bottom:.25rem}
.founder h2 a{text-decoration:none}
.role{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:2rem}
.founder p{color:var(--muted)}
.founder p:last-child{color:var(--ink);margin-bottom:0}
.rows{margin:3rem 0 0;border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:minmax(14rem,.7fr) minmax(0,1.3fr);gap:4rem;padding:2rem 0;border-bottom:1px solid var(--rule)}
.row dt{font-family:var(--display);font-size:1.5rem;line-height:1.3}
.row dd{margin:0;color:var(--muted);max-width:38rem}
.row .detail{display:block;margin-top:.55rem;font-family:var(--body);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.process{counter-reset:stage;margin-top:3rem;border-top:1px solid var(--rule)}
.stage{counter-increment:stage;display:grid;grid-template-columns:4rem minmax(12rem,.6fr) minmax(0,1.4fr);gap:2rem;padding:2.25rem 0;border-bottom:1px solid var(--rule)}
.stage:before{content:"0" counter(stage);font-family:var(--display);color:var(--gold-deep);font-size:.78rem;letter-spacing:.1em;padding-top:.35rem}
.stage h2{font-size:1.45rem;line-height:1.3;margin:0}
.stage .detail{display:block;margin-top:.55rem;font-family:var(--body);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}
.stage p{color:var(--muted);margin:0;max-width:40rem}
.work-title{font-size:clamp(2.5rem,5vw,5rem);line-height:1.06;letter-spacing:-.025em;margin:0 0 3rem;max-width:12ch}
.status-panel{min-height:45vh;display:block;border-top:1px solid var(--gold);border-bottom:1px solid var(--rule);padding:4rem 0}
.status{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.status-copy{font-family:var(--display);font-weight:400;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.45;max-width:44rem;margin:1.25rem 0 0}
.thinking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.thought{border:0;border-top:1px solid var(--gold);min-height:0}
.thought a{height:100%;display:grid;grid-template-rows:auto minmax(7rem,auto) 1fr auto;gap:1rem;padding:1.35rem .35rem 1rem;text-decoration:none}
.thought .topic{font-family:var(--display);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin:0}
.thought h2{font-size:clamp(1.2rem,1.55vw,1.55rem);line-height:1.32;margin:0;align-self:start}
.thought .summary{color:var(--muted);margin:0;max-width:28rem}
.thought .read{font-family:var(--display);font-size:.76rem;letter-spacing:.06em;border-top:1px solid var(--rule);padding-top:.85rem;margin:0;align-self:end}
.thought a:hover{background:var(--soft)}
.thought:hover{background:var(--soft);border-color:var(--gold)}
.contact-layout{display:block}
.contact-page{width:min(118rem,calc(100% - 4rem))}
.contact-copy h1{font-size:clamp(1.95rem,2.9vw,3.55rem);line-height:1.12;letter-spacing:-.025em;margin-bottom:2rem;max-width:none}
.headline-line{display:block;white-space:nowrap}
.contact-copy p{max-width:34rem;color:var(--muted)}
.contact-list{border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}
.contact-item{padding:1.5rem 0;border-bottom:1px solid var(--rule)}
.contact-item h2{font-size:1.15rem;margin-bottom:.3rem}
.contact-item p{margin:0;color:var(--muted)}
.contact-item a{text-decoration:none;border-bottom:1px solid var(--gold)}
.site-footer{border-top:1px solid var(--rule);padding:1.5rem 0 2.5rem;color:var(--muted);font-size:.78rem}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.site-footer p{margin:0}
.site-footer a{text-decoration:none;border-bottom:1px solid var(--gold)}
a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:980px){
  .shell{width:min(100% - 3rem,76rem)}
  .header-inner{align-items:flex-start;flex-direction:column;padding:1rem 0;gap:.8rem}
  .nav{width:100%;padding-bottom:.2rem}
  .home-hero{min-height:auto;padding:5rem 0}
  .door-grid{grid-template-columns:repeat(2,1fr)}
  .page-hero h1{max-width:48rem}
  .copy-grid,.founders,.thinking-grid{grid-template-columns:1fr}
  .thought a{grid-template-rows:auto auto auto auto;padding:1.35rem .25rem 1.2rem}
}
@media(max-width:1100px){.headline-line{white-space:normal}}
@media(max-width:640px){
  body{font-size:1rem}
  .shell{width:calc(100% - 2rem)}
  .brand-tag{display:none}
  .brand-line{width:7rem}
  .brand-logo{width:7rem}
  .nav{gap:1rem}
  .nav-link{font-size:.62rem}
  .home-hero{padding:3.5rem 0 4rem}
  .home-hero h1,.page-hero h1,.contact-copy h1{font-size:clamp(2.25rem,10.5vw,3.25rem)}
  .doorways,.page-main{padding:3.5rem 0 4.5rem}
  .section-intro{grid-template-columns:1fr;gap:0}
  .door-grid{grid-template-columns:1fr}
  .door{min-height:11rem}
  .page-hero{margin-bottom:3.5rem}
  .founder{padding:0}
  .row{grid-template-columns:1fr;gap:.8rem;padding:1.6rem 0}
  .stage{grid-template-columns:2.5rem 1fr;gap:1rem}
  .stage p{grid-column:2}
  .thought{min-height:0}
  .contact-list{grid-template-columns:1fr;gap:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
