/* Mobile-first: base styles target phones; min-width queries add tablet and desktop layouts. */
:root{
  --text-xs: clamp(0.8125rem, 0.78rem + 0.15vw, 0.875rem);
  --text-sm: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);
  --text-base: clamp(1rem, 0.97rem + 0.2vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1.05rem + 0.5vw, 1.5rem);
  --text-xl: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
  --text-3xl: clamp(2.375rem, 1.5rem + 4vw, 5rem);
  /* Black base; blues #011f4b / #03396c / #005b96 as accents; light blue text */
  --bg:#0f0d0c; --surface:#181513; --line:#2c2724;
  --ink:#d4e6f5; --muted:#9dc0de; --accent:#005b96; --accent-hover:#0a6cb0; --on-accent:#ffffff; --accent-text:#7fbde8;
  --font-display:'Boska','Times New Roman',serif;
  --font-body:'Satoshi',system-ui,sans-serif;
  --pad: clamp(1.125rem, 5vw, 4rem);
  --tap: 48px;
  --bar-h: calc(64px + env(safe-area-inset-bottom));
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;padding-bottom:var(--bar-h);-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}

.mock-note{background:#011f4b;color:var(--ink);text-align:center;font-size:.75rem;padding:.4rem 1rem;line-height:1.4}
.mock-note a{color:inherit;font-weight:700;white-space:nowrap}
.mock-note .long{display:none}

/* Header: wordmark + Book on phones; full nav from tablet up */
.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem var(--pad);background:rgba(15,13,12,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.wordmark{font-family:var(--font-display);font-style:italic;font-size:1.5rem;text-decoration:none;letter-spacing:-.01em;line-height:1;min-height:var(--tap);display:flex;align-items:center}
.site-header nav{display:flex;gap:1.5rem;align-items:center;font-size:var(--text-sm)}
.site-header nav a:not(.btn){display:none;text-decoration:none;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);background:var(--accent);color:var(--on-accent);text-decoration:none;font-weight:700;font-size:var(--text-sm);padding:.75rem 1.4rem;border:0;border-radius:2px;cursor:pointer;font-family:inherit;transition:background .2s}
.btn-sm{min-height:40px;padding:.5rem 1rem}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.link-arrow{color:var(--ink);font-size:var(--text-sm);text-underline-offset:4px;min-height:var(--tap);display:inline-flex;align-items:center}

/* Hero: text first, then a short image so the CTA lands in the first screen */
.hero{display:grid;gap:1.75rem;max-width:1280px;margin:0 auto;padding:1.75rem var(--pad) 2.5rem}
.kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-text);font-weight:700;margin-bottom:.9rem}
h1{font-family:var(--font-display);font-weight:500;font-size:var(--text-3xl);line-height:1.04;letter-spacing:-.02em;max-width:15ch;text-wrap:balance}
.lede{color:var(--muted);max-width:42ch;margin-top:1rem}
.hero-cta{display:grid;gap:.6rem;margin-top:1.5rem}
.hero-cta .btn{width:100%}
.hero-img{position:relative;margin:0}
.hero-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}

.section{padding:3rem var(--pad);border-top:1px solid var(--line)}
h2{font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);line-height:1.1;letter-spacing:-.01em}
.section-head{display:grid;gap:1rem;margin-bottom:1.25rem}
.section-sub{color:var(--muted);max-width:55ch;margin-top:.6rem}

/* Filter chips: one swipeable row on phones */
.filters{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x proximity;margin:0 calc(var(--pad) * -1);padding:0 var(--pad) .25rem;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.chip{flex:none;scroll-snap-align:start;background:transparent;border:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);min-height:42px;padding:0 1rem;border-radius:99px;cursor:pointer;white-space:nowrap}
.chip.is-on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}

/* Gallery: 2 columns on phones, 3 on tablets, 4 on desktop */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}
.grid figure{margin:0;position:relative;overflow:hidden;background:var(--surface)}
.grid figure[hidden]{display:none}
.grid button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.grid img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s}
.grid figcaption{position:absolute;left:0;bottom:0;right:0;padding:1.25rem .6rem .45rem;font-size:.75rem;line-height:1.3;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;pointer-events:none}
.grid-actions{display:grid;gap:.6rem;margin-top:1.25rem}
.grid-actions .btn{width:100%}

