/*-- scss:rules --*/
:root { --paper:#f4f2ed; --ink:#12171d; --muted:#62686d; --line:rgba(18,23,29,.18); --signal:#c9ff3d; --signal-soft:#e5ff9f; --white:#fbfbf8; }
html { scroll-padding-top:5rem; }
body { background:var(--paper); color:var(--ink); font-family:"Aptos","Segoe UI",Arial,sans-serif; overflow-x:hidden; }
#quarto-content { padding:0; }
main.content { margin:0; padding:0; max-width:none; }
.page-columns { display:block; }

#quarto-header .navbar { min-height:4.5rem; padding:.65rem clamp(1.25rem,4vw,4.5rem); background:rgba(244,242,237,.92); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.navbar-brand { font-size:1.2rem; font-weight:900; letter-spacing:-.06em; }
.navbar-nav .nav-link { color:var(--ink)!important; font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.navbar-nav .nav-link:hover { opacity:.55; }

.landing-page { overflow:hidden; width:100vw; margin-left:calc(50% - 50vw); }
.landing-page>section { grid-column:screen-start / screen-end; }
.hero-section,.content-section,.dark-section,.contact-section { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem); }
.hero-section { min-height:calc(100vh - 4.5rem); display:grid; grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr); align-items:center; gap:clamp(3rem,7vw,8rem); }
.eyebrow,.section-index,.tags,.signal-card,.proof-strip { font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace; text-transform:uppercase; letter-spacing:.08em; }
.eyebrow { display:flex; align-items:center; gap:.8rem; font-size:.72rem; font-weight:700; }
.eyebrow span { width:2.5rem; height:2px; background:var(--ink); }
h1,h2,h3 { letter-spacing:-.055em; line-height:.97; }
.hero-copy h1 { max-width:15ch; margin:1.6rem 0 2rem; font-size:clamp(3.7rem,7vw,6.4rem); font-weight:750; }
h1 em,h2 em { font-weight:400; }
.hero-lead { max-width:48rem; font-size:clamp(1.15rem,1.6vw,1.45rem); line-height:1.55; color:var(--muted); }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.7rem; margin-top:2.4rem; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:2.5rem; min-width:15rem; padding:1rem 1.2rem; border:1px solid var(--ink); font-size:.84rem; font-weight:800; text-decoration:none; text-transform:uppercase; letter-spacing:.035em; transition:transform .2s ease,background .2s ease; }
.button:hover { transform:translateY(-3px); }
.button-primary { background:var(--signal); }
.button-dark { background:var(--ink); color:var(--white)!important; }
.text-link { border-bottom:1px solid var(--ink); padding-bottom:.3rem; color:var(--ink); font-weight:700; text-decoration:none; }

