/* aaronrigby.ink — shared stylesheet.
   Extracted verbatim from index.html on 21 Aug 2026 when the /writing
   section was added; the only changes to the original block are the
   nav selectors extended to cover <a> items and the .wordmark link,
   plus the "Writing section" block appended at the end.
   projects.html keeps its own inline copy and does not use this file. */

:root{
  --paper:#161d2b;      /* deep ink-navy page */
  --paper-2:#1e2839;    /* cards */
  --paper-3:#26324a;    /* deeper card */
  --ink:#f4ecd9;        /* warm cream — headings + wordmark */
  --text:#d7cfc0;       /* body */
  --muted:#9aa2b0;      /* secondary */
  --faint:#838ea3;      /* tertiary / labels */
  --rouge:#d06a54;      /* oxblood, lifted so it pops on dark */
  --rouge-soft:#e39c8a;
  --line:#2b3648;       /* hairline */
  --line-2:#3a4860;
  --dark:#0f1420;       /* deepest blocks */
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--text);
  font-family:'Lora',Georgia,'Times New Roman',serif;
  font-size:19px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* paper grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.28;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}
.wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 40px}

p,li,.sub,.lead,.card p,.offer p,.proj p,.darkcta p,.formats p{text-wrap:pretty}
em{font-style:italic;color:var(--rouge)}
strong{font-weight:600;color:var(--ink)}
a{color:inherit}

h1,h2,h3,.display{font-family:'Playfair Display',Georgia,serif;color:var(--ink);font-weight:600;line-height:1.06;letter-spacing:-.01em}
h1 em,h2 em,h3 em,.display em{color:var(--rouge)}

.eyebrow{font-family:'Lora',serif;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--rouge);font-weight:500}
.kicker{font-family:'Lora',serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);font-weight:500}