/* Lightbox with swipe */
.lightbox{border:0;padding:0;background:#000;color:#fff;width:100%;max-width:100%;height:100%;max-height:100%;margin:0}
.lightbox::backdrop{background:#000}
.lightbox[open]{display:grid;grid-template-rows:auto 1fr auto}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:calc(.4rem + env(safe-area-inset-top)) .75rem .4rem 1rem;font-size:var(--text-xs);color:#cfc8bd}
.lb-img{display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}
.lb-img img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .2s}
.lb-nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom))}
.lb-nav button,.lb-close{min-height:var(--tap);background:#181513;border:1px solid #2c2724;border-radius:2px;cursor:pointer;padding:0 1rem}
.lb-close{min-width:var(--tap);font-size:1.25rem}

/* Style cards: swipeable cards on phones */
.style-list{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:1.5rem calc(var(--pad) * -1) 0;padding:0 var(--pad) .5rem;scrollbar-width:none}
.style-list::-webkit-scrollbar{display:none}
.style-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);padding:0 0 1.25rem;text-decoration:none;display:flex;flex-direction:column}
.style-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1rem}
.style-card .num,.style-card h3,.style-card p{padding:0 1.1rem}
.style-card .num{font-size:.75rem;color:var(--accent-text);font-weight:700;letter-spacing:.1em}
.style-card h3{font-size:var(--text-lg);font-weight:700;line-height:1.25;margin:.4rem 0 .4rem}
.style-card p{color:var(--muted);font-size:var(--text-sm)}
.swipe-hint{font-size:var(--text-xs);color:var(--muted);margin-top:.5rem}

.about{display:grid;gap:1.75rem}
.about-img{margin:0}
.about-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about-copy p{color:var(--muted);max-width:55ch;margin-top:1rem}
.about-inset{margin:1.75rem 0 0;max-width:280px}
.about-inset img{aspect-ratio:1;object-fit:cover;filter:grayscale(.3)}
.about-inset figcaption{font-size:var(--text-xs);color:var(--muted);margin-top:.5rem}

.book{display:grid;gap:2rem;background:var(--surface);border-top:3px solid var(--accent)}
.book ol{margin-top:1.25rem;padding-left:1.25rem;display:grid;gap:.9rem;color:var(--muted)}
.book ol strong{color:var(--ink)}
.book ol li::marker{color:var(--accent-text);font-weight:700}
.dm-alt{margin-top:1.5rem}
.dm-alt .btn{width:100%}
.book-form{display:grid;gap:1rem}
.book-form label{display:grid;gap:.35rem;font-size:var(--text-sm);font-weight:500}
/* 16px minimum stops iOS Safari from zooming into fields */
.book-form input,.book-form select,.book-form textarea{font:inherit;font-size:max(16px,var(--text-base));min-height:var(--tap);background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:.7rem .85rem;border-radius:2px;width:100%}
.book-form input:focus,.book-form select:focus,.book-form textarea:focus{border-color:var(--accent-text);outline:none}
.book-form ::placeholder{color:#6f8aa3}
.book-form .btn{width:100%}
.form-msg{font-size:var(--text-sm);color:var(--muted);min-height:1.5em}

.faq{max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq details[open]{border-bottom-color:#03396c}
.faq details:first-of-type{margin-top:1rem}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:var(--tap);padding:.9rem 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent-text);font-size:1.4rem;line-height:1;flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);padding-bottom:1.1rem;max-width:65ch}

.site-footer{display:grid;gap:1.5rem;padding:2.5rem var(--pad);border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--muted)}
.site-footer .wordmark{color:var(--ink);min-height:0}
.site-footer address{font-style:normal;line-height:1.9}
.site-footer address a{display:inline-block;padding:.2rem 0}
.small{font-size:var(--text-xs)}

/* Thumb-reach action bar, phones and tablets */
.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:.4rem;padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));background:rgba(15,13,12,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line)}
.action-bar a{min-height:var(--tap);display:flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;font-size:.875rem;font-weight:500;border:1px solid var(--line);border-radius:2px}
.action-bar a.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700}
.action-bar svg{width:18px;height:18px;flex:none}

