:root{
  --bg:#fbfaf8;
  --bg-elevated:#ffffff;
  --surface:#f3f0eb;
  --surface-2:#ece7e0;
  --text:#1f1d1a;
  --muted:#6f675f;
  --border:rgba(31,29,26,.10);
  --border-strong:rgba(31,29,26,.16);
  --accent:#111111;
  --accent-soft:#e7dfd6;
  --shadow:0 1px 2px rgba(18,15,11,.04),0 12px 32px rgba(18,15,11,.06);
  --shadow-soft:0 1px 1px rgba(18,15,11,.03),0 8px 20px rgba(18,15,11,.04);
  --radius-xs:10px;
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-xl:36px;
  --space-1:clamp(.35rem,.25rem + .35vw,.5rem);
  --space-2:clamp(.6rem,.4rem + .6vw,.9rem);
  --space-3:clamp(.9rem,.7rem + .8vw,1.25rem);
  --space-4:clamp(1.25rem,1rem + 1.1vw,1.75rem);
  --space-5:clamp(1.75rem,1.4rem + 1.7vw,2.5rem);
  --space-6:clamp(2.25rem,1.8rem + 2.4vw,3.5rem);
  --space-7:clamp(3rem,2.2rem + 3.6vw,5rem);
  --space-8:clamp(4rem,3rem + 5vw,7rem);
  --container:1200px;
  --container-narrow:960px;
  --font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Iowan Old Style",Iowan,Charter,Georgia,serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --leading-tight:1.02;
  --leading-snug:1.2;
  --leading-body:1.55;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--text);
  background:
    radial-gradient(circle at top left,rgba(255,255,255,.95),transparent 32%),
    radial-gradient(circle at 88% 12%,rgba(231,223,214,.8),transparent 22%),
    linear-gradient(180deg,#fff 0%,var(--bg) 52%,#f7f4ef 100%);
  line-height:var(--leading-body);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
::selection{background:rgba(17,17,17,.12)}
.skip-link{
  position:absolute;left:1rem;top:.75rem;z-index:1000;
  padding:.75rem 1rem;border-radius:999px;background:var(--accent);color:#fff;
  transform:translateY(-160%);transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0)}
.shell{min-height:100svh}
.container{
  width:min(var(--container),calc(100% - clamp(1rem,4vw,2.5rem)));
  margin-inline:auto;
}
.container-narrow{width:min(var(--container-narrow),calc(100% - clamp(1rem,4vw,2.5rem)));margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:30;
  backdrop-filter:saturate(140%) blur(16px);
  background:rgba(251,250,248,.82);
  border-bottom:1px solid rgba(31,29,26,.08);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  min-height:78px;padding-block:.8rem;
}
.brand{
  display:flex;align-items:center;gap:.85rem;min-width:0;
}
.brand-mark{
  width:2.5rem;height:2.5rem;flex:0 0 auto;
  border-radius:14px;background:var(--bg-elevated);border:1px solid var(--border);
  box-shadow:var(--shadow-soft);object-fit:contain;padding:.35rem;
}
.brand-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.brand-name{
  font-family:var(--font-display);font-size:1.05rem;line-height:1;letter-spacing:-.02em;
}
.brand-marker{
  font-family:var(--font-mono);font-size:.72rem;line-height:1.2;letter-spacing:.04em;
  color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(56vw,28rem);
}
.nav{display:flex;align-items:center;gap:var(--space-3)}
.nav-list{display:flex;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
.nav a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.7rem;padding:.55rem .9rem;border-radius:999px;color:var(--muted);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.nav a:hover,.nav a:focus-visible{background:rgba(17,17,17,.05);color:var(--text);outline:none}
.nav-cta{
  border:1px solid var(--border);background:var(--bg-elevated);color:var(--text)!important;
  box-shadow:var(--shadow-soft);
}
.nav-cta:hover,.nav-cta:focus-visible{transform:translateY(-1px);background:#fff}
main{display:block}
.section{
  padding-block:var(--space-8);
}
.hero{
  padding-block:clamp(2rem,4vw,4rem) var(--space-7);
}
.hero-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-6);align-items:stretch;
}
.hero-copy{
  display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);
  padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-xl);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(244,239,231,.85));
  box-shadow:var(--shadow);
}
.kicker{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--font-mono);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);
}
.kicker::before{
  content:"";width:2.25rem;height:1px;background:rgba(31,29,26,.22);display:inline-block;
}
.hero h1,.display{
  margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.055em;line-height:var(--leading-tight);
  font-size:clamp(3rem,7vw,6.25rem);
  max-width:12ch;
}
.hero p{
  margin:0;max-width:36rem;font-size:clamp(1.02rem,.95rem + .4vw,1.2rem);color:var(--muted);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:3rem;padding:.8rem 1.15rem;border-radius:999px;border:1px solid transparent;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.button-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow)}