/* ---------- Header / nav ---------- */
header.site{position:sticky;top:0;z-index:20;background:rgba(20,27,41,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:20px}
.wordmark{font-family:'Playfair Display',serif;font-size:26px;font-weight:500;color:var(--ink);letter-spacing:-.01em;cursor:pointer;background:none;border:0;line-height:1;text-decoration:none;display:inline-block}
.wordmark em{font-style:italic;color:var(--rouge)}
nav.menu{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
nav.menu button,nav.menu a{
  background:none;border:0;cursor:pointer;font-family:'Lora',serif;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  padding:8px 12px;border-radius:2px;transition:color .18s;position:relative;
  text-decoration:none;display:inline-block;
}
nav.menu button:hover,nav.menu a:hover{color:var(--ink)}
nav.menu button.active,nav.menu a.active{color:var(--rouge)}
nav.menu button.active::after,nav.menu a.active::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:1.5px;background:var(--rouge)}

/* ---------- Page sections ---------- */
main{padding:0}
section.page{padding:76px 0 40px}
section.page[hidden]{display:none}
.page-head{max-width:820px;margin-bottom:22px}
.page-head h1{font-size:clamp(44px,6.4vw,82px);margin:14px 0 0}
.page-head .sub{font-size:22px;color:var(--muted);margin-top:20px;max-width:640px;line-height:1.5}
.rule{height:1px;background:var(--line);border:0;margin:40px 0}

.lead{font-size:22px;line-height:1.6;color:var(--text)}
p.body{margin-top:20px;max-width:660px;color:var(--text)}
p.body.wide{max-width:760px}

/* ---------- Buttons ---------- */
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.btn{
  display:inline-flex;align-items:center;gap:9px;font-family:'Lora',serif;font-size:14px;
  letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  padding:14px 26px;border-radius:2px;transition:all .18s;border:1px solid var(--ink)
}
.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.primary:hover{background:var(--rouge);border-color:var(--rouge)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.rouge{background:var(--rouge);color:var(--paper);border-color:var(--rouge)}
.btn.rouge:hover{background:var(--ink);border-color:var(--ink)}
.btn.pending{opacity:.62}
.btn.pending::after{content:"soon";font-size:9px;letter-spacing:.12em;padding:2px 6px;border:1px solid currentColor;border-radius:10px;opacity:.7;margin-left:2px}

a.tlink{color:var(--rouge);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:1px;transition:border-color .18s}
a.tlink:hover{border-color:var(--rouge)}
a.tlink.pending{color:var(--muted)}

/* ---------- Home hero ---------- */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.hero>*{min-width:0}
.hero h1{font-size:clamp(46px,6.6vw,88px)}
.hero .lead{margin-top:26px;max-width:520px}
.book-flag{margin-top:34px;padding:22px 24px;background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--rouge);border-radius:3px}
.book-flag .t{font-family:'Playfair Display',serif;font-size:27px;color:var(--ink);margin:6px 0 4px}
.book-flag .d{font-size:16px;color:var(--muted);font-style:italic}

/* ---------- Book cover ---------- */
.cover{position:relative;width:100%;max-width:360px;margin:0 auto;aspect-ratio:2/3;border-radius:3px;background:var(--paper);
  box-shadow:0 30px 60px -24px rgba(23,19,16,.55),0 4px 10px rgba(23,19,16,.12)}
.cover img{width:100%;height:100%;object-fit:contain;border-radius:3px;display:block}
.cover-fallback{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:flex-start;
  text-align:center;padding:46px 30px 32px;border-radius:3px;color:#1c1813;
  background:#F6F1E4;border:1px solid #cfc3a6}
.cover-fallback .ft{font-family:'Playfair Display',serif;font-size:34px;font-weight:600;line-height:1.04;color:#1c1813}
.cover-fallback .fs{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6f665a;line-height:1.7;max-width:220px;margin:14px auto 0}
.cover-fallback .fmotif{flex:1;display:flex;align-items:center;justify-content:center;opacity:.85}
.cover-fallback .fa{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#6f665a}
.cover-cap{text-align:center;margin-top:16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}

/* ---------- Card grids ---------- */
.sec-head{margin:8px 0 30px}
.sec-head h2{font-size:clamp(30px,3.6vw,44px);margin-top:12px}
.cards3{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.soon-chip{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line-2);border-radius:20px;padding:5px 13px}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:30px 28px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px rgba(23,19,16,.45);border-color:var(--line-2)}
.card .ct{font-family:'Playfair Display',serif;font-size:25px;color:var(--ink);margin-bottom:12px}
.card p{font-size:16px;color:var(--text);line-height:1.62;flex:1}
.card .cf{margin-top:20px}
.vt-title{min-height:48px;margin-bottom:12px;display:flex;align-items:flex-start}
.vt-logo{max-height:56px;max-width:100%;width:auto;display:block}
.vt-word{font-family:'Playfair Display',serif;line-height:1;display:inline-block}
.vt-name{position:relative;font-size:27px;font-weight:500;color:var(--ink);display:inline-block;padding-right:17px}
.vt-leaf{width:13px;height:17px;position:absolute;top:-8px;right:0}
.vt-word small{display:block;font-family:'Lora',serif;font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:8px}

/* project list */
.projects{display:grid;gap:0;border-top:1px solid var(--line)}
.proj{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}
.proj .num{font-family:'Playfair Display',serif;font-size:22px;color:var(--rouge)}
.proj .meta{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.proj h3{font-size:32px;margin-bottom:12px}
.proj p{font-size:17px;color:var(--text);max-width:720px;line-height:1.6}
.proj .cf{margin-top:16px}

/* poem video embeds */
.poems{display:flex;gap:26px;flex-wrap:wrap;margin:22px 0 4px}
.poem{max-width:236px;flex:0 1 236px}
.poem video{width:100%;aspect-ratio:9/16;background:#000;border-radius:4px;border:1px solid var(--line-2);display:block;box-shadow:0 22px 44px -20px rgba(0,0,0,.65)}
.poem-cap{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-top:10px}
.poem-cap span{display:block;color:var(--faint);font-size:10px;margin-top:3px}

/* offerings 2x2 / 3up */
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.offers.three{grid-template-columns:repeat(3,1fr)}
.offer{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:32px 30px;position:relative}
.offer .onum{position:absolute;top:26px;right:28px;font-family:'Lora',serif;font-size:12px;letter-spacing:.2em;color:var(--rouge)}
.offer h3{font-size:27px;margin-bottom:14px}
.offer h3 .lab{color:var(--muted);font-style:italic;font-weight:500}
.offer p{font-size:16px;color:var(--text);line-height:1.6}
.offer ul{list-style:none;margin-top:20px;display:grid;gap:9px}
.offer li{font-size:14px;color:var(--muted);display:flex;gap:10px;align-items:baseline}
.offer li::before{content:"—";color:var(--rouge);flex:none}
.offer .spec{margin-top:18px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}

/* CTA / system panel */
.panel{background:var(--paper-2);border:1px solid var(--line-2);border-radius:4px;padding:44px;margin-top:44px}
#system,#record{scroll-margin-top:96px}
.panel h2{font-size:34px;margin-bottom:16px}
.panel .price{font-family:'Playfair Display',serif;font-size:15px;color:var(--rouge);letter-spacing:.04em;margin-top:4px}
.whatyouget{list-style:none;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px 30px}
.whatyouget li{font-size:15.5px;color:var(--text);display:flex;gap:12px;align-items:baseline;line-height:1.5}
.whatyouget li b{color:var(--ink);font-weight:600}
.whatyouget li::before{content:"✦";color:var(--rouge);flex:none;font-size:12px}
.fineprint{font-size:13px;color:var(--muted);margin-top:18px;font-style:italic}

.darkcta{background:linear-gradient(180deg,var(--paper-2),var(--dark));border:1px solid var(--line-2);border-top:2px solid var(--rouge);color:#e9e0cf;border-radius:4px;padding:56px 48px;margin-top:48px;text-align:center}
.darkcta h2{color:#f2ead9;font-size:clamp(32px,4vw,52px)}
.darkcta h2 em{color:var(--rouge-soft)}
.darkcta p{max-width:560px;margin:18px auto 30px;color:#c3b7a2;font-size:18px}
.darkcta .btn{border-color:var(--ink);color:var(--paper);background:var(--ink)}
.darkcta .btn:hover{background:var(--rouge);color:var(--paper);border-color:var(--rouge)}

/* formats row */
.formats{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:8px}
.formats .fh{font-family:'Playfair Display',serif;font-size:20px;color:var(--ink);margin-bottom:10px}
.formats p{font-size:15px;color:var(--muted);line-height:1.6}

/* closing links */
.closing{margin-top:56px;padding-top:34px;border-top:1px solid var(--line)}
.closing .big{font-family:'Playfair Display',serif;font-size:clamp(26px,3.2vw,40px);color:var(--ink)}
.actionlinks{display:flex;flex-wrap:wrap;gap:28px;margin-top:24px}
.actionlinks a{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:3px;cursor:pointer}
.actionlinks a:hover{color:var(--rouge);border-color:var(--rouge)}

/* footer */
footer.site{border-top:1px solid var(--line);margin-top:20px}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:30px 0;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--rouge)}
.foot .flinks{display:flex;gap:22px;flex-wrap:wrap}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .wrap{padding:0 24px}
  .hero{grid-template-columns:1fr;gap:40px}
  .hero .cover-wrap{order:-1}
  .cards3,.offers,.offers.three,.formats,.whatyouget{grid-template-columns:1fr}
  .navbar{flex-direction:column;align-items:center;gap:10px;padding-top:14px;padding-bottom:14px}
  nav.menu{justify-content:center}
  section.page{padding:52px 0 30px}
  .proj{grid-template-columns:1fr;gap:8px}
  .proj .num{font-size:16px}
  .panel{padding:30px 26px}
  .darkcta{padding:40px 26px}
}
@media(max-width:640px){
  body{font-size:18px}
  .wrap{padding:0 20px}
  nav.menu{gap:2px}
  nav.menu button,nav.menu a{padding:6px 9px;font-size:11px;letter-spacing:.08em}
  .hero{gap:30px}
  .hero h1{font-size:clamp(36px,10vw,46px)}
  .page-head h1{font-size:clamp(34px,9.5vw,44px)}
  .lead{font-size:19px}
  .page-head .sub{font-size:19px}
  .cover{max-width:290px}
  .cover-cap{margin-top:12px}
  .book-flag{padding:20px 18px}
  .btns{gap:10px}
  .btns .btn{width:100%;justify-content:center;text-align:center;padding:15px 18px}
  .sec-head h2{font-size:clamp(26px,7.5vw,34px)}
  .card{padding:26px 20px}
  .offer{padding:26px 20px}
  .panel{padding:26px 20px}
  .darkcta{padding:36px 22px}
  .poems{justify-content:center}
  #system,#record{scroll-margin-top:150px}
  .closing .big{font-size:clamp(24px,7vw,32px)}
  .foot{justify-content:center;text-align:center}
}

/* =============================================================
   Writing section — added 21 Aug 2026.
   Every value below reuses tokens and sizes already defined
   above; nothing new was invented.
   ============================================================= */

/* identity strip on the landing page */
.strip{padding:0}
.strip h1{font-size:clamp(26px,3.2vw,40px)}
.strip .sub{font-size:19px;color:var(--muted);margin-top:14px;max-width:640px;line-height:1.5}
.strip .actionlinks{margin-top:22px}

/* article list (landing + /writing/) — text-first, newest on top */
.wsec{margin-top:40px}
.wcount{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.wlist{border-top:1px solid var(--line)}
.witem{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.witem>*{min-width:0}
.wthumb{aspect-ratio:16/9;background:var(--paper-2);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.wthumb img{width:100%;height:100%;object-fit:cover;display:block}
.witem h3{font-size:27px;margin-bottom:8px;transition:color .18s}
.witem:hover h3{color:var(--rouge)}
.wmeta{font-family:'Lora',serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.witem p{font-size:16px;color:var(--text);line-height:1.62;max-width:660px}
.wtag{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--rouge);border:1px solid var(--line-2);border-radius:20px;padding:5px 13px;margin-left:10px;vertical-align:middle;font-family:'Lora',serif;font-weight:400}

/* Friday email sign-up */
.signupform{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.signupform input{flex:1;min-width:220px;padding:14px 18px;background:var(--dark);border:1px solid var(--line-2);border-radius:2px;color:var(--ink);font-family:'Lora',serif;font-size:16px}
.signupform input::placeholder{color:var(--faint)}

/* also-here cards */
.alsohere{margin-top:44px}
a.card{text-decoration:none;cursor:pointer}
.card .go{display:inline-block;font-size:14px;color:var(--rouge)}

/* article pages */
.crumb{margin-bottom:22px;font-size:14px}
.art-head{max-width:820px}
.art-head h1{font-size:clamp(32px,4vw,50px);margin:14px 0 0}
.byline{font-family:'Lora',serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:18px}
.arthero{margin-top:26px;max-width:660px}
.arthero img{width:100%;height:auto;display:block;border:1px solid var(--line);background:var(--paper-2);border-radius:3px}
.figcap{font-size:13px;color:var(--muted);font-style:italic;margin-top:12px}
.prose{margin-top:30px}
.prose p{margin-top:20px;max-width:660px;color:var(--text)}
.prose h2{font-size:27px;margin-top:44px}
.prose ul,.prose ol{margin:20px 0 0 24px;max-width:660px}
.prose li{margin-top:9px}
.prose blockquote{margin-top:20px;padding:22px 24px;background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--rouge);border-radius:3px;max-width:660px}
.prose a{color:var(--rouge);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:1px;transition:border-color .18s}
.prose a:hover{border-color:var(--rouge)}

/* calculator slot */
.calcslot{margin-top:40px}

/* book block + more-writing links */
.bookbox{display:flex;gap:26px;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin-top:48px}
.bookbox img{width:90px;height:auto;flex:none;border-radius:3px;display:block}
.bookbox .bt{font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);margin-bottom:8px}
.bookbox p{font-size:16px;color:var(--text);line-height:1.62;max-width:560px;margin-bottom:10px}
.morelinks{margin-top:44px}
.morelinks .links{display:grid;gap:14px;margin-top:18px;justify-items:start}

/* keyboard focus — visible on every interactive element */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rouge);outline-offset:2px}

@media(max-width:640px){
  .strip h1{font-size:clamp(24px,7vw,32px)}
  .strip .sub{font-size:16px}
  .witem h3{font-size:22px}
  .witem{grid-template-columns:1fr 110px;gap:14px}
  .signupform{flex-direction:column}
  .signupform input,.signupform .btn{width:100%;justify-content:center}
}
