/* ==========================================================================
   AK LEADS — shared stylesheet
   One file. No build step. Linked by all five pages as /style.css
   --------------------------------------------------------------------------
   Type:    Archivo (variable, wdth 62–125 / wght 100–900) via Google Fonts.
   Palette: near-black ground, bone text, one accent (vermilion).
            Blue appears exactly once on the whole site: the About page pill.
   ========================================================================== */

:root{
  --bg:            #0b0c0e;
  --surface:       #121417;
  --fg:            #efece6;
  --fg-soft:       #d5d1ca;
  --muted:         #9b9da3;
  --line:          rgba(255,255,255,.10);
  --line-strong:   rgba(255,255,255,.22);
  --accent:        #ff3b2f;
  --blue:          #6c9bff;

  --measure:       66ch;
  --pad:           clamp(20px, 5vw, 64px);
  --max:           1440px;

  --font: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, sans-serif;
}

/* --------------------------------------------------------------- base ---- */

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--font);
  font-size:clamp(16px, .55vw + 14.4px, 18px);
  line-height:1.62;
  font-weight:400;
  font-variation-settings:"wdth" 100,"wght" 400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,p,ul,ol,dl,dd{ margin:0; }

a{ color:inherit; }

::selection{ background:var(--accent); color:#0b0c0e; }

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:4px;
}

.skip{
  position:absolute; left:-9999px; top:0;
  background:var(--accent); color:#0b0c0e;
  padding:12px 18px; text-decoration:none;
  font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
  z-index:50;
}
.skip:focus{ left:12px; top:12px; }

.shell{ max-width:var(--max); margin:0 auto; padding-inline:var(--pad); }

/* ------------------------------------------------------------- header ---- */

.site-header{ border-bottom:1px solid var(--line); }

.site-header .bar{
  max-width:var(--max); margin:0 auto;
  padding:16px var(--pad);
  display:flex; align-items:center; justify-content:space-between;
  gap:16px 28px; flex-wrap:wrap;
}

.wordmark{
  display:inline-flex; align-items:center; gap:.6ch;
  text-decoration:none; color:var(--fg);
  font-size:17px; line-height:1;
  font-weight:800; font-variation-settings:"wdth" 112,"wght" 800;
  text-transform:uppercase; letter-spacing:.09em;
  white-space:nowrap;
}
.wordmark .mark{
  width:.5em; height:.5em; background:var(--accent);
  display:inline-block; flex:0 0 auto;
}

.nav{ display:flex; align-items:center; gap:clamp(14px,2.4vw,32px); flex-wrap:wrap; }
.nav a{
  color:var(--muted); text-decoration:none;
  font-size:13px; line-height:1;
  font-weight:600; font-variation-settings:"wdth" 100,"wght" 600;
  text-transform:uppercase; letter-spacing:.1em;
  padding:8px 0 6px;
  border-bottom:1px solid transparent;
  white-space:nowrap;
}
.nav a:hover{ color:var(--fg); border-bottom-color:var(--line-strong); }
.nav a[aria-current="page"]{ color:var(--fg); border-bottom-color:var(--accent); }

/* ------------------------------------------------------------- footer ---- */

.site-footer{
  border-top:1px solid var(--line);
  margin-top:clamp(56px,7vw,104px);
  padding:clamp(48px,7vw,88px) 0 clamp(40px,5vw,64px);
}
.footer-inner{
  max-width:var(--max); margin:0 auto; padding-inline:var(--pad);
  display:grid; gap:clamp(32px,5vw,56px);
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
}
.footer-mark{
  font-size:clamp(40px,9.5vw,124px); line-height:.95;
  font-weight:800; font-variation-settings:"wdth" 125,"wght" 800;
  text-transform:uppercase; letter-spacing:.06em;
  color:var(--fg);
}
.footer-email{ margin-top:clamp(16px,2vw,26px); }
.footer-email a{
  font-size:clamp(17px,1.4vw,21px);
  text-decoration:none;
  border-bottom:1px solid var(--line-strong);
  padding-bottom:3px;
}
.footer-email a:hover{ border-bottom-color:var(--accent); }
.nav--footer{ gap:10px 24px; justify-content:flex-end; }

/* --------------------------------------------------------------- home ---- */

.hero{
  position:relative; overflow:hidden;
  border-bottom:1px solid var(--line);
  padding:clamp(72px,13vh,150px) 0 clamp(40px,5.5vw,76px);
}
.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(to right,
    var(--line) 0 1px, transparent 1px 25%);
  opacity:.55;
}
.hero-inner{ position:relative; z-index:1; max-width:var(--max); margin:0 auto; padding-inline:var(--pad); }

