/* Ronald Moy — ronaldmoybooks.com
   Warm, hand-painted picture-book look built with CSS only.
   Palette: paper, ink, terracotta, citrus, golden hour, sage, dusk blue. */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/fraunces-latin-var.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/nunito-latin-var.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:italic;font-weight:400 800;font-display:swap;src:url(/assets/fonts/nunito-latin-italic-var.woff2) format("woff2")}

:root{
  --paper:#fbf5ea; --paper-2:#f5ead7; --paper-3:#efdfc3;
  --ink:#3a2c24; --ink-soft:#6b5547; --line:#e3d2b6;
  --terracotta:#b5533a; --terracotta-dark:#94402b; --citrus:#e8963a; --gold:#f2c46d;
  --sage:#7f9d6b; --sage-soft:#dfe7d3; --dusk:#3e6fa8; --rose:#e3a7a0; --plum:#6e5a7e;
  --yt:#c4302b;
  /* Brand palette (Media Bot brand assets, Oct 7). Ochre is an accent only (rules, star, underline marks), never body text on cream. */
  --brown:#4A3426; --brown-soft:#70543E; --cream:#F8EFDA; --ochre:#C48E40; --ochre-light:#ECC074;
  --radius:22px 18px 24px 16px; --radius-sm:12px 10px 14px 9px;
  --shadow:0 1px 0 rgba(58,44,36,.06),0 10px 30px -12px rgba(94,62,36,.28);
  --shadow-lg:0 2px 0 rgba(58,44,36,.05),0 24px 50px -20px rgba(94,62,36,.4);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Nunito",ui-rounded,"Segoe UI",system-ui,-apple-system,sans-serif;
  --wrap:1120px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .15 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--ink);
  background-color:var(--paper);
  background-image:var(--grain),
    radial-gradient(1200px 500px at 85% -10%,rgba(242,196,109,.28),transparent 70%),
    radial-gradient(900px 600px at -10% 30%,rgba(227,167,160,.16),transparent 70%),
    radial-gradient(900px 700px at 110% 80%,rgba(127,157,107,.13),transparent 70%);
  background-attachment:scroll}
img,svg,video,iframe{max-width:100%;display:block}
img{height:auto}
a{color:var(--terracotta-dark);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:var(--terracotta)}
:focus-visible{outline:3px solid var(--dusk);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em;color:var(--ink);font-variation-settings:"SOFT" 100,"WONK" 0}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.2rem)}
h2{font-size:clamp(1.55rem,1.2rem + 1.5vw,2.2rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--ink);color:var(--paper);padding:.6rem 1rem;border-radius:8px;z-index:10}
.skip-link:focus{top:1rem;color:var(--paper)}

/* Header + nav: short and uncluttered */
.site-header{padding:1.1rem 0;position:relative;z-index:2}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand{flex-direction:column;align-items:flex-start;gap:.25rem}
.brand-logo{height:40px;width:auto;flex:none}
.brand--footer .brand-logo{height:34px}
@media (max-width:560px){.site-header .brand-logo{height:32px}}
.brand-name{font-family:var(--serif);font-weight:650;font-size:1.45rem;line-height:1;display:block}
.brand-tag{font-size:.8rem;color:var(--brown-soft);letter-spacing:.02em;display:block}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .3rem}
.site-nav a{display:block;padding:.45rem .8rem;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.97rem}
.site-nav a:hover{background:var(--paper-2);color:var(--ink)}
.site-nav a[aria-current="page"]{background:var(--paper-3);box-shadow:inset 0 -2px 0 var(--ochre)}