.signal-card { position:relative; background:var(--ink); color:var(--white); min-height:31rem; padding:1.4rem; box-shadow:1.2rem 1.2rem 0 var(--signal); transform:rotate(1.2deg); }
.signal-top { display:flex; justify-content:space-between; font-size:.65rem; padding-bottom:1rem; border-bottom:1px solid rgba(255,255,255,.22); }
.live-dot,.prompt { color:var(--signal); }
.signal-main { display:flex; gap:.9rem; margin:4rem 0; font-size:clamp(1.25rem,2vw,1.55rem); line-height:1.45; letter-spacing:-.035em; text-transform:none; }
.signal-data { margin:0; }
.signal-data div { display:grid; grid-template-columns:3.6rem 1fr; gap:1rem; padding:.8rem 0; border-top:1px solid rgba(255,255,255,.15); }
.signal-data dt { color:#969da3; font-size:.62rem; }
.signal-data dd { margin:0; font-size:.63rem; }
.signal-status { position:absolute; bottom:1.5rem; left:1.4rem; display:flex; align-items:center; gap:.65rem; margin:0; font-size:.62rem; color:var(--signal); }
.signal-status span { width:.55rem; height:.55rem; border-radius:50%; background:var(--signal); box-shadow:0 0 0 .35rem rgba(201,255,61,.12); }

.proof-strip { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.proof-strip div { padding:1.5rem clamp(1rem,2.5vw,3rem); border-right:1px solid var(--line); }
.proof-strip div:last-child { border:0; }
.proof-strip strong,.proof-strip span { display:block; }
.proof-strip strong { margin-bottom:.4rem; font-size:.85rem; }
.proof-strip span { color:var(--muted); font-size:.62rem; line-height:1.5; }

.section-intro { display:grid; grid-template-columns:minmax(8rem,.35fr) minmax(20rem,1.25fr) minmax(16rem,.55fr); align-items:end; gap:2rem; margin-bottom:clamp(3rem,6vw,6rem); }
.section-index { align-self:start; margin:.25rem 0 0; font-size:.68rem; font-weight:700; }
.section-intro h2 { margin:0; font-size:clamp(3rem,5.5vw,6rem); font-weight:750; }
.section-intro>p:last-child { margin:0; color:var(--muted); font-size:1.05rem; line-height:1.6; }

.expertise-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--ink); }
.expertise-card { min-height:24rem; display:flex; flex-direction:column; padding:1.6rem; border-right:1px solid var(--ink); }
.expertise-card:last-child { border:0; }
.expertise-card.featured { background:var(--signal-soft); }
.card-number { font-family:monospace; font-size:.7rem; }
.expertise-card h3 { margin:auto 0 1.2rem; max-width:12ch; font-size:clamp(1.9rem,2.6vw,3rem); }
.expertise-card p { color:var(--muted); line-height:1.55; }
.expertise-card .tags { margin:1.7rem 0 0; color:var(--ink); font-size:.58rem; }

