/* skibdrip Journal — editorial stylesheet (static pages, zero JS)
   Mirrors the landing design system: paper/ink/oxblood, Instrument Serif + Hanken Grotesk. */

:root{
  --paper:#F2EEE6; --paper-2:#E9E2D6; --paper-3:#E3DBCC;
  --ink:#161513; --ink-2:#2A2723; --ink-soft:#6E665D; --ink-faint:#9A9388;
  --oxblood:#8E1B2E; --oxblood-2:#6E2A30;
  --clay-lt:#C9926F; --clay:#7A4234; --brown:#5C2A2C;
  --line:rgba(110,102,93,.18); --maxw:1180px; --measure:70ch;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Hanken Grotesk", system-ui, -apple-system, sans-serif;
  font-size:17.5px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ font-family:"Instrument Serif", Georgia, serif; font-weight:400; letter-spacing:-.01em; line-height:1.05; margin:0; }
a{ color:inherit; }
img{ max-width:100%; display:block; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.dot{ color:var(--oxblood); }
.rule{ height:1px; background:var(--line); border:0; margin:0; }
.eyebrow{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-soft);
  display:inline-flex; align-items:center; gap:10px; }
.eyebrow::before{ content:""; width:22px; height:1px; background:var(--oxblood); }

/* ── Nav ─────────────────────────────────────────── */
.nav{ position:sticky; top:0; z-index:50; background:rgba(242,238,230,.88); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.nav-in{ max-width:var(--maxw); margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand{ font-weight:700; font-size:17px; letter-spacing:.32em; text-indent:.32em; text-decoration:none; display:inline-flex; align-items:center; gap:10px; color:var(--ink); }
.brand img{ height:19px; width:auto; }
.brand sup{ font-size:9px; letter-spacing:0; opacity:.6; }
.nav-links{ display:flex; gap:26px; align-items:center; font-size:14px; color:var(--ink-2); }
.nav-links a{ text-decoration:none; transition:color .2s; }
.nav-links a:hover{ color:var(--oxblood); }
.nav-links a[aria-current="true"]{ color:var(--oxblood); }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:600; font-size:14px; letter-spacing:.01em;
  padding:11px 20px; border-radius:12px; text-decoration:none; transition:transform .22s cubic-bezier(.2,.7,.2,1), background .22s; }
.btn-ink{ background:var(--ink); color:var(--paper); }
.btn-ink:hover{ background:#000; transform:translateY(-2px); }
.btn-paper{ background:var(--paper); color:var(--ink); }
.btn-paper:hover{ background:#fff; transform:translateY(-2px); }
@media(max-width:860px){ .nav-links{ display:none; } }

/* ── Article header ──────────────────────────────── */
.post-head{ padding:56px 0 8px; }
.crumbs{ font-size:12.5px; color:var(--ink-soft); letter-spacing:.04em; }
.crumbs a{ color:var(--ink-soft); text-decoration:none; }
.crumbs a:hover{ color:var(--oxblood); }
.crumbs span{ color:var(--ink-faint); padding:0 7px; }
.post-head .eyebrow{ margin-top:26px; }
.post-head h1{ font-size:clamp(38px, 6vw, 64px); max-width:20ch; margin:16px 0 0; }
.post-meta{ margin-top:18px; font-size:13px; color:var(--ink-soft); display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.post-meta .sep{ color:var(--ink-faint); }

/* ── The answer (AEO box) ────────────────────────── */
.the-answer{ margin:34px 0 0; padding:26px 28px; border:1px solid var(--line); border-left:3px solid var(--oxblood);
  border-radius:0 14px 14px 0; background:var(--paper-2); max-width:var(--measure); }
.the-answer .tag{ font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--oxblood); font-weight:600; }
.the-answer p{ margin:10px 0 0; font-size:18.5px; line-height:1.6; color:var(--ink-2);
  font-family:"Instrument Serif", Georgia, serif; }

/* ── Hero media frame (branded, photo optional) ──── */
.media{ position:relative; overflow:hidden; border-radius:18px; isolation:isolate; margin:40px 0 0;
  aspect-ratio:16/8; display:flex; align-items:center; justify-content:center; color:var(--paper);
  background:
    radial-gradient(85% 65% at 76% 14%, rgba(201,146,111,.45) 0%, rgba(201,146,111,0) 55%),
    radial-gradient(120% 110% at 26% 4%, var(--clay) 0%, var(--brown) 46%, #271615 82%, #190F0E 100%);
  box-shadow:0 40px 80px -40px rgba(20,15,14,.5); }
.media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; z-index:1; }
.media .spec{ text-align:center; padding:26px; z-index:0; }
.media .spec .kind{ font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--clay-lt); }
.media .spec .desc{ font-family:"Instrument Serif", serif; font-size:24px; margin-top:8px; }
.media figcaption{ position:absolute; right:14px; bottom:12px; z-index:2; font-size:10.5px; letter-spacing:.06em;
  color:rgba(242,238,230,.75); background:rgba(22,21,19,.35); padding:4px 10px; border-radius:20px; backdrop-filter:blur(3px); }
@media(max-width:700px){ .media{ aspect-ratio:4/3; } }

/* ── Article body ────────────────────────────────── */
.post-body{ padding:26px 0 60px; }
.post-body .inner{ max-width:var(--measure); }
.post-body h2{ font-size:clamp(26px, 3.4vw, 34px); margin:44px 0 14px; max-width:24ch; }
.post-body p{ margin:0 0 18px; color:var(--ink-2); }
.post-body strong{ color:var(--ink); }
.post-body a{ color:var(--oxblood); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.post-body a:hover{ color:var(--oxblood-2); }
.post-body ul{ margin:0 0 18px; padding-left:0; list-style:none; }
.post-body li{ position:relative; padding-left:24px; margin-bottom:9px; color:var(--ink-2); }
.post-body li::before{ content:""; position:absolute; left:2px; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--oxblood); }

/* ── FAQ ─────────────────────────────────────────── */
.faq-band{ background:var(--paper-2); padding:56px 0 64px; }
.faq-band h2{ font-size:clamp(28px, 3.6vw, 38px); margin:12px 0 0; }
.faq{ margin-top:28px; border-top:1px solid var(--line); max-width:var(--measure); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ cursor:pointer; list-style:none; padding:20px 0; display:flex; justify-content:space-between; align-items:center; gap:20px;
  font-family:"Instrument Serif", serif; font-size:21px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary .pm{ color:var(--oxblood); font-size:24px; line-height:1; transition:transform .25s; flex:none; }
.faq details[open] summary .pm{ transform:rotate(45deg); }
.faq details p{ margin:0 0 22px; color:var(--ink-soft); font-size:16px; max-width:62ch; }

/* ── Related ─────────────────────────────────────── */
.related{ padding:56px 0 8px; }
.rel-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px; }
.rel-card{ border:1px solid var(--line); border-radius:14px; padding:22px 22px 20px; text-decoration:none; color:var(--ink);
  background:var(--paper); transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s; display:block; }
.rel-card:hover{ transform:translateY(-3px); box-shadow:0 22px 44px -28px rgba(20,15,14,.4); }
.rel-card .k{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); }
.rel-card .t{ font-family:"Instrument Serif", serif; font-size:21px; line-height:1.15; margin-top:9px; }
.rel-card .m{ margin-top:10px; font-size:13px; color:var(--oxblood); }
@media(max-width:760px){ .rel-grid{ grid-template-columns:1fr; } }

/* ── CTA (download / invite) ─────────────────────── */
.cta{ position:relative; overflow:hidden; color:var(--paper); isolation:isolate; margin-top:64px; }
.cta-bg{ position:absolute; inset:0; z-index:-1;
  background:radial-gradient(90% 120% at 80% 0%, var(--clay) 0%, var(--oxblood-2) 38%, #2A1614 78%, #1A0F0E 100%); }
.cta .wrap{ padding:72px 24px 76px; text-align:center; }
.cta .mirror-line{ font-family:"Instrument Serif", serif; font-style:italic; font-size:20px; color:var(--clay-lt); max-width:52ch; margin:0 auto; }
.cta h2{ font-size:clamp(34px, 5vw, 52px); margin:14px 0 12px; }
.cta h2 .dot{ color:#E7A07F; }
.cta > .wrap > p{ color:rgba(242,238,230,.85); font-size:17px; max-width:44ch; margin:0 auto 28px; }
.badges{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.badge-btn{ display:inline-flex; align-items:center; gap:11px; text-decoration:none; color:var(--paper);
  border:1px solid rgba(242,238,230,.35); background:rgba(242,238,230,.07); border-radius:14px; padding:11px 20px 11px 15px;
  transition:transform .22s, background .22s, border-color .22s; }
.badge-btn:hover{ transform:translateY(-2px); background:rgba(242,238,230,.14); border-color:rgba(242,238,230,.6); }
.badge-btn svg{ width:24px; height:24px; flex:none; }
.badge-btn .bt{ text-align:left; line-height:1.15; }
.badge-btn .bt small{ display:block; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(242,238,230,.65); }
.badge-btn .bt b{ font-size:15.5px; font-weight:600; }
.cta .fine{ margin-top:22px; font-size:12.5px; color:rgba(242,238,230,.6); }
.cta .fine a{ color:rgba(242,238,230,.85); }

/* ── Footer ──────────────────────────────────────── */
footer{ background:var(--ink); color:var(--paper); padding:54px 0 30px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; }
.foot-brand{ font-weight:700; font-size:17px; letter-spacing:.32em; }
.foot-brand + p{ color:rgba(242,238,230,.6); font-family:"Instrument Serif", serif; font-style:italic; font-size:17px; margin:12px 0 0; }
.foot-col h4{ font-weight:600; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:rgba(242,238,230,.55); margin:0 0 14px; }
.foot-col a{ display:block; padding:5px 0; font-size:14px; color:rgba(242,238,230,.85); text-decoration:none; transition:color .2s; }
.foot-col a:hover{ color:#E7A07F; }
.foot-bottom{ margin-top:42px; padding-top:22px; border-top:1px solid rgba(242,238,230,.14); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:rgba(242,238,230,.55); }
@media(max-width:760px){ .foot-grid{ grid-template-columns:1fr 1fr; } }

/* ── Journal hub ─────────────────────────────────── */
.hub-hero{ padding:64px 0 30px; }
.hub-hero h1{ font-size:clamp(42px, 7vw, 76px); max-width:16ch; margin:16px 0 0; }
.hub-hero .lede{ font-size:18.5px; color:var(--ink-2); max-width:52ch; margin:20px 0 0; }
.cat-nav{ display:flex; gap:10px; flex-wrap:wrap; margin:30px 0 0; }
.cat-nav a{ font-size:13px; text-decoration:none; color:var(--ink-2); border:1px solid var(--line); border-radius:20px; padding:7px 15px;
  transition:border-color .2s, color .2s, background .2s; }
.cat-nav a:hover{ border-color:var(--oxblood); color:var(--oxblood); }
.hub-sec{ padding:38px 0 10px; }
.hub-sec h2{ font-size:clamp(26px, 3.4vw, 34px); }
.hub-sec .count{ color:var(--ink-faint); font-size:15px; font-family:"Hanken Grotesk"; letter-spacing:.06em; margin-left:10px; }
.q-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 40px; margin:18px 0 8px; border-top:1px solid var(--line); }
.q-item{ border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink); padding:16px 4px; display:flex; justify-content:space-between; gap:14px; align-items:baseline; transition:background .15s; }
.q-item:hover{ background:rgba(142,27,46,.035); }
.q-item .q{ font-family:"Instrument Serif", serif; font-size:20px; line-height:1.2; }
.q-item .arrow{ color:var(--oxblood); flex:none; font-size:15px; }
@media(max-width:820px){ .q-grid{ grid-template-columns:1fr; } }

::selection{ background:var(--oxblood); color:var(--paper); }
:focus-visible{ outline:2px solid var(--oxblood); outline-offset:3px; border-radius:4px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } .btn,.rel-card,.badge-btn{ transition:none; } }