.button-primary:hover,.button-primary:focus-visible{transform:translateY(-1px);background:#000;color:#fff;outline:none}
.button-secondary{background:transparent;border-color:var(--border);color:var(--text)}
.button-secondary:hover,.button-secondary:focus-visible{background:rgba(17,17,17,.04);outline:none}
.hero-panel{
  display:grid;gap:var(--space-3);align-content:start;
  padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-xl);
  background:var(--bg-elevated);box-shadow:var(--shadow-soft);
}
.panel-figure{
  min-height:clamp(18rem,38vw,30rem);border-radius:calc(var(--radius-xl) - 6px);
  border:1px solid rgba(31,29,26,.08);background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(243,240,235,.82)),
    radial-gradient(circle at 25% 20%,rgba(17,17,17,.08),transparent 30%),
    radial-gradient(circle at 75% 80%,rgba(17,17,17,.06),transparent 28%);
  display:grid;place-items:center;overflow:hidden;
}
.panel-figure img{width:min(68%,18rem);height:auto;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.08))}
.panel-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.meta-tile{
  padding:1rem;border-radius:18px;background:var(--surface);border:1px solid var(--border);
}
.meta-label{display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.meta-value{display:block;font-size:1rem;line-height:1.4;color:var(--text)}
.stack{display:grid;gap:var(--space-4)}
.split{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);align-items:start;
}
.card,
.info-card,
.quote-card,
.detail-card,
.surface-block{
  border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-soft);
}
.card{padding:var(--space-5)}
.card h2,.section-title{
  margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.04em;line-height:1.05;
  font-size:clamp(2rem,3vw,3.2rem);
}
.section-eyebrow{
  font-family:var(--font-mono);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  margin-bottom:.7rem;
}
.section-lede{margin:0;color:var(--muted);font-size:1.05rem;max-width:62ch}
.feature-list,.detail-list,.timeline{list-style:none;padding:0;margin:0;display:grid;gap:.9rem}
.feature-item,.detail-item,.timeline-item{
  display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;
  padding:1rem 1.05rem;border-radius:18px;background:var(--surface);border:1px solid rgba(31,29,26,.08);
}
.feature-index,.detail-index,.timeline-index{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);background:rgba(255,255,255,.7);border:1px solid rgba(31,29,26,.08);
  border-radius:999px;padding:.35rem .55rem;white-space:nowrap;
}
.feature-item h3,.detail-item h3,.timeline-item h3{margin:0;font-size:1.02rem;line-height:1.25}
.feature-item p,.detail-item p,.timeline-item p{margin:.35rem 0 0;color:var(--muted)}
.log-row{display:grid;gap:1rem}
.quote-card{padding:var(--space-5);display:grid;gap:1rem;background:linear-gradient(180deg,#fff,var(--surface))}
.quote-card blockquote{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,2vw,2.15rem);line-height:1.22;letter-spacing:-.03em}
.quote-card cite{font-style:normal;color:var(--muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.cta{
  padding-block:var(--space-7);
}
.cta-card{
  padding:clamp(1.5rem,4vw,3.5rem);border-radius:var(--radius-xl);border:1px solid rgba(17,17,17,.08);
  background:linear-gradient(135deg,#111 0%,#272320 55%,#3a332e 100%);color:#fff;box-shadow:var(--shadow);
}
.cta-card p{margin:0;color:rgba(255,255,255,.78);max-width:60ch}
.cta-card .button-secondary{border-color:rgba(255,255,255,.22);color:#fff}
.cta-card .button-secondary:hover,.cta-card .button-secondary:focus-visible{background:rgba(255,255,255,.08)}
.footer{
  padding:var(--space-5) 0 calc(var(--space-6) + env(safe-area-inset-bottom));
  border-top:1px solid rgba(31,29,26,.08);color:var(--muted);
}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.footer small{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap}
.footer-links a{padding:.2rem 0}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.badge{
  display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;
  padding:.45rem .7rem;border:1px solid var(--border);background:rgba(255,255,255,.8);
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.hr{height:1px;background:rgba(31,29,26,.08);border:0;margin:0}
@media (max-width: 980px){
  .hero-grid,.split,.grid-3,.grid-2{grid-template-columns:1fr}
  .header-inner{flex-wrap:wrap}
  .nav{width:100%}
  .nav-list{width:100%;justify-content:flex-start}
  .hero h1,.display{max-width:14ch}
}
@media (max-width: 640px){
  :root{--shadow:0 1px 1px rgba(18,15,11,.04),0 8px 20px rgba(18,15,11,.05)}
  .header-inner{min-height:auto}
  .brand-marker{max-width:68vw}
  .hero-copy,.hero-panel,.card,.cta-card{padding:var(--space-4)}
  .panel-meta{grid-template-columns:1fr}
  .feature-item,.detail-item,.timeline-item{grid-template-columns:1fr}
  .feature-index,.detail-index,.timeline-index{width:max-content}
  .hero-actions,.footer-inner{align-items:flex-start}
  .button{width:100%}
  .hero h1,.display{font-size:clamp(2.5rem,14vw,4rem)}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}