.dark-section { background:var(--ink); color:var(--white); }
.section-intro.light { grid-template-columns:minmax(8rem,.35fr) 1.8fr; }
.experience-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,8vw,9rem); }
.experience-copy p { color:#b8bdc1; line-height:1.65; }
.experience-copy .experience-lead { color:var(--white); font-size:1.35rem; }
.experience-copy a { color:var(--white); }
.light-link { display:inline-block; margin-top:1.5rem; border-color:var(--white); }
.work-list { border-top:1px solid rgba(255,255,255,.28); }
.work-item { display:grid; grid-template-columns:3rem 1fr; gap:1.4rem; padding:1.4rem 0; border-bottom:1px solid rgba(255,255,255,.28); }
.work-item>span { color:var(--signal); font-family:monospace; font-size:.7rem; }
.work-item strong,.work-item small { display:block; }
.work-item strong { margin-bottom:.4rem; font-size:1.25rem; }
.work-item small { color:#9da3a8; font-size:.86rem; line-height:1.5; }

.collaboration-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(2rem,5vw,6rem); }
.collaboration-grid>div { border-top:3px solid var(--ink); padding-top:1.25rem; }
.collaboration-grid span { font-family:monospace; font-size:.68rem; }
.collaboration-grid h3 { margin:3.5rem 0 1rem; font-size:2rem; }
.collaboration-grid p { color:var(--muted); line-height:1.6; }

.contact-section { background:var(--signal); }
.contact-inner { display:grid; grid-template-columns:1.5fr .65fr; gap:clamp(3rem,8vw,9rem); align-items:end; margin-top:3rem; }
.contact-inner h2 { margin:0; font-size:clamp(3.4rem,7vw,7.6rem); }
.contact-inner p { line-height:1.6; }
.contact-inner .button { margin-top:1.5rem; width:100%; }
.nav-footer { background:var(--ink)!important; color:#aeb3b7; border:0!important; padding:2rem clamp(1.25rem,7vw,8rem)!important; font-size:.75rem; }
.nav-footer a { color:var(--white); }

@media (max-width: 1100px) {
  .hero-section {
    grid-template-columns: 1fr !important;
  }

  .signal-card {
    width: min(100%, 36rem);
    margin-top:2rem;
  }
}
@media (max-width:1000px) {
  .hero-section { grid-template-columns:1fr; }
  .signal-card { max-width:36rem; } 
  .section-intro { grid-template-columns:1fr; }
  .section-intro.light { grid-template-columns:1fr; }
  .section-intro>p:last-child { max-width:38rem; }
  .experience-layout,.contact-inner { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .hero-section,.content-section,.dark-section,.contact-section { padding-left:1.2rem; padding-right:1.2rem; }
  .hero-section { padding-top:4rem; }
  .hero-copy h1 { font-size:clamp(3.15rem,15vw,5rem); }
  .signal-card { min-height:29rem; margin-right:1rem; margin-top:2rem; }
  .proof-strip,.expertise-grid,.collaboration-grid { grid-template-columns:1fr; }
  .proof-strip div { border-right:0; border-bottom:1px solid var(--line); }
  .expertise-card { min-height:20rem; border-right:0; border-bottom:1px solid var(--ink); }
  .contact-inner h2 { font-size:clamp(3.2rem,16vw,5rem); }
  .contact-inner>div,.contact-inner .button { min-width:0; }
  .contact-inner>div,.contact-inner .button { width:100%; max-width:100%; box-sizing:border-box; }
  .nav-footer-center { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  *,*::before,*::after { transition:none!important; }
}

/* Legal pages */
.legal-page {
  grid-column:screen-start / screen-end;
  width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
  background:var(--paper);
}
.legal-hero {
  padding:clamp(5rem,8vw,8rem) clamp(1.25rem,7vw,8rem) clamp(3.5rem,6vw,6rem);
}
.legal-hero h1 {
  max-width:12ch;
  margin:1.5rem 0 1.75rem;
  font-size:clamp(4rem,9vw,9rem);
  font-weight:750;
  letter-spacing:-.065em;
  line-height:.9;
}
.legal-lead {
  max-width:44rem;
  margin:0;
  color:var(--muted);
  font-size:clamp(1.1rem,1.6vw,1.4rem);
  line-height:1.55;
}
.legal-meta-strip {
  display:grid;
  grid-template-columns:minmax(12rem,.9fr) minmax(22rem,1.5fr) minmax(11rem,.8fr);
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.075em;
}
.legal-meta-strip span {
  display:flex;
  align-items:center;
  min-width:0;
  padding:0.65rem clamp(1rem,3vw,3rem);
  border-right:1px solid var(--ink);
  line-height:1.35;
  white-space:nowrap;
}
.legal-meta-strip span:last-child { border-right:0; }
.legal-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
  padding:clamp(3rem,7vw,7rem) clamp(1.25rem,7vw,8rem);
}
.legal-card {
  position:relative;
  min-width:0;
  padding:clamp(1.5rem,3vw,2.5rem);
  border:1px solid var(--ink);
  background:var(--paper);
}
.legal-card-wide { grid-column:1 / -1; }
.legal-card-dark { background:var(--ink); color:var(--white); }
.legal-card-dark a { color:var(--white); }
.legal-number {
  display:block;
  margin-bottom:clamp(3rem,6vw,6rem);
  font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace;
  color:var(--muted);
  font-size:.68rem;
  letter-spacing:.08em;
}
.legal-card-dark .legal-number { color:var(--signal); }
.legal-card h2 {
  max-width:18ch;
  margin:0 0 1.5rem;
  font-size:clamp(1.8rem,3vw,3rem);
  letter-spacing:-.045em;
}
.legal-card p,.legal-card li { line-height:1.7; }
.legal-card p:last-child { margin-bottom:0; }
.legal-card a { font-weight:650; text-underline-offset:.2em; }
.legal-note {
  display:grid;
  grid-template-columns:minmax(10rem,.35fr) 1fr;
  gap:2rem;
  padding:2rem clamp(1.25rem,7vw,8rem);
  border-top:1px solid var(--ink);
  background:var(--signal);
}
.legal-note p { max-width:52rem; margin:0; line-height:1.6; }

@media (max-width:1050px) {
  .legal-meta-strip { grid-template-columns:1fr; }
  .legal-meta-strip span { border-right:0; border-bottom:1px solid var(--ink); white-space:normal; }
  .legal-meta-strip span:last-child { border-bottom:0; }
}

@media (max-width:760px) {
  .legal-grid,.legal-note { grid-template-columns:1fr; }
  .legal-card-wide { grid-column:auto; }
  .legal-number { margin-bottom:3rem; }
}
