/* 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;
  /* Fixed so the sticky category bar can stack directly under the header and
     anchor jumps can clear both. */
  --nav-h:68px; --catnav-h:61px;
}
*{ box-sizing:border-box; }
/* Both bars are sticky, so anchor jumps must stop clear of them — without this,
   /blog/#cat-everyday lands with the heading hidden under the header. */
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + var(--catnav-h) + 16px); }
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; min-height:var(--nav-h); padding:0 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="page"]{ 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); }
.btn-lg{ font-size:16px; padding:16px 32px; border-radius:14px; }
/* Only the optional links drop on a phone — "Journal" must survive, or a reader
   arriving from search has no route back into the site. */
@media(max-width:860px){
  .nav-links .opt{ display:none; }
  .nav-links{ gap:0; font-size:13.5px; }
  .nav-in{ padding:0 20px; gap:12px; }
  .brand{ font-size:15px; letter-spacing:.24em; text-indent:.24em; }
  .nav .btn{ padding:10px 15px; font-size:13px; }
}

/* ── Back / orientation controls ─────────────────── */
.back-pill{ display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:8px 16px 8px 12px;
  border:1px solid var(--line); border-radius:22px; text-decoration:none; color:var(--ink-2);
  font-size:13.5px; font-weight:500; background:var(--paper);
  transition:border-color .2s, color .2s, background .2s, transform .2s; }
.back-pill svg{ width:16px; height:16px; flex:none; color:var(--oxblood); transition:transform .2s; }
.back-pill:hover{ border-color:var(--oxblood); color:var(--oxblood); }
.back-pill:hover svg{ transform:translateX(-3px); }
.back-pill.up:hover svg{ transform:translateY(-3px); }
.cat-chip{ display:inline-flex; align-items:center; min-height:40px; padding:8px 16px; border-radius:22px;
  border:1px solid transparent; background:var(--paper-2); color:var(--ink-soft);
  font-size:12px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; transition:color .2s, background .2s; }
.cat-chip:hover{ color:var(--oxblood); background:var(--paper-3); }
.crumbs{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.post-foot-nav{ padding-block:36px 4px; }
.pf-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.pf-seq{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
.pf-card{ display:flex; flex-direction:column; gap:7px; padding:18px 20px; border:1px solid var(--line);
  border-radius:14px; text-decoration:none; color:var(--ink); background:var(--paper);
  transition:border-color .22s, transform .22s; }
.pf-card:hover{ border-color:var(--oxblood); transform:translateY(-2px); }
.pf-next{ text-align:right; }
.pf-k{ font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); }
.pf-q{ font-family:"Instrument Serif", Georgia, serif; font-size:19px; line-height:1.2; }
.pf-soft{ margin:22px 0 0; font-size:13.5px; color:var(--ink-soft); }
.pf-soft a{ color:var(--oxblood); }
@media(max-width:640px){ .pf-seq{ grid-template-columns:1fr; } .pf-next{ text-align:left; } }
.sec-top{ display:inline-flex; align-items:center; gap:7px; margin-top:16px; font-size:12.5px;
  color:var(--ink-faint); text-decoration:none; transition:color .2s; }
.sec-top svg{ width:14px; height:14px; }
.sec-top:hover{ color:var(--oxblood); }

/* ── Article header ──────────────────────────────── */
/* padding-block only: these classes sit ON .wrap, and the `padding` shorthand
   would wipe out .wrap's 24px side gutter (content ran edge-to-edge on phones). */
.post-head{ padding-block:56px 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; }

/* ── Answer CTA (directly under the answer box, ~5% scroll depth) ── */
.answer-cta{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  max-width:var(--measure); margin:14px 0 0; padding:16px 20px 16px 22px;
  border:1px solid var(--line); border-radius:14px; text-decoration:none; color:var(--ink-2);
  background:linear-gradient(90deg, rgba(142,27,46,.045), rgba(142,27,46,0) 70%);
  transition:border-color .22s, background .22s; }
.answer-cta:hover{ border-color:rgba(142,27,46,.45); background:linear-gradient(90deg, rgba(142,27,46,.08), rgba(142,27,46,0) 70%); }
.answer-cta .ac-t{ font-size:15px; line-height:1.5; max-width:46ch; }
.answer-cta .ac-a{ display:inline-flex; align-items:center; gap:8px; flex:none; min-height:24px;
  font-size:14px; font-weight:600; color:var(--oxblood); white-space:nowrap; }
.ac-arrow{ transition:transform .22s; display:inline-block; }
.answer-cta:hover .ac-arrow, .inline-cta a:hover .ac-arrow{ transform:translateX(4px); }

/* ── Inline CTA (mid-article) ────────────────────── */
.inline-cta{ margin:38px 0 34px; padding:28px 30px; border-radius:16px; color:var(--paper);
  background:radial-gradient(120% 140% at 85% 0%, var(--clay) 0%, var(--oxblood-2) 42%, #2A1614 82%, #1A0F0E 100%);
  box-shadow:0 30px 60px -38px rgba(20,15,14,.7); }
.inline-cta .ic-k{ font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--clay-lt); }
.inline-cta p{ font-family:"Instrument Serif", Georgia, serif; font-size:21px; line-height:1.35;
  margin:10px 0 18px; color:var(--paper); max-width:38ch; }
.inline-cta a{ display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:12px 24px;
  border-radius:12px; background:var(--paper); color:var(--ink); text-decoration:none;
  font-weight:600; font-size:14.5px; transition:transform .22s, background .22s; }
.inline-cta a:hover{ background:#fff; transform:translateY(-2px); }

/* ── Sticky bottom CTA (zero JS; the only CTA in reach on a phone) ── */
.sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; align-items:center;
  justify-content:center; gap:16px; padding:10px 20px calc(10px + env(safe-area-inset-bottom, 0px));
  background:rgba(242,238,230,.94); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--line); box-shadow:0 -10px 30px -24px rgba(20,15,14,.6); }