/* Hover only on devices that actually hover */
@media (hover:hover){
  .site-header nav a:not(.btn):hover{color:var(--ink)}
  .btn:hover{background:var(--accent-hover)}
  .btn-ghost:hover{background:transparent;border-color:var(--muted)}
  .chip:hover{color:var(--ink);border-color:var(--muted)}
  .grid figure:hover img{transform:scale(1.04)}
  .style-card:hover{border-color:var(--accent-text)}
}


/* Client quotes */
.grid .cq{display:none}
.grid figure.has-q::before{content:"Client review";position:absolute;top:.4rem;left:.4rem;z-index:1;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .45rem;background:var(--accent);color:var(--on-accent);border-radius:2px;pointer-events:none}
.lb-q{margin:0;padding:.5rem 1rem 0;font-size:var(--text-sm,.95rem);color:var(--ink);text-align:center;font-style:normal}
.words{border-top:1px solid var(--line)}
.q-list{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:1.5rem calc(var(--pad) * -1) 0;padding:0 var(--pad) .5rem;scrollbar-width:none}
.q-list::-webkit-scrollbar{display:none}
.q-card{margin:0;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);display:grid;grid-template-columns:88px 1fr;gap:.25rem .9rem;padding:.9rem;align-items:start}
.q-card img{grid-row:span 2;width:88px;height:110px;object-fit:cover}
.q-card blockquote{margin:0}
.q-card blockquote p{margin:0;font-size:1.05rem;line-height:1.4;color:var(--ink)}
.q-card figcaption{font-size:var(--text-xs,.8rem);color:var(--muted);line-height:1.4}
.q-card cite{font-style:normal;color:var(--accent-text);font-weight:600}
.q-card a{color:var(--accent-text)}
@media (min-width:640px){.q-list{grid-auto-columns:46%}}
@media (min-width:900px){.q-list{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible;margin:2rem 0 0;padding:0}}

.g-list{display:grid;gap:.75rem;margin-top:1.5rem}
.g-card{margin:0;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);padding:1rem 1.1rem}
.g-stars{margin:0 0 .4rem;color:var(--accent-text);letter-spacing:.12em;font-size:.95rem}
.g-card blockquote{margin:0}
.g-card blockquote p{margin:0;font-size:1.02rem;line-height:1.5;color:var(--ink)}
.g-card figcaption{margin-top:.6rem;font-size:var(--text-xs,.8rem);color:var(--muted)}
.g-card cite{font-style:normal;font-weight:600;color:var(--accent-text)}
.g-more{margin:1rem 0 0}
.q-sub{margin:2.25rem 0 0;font-size:1.1rem;color:var(--ink)}
.kicker a,.site-footer address a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:3px}
@media (min-width:900px){.g-list{grid-template-columns:repeat(3,1fr)}}

/* Tablet portrait and up */
@media (min-width:640px){
  .mock-note .long{display:inline}
  .hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}
  .hero-cta .btn{width:auto}
  .grid{grid-template-columns:repeat(3,1fr);gap:.6rem}
  .grid-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}
  .grid-actions .btn{width:auto}
  .style-list{grid-auto-columns:44%}
  .book-form .btn,.dm-alt .btn{width:auto;justify-self:start}
  .site-footer{grid-template-columns:repeat(3,auto);justify-content:space-between}
}

/* Tablet landscape and up */
@media (min-width:900px){
  .site-header{padding:.9rem var(--pad)}
  .site-header nav a:not(.btn){display:inline}
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;gap:var(--pad);padding:clamp(2.5rem,6vw,5rem) var(--pad);min-height:min(78vh,820px)}
  .hero-img{margin:14px 0 0 14px}
  .hero-img::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--accent-text);z-index:-1}
  .hero-img img{aspect-ratio:9/14}
  .section{padding:clamp(4rem,8vw,7rem) var(--pad)}
  .section-head{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;margin-bottom:2rem}
  .filters{flex-wrap:wrap;overflow:visible;margin:0;padding:0}
  .grid{grid-template-columns:repeat(4,1fr)}
  .style-list{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible;margin:2.5rem 0 0;padding:0}
  .swipe-hint{display:none}
  .about{grid-template-columns:.8fr 1.2fr;gap:var(--pad);align-items:start}
  .book{grid-template-columns:1fr 1fr;gap:var(--pad)}
}