.hero h1{
  font-size:clamp(46px,11.2vw,184px);
  line-height:1.0;
  font-weight:800; font-variation-settings:"wdth" 116,"wght" 800;
  letter-spacing:-.03em;
  max-width:15ch;
  text-wrap:balance;
}
.hero h1 em{ font-style:normal; color:var(--accent); }

.hero-rule{
  height:1px; background:var(--line-strong);
  margin-top:clamp(36px,6vw,80px);
  transform-origin:left center;
}

.blocks{ max-width:var(--max); margin:0 auto; padding-inline:var(--pad); }

.block{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(20px,4.5vw,80px);
  align-items:end;
  padding:clamp(44px,7vw,104px) 0;
  border-bottom:1px solid var(--line);
}
.block:last-of-type{ border-bottom:0; padding-bottom:clamp(24px,3vw,44px); }

.block-num{
  font-size:12px; line-height:1;
  color:var(--muted);
  font-weight:600; font-variation-settings:"wdth" 100,"wght" 600;
  text-transform:uppercase; letter-spacing:.16em;
}
.block h2{
  margin-top:clamp(14px,1.6vw,22px);
  font-size:clamp(30px,4.6vw,66px);
  line-height:1.02;
  font-weight:800; font-variation-settings:"wdth" 114,"wght" 800;
  text-transform:uppercase; letter-spacing:.06em;
  overflow-wrap:break-word;
}
.block p{
  font-size:clamp(17px,.9vw + 14px,22px);
  line-height:1.5;
  max-width:var(--measure);
  color:var(--fg-soft);
  padding-bottom:.35em;
}
.block:hover .block-num{ color:var(--accent); }
.block:hover h2{ font-variation-settings:"wdth" 122,"wght" 900; }

/* -------------------------------------------------------------- about ---- */

.about-lede{
  padding:clamp(56px,9vw,128px) 0 clamp(32px,4vw,56px);
}
.about-lede h1{
  font-size:clamp(32px,5.4vw,76px);
  line-height:1.08;
  font-weight:700; font-variation-settings:"wdth" 106,"wght" 700;
  letter-spacing:-.025em;
  max-width:22ch;
  text-wrap:balance;
}

.pills{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(16px,2.2vw,28px);
}
.pill{
  position:relative;
  padding:clamp(28px,3.6vw,56px) clamp(24px,3.2vw,48px) clamp(36px,4.4vw,64px);
  border:1px solid var(--line);
  background:var(--surface);
}
.pill::before{
  content:""; position:absolute;
  top:-1px; left:-1px; right:-1px; height:3px;
}
.pill--blue{ border-color:rgba(108,155,255,.30); background:rgba(108,155,255,.055); }
.pill--blue::before{ background:var(--blue); }
.pill--red{ border-color:rgba(255,59,47,.32); background:rgba(255,59,47,.055); }
.pill--red::before{ background:var(--accent); }

.pill p{
  font-size:clamp(19px,1.35vw + 12px,30px);
  line-height:1.34;
  letter-spacing:-.01em;
  max-width:26ch;
}
.pill-word{
  font-weight:800; font-variation-settings:"wdth" 122,"wght" 800;
  text-transform:uppercase; letter-spacing:.06em;
}
.pill--blue .pill-word{ color:var(--blue); }
.pill--red  .pill-word{ color:var(--accent); }

.about-note{
  margin-top:clamp(56px,8vw,112px);
  padding-top:clamp(28px,3.5vw,44px);
  border-top:1px solid var(--line);
}
.about-note p{ max-width:var(--measure); color:var(--muted); }
.about-note a{ color:var(--fg); text-decoration:none; border-bottom:1px solid var(--line-strong); }
.about-note a:hover{ border-bottom-color:var(--accent); }

/* ------------------------------------------------------------ contact ---- */

.contact{ padding:clamp(56px,9vw,128px) 0 0; }
.contact h1{
  font-size:12px; line-height:1;
  color:var(--muted);
  font-weight:600; font-variation-settings:"wdth" 100,"wght" 600;
  text-transform:uppercase; letter-spacing:.16em;
}
.statement{
  margin-top:clamp(24px,3.4vw,48px);
  font-size:clamp(36px,7.4vw,116px);
  line-height:1.02;
  font-weight:800; font-variation-settings:"wdth" 116,"wght" 800;
  letter-spacing:-.03em;
  max-width:14ch;
  text-wrap:balance;
}
.contact-lines{
  margin-top:clamp(48px,7vw,104px);
  border-top:1px solid var(--line);
}
.contact-line{
  padding:clamp(26px,3.6vw,52px) 0;
  border-bottom:1px solid var(--line);
}
.contact-label{
  display:block; margin-bottom:14px;
  font-size:12px; line-height:1; color:var(--muted);
  font-weight:600; font-variation-settings:"wdth" 100,"wght" 600;
  text-transform:uppercase; letter-spacing:.16em;
}
.email-xl{
  display:inline-block;
  font-size:clamp(26px,5.6vw,80px);
  line-height:1.05;
  font-weight:700; font-variation-settings:"wdth" 108,"wght" 700;
  letter-spacing:-.025em;
  text-decoration:none;
  border-bottom:2px solid var(--line-strong);
  padding-bottom:.06em;
  word-break:break-word;
}
.email-xl:hover{ color:var(--accent); border-bottom-color:var(--accent); }
.email-md{
  display:inline-block;
  font-size:clamp(18px,1.6vw,26px);
  font-weight:600; font-variation-settings:"wdth" 104,"wght" 600;
  text-decoration:none;
  border-bottom:1px solid var(--line-strong);
  padding-bottom:.08em;
  word-break:break-word;
}
.email-md:hover{ border-bottom-color:var(--accent); }