.sticky-cta .sc-t{ font-family:"Instrument Serif", Georgia, serif; font-size:17px; color:var(--ink-2); }
.sticky-cta .btn{ min-height:44px; flex:none; }
body{ padding-bottom:76px; }
@media(max-width:560px){
  .sticky-cta{ gap:12px; padding-inline:14px; }
  .sticky-cta .sc-t{ font-size:15px; }
  .sticky-cta .btn{ padding:11px 16px; font-size:13.5px; }
}
@media(max-width:380px){ .sticky-cta .sc-t{ display:none; } .sticky-cta .btn{ width:100%; } }

/* ── 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:cover; 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-block:26px 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); }
/* Pre-launch: one honest primary action, with the platforms stated as fact
   rather than two store badges that both resolve to the same sign-in page. */
.cta .soon{ display:inline-flex; align-items:center; justify-content:center; gap:9px; margin:20px auto 0;
  font-size:12px; letter-spacing:.06em; color:rgba(242,238,230,.6); }
.cta .soon svg{ width:15px; height:15px; opacity:.7; flex:none; }
.cta .soon span{ margin-left:3px; }

/* ── 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:flex; align-items:center; min-height:40px; padding:6px 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-block:64px 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; }
/* Sticky under the header: with 118 questions across 12 sections this is how a
   reader moves around without scrolling 11,000px back to the top. */
.cat-nav{ position:sticky; top:calc(var(--nav-h) + 1px); z-index:40; background:rgba(242,238,230,.94);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:30px; }
.cat-nav-in{ display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; padding-block:12px; }
.cat-nav-in::-webkit-scrollbar{ display:none; }
.cat-nav a{ font-size:13px; text-decoration:none; color:var(--ink-2); border:1px solid var(--line); border-radius:20px;
  padding:8px 15px; white-space:nowrap; flex:none; min-height:36px; display:inline-flex; align-items:center;
  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; }
/* Column-major: a CSS grid flows row-major, so reading down the left column
   silently skipped every other question. Columns now read top-to-bottom. */
.q-grid{ column-count:2; column-gap:40px; margin:18px 0 8px; border-top:1px solid var(--line); }
.q-item{ break-inside:avoid; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink);
  padding:14px 4px; min-height:52px; display:flex; justify-content:space-between; gap:14px;
  align-items:center; 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{ column-count:1; } }

/* ── Small phones ────────────────────────────────── */
@media(max-width:480px){
  .wrap{ padding:0 20px; }
  .brand img{ height:17px; }
  .post-head{ padding-block:36px 8px; }
  .the-answer{ padding:22px 20px; }
  .inline-cta{ padding:24px 22px; }
  .inline-cta p{ font-size:19px; }
  .cta .wrap{ padding:56px 20px 60px; }
  .hub-hero{ padding-block:40px 24px; }
  .foot-grid{ grid-template-columns:1fr; gap:22px; }
}

/* ── Skip link ───────────────────────────────────── */
.skip{ position:absolute; left:-9999px; top:0; z-index:70; padding:12px 20px; background:var(--ink);
  color:var(--paper); text-decoration:none; font-size:14px; font-weight:600; border-radius:0 0 12px 0; }
.skip:focus{ left:0; }

::selection{ background:var(--oxblood); color:var(--paper); }
:focus-visible{ outline:2px solid var(--oxblood); outline-offset:3px; border-radius:4px; }
/* Oxblood is invisible on the dark CTA and footer — use the warm clay there. */
.cta :focus-visible, footer :focus-visible, .inline-cta :focus-visible{ outline-color:#E7A07F; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .btn,.rel-card,.badge-btn,.back-pill,.pf-card,.answer-cta,.inline-cta a,.ac-arrow{ transition:none; }
}