/* Buttons + badges */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--sans);font-weight:800;font-size:1rem;line-height:1.2;padding:.85rem 1.3rem;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-yt{background:var(--yt);color:#fff;box-shadow:0 8px 18px -8px rgba(196,48,43,.6)}
.btn-yt:hover{background:#a82722;color:#fff}
.btn-yt svg{width:1.3em;height:1.3em}
.btn-primary{background:var(--terracotta);color:#fff}
.btn-primary:hover{background:var(--terracotta-dark);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink-soft)}
.btn-ghost:hover{background:var(--paper-2);color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.status{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:800;letter-spacing:.02em;padding:.3rem .75rem;border-radius:999px;background:#f8e4b5;color:#4d3a1c;border:1px solid #ecd08f}
.status::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--citrus)}
.status--video{background:#f6dad6;border-color:#e9b9b2;color:#5a2620}
.status--video::before{background:var(--yt)}
.eyebrow{font-weight:800;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta-dark);margin:0 0 .6rem}
.working{font-size:.82rem;color:var(--ink-soft);font-style:italic}

/* Painted panels */
.panel{background:rgba(255,252,245,.82);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.25rem,1rem + 1.5vw,2rem);position:relative;background-image:var(--grain)}
.section{padding:clamp(2.5rem,2rem + 3vw,4.5rem) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.section-head h2{margin:0}
.lede{font-size:1.18rem;color:var(--ink-soft);max-width:62ch}
.wash-divider{height:28px;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 28' preserveAspectRatio='none'%3E%3Cpath d='M0 14 C150 2 300 26 450 14 S750 2 900 14 S1100 24 1200 12' stroke='%23e8c98f' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}

/* HERO — image slot 2400x1200 (2:1). CSS watercolor placeholder until art arrives. */
.hero{position:relative;overflow:hidden;padding:clamp(1.5rem,1rem + 3vw,3.5rem) 0 clamp(3rem,2rem + 4vw,5.5rem);isolation:isolate}
.hero-art{position:absolute;inset:0;z-index:-1;
  background:
   radial-gradient(260px 260px at 82% 22%,rgba(255,226,160,.9),rgba(255,226,160,0) 70%),
   radial-gradient(700px 380px at 15% 0%,rgba(185,201,204,.55),transparent 70%),
   radial-gradient(900px 500px at 70% 110%,rgba(242,196,109,.45),transparent 70%),
   linear-gradient(180deg,#f3ead9 0%,#f6e3c2 55%,#f2d5a8 100%)}
.hero-art img{width:100%;height:100%;object-fit:cover}
.hero-art svg.hero-scene{position:absolute;left:0;right:0;bottom:0;width:100%;height:46%;min-height:160px}
.hero-grid{display:grid;gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:center}
@media (min-width:900px){.hero-grid{grid-template-columns:1fr 1.15fr}}
.hero-brand{font-family:var(--serif);font-size:clamp(1.1rem,1rem + .5vw,1.35rem);font-weight:500;font-style:normal;color:var(--ink-soft);margin:0 0 .35rem;max-width:30ch}
.hero-brand{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);font-weight:600;color:var(--ink)}
.hero-brand .h1-sub{display:block;font-size:.58em;font-weight:500;color:var(--ink-soft);margin-top:.15rem}
.hero-tagline{font-family:var(--serif);font-size:clamp(1rem,.95rem + .3vw,1.15rem);color:var(--ink-soft);margin:0 0 1rem;max-width:34ch}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* HOME HERO BANNER: Media's textless 2400x1200 art. Mobile/tablet: text below the image. >=960px: H1 in the clear sky at top left
   (art x 60-440, y 60-520 of 2400x1200 = left 2.5-18.3%, top 5-43%) over a cream gradient; the kite (x ~28-33%) stays clear. */
.hero-banner{background:transparent}
.hero-banner-inner{position:relative;max-width:1600px;margin-inline:auto;container-type:inline-size}
.hero-pic img{width:100%;height:auto;aspect-ratio:2/1}
.hero-copy{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto;padding-top:1.4rem}
.hero-copy .hero-brand{color:var(--brown)}
.hero-copy .h1-sub,.hero-copy .hero-tagline{color:var(--brown-soft)}
.hero-tagline::before{content:"";display:block;width:2.4rem;height:3px;border-radius:2px;background:var(--ochre);margin:.55rem 0 .5rem}
.hero-copy .hero-tagline{margin-bottom:0}
@media (min-width:960px){
  .hero-banner-inner::before{content:"";position:absolute;left:0;top:0;width:26%;height:62%;z-index:1;pointer-events:none;
    background:linear-gradient(90deg,rgba(248,239,218,.95) 0%,rgba(248,239,218,.88) 62%,rgba(248,239,218,0) 100%);
    -webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
  .hero-copy{position:absolute;z-index:2;left:2.5cqw;top:2.5cqw;width:15.8cqw;margin:0;padding:0}
  .hero-copy .hero-brand{font-size:2.7cqw;max-width:none;margin:0}
  .hero-copy .h1-sub{font-size:max(15px,.46em);line-height:1.3;margin-top:.35rem}
  .hero-copy .hero-tagline{font-size:max(15px,1.1cqw);line-height:1.4;max-width:none}
}
.hero h2.book-title{font-size:clamp(2.1rem,1.5rem + 2.6vw,3.4rem);margin:.4rem 0 .6rem}
.hero .lead{font-size:1.15rem;max-width:44ch}
.hero-meta{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.2rem 0 .8rem}

/* Click-to-play YouTube facade (youtube-nocookie). 16:9 */
.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#2a2320;box-shadow:var(--shadow-lg);border:6px solid #fffaf0}
.video img,.video iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.6rem;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(30,20,15,.55));border:0;cursor:pointer;color:#fff;font:800 1rem var(--sans);padding:0;width:100%}
.video-play .play{width:76px;height:54px;border-radius:16px;background:var(--yt);display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.35);transition:transform .15s}
.video-play:hover .play,.video-play:focus-visible .play{transform:scale(1.08)}
.video-play .play svg{width:26px;height:26px;fill:#fff}
.video-play .label{position:absolute;left:1rem;right:1rem;bottom:.8rem;text-align:left;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.video-note{font-size:.85rem;color:var(--ink-soft);margin-top:.6rem}

/* Covers — image slot 1600x2400 (2:3). CSS/SVG placeholder art + real text overlay. */
.cover{position:relative;aspect-ratio:2/3;border-radius:6px 14px 14px 6px;overflow:hidden;background:var(--paper-3);box-shadow:var(--shadow-lg);container-type:inline-size;isolation:isolate}
.cover::before{content:"";position:absolute;inset:0 auto 0 0;width:5%;background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(255,255,255,.12) 60%,rgba(0,0,0,0));z-index:2}
.cover > img,.cover > picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:9cqw 9cqw 7cqw 11cqw;z-index:1}
.cover-title{font-family:var(--serif);font-weight:650;font-size:1.25rem;font-size:10.5cqw;line-height:1.05;letter-spacing:-.01em;color:var(--ink);text-wrap:balance;font-variation-settings:"SOFT" 100}
.cover-author{font-family:var(--sans);font-weight:800;font-size:.7rem;font-size:5cqw;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.cover--light .cover-title,.cover--light .cover-author{color:#fbf1d8;text-shadow:0 1px 8px rgba(20,16,40,.35)}
.cover.has-art .cover-text{display:none} /* when final cover art (with type) is supplied */

/* Book grids */
.book-grid{display:grid;gap:clamp(1.25rem,1rem + 1.5vw,2.25rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));list-style:none;padding:0;margin:0}
.book-row{display:grid;gap:1.1rem;grid-auto-flow:column;grid-auto-columns:42%;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 1rem;margin:0;list-style:none;overscroll-behavior-x:contain}
.book-row>li{scroll-snap-align:start}
@media (min-width:720px){.book-row{grid-auto-flow:row;grid-template-columns:repeat(5,1fr);overflow:visible;padding:0}}
.book-card{display:flex;flex-direction:column;gap:.7rem}
.book-card a.cover-link{display:block;border-radius:6px 14px 14px 6px;transition:transform .2s ease}
.book-card a.cover-link:hover{transform:translateY(-4px) rotate(-.6deg)}
.book-card h2,.book-card h3{font-size:1.12rem;margin:.2rem 0 0}
.book-card :is(h2,h3) a{color:var(--ink);text-decoration:none}
.book-card :is(h2,h3) a:hover{text-decoration:underline}
.book-card p{margin:0;color:var(--ink-soft);font-size:.97rem}
.book-card .more{font-weight:800;margin-top:auto}
.book-row .book-card h3{font-size:1rem}

/* Home: bio + YouTube boxes directly below the hero */
.duo{display:grid;gap:1.5rem;margin-top:calc(-1 * clamp(1.5rem,1rem + 2vw,3rem));position:relative;z-index:1}
@media (min-width:860px){.duo{grid-template-columns:1.25fr 1fr}}
.bio-box{display:grid;grid-template-columns:minmax(110px,170px) 1fr;gap:1.25rem;align-items:center}
@media (max-width:480px){.bio-box{grid-template-columns:96px 1fr;gap:1rem;align-items:start}}
.bio-box h2{font-size:1.5rem;margin-bottom:.4rem}
.photo{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--paper-3);box-shadow:var(--shadow);border:5px solid #fffaf0;aspect-ratio:4/5}
.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.yt-box{background:linear-gradient(160deg,#fff7ea,#fbe9d4);display:flex;flex-direction:column;justify-content:center}
.yt-box h2{font-size:1.5rem}
.yt-box .btn-row{margin-top:.6rem}

/* Series band + connect */
.series-band{display:grid;gap:2rem;align-items:center}
@media (min-width:860px){.series-band{grid-template-columns:1fr 1fr}}
.north-star{font-family:var(--serif);font-size:clamp(1.6rem,1.2rem + 1.8vw,2.5rem);line-height:1.15;color:var(--terracotta-dark);margin:0}
.connect{background:linear-gradient(120deg,#3b4a72,#6e5a7e);color:#fbf1d8;border-radius:var(--radius);padding:clamp(1.5rem,1rem + 2vw,2.5rem);display:grid;gap:1.25rem;align-items:center;box-shadow:var(--shadow-lg);background-image:var(--grain),linear-gradient(120deg,#3b4a72,#6e5a7e)}
@media (min-width:860px){.connect{grid-template-columns:1fr auto}}
.connect h2{color:#fff;margin-bottom:.3rem}
.connect p{margin:0;color:#efe3cc}
.connect .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.connect .btn-ghost:hover{background:rgba(255,255,255,.12)}

/* Book page */
.breadcrumb{font-size:.9rem;margin:0 0 1.2rem;color:var(--ink-soft)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}
.breadcrumb li+li::before{content:"›";margin-right:.4rem;color:var(--ink-soft)}
.book-layout{display:grid;gap:clamp(1.5rem,1rem + 3vw,3.5rem);align-items:start}
@media (min-width:860px){.book-layout{grid-template-columns:minmax(260px,380px) 1fr}}
.book-aside{position:relative}
@media (min-width:860px){.book-aside{position:sticky;top:1.5rem}}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;margin:1.4rem 0 0;font-size:.97rem}
.facts dt{font-weight:800;color:var(--ink-soft)}
.facts dd{margin:0}
.book-main .lead{font-family:var(--serif);font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);line-height:1.4;color:var(--ink);font-weight:450}
.enjoy{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.enjoy li{padding-left:2rem;position:relative}
.enjoy li::before{content:"";position:absolute;left:0;top:.35em;width:1.1rem;height:1.1rem;border-radius:50% 45% 55% 50%;background:radial-gradient(circle at 35% 35%,#ffd59a,var(--citrus))}
.characters{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));margin:0}
.characters div{background:var(--paper-2);border-radius:var(--radius-sm);padding:.8rem 1rem;border:1px solid var(--line)}
.characters dt{font-family:var(--serif);font-weight:650;font-size:1.08rem}
.characters dd{margin:.2rem 0 0;color:var(--ink-soft);font-size:.96rem}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}
.tags li{font-size:.85rem;font-weight:700;padding:.25rem .7rem;border-radius:999px;background:var(--sage-soft);color:#34472a}
.question{background:linear-gradient(150deg,#fff6e3,#fbe6cf);border-left:6px solid var(--gold);border-radius:var(--radius-sm);padding:1.2rem 1.4rem;font-family:var(--serif);font-size:1.25rem;line-height:1.35;margin:0}
.question small{display:block;font-family:var(--sans);font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta-dark);margin-bottom:.4rem}
.book-main > section{margin-top:2.2rem}
.book-main h2{font-size:1.45rem}
.pager{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.5rem;border-top:2px dashed var(--line)}
.pager a{font-weight:800;text-decoration:none}

/* Illustration slot — 2400x1200 (2:1) interior spread placeholder */
.slot{aspect-ratio:2/1;border-radius:var(--radius);border:2px dashed #d8bf97;display:grid;place-items:center;text-align:center;color:var(--ink-soft);font-size:.9rem;padding:1rem;background:var(--grain),radial-gradient(60% 80% at 30% 40%,rgba(242,196,109,.35),transparent),radial-gradient(50% 70% at 75% 60%,rgba(127,157,107,.25),transparent),var(--paper-2)}

/* About */
.about-hero{display:grid;gap:2rem;align-items:center}
@media (min-width:860px){.about-hero{grid-template-columns:minmax(240px,360px) 1fr}}
.story-points{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.story-points h3{color:var(--terracotta-dark)}
.photo-pair{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.split{display:grid;gap:2rem;align-items:center}
@media (min-width:860px){.split{grid-template-columns:1fr 1fr}}

/* Parents */
.q-list{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.q-card{display:grid;grid-template-columns:72px 1fr;gap:1rem;align-items:start;scroll-margin-top:1rem}
.q-card ol{margin:.4rem 0 .6rem;padding-left:1.2rem}
.q-card ol li{margin-bottom:.35rem}
.q-card li:first-child{font-weight:700}
.tips{display:grid;gap:.8rem;padding-left:1.2rem}

/* Forms (signup + contact): UI only, not wired to any service */
.form{display:grid;gap:.9rem}
.form-row{display:grid;gap:.9rem}
@media (min-width:600px){.form-row{grid-template-columns:1fr 1fr}}
label{font-weight:800;font-size:.93rem;display:block;margin-bottom:.3rem}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:#fffdf8;border:2px solid var(--line);border-radius:12px;padding:.7rem .85rem}
input:focus,select:focus,textarea:focus{border-color:var(--dusk);outline:none;box-shadow:0 0 0 3px rgba(62,111,168,.2)}
textarea{min-height:150px;resize:vertical}
.form-note{font-size:.85rem;color:var(--ink-soft);margin:0}
.form-status{font-weight:700;margin:0}
.form-status:empty{display:none}
.form-status{background:#f6efe0;border-radius:10px;padding:.7rem .9rem;border-left:4px solid var(--citrus)}
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}

/* Footer */
.site-footer{margin-top:4rem;padding:2.5rem 0 2rem;background:var(--paper-2);border-top:3px solid var(--ochre);font-size:.95rem;background-image:var(--grain)}
.footer-grid{display:grid;gap:1.5rem}
@media (min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer h2{font-size:1rem;font-family:var(--sans);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.6rem}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
.site-footer a{color:var(--ink);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-note{color:var(--ink-soft);font-size:.88rem}
.footer-legal{margin-top:1.8rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;justify-content:space-between;color:var(--ink-soft);font-size:.85rem}
.footer-legal ul{display:flex;gap:1rem}

.prose{max-width:68ch}
.notice{background:#fff4dc;border:1px dashed #e0b660;border-radius:12px;padding:1rem 1.2rem}

/* ---------- Nav: one row at desktop; accessible disclosure menu on small screens ---------- */
.site-nav a{padding:.45rem .7rem;font-size:.95rem;white-space:nowrap}
.site-nav ul{flex-wrap:nowrap}
.nav-toggle{display:none;align-items:center;gap:.55rem;font:800 .95rem var(--sans);color:var(--ink);background:var(--paper-2);border:2px solid var(--line);border-radius:999px;padding:.5rem .95rem;cursor:pointer}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}
.nav-toggle-bars::before{top:-6px}.nav-toggle-bars::after{top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:940px){
  .site-nav ul{flex-wrap:wrap}
  .js .nav-toggle{display:inline-flex}
  .js .site-nav{flex-basis:100%;display:none}
  .js .site-nav.is-open{display:block}
  .js .site-nav ul{flex-direction:column;gap:.15rem;padding:.6rem;background:rgba(255,252,245,.96);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow)}
  .js .site-nav a{padding:.75rem 1rem;font-size:1.05rem}
}

/* ---------- Blog ---------- */
.post-grid{list-style:none;padding:0;margin:0;display:grid;gap:clamp(1.25rem,1rem + 1.5vw,2rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.post-card{display:flex;flex-direction:column;gap:.5rem}
.post-card h2,.post-card h3{font-size:1.25rem;margin:0}
.post-card h2 a,.post-card h3 a{color:var(--ink);text-decoration:none}
.post-card h2 a:hover,.post-card h3 a:hover{text-decoration:underline}
.post-card p{margin:0;color:var(--ink-soft)}
/* Post cover slot = 1200x630 (1.91:1), the same ratio as og:image, so nothing is cropped */
.post-cover,.post-hero{aspect-ratio:1200/630;border-radius:var(--radius);overflow:hidden;background:var(--paper-3);box-shadow:var(--shadow)}
.post-cover img,.post-hero img{width:100%;height:100%;object-fit:cover}
.post-cover--empty{background:var(--grain),radial-gradient(60% 90% at 25% 40%,rgba(242,196,109,.5),transparent),radial-gradient(50% 80% at 80% 70%,rgba(127,157,107,.35),transparent),var(--paper-2)}
.post-meta{font-size:.9rem;color:var(--ink-soft);margin:0}
.post{max-width:760px;margin-inline:auto}
.post-header h1{margin-bottom:.4rem}
.post-hero{margin:1.5rem 0}
.post-body{font-size:1.1rem;margin-top:1.5rem}
.post-body h2{font-size:1.5rem;margin-top:1.8em}
.post-body blockquote{margin:1.5rem 0;padding:.8rem 1.2rem;border-left:5px solid var(--gold);background:var(--paper-2);border-radius:var(--radius-sm)}
.post-body img{border-radius:var(--radius-sm)}
.related{max-width:760px;margin:3rem auto 0}
.related-grid{grid-template-columns:repeat(auto-fill,minmax(180px,220px))}
.cat-nav{margin-top:1rem}
.cat-nav a{text-decoration:none;color:inherit}
.cat-nav a[aria-current="page"]{text-decoration:underline}
.empty-state{text-align:center;padding:clamp(2rem,1.5rem + 3vw,4rem) 1.5rem;max-width:720px;margin:1rem auto}
.empty-state .btn-row{justify-content:center}
.empty-inline{color:var(--ink-soft);font-style:italic;background:var(--paper-2);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:1rem 1.2rem;margin:0}

/* ---------- Press ---------- */
.jump{margin-top:1rem}.jump a{text-decoration:none;color:inherit}
.press-grid{display:grid;gap:1.25rem;align-items:start}
@media (min-width:860px){.press-grid{grid-template-columns:1fr 1.4fr}}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.4rem}
.panel-head h3{margin:0}
.btn-sm{padding:.45rem .9rem;font-size:.88rem}
.copy-btn{display:none}
.js .copy-btn{display:inline-flex}
.copy-status{font-size:.85rem;font-weight:700;color:var(--sage);margin:0;min-height:1.2em}
.press-photos{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.press-photos{grid-template-columns:repeat(3,1fr)}}
.press-photo{display:flex;flex-direction:column;gap:.5rem}
.press-photo .download{font-weight:800;font-size:.92rem}
.slot--logo{aspect-ratio:4/1;max-width:520px}
.press-logo{max-width:420px}
.split--top{align-items:start}
.facts--sheet{margin-top:0;font-size:1rem}
.coverage{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.coverage-item h3{margin:.3rem 0}
.outlet-logo{max-height:36px;width:auto;margin-bottom:.5rem}
.cov-type{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.release-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.release-list time{font-size:.9rem;color:var(--ink-soft);display:block}
.release-list a{font-family:var(--serif);font-size:1.2rem;font-weight:600}
.release-list p{margin:.2rem 0 0;color:var(--ink-soft)}
.breadcrumb [aria-current="page"]{color:var(--ink)}
