/* =========================================================================
   RP Monk · The Adventures of Robert, Bob, Rob, Ropp, Lobaato & Robby
   Visual system drawn from the Book One cover: midnight sky, sunset band,
   lagoon turquoise, lantern gold, fine gold rules either side of the title.
   ========================================================================= */

/* ---------- Fonts (self-hosted, latin subset, OFL) ---------- */
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/cinzel-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/eb-garamond-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 700;font-display:swap;src:url('../fonts/eb-garamond-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/hanken-grotesk-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokens ---------- */
:root{
  /* Night & ocean: the premium foundation */
  --c-ink:#070b16;
  --c-night:#0a1428;
  --c-midnight:#0d1b34;
  --c-navy:#12284b;
  --c-ocean:#15456a;
  --c-deep:#0c2638;
  --c-lagoon:#2aa6a1;
  --c-lagoon-2:#72d2c8;
  /* Sunset: energy, used sparingly */
  --c-ember:#b8471f;
  --c-sunset:#e2682f;
  --c-amber:#f2a33a;
  /* Lantern gold: accents, rules, buttons */
  --c-gold:#d9b46a;
  --c-gold-2:#ecd39b;
  --c-gold-deep:#b58d43;
  --c-gold-ink:#7a5a1d;   /* gold for text on paper (AA) */
  /* Paper */
  --c-paper:#f4eee2;
  --c-paper-2:#ebe2cf;
  --c-page:#fbf7ee;
  --c-text:#1a2030;
  --c-text-2:#4f5667;
  --c-light:#f3efe6;
  --c-light-2:rgba(243,239,230,.74);
  --c-light-3:rgba(243,239,230,.52);
  --c-line-dark:rgba(217,180,106,.22);
  --c-line-paper:rgba(26,32,48,.14);

  --f-caps:'Cinzel','Trajan Pro',Georgia,serif;
  --f-serif:'EB Garamond',Garamond,'Iowan Old Style','Times New Roman',serif;
  --f-sans:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  --container:1240px;
  --gutter:clamp(1.1rem,4vw,2.5rem);
  --section:clamp(4.5rem,10vw,8.5rem);
  --radius:2px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --header-h:78px;

  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}
body{margin:0;background:var(--c-night);color:var(--c-light);font:400 1.0625rem/1.7 var(--f-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,picture,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.1}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0}
::selection{background:var(--c-gold);color:var(--c-ink)}
:focus-visible{outline:2px solid var(--c-gold-2);outline-offset:3px;border-radius:1px}
.section--paper :focus-visible,.section--sand :focus-visible{outline-color:var(--c-ember)}
main:focus{outline:none}

.skip-link{position:absolute;left:1rem;top:-100px;z-index:200;background:var(--c-gold);color:var(--c-ink);padding:.7rem 1rem;font-weight:600;text-decoration:none}
.skip-link:focus{top:1rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nowrap{white-space:nowrap}

.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- Section tones ---------- */
.section--paper{background:var(--c-paper);color:var(--c-text);position:relative;isolation:isolate}
.section--paper::before,.section--sand::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.05;pointer-events:none;z-index:-1}
.section--sand{background:var(--c-paper-2);color:var(--c-text);position:relative;isolation:isolate}
.section--night{background:var(--c-night);color:var(--c-light);position:relative;isolation:isolate}
.section--deep{background:linear-gradient(180deg,var(--c-deep),#0a1d2f);color:var(--c-light);position:relative;isolation:isolate}
.section--ocean{background:radial-gradient(120% 80% at 70% 10%,#123d5c 0%,#0b2440 45%,var(--c-night) 100%);color:var(--c-light);position:relative;isolation:isolate}

.grain{position:absolute;inset:0;background-image:var(--grain);opacity:.07;mix-blend-mode:overlay;pointer-events:none}

/* ---------- Type helpers ---------- */
.eyebrow{display:flex;align-items:center;gap:.8rem;margin:0 0 1.2rem;font:600 .74rem/1.2 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--c-gold-ink)}
.eyebrow--light,.section--night .eyebrow,.section--ocean .eyebrow,.section--deep .eyebrow{color:var(--c-gold)}
.rule-dot{position:relative;display:inline-block;width:2.4rem;height:1px;background:currentColor;opacity:.8}
.rule-dot::after{content:"";position:absolute;right:-3px;top:-2px;width:5px;height:5px;border-radius:50%;background:currentColor}

.section-head{max-width:46rem;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.section-head--split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem);align-items:end;max-width:none}
.section-title{font:500 clamp(2.2rem,4.6vw,3.8rem)/1.04 var(--f-serif);letter-spacing:-.01em;text-wrap:balance}
.section-lede{margin-top:1.2rem;font:400 clamp(1.1rem,1.6vw,1.28rem)/1.6 var(--f-serif);color:var(--c-text-2);max-width:38rem}
.section-head--light .section-lede,.section--night .section-lede,.section--ocean .section-lede,.section--deep .section-lede{color:var(--c-light-2)}
.section-head--split .section-lede{margin:0}

.prose{font-size:1.08rem;line-height:1.78;max-width:40rem}
.prose p{margin-bottom:1.15em}
.prose h2{font:500 clamp(1.7rem,3vw,2.3rem)/1.15 var(--f-serif);margin:2.4rem 0 1rem}
.prose h3{font:500 1.45rem/1.2 var(--f-serif);margin:2rem 0 .7rem}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.prose a{color:var(--c-ember)}
.section--night .prose a,.section--deep .prose a{color:var(--c-gold-2)}
.prose blockquote{margin:1.8rem 0;padding-left:1.4rem;border-left:1px solid var(--c-gold-deep);font:italic 400 1.35rem/1.5 var(--f-serif)}
.prose hr{border:0;height:1px;background:var(--c-line-paper);margin:2.4rem 0}
.prose--intro{font-size:1.12rem}

.has-dropcap::first-letter{float:left;font:500 4.35em/.82 var(--f-serif);margin:.08em .09em 0 -.02em;color:var(--c-ember)}
.section--night .has-dropcap::first-letter,.section--deep .has-dropcap::first-letter{color:var(--c-gold)}

.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font:600 .78rem/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--c-text);padding:.6rem 0;border-bottom:1px solid currentColor}
.link-arrow .icon{width:1.05rem;height:1.05rem;transition:transform .35s var(--ease)}
.link-arrow:hover .icon{transform:translateX(4px)}
.link-arrow--light{color:var(--c-gold-2)}

.icon{width:1.1em;height:1.1em;flex:none}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.65rem;border:1px solid transparent;border-radius:var(--radius);font:600 .78rem/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-color .35s,color .35s,border-color .35s;white-space:nowrap}
.btn .icon{width:1rem;height:1rem}
.btn--gold{background:linear-gradient(180deg,#efd08f 0%,#d9b46a 55%,#c89d4f 100%);color:#10131c;border-color:#e7c77f;box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 10px 30px -12px rgba(242,163,58,.55)}
.btn--gold::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn--gold:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 16px 36px -14px rgba(242,163,58,.75)}
.btn--gold:hover::after{transform:translateX(120%)}
.btn--line{background:transparent;color:var(--c-light);border-color:rgba(217,180,106,.55)}
.btn--line:hover{border-color:var(--c-gold-2);background:rgba(217,180,106,.08);color:#fff}
.btn--navy{background:var(--c-navy);color:var(--c-paper);border-color:var(--c-navy)}
.btn--navy:hover{background:#0b1a33;transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--c-light-3);border:1px dashed rgba(217,180,106,.35);cursor:default}
.section--paper .btn--ghost{color:var(--c-text-2);border-color:rgba(26,32,48,.25)}
.btn--lg{padding:1.2rem 2.1rem;font-size:.82rem}
.btn--sm{padding:.72rem 1.1rem;font-size:.7rem}
.btn--block{width:100%}
.btn.is-disabled{pointer-events:none}
.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:2rem}

/* ---------- Header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background-color .4s,box-shadow .4s,transform .4s var(--ease)}
.site-header__inner{display:flex;align-items:center;gap:1.8rem;height:var(--header-h);max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.site-header.is-scrolled{background:rgba(8,15,31,.88);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:0 1px 0 var(--c-line-dark)}
.brand{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;margin-right:auto;line-height:1}
.brand__mark{font:600 1.08rem/1 var(--f-caps);letter-spacing:.3em;text-transform:uppercase;color:var(--c-gold-2)}
.brand__sub{font:italic 400 .86rem/1 var(--f-serif);color:var(--c-light-3);letter-spacing:.01em}
.site-nav__list{display:flex;gap:1.7rem;list-style:none}
.site-nav a{position:relative;display:block;padding:.5rem 0;font:500 .8rem/1 var(--f-sans);letter-spacing:.08em;color:var(--c-light-2);text-decoration:none;transition:color .3s}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--c-gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#fff}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}
.btn--header{padding:.82rem 1.25rem;font-size:.72rem}
.nav-toggle{display:none;align-items:center;gap:.55rem;background:none;border:1px solid rgba(217,180,106,.4);border-radius:var(--radius);padding:.6rem .8rem;cursor:pointer;color:var(--c-light)}
.nav-toggle__label{font:600 .7rem/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase}
.nav-toggle__close{display:none}
.nav-open .nav-toggle__open{display:none}
.nav-open .nav-toggle__close{display:block}

.mobile-nav{position:fixed;inset:0;z-index:-1;display:none;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 1.5rem) var(--gutter) 2rem;background:radial-gradient(90% 60% at 80% 100%,rgba(226,104,47,.28),transparent 60%),var(--c-night);overflow-y:auto}
.mobile-nav::before{content:"";position:absolute;inset:0;background:url('../images/map/journey-land.svg') center 30%/140% auto no-repeat;opacity:.12;pointer-events:none}
.nav-open .mobile-nav{display:flex}
.mobile-nav__list{list-style:none;position:relative}
.mobile-nav__list a{display:flex;align-items:baseline;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--c-line-dark);font:500 clamp(1.8rem,7vw,2.4rem)/1.1 var(--f-serif);text-decoration:none;color:var(--c-light)}
.mobile-nav__list a[aria-current="page"]{color:var(--c-gold-2)}
.mobile-nav__num{font:500 .72rem/1 var(--f-caps);color:var(--c-gold);letter-spacing:.1em;min-width:1.6rem}
.mobile-nav__buy{position:relative;display:flex;align-items:center;gap:1.2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--c-line-dark)}
.mobile-nav__cover{width:70px;flex:none;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.mobile-nav__buy .eyebrow{margin-bottom:.8rem}
.nav-open{overflow:hidden}
.nav-open .site-header{background:var(--c-night)}

/* ---------- Horizon divider (sun on the horizon) ---------- */
.horizon-rule{position:relative;height:1px;background:linear-gradient(90deg,transparent,rgba(217,180,106,.55) 20%,rgba(217,180,106,.55) 80%,transparent)}
.horizon-rule span{position:absolute;left:50%;top:-9px;width:18px;height:9px;transform:translateX(-50%);border-radius:18px 18px 0 0;background:radial-gradient(circle at 50% 100%,#ffd58a,var(--c-sunset) 70%);box-shadow:0 -4px 18px rgba(242,163,58,.55)}
.horizon-rule--bottom{position:absolute;left:0;right:0;bottom:0}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{position:relative;min-height:clamp(640px,100svh,980px);padding:calc(var(--header-h) + clamp(1.5rem,4vw,3rem)) 0 clamp(3rem,7vw,5rem);display:flex;align-items:center;overflow:hidden;isolation:isolate;background:var(--c-night)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"copy book" "pitch book";column-gap:clamp(2rem,5vw,5rem);align-items:center;width:100%}
.hero__copy{grid-area:copy;align-self:end}
.hero__book{grid-area:book;display:flex;justify-content:center;position:relative}
.hero__book::after{content:"";position:absolute;left:50%;bottom:4%;width:120%;height:22%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,196,110,.35),transparent);filter:blur(10px);z-index:-1}
.hero__pitch{grid-area:pitch;align-self:start;margin-top:1.6rem}
.hero__kicker{display:flex;flex-wrap:wrap;gap:.2rem 0;margin:0 0 1.6rem;font:600 .72rem/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--c-gold-2)}
.hero__kicker span+span::before{content:"";display:inline-block;width:4px;height:4px;margin:0 .9rem .15em;border-radius:50%;background:var(--c-gold);vertical-align:middle}
.hero__title{display:block}
.hero__title-pre{display:flex;align-items:center;gap:1rem;margin-bottom:.9rem;font:500 clamp(.95rem,1.5vw,1.2rem)/1 var(--f-caps);letter-spacing:.26em;text-transform:uppercase;color:var(--c-gold)}
.hero__title-pre::after{content:"";flex:1;max-width:9rem;height:1px;background:linear-gradient(90deg,var(--c-gold),transparent)}
.hero__title-names{display:block;font:500 clamp(2.15rem,4.9vw,4.35rem)/1 var(--f-serif);letter-spacing:.005em;text-transform:uppercase;color:#fbf6ea;text-shadow:0 2px 30px rgba(6,13,30,.6)}
.hero__l1,.hero__l2{display:block;white-space:nowrap}
.hero__l2{font-size:.745em;margin-top:.12em}
.hero__by{display:flex;align-items:center;gap:.9rem;margin:1.5rem 0 0;font:italic 400 1.2rem/1 var(--f-serif);color:var(--c-light-2)}
.hero__by strong{font:600 1rem/1 var(--f-caps);letter-spacing:.24em;font-style:normal;color:#fff;text-transform:uppercase}
.hero__by-rule{width:2.6rem;height:1px;background:var(--c-gold)}
.hero__lede{font:italic 400 clamp(1.35rem,2.1vw,1.72rem)/1.38 var(--f-serif);color:var(--c-gold-2);max-width:31rem;margin-bottom:1rem}
.hero__support{color:var(--c-light-2);max-width:34rem;font-size:1.02rem}
.hero .btn-row{margin-top:1.8rem}
.hero .btn--line .icon{transition:transform .35s var(--ease)}
.hero .btn--line:hover .icon{transform:translateY(3px)}

/* =========================================================================
   SCENE: the cover, redrawn as a living backdrop (vector + CSS, no photos)
   ========================================================================= */
.scene{--hz:72%;--sun-x:74%;--gd:clamp(900px,75vw,1500px);--gx:78%;--gb:32%;position:absolute;inset:0;z-index:-1;overflow:hidden;background:#040a1a;pointer-events:none}
.scene--page{--hz:86%;--sun-x:80%;--gd:clamp(800px,62vw,1250px);--gx:80%;--gb:42%}
.scene>*{position:absolute}
.scene svg{display:block}
.scene__sky{inset:0;background:
  radial-gradient(85% 60% at var(--sun-x) var(--hz),rgba(255,176,96,.6),rgba(226,104,47,.25) 38%,transparent 68%),
  linear-gradient(180deg,#030817 0%,#061229 calc(var(--hz) * .28),#0e1f45 calc(var(--hz) * .52),#2e2a58 calc(var(--hz) * .7),#7a3c5a calc(var(--hz) * .83),#cf5f3a calc(var(--hz) * .93),#ffae58 calc(var(--hz) - .7%),#ffdc92 var(--hz),#0d2c44 var(--hz))}
.scene__stars{left:0;top:0;width:100%;height:calc(var(--hz) * .92);-webkit-mask:linear-gradient(180deg,#000 45%,transparent);mask:linear-gradient(180deg,#000 45%,transparent);will-change:opacity}
.scene__stars--a{animation:starsA 6s ease-in-out infinite alternate}
.scene__stars--b{animation:starsB 4.5s ease-in-out infinite alternate}
.scene__globe{width:var(--gd);aspect-ratio:1;left:calc(var(--gx) - var(--gd) / 2);top:calc(var(--gb) - var(--gd))}
.scene__globe-surface{position:absolute;inset:0;width:100%;height:100%;will-change:transform;animation:globeSway 80s ease-in-out infinite alternate}
.scene__globe-rim{position:absolute;left:-6%;top:-6%;width:112%;height:112%}
.scene__clouds{left:0;width:100%;top:calc(var(--hz) - 30%);height:30%}
.scene__sun{left:var(--sun-x);top:var(--hz);width:min(1500px,115vw);aspect-ratio:2.1;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,240,200,.95),rgba(255,200,115,.72) 12%,rgba(246,138,64,.38) 34%,rgba(226,104,47,.14) 58%,transparent 80%);mix-blend-mode:screen;will-change:opacity;animation:sunBreath 9s ease-in-out infinite}
.scene__disc{left:var(--sun-x);top:var(--hz);width:clamp(54px,5.6vw,92px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-56%);background:radial-gradient(circle,#fffdf0 0 42%,#ffe7a4 62%,rgba(255,205,120,0) 72%);box-shadow:0 0 70px 24px rgba(255,196,110,.55)}
.scene__sea{left:0;right:0;top:var(--hz);bottom:0;overflow:hidden;background:radial-gradient(55% 70% at var(--sun-x) 0%,rgba(255,172,92,.5),rgba(226,104,47,.12) 45%,transparent 72%),linear-gradient(180deg,#2d5d78 0%,#17425e 7%,#0b2c45 36%,#051524 100%)}
.scene__sea::before{content:"";position:absolute;left:0;right:0;top:-16px;height:calc(100% + 32px);background:repeating-linear-gradient(180deg,rgba(170,220,240,.1) 0 1px,transparent 1px 8px);will-change:transform;animation:seaDrift 4s linear infinite}
.scene__sea::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(255,214,150,.35) 16%,#fff2c8 var(--sun-x),rgba(255,214,150,.3) 97%,transparent 100%)}
.scene__glitter{left:var(--sun-x);top:var(--hz);bottom:0;width:clamp(150px,22vw,360px);transform:translateX(-50%);overflow:hidden;background:linear-gradient(180deg,rgba(255,196,112,.55),rgba(255,160,80,.22) 40%,rgba(255,150,70,.06));clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);-webkit-mask:linear-gradient(180deg,#000,rgba(0,0,0,.7) 45%,transparent);mask:linear-gradient(180deg,#000,rgba(0,0,0,.7) 45%,transparent)}
.scene__glitter::before{content:"";position:absolute;left:0;right:0;top:-12px;bottom:-12px;background:repeating-linear-gradient(180deg,transparent 0 5px,#ffe6ad 5px 6.5px,transparent 6.5px 12px);will-change:transform;animation:glitterDown 1.9s linear infinite}
.scene__glitter::after{content:"";position:absolute;top:0;bottom:0;left:-40px;right:-40px;background:repeating-linear-gradient(90deg,rgba(9,30,48,.9) 0 6px,transparent 6px 20px,rgba(9,30,48,.7) 20px 23px,transparent 23px 37px);will-change:transform;animation:glitterSide 3.4s linear infinite}
.scene__island{left:-1%;top:var(--hz);width:clamp(160px,17vw,320px);aspect-ratio:400/130;transform:translateY(-97%)}
.scene__villas{right:-1%;top:var(--hz);width:clamp(210px,27vw,470px);aspect-ratio:520/170;transform:translateY(-73%)}
.scene__jetty{left:var(--sun-x);top:calc(var(--hz) + 1px);bottom:0;width:min(1500px,130vw);transform:translateX(-50%)}
.scene__jetty svg{position:absolute;inset:0;width:100%;height:100%}
.lamp{position:absolute;transform:translate(-50%,-100%);border-radius:2px;background:linear-gradient(180deg,#fff4cf,#ffc566);box-shadow:0 0 calc(6px + var(--t) * 22px) calc(2px + var(--t) * 6px) rgba(255,190,100,.75),0 0 calc(20px + var(--t) * 70px) calc(4px + var(--t) * 22px) rgba(242,163,58,.35);will-change:opacity;animation:lantern 5s ease-in-out infinite}
.scene__veil{inset:0;background:linear-gradient(180deg,rgba(3,8,20,.8) 0,rgba(3,8,20,.4) 70px,transparent 150px),linear-gradient(90deg,rgba(3,8,20,.74) 0%,rgba(3,8,20,.5) 30%,rgba(3,8,20,.12) 52%,transparent 62%)}
.scene--page .scene__veil{background:linear-gradient(180deg,rgba(3,8,20,.8) 0,rgba(3,8,20,.4) 70px,transparent 150px),linear-gradient(90deg,rgba(3,8,20,.72) 0%,rgba(3,8,20,.42) 42%,transparent 72%)}
.scene .grain{z-index:1}
.scene--flip{--gx:20%;--sun-x:24%}
.scene--flip .scene__island{left:auto;right:-1%}
.scene--flip .scene__villas{right:auto;left:-1%}
.scene--flip .scene__veil{background:linear-gradient(180deg,rgba(3,8,20,.8) 0,rgba(3,8,20,.4) 70px,transparent 150px),linear-gradient(270deg,rgba(3,8,20,.82) 0%,rgba(3,8,20,.55) 45%,transparent 75%)}
@keyframes starsA{from{opacity:.5}to{opacity:1}}
@keyframes starsB{from{opacity:1}to{opacity:.35}}
@keyframes globeSway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@keyframes seaDrift{to{transform:translateY(16px)}}
@keyframes glitterDown{to{transform:translateY(12px)}}
@keyframes glitterSide{to{transform:translateX(37px)}}

/* =========================================================================
   3D BOOK (built from the unaltered front cover)
   ========================================================================= */
.book3d{--w:300px;--d:calc(var(--w) * .1);--ry:-24deg;--rx:5deg;--sheen:-40%;position:relative;width:calc(var(--w) + var(--d) * 1.2);perspective:1900px;perspective-origin:50% 40%;padding-bottom:calc(var(--w) * .1)}
.book3d--xl{--w:clamp(205px,24vw,340px)}
.book3d--lg{--w:clamp(190px,21vw,290px)}
.book3d--md{--w:clamp(170px,18vw,230px)}
.book3d--sm{--w:clamp(96px,10vw,128px)}
.book3d--paperback{--d:calc(var(--w) * .058)}
.book3d--spine{--ry:26deg}
.book3d__stage{transform-style:preserve-3d}
.book3d--float .book3d__stage{animation:floaty 7.5s ease-in-out infinite}
.book3d__book{position:relative;width:var(--w);aspect-ratio:764/1188;margin-inline:auto;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .9s var(--ease)}
.book3d__front,.book3d__back{position:absolute;inset:0;backface-visibility:hidden}
.book3d__front{transform:translateZ(calc(var(--d) / 2));border-radius:1px 3px 3px 1px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset;background:linear-gradient(180deg,#0b1a3c 0%,#15305e 32%,#d56a33 56%,#f1a54b 62%,#1b4e63 70%,#3a2a22 86%,#241a14 100%)}
.book3d__front picture,.book3d__front img{width:100%;height:100%}
.book3d__front img{object-fit:cover}
.book3d__hinge{position:absolute;inset:0 auto 0 0;width:5.2%;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(255,255,255,.16) 38%,rgba(0,0,0,.28) 62%,rgba(0,0,0,.04));mix-blend-mode:multiply}
.book3d--paperback .book3d__hinge{width:3%;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(255,255,255,.14) 50%,transparent)}
.book3d__sheen{position:absolute;inset:-20%;background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.2) 47%,rgba(255,255,255,.04) 55%,transparent 62%);transform:translateX(var(--sheen));transition:transform .9s var(--ease);mix-blend-mode:screen;pointer-events:none}
.book3d__back{transform:rotateY(180deg) translateZ(calc(var(--d) / 2));background:#0a1830}
.book3d__spine,.book3d__pages{position:absolute;top:0;height:100%;left:calc(50% - var(--d) / 2);width:var(--d)}
.book3d__spine{transform:rotateY(-90deg) translateZ(calc(var(--w) / 2));background:linear-gradient(180deg,#081630 0%,#132b58 26%,#3a3558 40%,#c2602e 54%,#f0a444 60%,#c86a2e 66%,#3b2a22 78%,#231812 100%);box-shadow:inset 3px 0 6px rgba(0,0,0,.45),inset -3px 0 6px rgba(0,0,0,.45)}
.book3d__spine::before,.book3d__spine::after{content:"";position:absolute;left:18%;right:18%;height:1px;background:rgba(236,211,155,.7)}
.book3d__spine::before{top:6%}
.book3d__spine::after{bottom:6%}
.book3d__pages{top:1.4%;height:97.2%;transform:rotateY(90deg) translateZ(calc(var(--w) / 2 - 2px));background:repeating-linear-gradient(90deg,#f6efdf 0 1px,#ddd1b8 1px 2px),#efe6d2;box-shadow:inset 0 0 12px rgba(80,60,30,.35)}
.book3d--paperback .book3d__pages{top:.3%;height:99.4%}
.book3d__shadow{position:absolute;left:50%;bottom:0;width:86%;height:calc(var(--w) * .09);transform:translateX(-46%);background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);filter:blur(6px)}
.book3d--float .book3d__shadow{animation:shadowPulse 7.5s ease-in-out infinite}
.book3d.is-tilting .book3d__book{transition:transform .25s ease-out}

/* =========================================================================
   INTRO / CAST / NUMBERS
   ========================================================================= */
.intro{padding:var(--section) 0 calc(var(--section) * .8)}
.intro__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.pull-quote{margin:2.6rem 0 0;padding:1.6rem 0 0 1.8rem;border-left:1px solid var(--c-gold-deep);position:relative;max-width:36rem}
.pull-quote::before{content:"\201C";position:absolute;left:-.1rem;top:-1.1rem;font:500 5rem/1 var(--f-serif);color:var(--c-sunset);opacity:.5;transform:translateX(-50%)}
.pull-quote blockquote{margin:0;font:italic 400 clamp(1.35rem,2.2vw,1.7rem)/1.4 var(--f-serif)}
.pull-quote figcaption{margin-top:.8rem;font:600 .72rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold-ink)}

.cast{position:relative;padding:2.2rem 2rem 2rem;background:var(--c-page);border-top:3px double var(--c-gold-deep);border-bottom:3px double var(--c-gold-deep);box-shadow:0 30px 60px -40px rgba(26,32,48,.45)}
.cast__eyebrow{margin:0 0 .4rem;text-align:center;font:500 .72rem/1 var(--f-caps);letter-spacing:.3em;text-transform:uppercase;color:var(--c-gold-ink)}
.cast__title{text-align:center;font:italic 500 1.75rem/1.1 var(--f-serif);margin-bottom:1.6rem}
.cast__list{list-style:none;counter-reset:cast}
.cast__item{display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;padding:1.1rem 0;border-top:1px solid var(--c-line-paper)}
.cast__num{font:600 1.05rem/1.3 var(--f-caps);color:var(--c-gold-ink)}
.cast__role{margin:0;font:500 1.28rem/1.2 var(--f-serif)}
.cast__when{margin:.15rem 0 .45rem;font:600 .7rem/1.4 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-2)}
.cast__text{margin:0;font-size:.95rem;line-height:1.6;color:var(--c-text-2)}
.cast__foot{margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--c-line-paper);text-align:center;font:italic 400 1.1rem/1.4 var(--f-serif);color:var(--c-ember)}

.numbers{display:grid;grid-template-columns:repeat(4,1fr);margin:clamp(3.5rem,7vw,5.5rem) 0 0;border-top:1px solid var(--c-line-paper)}
.numbers__item{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:.4rem;padding:1.6rem 1.4rem 0 0}
.numbers__item+.numbers__item{padding-left:1.4rem;border-left:1px solid var(--c-line-paper)}
.numbers__value{margin:0;font:500 clamp(3rem,6vw,4.8rem)/1 var(--f-serif);color:var(--c-navy);font-variant-numeric:lining-nums}
.numbers__label{font-size:.9rem;line-height:1.45;color:var(--c-text-2);max-width:14rem}

/* =========================================================================
   JOURNEY MAP
   ========================================================================= */
.journey{padding:var(--section) 0;overflow:hidden}
.journey__glow{position:absolute;right:-10%;top:-20%;width:70%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(42,166,161,.18),transparent);pointer-events:none;z-index:-1}
.journey__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.journey__map{position:relative}
.journey__world{width:100%;height:auto;overflow:visible}
.route{fill:none;stroke:var(--c-gold-2);stroke-width:1.5;stroke-opacity:.75;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-opacity .5s,stroke-width .5s}
.is-in .route,.no-js .route{stroke-dashoffset:0;transition:stroke-dashoffset 2.6s var(--ease),stroke-opacity .5s,stroke-width .5s}
.route.is-active{stroke-opacity:1;stroke-width:2.6;stroke:#ffe2a6}
.marker{cursor:pointer}
.marker__halo{opacity:0;transition:opacity .5s;transform-box:fill-box;transform-origin:center}
.marker__dot{fill:var(--c-gold-2);stroke:rgba(10,20,40,.8);stroke-width:1;transition:fill .3s}
.marker__label{font:500 11px/1 var(--f-sans);fill:var(--c-light-2);letter-spacing:.04em;paint-order:stroke;stroke:rgba(8,20,36,.85);stroke-width:3px;transition:fill .3s}
.marker--minor .marker__label{font-size:9px;fill:var(--c-light-3)}
.marker.is-active .marker__halo{opacity:1;animation:pulse 2.4s ease-in-out infinite}
.marker.is-active .marker__dot{fill:#fff}
.marker.is-active .marker__label{fill:var(--c-gold-2);font-weight:700}
.journey__inset{position:absolute;left:0;bottom:0;width:33%;margin:0;padding:.6rem .6rem .4rem;background:rgba(7,15,30,.78);border:1px solid var(--c-line-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.journey__inset svg{width:100%;height:auto;overflow:visible}
.journey__inset .marker__label{font-size:13px}
.journey__inset figcaption{margin-top:.2rem;font:500 .66rem/1.2 var(--f-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold)}
.journey__stops{list-style:none;max-height:640px;overflow-y:auto;padding-right:.6rem;scrollbar-width:thin;scrollbar-color:rgba(217,180,106,.4) transparent;border-top:1px solid var(--c-line-dark)}
.stop{border-bottom:1px solid var(--c-line-dark);position:relative}
.stop::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--c-gold);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.stop.is-active::before{transform:scaleY(1)}
.stop__heading{font:inherit}
.stop__btn{display:grid;grid-template-columns:6.4rem 1fr;gap:.8rem;align-items:baseline;width:100%;padding:.95rem .6rem .95rem 1rem;background:none;border:0;text-align:left;cursor:pointer;color:var(--c-light-2);transition:color .3s,background-color .3s}
.stop__btn:hover{color:#fff;background:rgba(217,180,106,.05)}
.stop.is-active .stop__btn{color:#fff}
.stop__year{font:600 .74rem/1.3 var(--f-sans);letter-spacing:.1em;color:var(--c-gold)}
.stop__place{font:500 1.14rem/1.25 var(--f-serif)}
.stop__body{padding:0 .8rem 1.2rem 8.2rem}
.stop__title{margin:0 0 .35rem;font:italic 500 1.1rem/1.3 var(--f-serif);color:var(--c-gold-2)}
.stop__text{margin:0;font-size:.95rem;line-height:1.62;color:var(--c-light-2)}
.js .stop:not(.is-active) .stop__body{display:none}
.journey__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem;margin-top:3rem}

/* =========================================================================
   THEMES: record sleeve + tracklist
   ========================================================================= */
.themes{padding:var(--section) 0}
.themes__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.themes__record{position:sticky;top:calc(var(--header-h) + 2rem);padding-right:18%}
.sleeve{position:relative;z-index:2;aspect-ratio:1;background:var(--c-night);box-shadow:0 40px 70px -35px rgba(10,20,40,.7),0 0 0 1px rgba(0,0,0,.2);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:1.6rem}
.sleeve__art{position:absolute;inset:0}
.sleeve__art picture,.sleeve__art img{width:100%;height:100%}
.sleeve__art img{object-fit:cover;object-position:50% 70%}
.sleeve::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,11,22,.1) 40%,rgba(7,11,22,.85))}
.sleeve::after{content:"";position:absolute;inset:.7rem;z-index:1;border:1px solid rgba(236,211,155,.45);pointer-events:none}
.sleeve__title,.sleeve__sub{position:relative;z-index:2;margin:0;color:#fff}
.sleeve__title{font:500 1.9rem/1 var(--f-caps);letter-spacing:.14em;text-transform:uppercase}
.sleeve__sub{margin-top:.5rem;font:italic 400 1.05rem/1 var(--f-serif);color:var(--c-gold-2)}
.vinyl{position:absolute;z-index:1;top:5%;right:0;width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,transparent 0 17%,#0c0c0e 17.2%),repeating-radial-gradient(circle,#141416 0 1px,#1d1d20 1.5px 3px);box-shadow:0 20px 40px -20px rgba(0,0,0,.8);display:grid;place-items:center;transition:transform 1.4s var(--ease)}
.vinyl::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 10%,rgba(255,255,255,.08) 14%,transparent 20% 60%,rgba(255,255,255,.06) 64%,transparent 70%)}
.vinyl__label{position:relative;z-index:1;width:36%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:radial-gradient(circle,var(--c-ink) 0 5%,transparent 5.5%),linear-gradient(180deg,#f2a33a,#e2682f 60%,#b8471f);color:#1a1008;text-align:center}
.vinyl__label span{display:block;line-height:1}
.vinyl__label-top{font:600 .62rem/1 var(--f-caps);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.9rem}
.vinyl__label-mid{font:italic 500 .72rem/1 var(--f-serif)}
.vinyl__label-bot{font:600 .55rem/1 var(--f-sans);margin-top:.9rem;opacity:.7}
.themes__record.is-in .vinyl{transform:translateX(12%)}
.themes__record.is-in .vinyl__label,.themes__record.is-in .vinyl::after{animation:spin 6s linear infinite}
.tracklist{margin-bottom:2.8rem}
.tracklist__side{display:flex;align-items:center;gap:1rem;margin:0 0 .4rem;font:600 .8rem/1 var(--f-caps);letter-spacing:.3em;text-transform:uppercase;color:var(--c-gold-ink)}
.tracklist__side::after{content:"";flex:1;height:1px;background:var(--c-line-paper)}
.tracklist__list{list-style:none}
.track{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.15rem 0;border-bottom:1px dotted rgba(26,32,48,.28)}
.track__num{font:600 .95rem/1.7 var(--f-caps);color:var(--c-gold-ink)}
.track__title{font:500 1.55rem/1.15 var(--f-serif);margin-bottom:.3rem}
.track__text{margin:0;font-size:.98rem;line-height:1.65;color:var(--c-text-2)}
.section--night .track{border-bottom-color:rgba(217,180,106,.25)}
.section--night .track__text{color:var(--c-light-2)}
.section--night .tracklist__side,.section--night .track__num{color:var(--c-gold)}

/* =========================================================================
   REASONS
   ========================================================================= */
.reasons{padding:var(--section) 0;overflow:hidden}
.reasons__glow{position:absolute;left:-15%;bottom:-40%;width:70%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(226,104,47,.2),transparent);z-index:-1}
.reasons__list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--c-line-dark)}
.reason{padding:2rem 2rem 2.4rem 0;border-bottom:1px solid var(--c-line-dark)}
.reason:not(:nth-child(3n+1)){padding-left:2rem;border-left:1px solid var(--c-line-dark)}
.reason__num{display:block;margin-bottom:1.4rem;font:500 2.4rem/1 var(--f-serif);color:var(--c-gold);font-variant-numeric:lining-nums}
.reason__title{font:500 1.5rem/1.2 var(--f-serif);margin-bottom:.7rem;color:#fff}
.reason__text{margin:0;color:var(--c-light-2);font-size:.98rem}
.reason--cta{display:flex;flex-direction:column;justify-content:space-between;gap:1.6rem;background:linear-gradient(160deg,rgba(226,104,47,.18),rgba(242,163,58,.06) 60%,transparent);}
.reason__cta-text{font:italic 400 1.55rem/1.3 var(--f-serif);color:var(--c-gold-2);margin:0}
.reason--cta .btn{align-self:flex-start}

/* =========================================================================
   FEATURED EXCERPT (set like a printed page)
   ========================================================================= */
.feature-excerpt{padding:var(--section) 0}
.feature-excerpt__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,6rem);align-items:start}
.feature-excerpt__meta{position:sticky;top:calc(var(--header-h) + 2rem)}
.feature-excerpt__chapter{margin:1rem 0 1.4rem;font:600 .74rem/1.4 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--c-gold-ink)}
.feature-excerpt__context{font:italic 400 1.2rem/1.55 var(--f-serif);color:var(--c-text-2);max-width:26rem}
.feature-excerpt__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.book-page{position:relative;padding:clamp(2rem,5vw,3.6rem) clamp(1.5rem,5vw,4rem) 2.4rem;background:var(--c-page);color:#23201a;box-shadow:1px 1px 0 #e8dfcb,3px 3px 0 #f6f0e3,4px 4px 0 #e4dac4,6px 6px 0 #f3ecdd,7px 7px 0 #ddd2bb,0 40px 70px -40px rgba(40,30,10,.55)}
.book-page::before{content:"";position:absolute;inset:0 auto 0 0;width:28px;background:linear-gradient(90deg,rgba(80,60,20,.12),transparent);pointer-events:none}
.book-page__running{margin:0 0 2rem;text-align:center;font:500 .7rem/1 var(--f-caps);letter-spacing:.28em;text-transform:uppercase;color:#8a7a5c}
.book-page__text p{margin:0;font:400 1.2rem/1.66 var(--f-serif);text-indent:1.5em;hyphens:auto}
.book-page__text p:first-child{text-indent:0}
.book-page__folio{margin:2rem 0 0;text-align:center;color:#a28d62;font-size:1.1rem}

/* =========================================================================
   AUTHOR TEASER + PORTRAIT
   ========================================================================= */
.author-teaser{padding:var(--section) 0;overflow:hidden}
.author-teaser__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,6.5rem);align-items:center}
.author-teaser__lede{font:400 clamp(1.3rem,2vw,1.6rem)/1.45 var(--f-serif);color:var(--c-light);margin:1.2rem 0 2rem;max-width:34rem}
.facts{list-style:none;margin:0 0 2.2rem;max-width:32rem;border-top:1px solid var(--c-line-dark)}
.facts li{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--c-line-dark);color:var(--c-light-2);font-size:.98rem}
.facts span{font:600 .7rem/1.9 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--c-gold)}
.section--paper .facts,.section--paper .facts li{border-color:var(--c-line-paper);color:var(--c-text-2)}
.section--paper .facts span{color:var(--c-gold-ink)}
.facts__lines p{margin:0 0 .35rem}
.facts__lines p:last-child{margin-bottom:0}

.portrait{position:relative;margin:0;max-width:420px}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.9) contrast(1.02)}
.portrait::after{content:"";position:absolute;inset:.9rem;border:1px solid rgba(236,211,155,.5);pointer-events:none}
.portrait__plate{aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;padding:2rem;text-align:center;background:radial-gradient(90% 60% at 50% 110%,rgba(226,104,47,.45),transparent 60%),radial-gradient(60% 40% at 50% 100%,rgba(242,163,58,.35),transparent 70%),linear-gradient(180deg,#0a1630,#0f2447 60%,#162c50)}
.portrait__mono{font:500 clamp(4rem,9vw,6rem)/1 var(--f-caps);letter-spacing:.06em;background:linear-gradient(180deg,#f7e2b0,#d9b46a 55%,#a37a33);-webkit-background-clip:text;background-clip:text;color:transparent}
.portrait__rule{width:4.5rem;height:1px;background:var(--c-gold)}
.portrait__line{font:italic 400 1.25rem/1.2 var(--f-serif);color:var(--c-light)}
.portrait__line--small{font:600 .68rem/1 var(--f-sans);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold)}
.portrait__caption{position:absolute;right:-.2rem;bottom:1.6rem;transform:translateX(50%) rotate(-90deg);transform-origin:center;font:600 .66rem/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--c-gold);white-space:nowrap}
.section--paper .portrait__caption{color:var(--c-gold-ink)}

/* =========================================================================
   PURCHASE
   ========================================================================= */
.purchase{position:relative;padding:var(--section) 0;background:linear-gradient(180deg,var(--c-night) 0%,#0c1934 55%,#1b2340 78%,#3d2a33 100%);color:var(--c-light);overflow:hidden;isolation:isolate}
.purchase__horizon{position:absolute;left:0;right:0;bottom:0;height:38%;z-index:-1;background:radial-gradient(60% 90% at 28% 100%,rgba(242,163,58,.4),rgba(226,104,47,.18) 45%,transparent 70%)}
.purchase__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,7vw,6rem);align-items:center}
.purchase__visual{position:relative;display:flex;justify-content:center}
.lantern{position:absolute;width:10px;height:14px;border-radius:2px;background:#ffd796;box-shadow:0 0 12px 4px rgba(255,190,90,.75),0 0 40px 12px rgba(242,163,58,.35);animation:lantern 5s ease-in-out infinite}
.lantern--a{left:12%;bottom:6%}
.lantern--b{right:10%;bottom:10%;animation-delay:1.7s}
.purchase__title{font:500 clamp(2rem,4vw,3.3rem)/1.04 var(--f-serif);text-wrap:balance}
.purchase__pre{display:block;margin-bottom:.6rem;font:500 .95rem/1 var(--f-caps);letter-spacing:.24em;text-transform:uppercase;color:var(--c-gold)}
.purchase__vol{display:flex;flex-wrap:wrap;gap:.3rem 0;margin:1.2rem 0 1.4rem;font:600 .72rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold-2)}
.purchase__vol span+span::before{content:"";display:inline-block;width:1.4rem;height:1px;margin:0 .8rem .25em;background:var(--c-gold);vertical-align:middle}
.purchase__blurb{font:400 1.2rem/1.55 var(--f-serif);color:var(--c-light-2);max-width:36rem;margin-bottom:2rem}
.purchase__advisory{margin-top:1.6rem;font-size:.84rem;color:var(--c-light-3);max-width:34rem}

.buy-panel{max-width:40rem}
.buy-panel__direct{margin-bottom:1.2rem}
.format-list{list-style:none;border-top:1px solid var(--c-line-dark)}
.format{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;padding:1.05rem 0;border-bottom:1px solid var(--c-line-dark)}
.format__name{font:500 1.45rem/1.1 var(--f-serif);color:#fff}
.format__meta{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:.35rem 0 0;font-size:.86rem;color:var(--c-light-2)}
.format__price{font-weight:600;color:var(--c-gold-2);font-size:1rem}
.format__tbc{font-style:italic;color:var(--c-light-3)}
.format__isbn{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.format__note{margin:.3rem 0 0;font-size:.85rem;color:var(--c-light-3)}
.format__btn{flex:none;min-width:12.5rem}
.format--placeholder .format__name{color:var(--c-light-2)}
.retailers{margin-top:1.6rem}
.retailers__label{margin:0 0 .8rem;font:600 .7rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-light-3)}
.retailers__list{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem}
.retailer{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.05rem;border:1px solid rgba(217,180,106,.45);border-radius:var(--radius);font:600 .78rem/1 var(--f-sans);letter-spacing:.06em;text-decoration:none;color:var(--c-light);transition:background-color .3s,border-color .3s}
.retailer .icon{width:.9rem;height:.9rem;opacity:.7}
.retailer:hover{background:rgba(217,180,106,.1);border-color:var(--c-gold-2)}
.retailer.is-disabled{border-style:dashed;color:var(--c-light-3)}
.retailer small{font-weight:400;letter-spacing:0;opacity:.8}
.buy-panel__notice{margin-top:1.4rem;padding:1rem 1.2rem;border-left:2px solid var(--c-gold);background:rgba(217,180,106,.07);font-size:.93rem;color:var(--c-light-2)}
.buy-panel__notice a{color:var(--c-gold-2)}
.section--paper .buy-panel .format,.section--paper .format-list{border-color:var(--c-line-paper)}
.section--paper .format__name{color:var(--c-text)}
.section--paper .format__meta,.section--paper .format__note{color:var(--c-text-2)}
.section--paper .format__price{color:var(--c-gold-ink)}
.section--paper .retailer{color:var(--c-text);border-color:rgba(26,32,48,.3)}
.section--paper .buy-panel__notice{color:var(--c-text-2);background:rgba(181,141,67,.1)}
.section--paper .buy-panel__notice a{color:var(--c-ember)}

/* =========================================================================
   FINAL CTA (sunset from the cover)
   ========================================================================= */
.final-cta{position:relative;min-height:min(78vh,760px);display:flex;align-items:center;padding:var(--section) 0;overflow:hidden;isolation:isolate;color:#fff}
.final-cta__bg{position:absolute;inset:0;z-index:-1}
.final-cta__bg picture,.final-cta__img{width:100%;height:100%}
.final-cta__img{object-fit:cover;object-position:50% 58%;transform:scale(1.08);transition:transform 6s var(--ease)}
.final-cta.is-in .final-cta__img{transform:scale(1)}
.final-cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,11,24,.92) 0%,rgba(6,11,24,.72) 42%,rgba(6,11,24,.1) 80%),linear-gradient(0deg,rgba(6,11,24,.6),transparent 40%)}
.final-cta__inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.final-cta__copy{max-width:36rem}
.final-cta__title{font:500 clamp(2.5rem,5.6vw,4.6rem)/1 var(--f-serif);letter-spacing:-.01em;margin-bottom:1.2rem;text-wrap:balance;text-shadow:0 2px 24px rgba(4,8,18,.7)}
.final-cta__text{font:italic 400 clamp(1.2rem,1.8vw,1.45rem)/1.5 var(--f-serif);color:rgba(255,255,255,.9);text-shadow:0 1px 14px rgba(4,8,18,.85)}

/* =========================================================================
   PAGE HERO (inner pages)
   ========================================================================= */
.page-hero{position:relative;padding:calc(var(--header-h) + clamp(2.5rem,7vw,5.5rem)) 0 clamp(3.5rem,7vw,5.5rem);overflow:hidden;isolation:isolate;background:var(--c-night)}
.page-hero__inner{display:grid;gap:2rem}
.page-hero--split .page-hero__inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center}
.page-hero__aside{display:flex;justify-content:center}
.page-hero__title{font:500 clamp(2.6rem,6.2vw,5.2rem)/.98 var(--f-serif);letter-spacing:-.015em;color:#fbf6ea;max-width:16ch;text-wrap:balance}
.page-hero__title em{color:var(--c-gold-2)}
.page-hero__intro{margin-top:1.4rem;font:400 clamp(1.15rem,1.8vw,1.4rem)/1.55 var(--f-serif);color:var(--c-light-2);max-width:38rem}
.crumbs ol{display:flex;flex-wrap:wrap;list-style:none;gap:.3rem;margin-bottom:1.8rem;font:500 .74rem/1 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--c-light-3)}
.crumbs li+li::before{content:"/";margin-right:.35rem;color:var(--c-gold);opacity:.6}
.crumbs a{text-decoration:none;color:var(--c-light-2)}
.crumbs a:hover{color:#fff}
.crumbs [aria-current]{color:var(--c-gold-2)}

/* =========================================================================
   FOOTER + MOBILE BUY BAR
   ========================================================================= */
.site-footer{position:relative;background:var(--c-ink);color:var(--c-light-2);padding-bottom:1.6rem}
.site-footer__grid{display:grid;grid-template-columns:1.35fr .8fr .95fr 1.1fr;gap:clamp(2rem,4vw,3.5rem);padding-top:clamp(3.5rem,7vw,5.5rem);padding-bottom:clamp(3rem,6vw,4.5rem)}
.site-footer__mark{margin:0 0 1rem;font:600 1.25rem/1 var(--f-caps);letter-spacing:.3em;text-transform:uppercase;color:var(--c-gold-2)}
.site-footer__title{font:400 1.25rem/1.35 var(--f-serif);color:var(--c-light);max-width:22rem;margin-bottom:.5rem}
.site-footer__title span{display:block;font:500 .74rem/1.6 var(--f-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold)}
.site-footer__vol{font:600 .7rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-light-3);margin-bottom:1.6rem}
.site-footer__heading{margin-bottom:1.1rem;font:600 .7rem/1 var(--f-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--c-gold)}
.site-footer__heading--spaced{margin-top:2rem}
.site-footer__col ul{list-style:none}
.site-footer__col li{margin-bottom:.55rem}
.site-footer__col a{text-decoration:none;color:var(--c-light-2);font-size:.95rem;transition:color .3s}
.site-footer__col a:hover{color:#fff;text-decoration:underline}
.site-footer__note p{font-size:.95rem;line-height:1.65}
.site-footer__note .link-arrow{color:var(--c-gold-2);margin-top:.6rem}
.site-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.4rem;border-top:1px solid rgba(217,180,106,.14);font-size:.84rem;color:var(--c-light-3)}
.site-footer__base ul{display:flex;gap:1.5rem;list-style:none}
.site-footer__base a{color:var(--c-light-3);text-decoration:none}
.site-footer__base a:hover{color:#fff}

.buy-bar{display:none}

/* =========================================================================
   REVEAL ANIMATIONS (only when JS runs and motion is allowed)
   ========================================================================= */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes shadowPulse{0%,100%{transform:translateX(-46%) scale(1);opacity:1}50%{transform:translateX(-46%) scale(.86);opacity:.7}}
@keyframes twinkle{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes sunBreath{0%,100%{opacity:.82}50%{opacity:1}}
@keyframes seaShimmer{to{transform:translateY(14px)}}
@keyframes pulse{0%,100%{transform:scale(.8);opacity:.7}50%{transform:scale(1.25);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes lantern{0%,100%{opacity:.85}45%{opacity:1}55%{opacity:.7}}

/* =========================================================================
   INNER PAGES
   ========================================================================= */
.inline-link{color:var(--c-gold-2)}

/* ---------- The Book ---------- */
.book-about{padding:var(--section) 0}
.book-about__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.book-about__aside{position:sticky;top:calc(var(--header-h) + 2rem)}
.numbers--stack{grid-template-columns:1fr;margin:0 0 2rem;border-top:0}
.numbers--stack .numbers__item{padding:1.2rem 0;border-top:1px solid var(--c-line-paper)}
.numbers--stack .numbers__item+.numbers__item{padding-left:0;border-left:0}
.numbers--stack .numbers__value{font-size:clamp(2.6rem,4.5vw,3.6rem)}

.contents-section{padding:var(--section) 0}
.contents-section__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.contents{list-style:none;border-top:1px solid var(--c-line-dark)}
.contents__row{display:flex;align-items:baseline;gap:1rem;padding:.95rem 0;border-bottom:1px solid rgba(217,180,106,.1)}
.contents__num{flex:none;width:2.2rem;font:600 .9rem/1 var(--f-caps);color:var(--c-gold)}
.contents__title{font:500 clamp(1.15rem,1.8vw,1.4rem)/1.25 var(--f-serif);color:#fff}
.contents__row--extra .contents__title{font-style:italic;color:var(--c-light-2)}
.contents__leader{flex:1;min-width:1.5rem;border-bottom:1px dotted rgba(217,180,106,.4);transform:translateY(-.3em)}
.contents__years{flex:none;font:600 .74rem/1 var(--f-sans);letter-spacing:.12em;color:var(--c-gold-2)}

.artefacts{padding:var(--section) 0}
.artefacts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:end}
.artefact{margin:0}
.artefact figcaption{margin-top:1.4rem;font-size:.95rem;line-height:1.6;color:var(--c-text-2)}
.artefact figcaption strong{display:block;margin-bottom:.2rem;font:500 1.15rem/1.3 var(--f-serif);color:var(--c-text)}
.single-photo{max-width:420px}
.single-photo img{display:block;width:100%;height:auto;box-shadow:0 22px 40px -24px rgba(40,30,10,.65)}
.single{position:relative;aspect-ratio:1.35;max-width:360px}
.single__sleeve{position:absolute;left:0;top:0;width:74%;aspect-ratio:1;background:linear-gradient(135deg,#e9dcc0,#d8c7a4);box-shadow:0 20px 40px -24px rgba(40,30,10,.6);display:flex;align-items:flex-start;justify-content:flex-start;padding:1rem;z-index:2}
.single__brand{font:700 1.4rem/1 var(--f-sans);letter-spacing:-.02em;color:#b8471f;text-transform:lowercase}
.single__hole{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.28),rgba(0,0,0,.12) 70%)}
.single__disc{position:absolute;right:0;top:4%;width:70%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#151517 0 1px,#202023 1.5px 3px);box-shadow:0 18px 30px -18px rgba(0,0,0,.7);display:grid;place-items:center;z-index:1}
.single__label{width:44%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#151517 0 6%,transparent 6.5%),linear-gradient(180deg,#f3e6c9,#e2cf9f);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.4rem;color:#2a1c0b}
.single__label span{font:700 .8rem/1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem}
.single__label small{font:italic 500 .6rem/1.15 var(--f-serif)}
.single__label .single__cat{font:600 .42rem/1 var(--f-sans);font-style:normal;letter-spacing:.1em;text-transform:uppercase;margin-top:.9rem;opacity:.75}
.telegram{position:relative;padding:1.4rem 1.5rem 1.2rem;background:#f1e7c9;color:#2a2418;box-shadow:0 20px 40px -24px rgba(40,30,10,.6);transform:rotate(-1.4deg);font-family:'Courier New',Courier,monospace;border-top:6px solid #c9b27a}
.telegram__head{display:flex;justify-content:space-between;margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px dashed rgba(42,36,24,.4);font:700 .78rem/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:#7a5a1d}
.telegram__body{margin:0 0 1rem;font-size:.92rem;line-height:1.55;text-transform:uppercase;letter-spacing:.02em}
.telegram__foot{margin:0;text-align:right;font-size:.78rem;font-style:italic}
.ticket{display:grid;grid-template-columns:1fr auto;background:linear-gradient(135deg,#132b54,#0c1a36);color:var(--c-light);box-shadow:0 20px 40px -24px rgba(10,20,40,.8);transform:rotate(1.2deg)}
.ticket__main{padding:1.5rem 1.4rem;border-right:2px dashed rgba(236,211,155,.45)}
.ticket__venue{margin:0 0 .5rem;font:600 1.1rem/1.1 var(--f-caps);letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold-2)}
.ticket__event{margin:0 0 1.1rem;font:italic 400 1.05rem/1.3 var(--f-serif)}
.ticket__date{margin:0;font:600 .74rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-amber)}
.ticket__stub{display:grid;place-items:center;padding:0 1rem;background:rgba(217,180,106,.1)}
.ticket__stub span{writing-mode:vertical-rl;transform:rotate(180deg);font:600 .66rem/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--c-gold)}

.details-section{padding:var(--section) 0}
.details-section__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.details{margin:2rem 0 1.4rem;border-top:1px solid var(--c-line-paper)}
.details__row{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--c-line-paper)}
.details dt{font:600 .72rem/1.9 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--c-gold-ink)}
.details dd{margin:0;font:400 1.1rem/1.5 var(--f-serif)}
.details__note{font-size:.9rem;color:var(--c-text-2);max-width:34rem}
.book2{padding:2.2rem;background:var(--c-night);color:var(--c-light);position:relative;overflow:hidden}
.book2::after{content:"";position:absolute;right:-30%;bottom:-40%;width:80%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(226,104,47,.25),transparent)}
.book2__eyebrow{margin:0 0 .6rem;font:600 .72rem/1 var(--f-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--c-gold)}
.book2__title{font:500 2rem/1.1 var(--f-serif);margin-bottom:1.4rem}
.book2__list{list-style:none;margin-bottom:1.4rem;position:relative;z-index:1}
.book2__list li{display:grid;grid-template-columns:2.6rem 1fr;gap:.6rem;padding:.7rem 0;border-top:1px solid var(--c-line-dark);color:var(--c-light-2);font-size:.97rem}
.book2__list span{font:600 .9rem/1.6 var(--f-caps);color:var(--c-gold)}
.book2__text{position:relative;z-index:1;margin:0;font:italic 400 1.1rem/1.5 var(--f-serif);color:var(--c-light-2)}
.book2__text a{color:var(--c-gold-2)}

/* ---------- Author ---------- */
.bio{padding:var(--section) 0}
.bio__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.bio__aside{position:sticky;top:calc(var(--header-h) + 2rem);padding:2rem;background:var(--c-page);border-top:3px double var(--c-gold-deep)}
.bio__aside-title{margin:0 0 1rem;font:italic 500 1.5rem/1 var(--f-serif)}
.bio__aside .facts li{grid-template-columns:6.5rem 1fr;font-size:.93rem}
.quotes{padding:var(--section) 0}
.quotes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,3rem)}
.quote{margin:0;padding-top:1.6rem;border-top:1px solid var(--c-gold)}
.quote blockquote{margin:0}
.quote p{font:italic 400 clamp(1.35rem,2.1vw,1.7rem)/1.35 var(--f-serif);color:#fff}
.quote p::before{content:"\201C";color:var(--c-gold)}
.quote p::after{content:"\201D";color:var(--c-gold)}
.quote figcaption{margin-top:1rem;font-size:.85rem;color:var(--c-light-3)}
.connection{padding:var(--section) 0}
.connection__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.guitars{padding:var(--section) 0}
.guitars__list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--c-text)}
.guitar{position:relative;padding:2rem 1.6rem 0 0}
.guitar::before{content:"";position:absolute;left:0;top:-6px;width:11px;height:11px;border-radius:50%;background:var(--c-paper);border:1px solid var(--c-text)}
.guitar__year{display:block;margin-bottom:.8rem;font:500 2.2rem/1 var(--f-serif);color:var(--c-ember)}
.guitar__name{font:500 1.35rem/1.2 var(--f-serif);margin-bottom:.6rem}
.guitar__text{margin:0;color:var(--c-text-2);font-size:.97rem}
.shelf{padding:var(--section) 0}
.shelf__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:end}
.shelf__notes{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.6rem;margin:0}
.shelf__notes div{padding:.6rem 0;border-top:1px solid var(--c-line-dark)}
.shelf__notes dt{font:500 1.05rem/1.25 var(--f-serif);color:#fff}
.shelf__notes dd{margin:.15rem 0 0;font-size:.86rem;line-height:1.45;color:var(--c-light-3)}
.shelf__list{list-style:none;display:flex;align-items:flex-end;gap:5px;min-height:360px;padding:0 0 0 .5rem;border-bottom:6px solid #3a2a22;overflow-x:auto;scrollbar-width:thin}
.spine{flex:1 0 44px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:1.1rem .3rem;border-radius:2px 2px 0 0;box-shadow:inset -6px 0 10px rgba(0,0,0,.25),inset 4px 0 6px rgba(255,255,255,.06);transition:transform .4s var(--ease)}
.spine:hover{transform:translateY(-10px)}
.spine__artist,.spine__note{writing-mode:vertical-rl;transform:rotate(180deg)}
.spine__artist{font:600 .9rem/1 var(--f-caps);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.spine__note{font:italic 400 .82rem/1.2 var(--f-serif);opacity:.8;max-height:13.5rem;overflow:hidden}
.spine--0{height:340px;background:linear-gradient(90deg,#1c3a66,#15305a);color:var(--c-gold-2)}
.spine--1{height:300px;background:linear-gradient(90deg,#c9612d,#b8471f);color:#fff3dc}
.spine--2{height:355px;background:linear-gradient(90deg,#e7d6ad,#d8c290);color:#2a1c0b}
.spine--3{height:320px;background:linear-gradient(90deg,#1f5c63,#174a50);color:#e9f6f2}
.spine--4{height:290px;background:linear-gradient(90deg,#2b1f35,#221829);color:var(--c-amber)}

/* ---------- Excerpt reader ---------- */
.reader-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:120;pointer-events:none}
.reader-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--c-amber),var(--c-gold-2));transform:scaleX(0);transform-origin:left}
.reader-bar{position:sticky;top:var(--header-h);z-index:50;background:rgba(10,20,40,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line-dark)}
.reader-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.6rem}
.reader-bar__toc{display:flex;gap:1.5rem;overflow-x:auto;scrollbar-width:none}
.reader-bar__toc a{flex:none;font:500 .82rem/1 var(--f-sans);color:var(--c-light-2);text-decoration:none;padding:.4rem 0}
.reader-bar__toc a span{font:600 .7rem/1 var(--f-caps);color:var(--c-gold);margin-right:.25rem}
.reader-bar__toc a:hover{color:#fff}
.reader-bar__tools{display:flex;align-items:center;gap:.45rem;flex:none}
.tool{display:grid;place-items:center;min-width:2.2rem;height:2.2rem;padding:0 .4rem;border:1px solid rgba(217,180,106,.35);border-radius:var(--radius);background:none;color:var(--c-light);font:500 .95rem/1 var(--f-serif);cursor:pointer}
.tool:hover{border-color:var(--c-gold-2)}
.tool sup{font-size:.6em}
.tool__label{min-width:5.2rem;text-align:center;font-size:.76rem;color:var(--c-light-3)}
.tool__sep{width:1px;height:1.4rem;background:var(--c-line-dark);margin:0 .3rem}
.tool--swatch{width:2.2rem;padding:0;border-radius:50%}
.tool--paper{background:#fbf7ee}
.tool--sepia{background:#f0e0bf}
.tool--night{background:#101a2e}
.tool--swatch[aria-pressed="true"]{box-shadow:0 0 0 2px var(--c-night),0 0 0 3px var(--c-gold-2)}
.reader{--r-size:1.22rem;--r-bg:#fbf7ee;--r-ink:#23201a;--r-muted:#7d7059;--r-line:rgba(125,112,89,.3);background:var(--r-bg);color:var(--r-ink);padding:clamp(3rem,7vw,6rem) var(--gutter);transition:background-color .5s,color .5s}
.reader[data-size="s"]{--r-size:1.08rem}
.reader[data-size="l"]{--r-size:1.4rem}
.reader[data-size="xl"]{--r-size:1.62rem}
.reader[data-tone="sepia"]{--r-bg:#f1e3c4;--r-ink:#3b2d18;--r-muted:#7d6440;--r-line:rgba(125,100,64,.32)}
.reader[data-tone="night"]{--r-bg:#0e1729;--r-ink:#e8e1d2;--r-muted:#b8a57c;--r-line:rgba(184,165,124,.25)}
.reader__chapter{max-width:38rem;margin:0 auto;padding-bottom:clamp(3rem,7vw,5rem)}
.reader__chapter+.reader__chapter{padding-top:clamp(3rem,7vw,5rem);border-top:1px solid var(--r-line)}
.reader__head{text-align:center;margin-bottom:2.8rem}
.reader__num{margin:0 0 1.2rem;font:600 .72rem/1 var(--f-sans);letter-spacing:.3em;color:var(--r-muted)}
.reader__chapter-label{margin:0 0 .8rem;font:500 .74rem/1.4 var(--f-caps);letter-spacing:.22em;text-transform:uppercase;color:var(--r-muted)}
.reader__title{font:500 clamp(2.4rem,5vw,3.6rem)/1.05 var(--f-serif);margin-bottom:.8rem}
.reader__setting{margin:0;font:italic 400 1.1rem/1.4 var(--f-serif);color:var(--r-muted)}
.reader__ornament{display:block;margin-top:1.4rem;color:var(--c-gold-deep);font-size:1.2rem}
.reader__text p{margin:0;font:400 var(--r-size)/1.72 var(--f-serif);text-indent:1.5em;hyphens:auto}
.reader__text p.has-dropcap,.reader__text .reader__gap+p{text-indent:0}
.reader__text .has-dropcap::first-letter{color:var(--c-ember)}
.reader[data-tone="night"] .reader__text .has-dropcap::first-letter{color:var(--c-gold)}
.reader__gap{text-align:center;text-indent:0!important;letter-spacing:.6em;color:var(--r-muted);margin:1.2rem 0!important}
.reader__interlude{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.5rem;margin-top:3rem;padding:1.4rem;border:1px solid var(--r-line);text-align:center}
.reader__interlude p{margin:0;font:italic 400 1.15rem/1.4 var(--f-serif)}
.reader__note{max-width:38rem;margin:0 auto;text-align:center;font-size:.82rem;color:var(--r-muted)}
.continue{padding:var(--section) 0}
.continue__grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.continue__book{display:flex;justify-content:center}
.continue__panel{margin-top:2rem}

/* ---------- Buy page ---------- */
.buy-hero{position:relative;padding:calc(var(--header-h) + clamp(2rem,5vw,4rem)) 0 var(--section);overflow:hidden;isolation:isolate;background:var(--c-night)}
.buy-hero__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.buy-hero__visual{position:relative;display:flex;justify-content:center}
.buy-hero__title{font:500 clamp(2.2rem,4.4vw,3.6rem)/1.04 var(--f-serif);color:#fbf6ea;text-wrap:balance}
.assurance{list-style:none;margin-top:1.6rem;display:grid;gap:.5rem;font-size:.86rem;color:var(--c-light-3)}
.assurance li{padding-left:1.4rem;position:relative}
.assurance li::before{content:"";position:absolute;left:0;top:.62em;width:.7rem;height:1px;background:var(--c-gold)}
.assurance a{color:var(--c-gold-2)}
.buy-info{padding:var(--section) 0}
.buy-info__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.buy-info .prose{margin:1.6rem 0 1.4rem}
.buy-info__side{display:grid;gap:1.2rem}
.info-card{padding:1.6rem 1.7rem;background:var(--c-page);border-left:2px solid var(--c-gold-deep)}
.info-card__title{font:500 1.35rem/1.2 var(--f-serif);margin-bottom:.6rem}
.info-card p{font-size:.95rem;color:var(--c-text-2)}
.faq{padding:var(--section) 0}
.faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.faq__list{border-top:1px solid var(--c-line-dark)}
.faq__item{border-bottom:1px solid var(--c-line-dark)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0;cursor:pointer;list-style:none;font:500 1.3rem/1.3 var(--f-serif);color:#fff}
.faq__item summary::-webkit-details-marker{display:none}
.faq__icon{position:relative;flex:none;width:1rem;height:1rem}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--c-gold);transition:transform .35s var(--ease)}
.faq__icon::after{transform:rotate(90deg)}
.faq__item[open] .faq__icon::after{transform:rotate(0)}
.faq__item p{margin:0 0 1.4rem;max-width:40rem;color:var(--c-light-2)}
.buy-last{padding:clamp(3.5rem,7vw,5rem) 0}
.buy-last__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 3rem}
.buy-last__text{margin:0;font:italic 400 clamp(1.4rem,2.4vw,1.9rem)/1.3 var(--f-serif);max-width:32rem}
.buy-last .btn-row{margin:0}

/* ---------- Gallery + lightbox ---------- */
.gallery{padding:var(--section) 0}
.gallery__filters,.journal__filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.6rem}
.chip{display:inline-flex;align-items:center;padding:.62rem 1.05rem;border:1px solid rgba(26,32,48,.25);border-radius:40px;background:transparent;font:600 .74rem/1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-2);text-decoration:none;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s}
.chip:hover{border-color:var(--c-text);color:var(--c-text)}
.chip[aria-pressed="true"],.chip[aria-current="page"]{background:var(--c-navy);border-color:var(--c-navy);color:var(--c-paper)}
.gallery__grid{columns:3 280px;column-gap:clamp(1.2rem,2.5vw,2rem)}
.gallery__item{break-inside:avoid;margin:0 0 clamp(1.2rem,2.5vw,2rem)}
.gallery__item[hidden]{display:none}
.gallery__link{position:relative;display:block;overflow:hidden;background:var(--c-night)}
.gallery__link img{width:100%;transition:transform 1.1s var(--ease),filter .6s}
.gallery__link:hover img{transform:scale(1.04)}
.gallery__item--print .gallery__link{padding:.7rem .7rem 2.2rem;background:#fbf8f1;box-shadow:0 18px 36px -24px rgba(26,32,48,.55),0 0 0 1px rgba(26,32,48,.06)}
.gallery__item--print img{filter:sepia(.12) contrast(1.02)}
.gallery__item--print:nth-child(3n) .gallery__link{transform:rotate(-.6deg)}
.gallery__item--print:nth-child(3n+1) .gallery__link{transform:rotate(.5deg)}
.gallery__zoom{position:absolute;right:.9rem;top:.9rem;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:rgba(10,20,40,.72);color:#fff;opacity:0;transform:scale(.8);transition:opacity .35s,transform .35s var(--ease)}
.gallery__link:hover .gallery__zoom,.gallery__link:focus-visible .gallery__zoom{opacity:1;transform:none}
.gallery__caption{display:flex;flex-direction:column;gap:.15rem;margin-top:.8rem}
.gallery__title{font:500 1.15rem/1.3 var(--f-serif)}
.gallery__text{font-size:.86rem;color:var(--c-text-2)}
.gallery__note{margin-top:2rem;font:italic 400 1.1rem/1.5 var(--f-serif);color:var(--c-text-2)}
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(5,9,18,.94);color:#fff}
.lightbox::backdrop{background:rgba(5,9,18,.6)}
.lightbox__frame{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:4.5rem 5rem}
.lightbox__figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%}
.lightbox__img{max-width:min(92vw,1100px);max-height:calc(100vh - 11rem);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 60px rgba(0,0,0,.6)}
.lightbox figcaption{display:flex;gap:1.5rem;justify-content:space-between;width:100%;margin-top:1rem;font:italic 400 1.1rem/1.4 var(--f-serif);color:var(--c-light-2)}
.lightbox__count{font:600 .74rem/1.9 var(--f-sans);font-style:normal;letter-spacing:.14em;color:var(--c-gold)}
.lightbox__btn{position:absolute;display:grid;place-items:center;width:3rem;height:3rem;border:1px solid rgba(217,180,106,.45);border-radius:50%;background:rgba(10,20,40,.6);color:#fff;cursor:pointer}
.lightbox__btn:hover{border-color:var(--c-gold-2);background:rgba(217,180,106,.15)}
.lightbox__btn--prev{left:1.2rem;top:50%;transform:translateY(-50%)}
.lightbox__btn--next{right:1.2rem;top:50%;transform:translateY(-50%)}
.lightbox__btn--close{right:1.2rem;top:1.2rem}
.lightbox-open{overflow:hidden}

/* ---------- Journal ---------- */
.journal{padding:var(--section) 0}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.8rem,3vw,2.6rem)}
.post-card{display:flex;flex-direction:column;border-top:1px solid var(--c-text);padding-top:1.4rem}
.post-card--lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);padding-bottom:1rem}
.post-card--lead:not(:has(.post-card__media)){display:flex;padding-bottom:1.6rem}
.post-card--lead:not(:has(.post-card__media)) .post-card__body{max-width:46rem}
.post-card__media{display:block;overflow:hidden;margin-bottom:1.2rem}
.post-card__media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform 1s var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.03)}
.post-card__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .8rem;font:600 .7rem/1.4 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-2)}
.post-card__meta a{color:var(--c-gold-ink);text-decoration:none}
.post-card__title{font:500 1.6rem/1.15 var(--f-serif);margin-bottom:.8rem;text-wrap:balance}
.post-card--lead .post-card__title{font-size:clamp(2rem,3.6vw,2.9rem)}
.post-card__title a{text-decoration:none}
.post-card__title a:hover{text-decoration:underline;text-decoration-color:var(--c-gold-deep)}
.post-card__excerpt{color:var(--c-text-2);font-size:.98rem}
.post-card .link-arrow{margin-top:auto;align-self:flex-start}
.post-card--lead .post-card__excerpt{font:400 1.25rem/1.55 var(--f-serif)}
.pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:3.5rem;padding-top:1.4rem;border-top:1px solid var(--c-line-paper)}
.pager__link{display:inline-flex;align-items:center;gap:.4rem;font:600 .78rem/1 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--c-text)}
.pager__status{font-size:.86rem;color:var(--c-text-2)}
.empty-state{max-width:34rem;padding:3rem 0}
.empty-state__title{font:500 2rem/1.1 var(--f-serif);margin-bottom:.8rem}
.empty-state .btn{margin-top:1rem}
.article{padding:var(--section) 0}
.article__grid{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.article__meta{position:sticky;top:calc(var(--header-h) + 2rem);display:grid;gap:1.1rem;font-size:.95rem}
.article__meta p{margin:0;display:flex;flex-direction:column;gap:.25rem}
.article__meta span{font:600 .68rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold-ink)}
.article__share a,.link-button{align-self:flex-start;padding:0;border:0;background:none;color:var(--c-ember);cursor:pointer;text-decoration:underline;text-underline-offset:.2em;font:inherit}
.article__main{max-width:44rem}
.article__cover{margin:0 0 2.4rem}
.article__cover img{width:100%}
.article__body{font-size:1.12rem;max-width:none}
.article__body>p:first-child::first-letter{float:left;font:500 4.2em/.82 var(--f-serif);margin:.06em .1em 0 0;color:var(--c-ember)}
.article__cta{display:flex;align-items:center;gap:1.8rem;margin:3.5rem 0 2.5rem;padding:1.8rem;background:var(--c-night);color:var(--c-light)}
.article__cta-book{flex:none}
.article__cta-eyebrow{margin:0 0 .4rem;font:600 .7rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold)}
.article__cta-title{margin:0;font:500 1.4rem/1.2 var(--f-serif)}
.article__cta .btn-row{margin-top:1rem}
.article__cta .link-arrow{color:var(--c-gold-2)}
.article__nav{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;padding-top:1.4rem;border-top:1px solid var(--c-line-paper)}
.article__nav-link{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;font:500 1.15rem/1.3 var(--f-serif)}
.article__nav-link span{font:600 .68rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold-ink)}
.article__nav-link--next{text-align:right;align-items:flex-end}

/* ---------- Contact + forms ---------- */
.contact{padding:var(--section) 0}
.contact__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.form{display:grid;gap:1.5rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.form__field{display:grid;gap:.5rem}
.form__label{font:600 .74rem/1.2 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--c-text)}
.form__input{width:100%;padding:.95rem 1rem;border:1px solid rgba(26,32,48,.28);border-radius:var(--radius);background:#fffdf8;color:var(--c-text);font-size:1rem;transition:border-color .3s,box-shadow .3s}
.form__input:hover{border-color:rgba(26,32,48,.5)}
.form__input:focus{outline:none;border-color:var(--c-navy);box-shadow:0 0 0 3px rgba(181,141,67,.35)}
.form__input[aria-invalid="true"]{border-color:#a3321a;box-shadow:0 0 0 3px rgba(163,50,26,.12)}
.form__textarea{resize:vertical;min-height:11rem;line-height:1.6}
.form__hint{margin:0;font-size:.8rem;color:var(--c-text-2);text-align:right}
.form__error{margin:0;font-size:.88rem;color:#a3321a;font-weight:500}
.form__types{border:0;margin:0;padding:0}
.form__types .form__label{margin-bottom:.8rem;display:block}
.form__chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip-radio{position:relative;cursor:pointer}
.chip-radio input{position:absolute;opacity:0;width:1px;height:1px}
.chip-radio span{display:inline-block;padding:.65rem 1rem;border:1px solid rgba(26,32,48,.25);border-radius:40px;font:500 .88rem/1 var(--f-sans);color:var(--c-text-2);transition:all .25s}
.chip-radio input:checked+span{background:var(--c-navy);border-color:var(--c-navy);color:var(--c-paper)}
.chip-radio input:focus-visible+span{outline:2px solid var(--c-ember);outline-offset:2px}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__privacy{margin:0;font-size:.86rem;color:var(--c-text-2)}
.form__privacy a{color:var(--c-ember)}
.form .btn{justify-self:start}
.notice{padding:1.4rem 1.6rem;margin-bottom:2rem;border-left:3px solid}
.notice--success{background:#e8efe6;border-color:#2f6b4a}
.notice--error{background:#f7e6df;border-color:#a3321a}
.notice__title{font:500 1.35rem/1.3 var(--f-serif);margin-bottom:.5rem}
.notice ul{margin:.4rem 0 0 1.2rem}
.notice a{color:inherit}
.contact__card{padding:2rem;background:var(--c-page);border-top:3px double var(--c-gold-deep)}
.contact__card-title{font:italic 500 1.6rem/1.1 var(--f-serif);margin-bottom:1.2rem}
.contact__list div{padding:.9rem 0;border-top:1px solid var(--c-line-paper)}
.contact__list dt{font:600 .72rem/1.4 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--c-gold-ink);margin-bottom:.3rem}
.contact__list dd{margin:0;font-size:.95rem;color:var(--c-text-2)}
.contact__list a,.contact__email a{color:var(--c-ember)}
.contact__email{display:flex;align-items:center;gap:.6rem;margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--c-line-paper)}
.contact__buy{margin-top:1.4rem;padding:1.6rem 2rem;background:var(--c-night);color:var(--c-light)}
.contact__buy p{margin:0 0 .9rem;font:italic 400 1.2rem/1.3 var(--f-serif)}

/* ---------- Legal ---------- */
.legal{padding:var(--section) 0}
.legal__grid{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.legal__toc{position:sticky;top:calc(var(--header-h) + 2rem)}
.legal__toc-title{font:600 .72rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold-ink)}
.legal__toc ol{padding-left:1.1rem;display:grid;gap:.45rem;font-size:.92rem}
.legal__toc a{color:var(--c-text-2);text-decoration:none}
.legal__toc a:hover{color:var(--c-text);text-decoration:underline}
.legal__body{max-width:44rem}
.legal__body h2{scroll-margin-top:calc(var(--header-h) + 1rem)}
.legal__updated{font-size:.9rem;color:var(--c-text-2)}
.ph{background:rgba(242,163,58,.25);color:inherit;padding:0 .2em;border-radius:2px}

/* ---------- 404 ---------- */
.lost{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--header-h) + 3rem) 0 4rem;overflow:hidden;isolation:isolate;background:var(--c-night)}
.lost__sky{position:absolute;inset:0;z-index:-2;background:radial-gradient(60% 50% at 50% 100%,rgba(42,166,161,.25),transparent 70%),radial-gradient(50% 40% at 80% 0%,rgba(226,104,47,.18),transparent 70%),linear-gradient(180deg,#070f22,#0b2440)}
.lost__atoll{position:absolute;z-index:-1;right:-4%;bottom:8%;width:min(900px,90vw);opacity:.9}
.lost__marker{animation:twinkle 2.4s ease-in-out infinite}
.lost__code{font:600 .8rem/1 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--c-gold)}
.lost__title{margin:1rem 0 1.4rem;font:500 clamp(2.6rem,6.5vw,5.4rem)/1 var(--f-serif);color:#fff;max-width:14ch}
.lost__quote{font:italic 400 clamp(1.2rem,2vw,1.5rem)/1.5 var(--f-serif);color:var(--c-light-2);max-width:34rem}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1320px){
  .site-nav__list{gap:1.25rem}
  .site-header__inner{gap:1.3rem}
}

@media (max-width:1180px){
  .site-nav,.btn--header{display:none}
  .nav-toggle{display:inline-flex}
  .reasons__list{grid-template-columns:repeat(2,1fr)}
  .reason{padding-left:0!important;border-left:0!important;padding-right:2rem}
  .reason:nth-child(2n){padding-left:2rem!important;border-left:1px solid var(--c-line-dark)!important}
  .guitars__list{grid-template-columns:repeat(2,1fr);row-gap:2.5rem}
  .posts{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:980px){
  :root{--header-h:68px}
  .scene{--hz:57%;--sun-x:50%;--gd:980px;--gx:70%;--gb:17%}
  .scene--hero .scene__jetty,.scene--hero .scene__glitter{-webkit-mask:linear-gradient(180deg,#000 0,#000 12%,transparent 42%);mask:linear-gradient(180deg,#000 0,#000 12%,transparent 42%)}
  .scene--page{--hz:90%;--sun-x:72%;--gd:760px;--gx:78%;--gb:30%}
  .scene__veil,.scene--page .scene__veil{background:linear-gradient(180deg,rgba(3,8,20,.4) 0%,transparent 28%,transparent 56%,rgba(3,8,20,.45) 100%)}
  .scene__island{width:40vw}
  .scene__villas{width:46vw}
  .hero{min-height:auto;padding-top:calc(var(--header-h) + 2.2rem)}
  .hero__grid{grid-template-columns:1fr;grid-template-areas:"copy" "book" "pitch";row-gap:2.2rem}
  .hero__book{margin-top:.5rem}
  .intro__grid,.journey__grid,.themes__grid,.feature-excerpt__grid,.author-teaser__grid,.purchase__grid,.book-about__grid,.contents-section__grid,.details-section__grid,.bio__grid,.connection__grid,.shelf__grid,.continue__grid,.buy-hero__grid,.buy-info__grid,.faq__grid,.contact__grid{grid-template-columns:1fr}
  .section-head--split{grid-template-columns:1fr;gap:1rem}
  .page-hero--split .page-hero__inner{grid-template-columns:1fr}
  .page-hero__aside{justify-content:flex-start}
  .themes__record{position:relative;top:auto;max-width:420px;margin-bottom:1rem}
  .feature-excerpt__meta,.book-about__aside,.bio__aside,.article__meta,.legal__toc{position:static}
  .journey__stops{max-height:none;overflow:visible}
  .journey__inset{position:relative;width:min(100%,380px);margin-top:1rem}
  .purchase__visual{order:-1}
  .numbers{grid-template-columns:repeat(2,1fr)}
  .numbers__item:nth-child(3){padding-left:0;border-left:0}
  .numbers__item:nth-child(n+3){margin-top:1.5rem}
  .artefacts__grid{grid-template-columns:1fr;max-width:420px}
  .quotes__grid{grid-template-columns:1fr}
  .final-cta__inner{grid-template-columns:1fr}
  .final-cta__cover{display:none}
  .final-cta__bg::after{background:linear-gradient(0deg,rgba(6,11,24,.92) 10%,rgba(6,11,24,.55) 70%,rgba(6,11,24,.25))}
  .site-footer__grid{grid-template-columns:1fr 1fr}
  .article__grid,.legal__grid{grid-template-columns:1fr}
  .article__meta{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));padding-bottom:1.4rem;border-bottom:1px solid var(--c-line-paper)}
  .post-card--lead{grid-template-columns:1fr}
  .buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;gap:.9rem;padding:.65rem var(--gutter) calc(.65rem + env(safe-area-inset-bottom));background:rgba(8,15,31,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--c-line-dark);transform:translateY(110%);transition:transform .45s var(--ease)}
  .buy-bar.is-visible{transform:none}
  .buy-bar__cover{width:30px;flex:none;box-shadow:0 4px 12px rgba(0,0,0,.5)}
  .buy-bar__text{flex:1;margin:0;font-size:.82rem;line-height:1.25;color:var(--c-light-2)}
  .buy-bar__text strong{display:block;font:500 1rem/1.2 var(--f-serif);color:#fff}
  .nav-open .buy-bar{display:none}
  .site-footer{padding-bottom:5.2rem}
}

@media (max-width:640px){
  body{font-size:1rem}
  .scene--hero .scene__globe{display:none}
  .scene--hero .scene__stars{height:60%}
  .brand__sub{display:none}
  .hero__kicker{margin-bottom:1.1rem;font-size:.66rem}
  .hero__kicker span+span::before{margin:0 .55rem .15em}
  .hero__title-pre{font-size:.82rem;letter-spacing:.2em}
  .hero__by{margin-top:1.1rem}
  .btn-row{gap:.8rem}
  .hero .btn-row .btn{width:100%}
  .cast{padding:1.8rem 1.3rem}
  .numbers__value{font-size:2.8rem}
  .numbers__item{padding-right:.8rem}
  .numbers__item+.numbers__item{padding-left:.8rem}
  .stop__btn{grid-template-columns:5.4rem 1fr;padding-left:.8rem}
  .stop__body{padding:0 .4rem 1.1rem 1rem}
  .reasons__list{grid-template-columns:1fr}
  .reason{padding:1.8rem 0!important;border-left:0!important}
  .track{grid-template-columns:2.4rem 1fr}
  .track__title{font-size:1.35rem}
  .book-page{padding:2rem 1.3rem 1.8rem}
  .book-page__text p{font-size:1.1rem}
  .format{flex-direction:column;align-items:stretch}
  .format__btn{width:100%}
  .facts li,.details__row{grid-template-columns:1fr;gap:.2rem}
  .portrait__caption{display:none}
  .site-footer__grid{grid-template-columns:1fr}
  .site-footer__base{flex-direction:column}
  .form__row{grid-template-columns:1fr}
  .guitars__list{grid-template-columns:1fr}
  .posts{grid-template-columns:1fr}
  .reader-bar__inner{flex-direction:column;align-items:stretch;gap:.3rem;padding-block:.5rem}
  .reader-bar__toc{gap:1.1rem}
  .reader-bar__tools{justify-content:space-between}
  .lightbox__frame{padding:3.5rem .8rem 5rem}
  .lightbox__btn--prev,.lightbox__btn--next{top:auto;bottom:1rem;transform:none}
  .lightbox__img{max-height:calc(100vh - 12rem)}
  .article__cta{flex-direction:column;align-items:flex-start}
  .article__nav{grid-template-columns:1fr}
  .article__nav-link--next{text-align:left;align-items:flex-start}
  .spine{flex-basis:30px}
  .spine__artist{font-size:.72rem}
  .shelf__notes{grid-template-columns:1fr}
  .shelf__list{min-height:320px}
  .buy-last__inner{flex-direction:column;align-items:flex-start}
}

/* =========================================================================
   REDUCED MOTION: everything visible, nothing moves
   ========================================================================= */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js [data-reveal]{opacity:1;transform:none}
  .route{stroke-dashoffset:0}
  .final-cta__img{transform:none}
}

/* Print: excerpt and legal pages print cleanly */
@media print{
  .site-header,.site-footer,.buy-bar,.reader-bar,.reader-progress,.final-cta,.continue,.scene{display:none!important}
  body,.page-hero,.section--night{background:#fff!important;color:#000!important}
  .page-hero{padding:1rem 0}
  .page-hero__title{color:#000}
}