/* Desktop: bar is redundant with the header, so drop it */
@media (min-width:1100px){
  body{padding-bottom:0}
  .action-bar{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== Multi-page additions ===== */
.menu-btn{min-height:40px;padding:.4rem .9rem;background:transparent;border:1px solid var(--line);border-radius:2px;cursor:pointer;font-size:var(--text-sm);color:var(--ink)}
.mnav{position:sticky;top:61px;z-index:19;background:var(--surface);border-bottom:1px solid var(--line);padding:1rem var(--pad) 1.5rem;display:grid;gap:1.25rem;max-height:calc(100vh - 61px - var(--bar-h));overflow-y:auto}
.mnav[hidden]{display:none}
.mnav a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.mnav .mnav-home{font-weight:700}
.mnav-group p{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-text);font-weight:700;margin-bottom:.2rem}
@media (min-width:640px){.mnav{grid-template-columns:repeat(3,1fr)}.mnav .mnav-home{grid-column:1/-1}}
@media (min-width:900px){.mnav{grid-template-columns:repeat(5,1fr);top:69px}}

.crumbs{font-size:var(--text-xs);color:var(--muted);margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.crumbs a{color:var(--accent-text);text-underline-offset:3px}
.page-hero{display:grid;gap:1.5rem;padding:1.5rem var(--pad) 2.25rem}
.page-hero h1{max-width:18ch}
.page-img{margin:0}
.page-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;max-height:70vh}
@media (min-width:900px){
  .page-hero.has-img{grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:center;gap:var(--pad);padding:clamp(2rem,5vw,4rem) var(--pad)}
}
.prose{max-width:860px}
.prose h2{margin:2rem 0 .6rem}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--muted);max-width:68ch}
.prose p+p{margin-top:.9rem}
.prose ul,.prose ol{padding-left:1.25rem;display:grid;gap:.45rem;margin-top:.6rem}
.prose li::marker{color:var(--accent-text)}
.prose strong{color:var(--ink)}
.prose a{color:var(--accent-text);text-underline-offset:3px}
.prose .cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}
.prose .link-list{list-style:none;padding:0;grid-template-columns:1fr}
.prose .link-list a{display:flex;min-height:44px;align-items:center}
@media (min-width:640px){.prose .cols{grid-template-columns:repeat(3,minmax(0,1fr))}.prose .link-list{grid-template-columns:1fr 1fr}}
.steps{counter-reset:none}
.addr-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);padding:1.1rem 1.25rem;margin-bottom:1.5rem;display:grid;gap:.6rem;max-width:560px}
.addr-card p{color:var(--ink)}
.big-date{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.1}
.note{border-left:3px solid var(--accent);padding-left:1rem}
mark.todo{background:#03396c;color:#d4e6f5;padding:.05em .4em;border-radius:2px;font-size:.92em;font-style:normal}
.pain{display:grid;gap:.75rem;margin:1.5rem 0}
.pain-col{background:var(--surface);border:1px solid var(--line);border-top:4px solid #03396c;padding:1rem 1.1rem}
.pain-col.mid{border-top-color:#005b96}
.pain-col.high{border-top-color:#7fbde8}
.pain-col h2{font-size:var(--text-lg);margin:0 0 .5rem!important}
@media (min-width:760px){.pain{grid-template-columns:repeat(3,1fr)}}
.book-wrap{display:grid;gap:2.5rem;background:var(--surface);border-top:3px solid var(--accent)}
.book-wrap h2{margin-bottom:1rem}
@media (min-width:1000px){.book-wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}}
.related .rel-list{display:grid;gap:.75rem;margin-top:1.25rem}
.rel-card{display:grid;gap:.3rem;background:var(--surface);border:1px solid var(--line);padding:1rem 1.1rem;text-decoration:none;min-height:var(--tap)}
.rel-card strong{font-size:var(--text-base);color:var(--ink)}
.rel-card span:last-child{color:var(--muted);font-size:var(--text-sm)}
.tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-text);font-weight:700}
@media (min-width:640px){.related .rel-list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.related .rel-list{grid-template-columns:repeat(4,1fr)}}
.q-grid{grid-auto-flow:row;grid-template-columns:1fr;overflow:visible;margin:1.5rem 0 0;padding:0}
@media (min-width:640px){.q-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.q-grid{grid-template-columns:repeat(3,1fr)}}
.words h2.q-sub{font-size:var(--text-xl);margin-top:2.5rem}
.f-links{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.f-col{display:grid;gap:.1rem;align-content:start}
.f-col a{text-decoration:none;color:var(--muted);min-height:36px;display:flex;align-items:center}
.f-h{color:var(--ink);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em}
@media (min-width:640px){.site-footer{grid-template-columns:1fr}.f-links{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.site-footer{grid-template-columns:260px 1fr}.f-links{grid-template-columns:repeat(6,1fr)}}
@media (hover:hover){.rel-card:hover{border-color:var(--accent-text)}.f-col a:hover,.mnav a:hover{color:var(--accent-text)}.menu-btn:hover{border-color:var(--muted)}}
.prose ul+p,.prose ol+p{margin-top:.9rem}
.about-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.about-pair img{aspect-ratio:3/4}
figure[data-s="flash"] img{object-fit:contain;background:#f4f4f4}

/* desktop inner-page layout: fill the right side with a sticky aside, tighter hero */
.page-aside{display:none}
@media (min-width:1000px){
  .page-hero.has-img{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);padding:clamp(2rem,4vw,3.5rem) var(--pad)}
  .page-hero.has-img .page-img img{aspect-ratio:4/5;max-height:560px;border-radius:4px}
  .page-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2.5rem,5vw,5rem);align-items:start}
  .page-body .prose{max-width:none}
  .page-aside{display:grid;gap:1.5rem;position:sticky;top:96px}
  .aside-h{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin-bottom:.6rem;font-weight:600}
  .toc{list-style:none;padding:0;display:grid;gap:.15rem;border-left:1px solid var(--line,#2a2a2a)}
  .toc a{display:block;padding:.35rem 0 .35rem 1rem;color:var(--muted);text-decoration:none;font-size:.95rem;line-height:1.35}
  .toc a:hover{color:var(--ink)}
  .aside-card{border:1px solid var(--line,#2a2a2a);padding:1.25rem;display:grid;gap:.75rem;background:rgba(255,255,255,.02)}
  .aside-card p{color:var(--muted);font-size:.95rem}
  .aside-card .btn{text-align:center}
  .prose h2{scroll-margin-top:96px}
}
@media (min-width:1000px){.page-body .prose p,.page-body .prose li{max-width:74ch;font-size:1.05rem}}
/* birth flower month cards */
.month-list{display:grid;gap:1.25rem;margin:1.25rem 0 2rem}
.month{display:grid;grid-template-columns:104px 1fr;gap:1rem;align-items:start;scroll-margin-top:90px}
.month img{width:104px;height:auto;border-radius:10px;background:#fff;display:block}
.month h3{margin:.1rem 0 .4rem;font-size:1.15rem}
.month p{margin:.35rem 0}
@media (min-width:700px){.month{grid-template-columns:140px 1fr;gap:1.25rem}.month img{width:140px}}
#moreBtn[hidden]{display:none}
.inline-pair{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0 1.25rem;max-width:520px}
.inline-pair figure{margin:0}
.inline-pair img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
.inline-pair figcaption{font-size:.8rem;color:var(--muted);padding-top:.35rem}
.dm-card{display:grid;gap:.9rem;align-content:start;border:1px solid var(--line);background:var(--surface);padding:1.25rem;border-radius:4px}
.dm-card .dm-lead{margin:0;font-weight:500}
.dm-card ul{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}
.dm-card .btn{width:100%}
.dm-card .small{margin:0;color:var(--muted);font-size:var(--text-xs)}
@media (min-width:768px){.dm-card .btn{width:auto;justify-self:start}}