/* --------------------------------------------- document pages (API) ------ */
/* Deliberately quiet: no accent, no motion, no hero. Reads as a document.   */

.doc{
  max-width:780px;
  margin:0 auto;
  padding:clamp(48px,7vw,96px) var(--pad) 0;
}
.doc h1{
  font-size:clamp(30px,3.6vw,50px);
  line-height:1.1;
  font-weight:700; font-variation-settings:"wdth" 104,"wght" 700;
  letter-spacing:-.02em;
}
.doc-head{
  padding-bottom:clamp(28px,3.4vw,44px);
  border-bottom:1px solid var(--line);
}
.doc h2{
  margin-top:clamp(48px,6vw,80px);
  padding-top:clamp(28px,3.2vw,40px);
  border-top:1px solid var(--line);
  font-size:clamp(19px,1.3vw + 14px,25px);
  line-height:1.25;
  font-weight:700; font-variation-settings:"wdth" 102,"wght" 700;
  letter-spacing:-.005em;
}
.doc p{
  margin-top:1.15em;
  max-width:68ch;
  color:var(--fg-soft);
}
.doc h2 + p{ margin-top:1.35em; }
.doc a{ color:var(--fg); text-decoration:none; border-bottom:1px solid var(--line-strong); }
.doc a:hover{ border-bottom-color:var(--fg); }

.scope{ margin-top:clamp(24px,3vw,36px); }
.scope-row{
  display:grid;
  grid-template-columns:15rem minmax(0,1fr);
  gap:6px clamp(16px,3vw,40px);
  padding:20px 0;
  border-top:1px solid var(--line);
}
.scope-row:last-child{ border-bottom:1px solid var(--line); }
.scope dt{
  font-weight:700; font-variation-settings:"wdth" 100,"wght" 700;
  color:var(--fg);
}
.scope dd{ margin:0; color:var(--muted); }

/* a scope list already ends in a rule — don't stack a second one on the next h2 */
.scope + h2{ border-top:0; padding-top:0; margin-top:clamp(40px,5vw,64px); }

/* ------------------------------------------------------- legal / long ---- */

.legal{
  max-width:74ch;
  margin:0 auto;
  padding:clamp(40px,5vw,64px) var(--pad) 0;
  color:var(--fg-soft);
}
.legal h2{
  margin-top:clamp(44px,5vw,72px);
  padding-top:clamp(24px,3vw,36px);
  border-top:1px solid var(--line);
  font-size:clamp(19px,1.2vw + 14px,24px);
  line-height:1.3;
  font-weight:700; font-variation-settings:"wdth" 102,"wght" 700;
  color:var(--fg);
}
.legal h3{
  margin-top:2.2em;
  font-size:clamp(16px,1vw + 13px,18px);
  line-height:1.4;
  font-weight:700; font-variation-settings:"wdth" 100,"wght" 700;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--fg);
}
.legal p{ margin-top:1.15em; }
.legal ul,.legal ol{ margin-top:1.1em; padding-left:1.3em; }
.legal li{ margin-top:.55em; }
.legal li::marker{ color:var(--muted); }
.legal a{ color:var(--fg); text-decoration:none; border-bottom:1px solid var(--line-strong); word-break:break-word; }
.legal a:hover{ border-bottom-color:var(--fg); }
.legal strong,.legal b{ color:var(--fg); font-weight:700; }
.legal hr{ border:0; border-top:1px solid var(--line); margin:2.5em 0; }
.legal table{ width:100%; border-collapse:collapse; margin-top:1.6em; font-size:.94em; }
.legal th,.legal td{ text-align:left; padding:12px 14px; border:1px solid var(--line); vertical-align:top; }
.legal th{ color:var(--fg); font-weight:700; }
.legal blockquote{ margin:1.6em 0; padding-left:1.2em; border-left:1px solid var(--line-strong); color:var(--muted); }

.page-head{
  max-width:74ch; margin:0 auto;
  padding:clamp(48px,7vw,96px) var(--pad) 0;
}
.page-head h1{
  font-size:clamp(30px,3.6vw,50px);
  line-height:1.1;
  font-weight:700; font-variation-settings:"wdth" 104,"wght" 700;
  letter-spacing:-.02em;
}

/* ---------------------------------------- document extras (policies) ---- */

.doc-sub{
  margin-top:14px;
  font-size:clamp(15px,.5vw + 13px,17px);
  color:var(--muted);
}
.doc-dates{
  margin-top:12px;
  font-size:12px; line-height:1.5; color:var(--muted);
  font-weight:600; font-variation-settings:"wdth" 100,"wght" 600;
  text-transform:uppercase; letter-spacing:.14em;
}
.doc h3{
  margin-top:2.1em;
  font-size:clamp(15px,.5vw + 13px,17px);
  line-height:1.4;
  font-weight:700; font-variation-settings:"wdth" 100,"wght" 700;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--fg);
}
.doc ul,.doc ol{
  margin-top:1.15em; padding-left:1.3em;
  max-width:68ch; color:var(--fg-soft);
}
.doc li{ margin-top:.6em; }
.doc li::marker{ color:var(--muted); }
.doc strong,.doc b{ color:var(--fg); font-weight:700; }
.doc code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.88em; color:var(--fg);
  background:var(--surface); border:1px solid var(--line);
  padding:2px 7px; white-space:nowrap;
}
.doc .caps{ letter-spacing:.06em; font-size:.95em; }

.doc-table-wrap{ margin-top:1.7em; overflow-x:auto; }
.doc table{ width:100%; border-collapse:collapse; font-size:.95em; min-width:min(100%,460px); }
.doc th,.doc td{
  text-align:left; padding:13px 15px;
  border:1px solid var(--line); vertical-align:top;
  color:var(--fg-soft);
}
.doc th{
  color:var(--fg); font-size:12px;
  font-weight:700; font-variation-settings:"wdth" 100,"wght" 700;
  text-transform:uppercase; letter-spacing:.1em;
}

.policy-switch{
  display:flex; flex-wrap:wrap; gap:8px 26px;
  margin-top:clamp(44px,6vw,72px);
  padding-top:clamp(24px,3vw,34px);
  border-top:1px solid var(--line);
}
.policy-switch a{
  color:var(--muted); text-decoration:none;
  font-size:12px; line-height:1;
  font-weight:600; font-variation-settings:"wdth" 100,"wght" 600;
  text-transform:uppercase; letter-spacing:.12em;
  padding:6px 0 5px; border-bottom:1px solid transparent;
}
.policy-switch a:hover{ color:var(--fg); border-bottom-color:var(--line-strong); }
.policy-switch a[aria-current="page"]{ color:var(--fg); border-bottom-color:var(--accent); }

.legal code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.88em; color:var(--fg);
  background:var(--surface); border:1px solid var(--line);
  padding:2px 7px; white-space:nowrap;
}
.legal .doc-dates{ margin-top:0; }
.legal .policy-switch{ margin-top:clamp(36px,4.5vw,56px); }

/* ------------------------------------------------------------- motion ---- */

@media (prefers-reduced-motion: no-preference){
  .rise{ animation:rise .7s cubic-bezier(.2,.7,.2,1) both; }
  .rise-2{ animation-delay:.10s; }
  .rise-3{ animation-delay:.18s; }
  @keyframes rise{
    from{ opacity:0; transform:translateY(20px); }
    to  { opacity:1; transform:none; }
  }
  .hero-rule{ animation:draw .9s .22s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes draw{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

  .block h2{ transition:font-variation-settings .45s cubic-bezier(.2,.7,.2,1); }
  .block-num{ transition:color .3s ease; }
  .nav a,.email-xl,.email-md,.footer-email a{ transition:color .2s ease, border-color .2s ease; }
}

/* --------------------------------------------------------- responsive ---- */

@media (max-width: 900px){
  .block{ grid-template-columns:1fr; gap:clamp(16px,3vw,28px); }
  .block p{ align-self:start; }
  .scope-row{ grid-template-columns:1fr; }
  .footer-inner{ grid-template-columns:1fr; align-items:start; }
  .nav--footer{ justify-content:flex-start; }
}

@media (max-width: 720px){
  .pills{ grid-template-columns:1fr; }
  .site-header .bar{ align-items:flex-start; }
  .hero::before{
    background:repeating-linear-gradient(to right,
      var(--line) 0 1px, transparent 1px 50%);
  }
}

@media (max-width: 420px){
  .nav{ gap:12px 18px; }
  .nav a{ font-size:12px; letter-spacing:.09em; }
}

@media print{
  body{ background:#fff; color:#111; }
  .site-header,.site-footer,.hero::before{ display:none; }
  a{ color:#111; }
}
