:root{
  --ink:#0B0E14;
  --ink-2:#141B2C;
  --sea:#1D2740;
  --paper:#F3EEE4;
  --paper-2:#EAE2D4;
  --paper-3:#E1D8C7;
  --rule:#D3C9B5;
  --text:#1C1815;
  --text-2:#4A423A;
  --text-3:#6E645A;
  --moon:#EDE9DE;
  --moon-2:#B9B3A5;
  --moon-3:#8A8579;
  --seal:#8E3626;
  --seal-hi:#A9432F;
  --amber:#8A5314;
  --amber-warm:#A9691F;
  --amber-sky:#3A2410;
  --accent:var(--seal);
  --display:"Cormorant Garamond","Lora",Georgia,serif;
  --body:"EB Garamond","Lora",Georgia,serif;
  --util:"Archivo","Poppins","Helvetica Neue",Arial,sans-serif;
  --jp:"Shippori Mincho","Noto Serif CJK JP","Yu Mincho",serif;
  --wrap:1160px;
  --gut:clamp(20px,5vw,48px);
  --band:clamp(64px,9vw,112px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:var(--body);
  font-size:clamp(17px,1.06vw,19px);
  line-height:1.68;
  font-feature-settings:"kern","liga","onum";
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.12}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}

:focus-visible{outline:2px solid var(--seal-hi);outline-offset:3px;border-radius:2px}
.night :focus-visible{outline-color:#C9805F}
.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--paper);color:var(--text);padding:12px 18px}
.skip:focus{left:12px;top:12px}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.narrow{max-width:66ch}
.center{text-align:center}

.eyebrow{
  font-family:var(--util);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--text-3);
  margin:0 0 1.1em;
}
.night .eyebrow{color:var(--moon-3)}
.eyebrow--seal{color:var(--seal)}
.night .eyebrow--seal{color:#C9805F}

.display{
  font-family:var(--display);
  font-weight:300;
  text-transform:uppercase;
  letter-spacing:.155em;
  line-height:1.08;
}
h1.display{font-size:clamp(2.1rem,6.2vw,4.15rem);margin-bottom:.28em}
h2.display{font-size:clamp(1.55rem,3.3vw,2.35rem)}
h1.display--long{font-size:clamp(1.85rem,4.4vw,3.05rem)}
h3.display{font-size:clamp(1.15rem,2vw,1.45rem);letter-spacing:.13em}
.subtitle{
  font-family:var(--display);
  font-weight:300;
  text-transform:uppercase;
  letter-spacing:.235em;
  font-size:clamp(.8rem,1.5vw,1.02rem);
  color:var(--text-2);
}
.night .subtitle{color:var(--moon-2)}
.lede{font-size:1.14em;line-height:1.62}
.small{font-size:.9rem;color:var(--text-2)}
.night .small{color:var(--moon-2)}

.rule-dot{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:1.1rem 0 1.3rem;
}
.rule-dot::before,.rule-dot::after{content:"";height:1px;width:min(120px,18vw);background:var(--rule)}
.night .rule-dot::before,.night .rule-dot::after{background:rgba(237,233,222,.22)}
.rule-dot i{width:5px;height:5px;border-radius:50%;background:var(--seal);display:block}

.util{background:var(--ink);color:var(--moon-2);font-family:var(--util);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.util__in{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:42px;padding-block:8px;flex-wrap:wrap}
.util__links{display:flex;gap:22px;flex-wrap:wrap}
.util a{text-decoration:none;color:var(--moon-2);transition:color .2s}
.util a:hover{color:var(--moon)}
/* language switcher: a segmented control, current language filled in */
.util__lang{display:flex;align-items:center;gap:9px}
.util__globe{
  width:15px;height:15px;flex:0 0 auto;
  fill:none;stroke:currentColor;stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round;
  color:var(--moon-3);opacity:.9;
}
.util__langset{
  display:flex;align-items:stretch;
  border:1px solid rgba(237,233,222,.30);
  border-radius:3px;overflow:hidden;
}
.util__langset a{
  padding:5px 11px;
  font-family:var(--util);font-size:.64rem;font-weight:600;letter-spacing:.14em;
  line-height:1.55;color:var(--moon-3);
  transition:background-color .18s ease,color .18s ease;
}
.util__langset a+a{border-left:1px solid rgba(237,233,222,.20)}
.util__langset a:hover{background:rgba(237,233,222,.11);color:var(--moon)}
.util__langset a[aria-current="true"]{
  background:var(--seal);color:#F6EFE6;
}
.util__langset a[aria-current="true"]:hover{background:var(--seal-hi);color:#FFF7EE}
.util__langset a:focus-visible{outline:2px solid var(--seal-hi);outline-offset:-2px;border-radius:0}
@media (max-width:520px){
  .util__globe{display:none}
  .util__langset a{padding:5px 9px;letter-spacing:.1em}
}

.util__cta{display:flex;align-items:center;gap:14px}
.util__cta a{color:var(--moon);border-bottom:1px solid rgba(201,128,95,.6);padding-bottom:2px}
.util__cta a:hover{border-color:#C9805F}
.util__note{color:var(--moon-3)}

.masthead{background:var(--ink);color:var(--moon);position:relative;z-index:20}
.masthead__in{padding-block:clamp(22px,3.4vw,38px) 0;text-align:center}
.brand{display:inline-block;text-decoration:none;color:var(--moon)}
.brand__name{
  font-family:var(--display);font-weight:300;text-transform:uppercase;
  letter-spacing:.42em;font-size:clamp(1.32rem,3.6vw,2.15rem);
  padding-left:.42em;
}
.brand__tag{
  font-family:var(--util);font-size:.62rem;font-weight:500;letter-spacing:.3em;
  text-transform:uppercase;color:var(--moon-3);margin-top:.85em;
}

.nav{border-top:1px solid rgba(237,233,222,.13);margin-top:clamp(20px,3vw,32px)}
.nav__list{display:flex;justify-content:center;flex-wrap:wrap}
.nav__list>li{position:relative}
.nav a,.nav__toggle{
  display:block;padding:16px 20px;text-decoration:none;color:var(--moon-2);
  font-family:var(--util);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  background:none;border:0;cursor:pointer;transition:color .2s;
}
.nav a:hover,.nav__toggle:hover{color:var(--moon)}
.nav [aria-current="page"]{color:var(--moon);box-shadow:inset 0 -2px 0 var(--seal-hi)}
.nav__sub{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:var(--ink-2);border:1px solid rgba(237,233,222,.12);min-width:250px;
  padding:8px 0;z-index:30;
}
.nav__sub a{padding:11px 22px;letter-spacing:.14em;white-space:nowrap;text-align:left}
.nav__sub[hidden]{display:none}
.nav__toggle::after{content:"";display:inline-block;width:5px;height:5px;margin-left:9px;vertical-align:2px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}

.burger{display:none;position:absolute;right:var(--gut);top:18px;background:none;border:1px solid rgba(237,233,222,.25);color:var(--moon);padding:9px 13px;font-family:var(--util);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.drawer{position:fixed;inset:0;background:var(--ink);z-index:60;padding:24px var(--gut);overflow:auto;display:flex;flex-direction:column}
.drawer[hidden]{display:none}
.drawer__close{align-self:flex-end;background:none;border:1px solid rgba(237,233,222,.25);color:var(--moon);padding:9px 13px;font-family:var(--util);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.drawer a{
  display:block;padding:15px 0;text-decoration:none;color:var(--moon);
  font-family:var(--display);text-transform:uppercase;letter-spacing:.2em;font-size:1.05rem;font-weight:300;
  border-bottom:1px solid rgba(237,233,222,.1);
}
.drawer a.is-sub{font-size:.82rem;padding-left:20px;color:var(--moon-2);font-family:var(--util);letter-spacing:.16em}

.night{background:var(--ink);color:var(--moon);position:relative;overflow:hidden}
.night::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
}
.night>*{position:relative;z-index:2}

.hero{background:linear-gradient(180deg,#080A10 0%,#0B0E14 34%,#141B2C 76%,#1B2438 100%)}
.hero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,6vw,80px);align-items:center;padding-block:clamp(56px,8vw,104px)}
.hero__text{max-width:38rem}
.hero__title{margin-bottom:.3em}
.hero__hook{color:var(--moon-2);font-size:1.06em}
.hero__hook em{color:var(--moon);font-style:italic}
.hero__meta{font-family:var(--util);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--moon-3);margin-top:2.1em}

.sky{position:absolute;inset:0;z-index:1;pointer-events:none}
.sky__moon{
  position:absolute;left:8%;top:14%;
  width:clamp(150px,23vw,300px);aspect-ratio:1;border-radius:50%;
  background:
    radial-gradient(circle at 62% 66%,rgba(120,120,110,.35) 0 18%,transparent 55%),
    radial-gradient(circle at 34% 30%,rgba(255,255,250,.5) 0 14%,transparent 48%),
    radial-gradient(circle at 44% 40%,#F2EFE6 0%,#DCD8CB 46%,#B5B1A2 76%,#8C887C 100%);
  opacity:.9;
  box-shadow:0 0 100px 34px rgba(190,190,172,.09);
}
.sky__band{
  position:absolute;left:0;height:9px;border-radius:50%;
  background:linear-gradient(90deg,transparent 0,#04060B 14%,#04060B 86%,transparent 100%);
  filter:blur(1.5px);opacity:.95;
}
.sky__band--1{top:32%;width:76%;transform:rotate(-1.1deg)}
.sky__band--2{top:36.5%;width:64%;left:6%;transform:rotate(-.5deg);height:7px}
.sky__band--3{top:29.5%;width:52%;left:2%;transform:rotate(-1.6deg);height:6px;opacity:.8}
.sky--right .sky__moon{left:auto;right:13%;top:9%;opacity:.78}
.js .is-lit .sky--right .sky__moon{opacity:.78}
.sky--right .sky__band--1{left:auto;right:0;width:70%}
.sky--right .sky__band--2{left:auto;right:6%;width:56%}
.sky--right .sky__band--3{left:auto;right:14%;width:42%}
.sky--dusk .sky__moon{
  background:
    radial-gradient(circle at 44% 42%,#FFF3D6 0%,#F0C674 40%,#C98A2E 74%,#9A6320 100%);
  box-shadow:0 0 120px 44px rgba(201,138,46,.16);
}
.sky--dusk .sky__band{background:linear-gradient(90deg,transparent 0,#2A180A 14%,#2A180A 86%,transparent 100%)}

.js .sky__moon{opacity:0;transform:translateY(22px)}
.js .is-lit .sky__moon{opacity:.9;transform:translateY(0);transition:opacity 1.6s ease,transform 1.9s cubic-bezier(.16,.8,.3,1)}

.rail{
  position:absolute;right:clamp(14px,2.4vw,34px);top:clamp(26px,5vw,60px);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:none;
}
.rail__kanji{
  font-family:var(--jp);color:var(--moon);font-size:clamp(19px,2vw,27px);
  writing-mode:vertical-rl;letter-spacing:.42em;opacity:.86;
}
.rail__seal{
  background:var(--seal);color:#F6EFE6;font-family:var(--jp);
  width:1.75em;height:1.75em;display:grid;place-items:center;font-size:clamp(14px,1.5vw,19px);
}

.cover{position:relative;justify-self:center;width:100%;max-width:380px}
.cover__frame{
  position:relative;aspect-ratio:1600/2560;overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.5),0 2px 0 rgba(255,255,255,.06) inset;
  background:#0B0E14;
}
.cover--lg{max-width:430px}
.cover--sm{max-width:230px}
.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.cover__art{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:9% 8% 11%;text-align:center}
.cover__art--night{background:linear-gradient(180deg,#07090E 0%,#0C1019 40%,#151D30 100%)}
.cover__art--night::before{
  content:"";position:absolute;left:20%;top:16%;width:44%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 42% 38%,#EFECE3 0%,#D6D2C4 48%,#A7A395 100%);opacity:.88;
}
.cover__art--night::after{
  content:"";position:absolute;left:2%;top:46%;width:92%;height:5px;border-radius:50%;
  background:linear-gradient(90deg,transparent,#04060B 16%,#04060B 84%,transparent);filter:blur(1px);
}
.cover__art--dusk{background:linear-gradient(180deg,#2A1808 0%,#7A4614 42%,#B87A28 74%,#3B2A18 100%)}
.cover__art--paper{background:linear-gradient(180deg,#E8DFCE 0%,#D8CDB6 100%)}
.cover__t{
  position:relative;font-family:var(--display);font-weight:300;text-transform:uppercase;
  letter-spacing:.14em;font-size:clamp(15px,4.4cqw,26px);line-height:1.16;color:#EFEBE0;
}
.cover__s{
  position:relative;font-family:var(--display);text-transform:uppercase;letter-spacing:.2em;
  font-size:clamp(8px,2.2cqw,11px);color:rgba(239,235,224,.78);margin-top:1.1em;
}
.cover__a{
  position:relative;font-family:var(--display);text-transform:uppercase;letter-spacing:.24em;
  font-size:clamp(9px,2.4cqw,12px);color:rgba(239,235,224,.9);margin-top:2.2em;
}
.cover__frame{container-type:inline-size}
.cover__art--paper .cover__t,.cover__art--paper .cover__s,.cover__art--paper .cover__a{color:#2B2317}
.cover__art--paper .cover__s{color:rgba(43,35,23,.72)}
.cover__caption{font-family:var(--util);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--moon-3);text-align:center;margin-top:16px}

.btn{
  display:inline-block;font-family:var(--util);font-size:.72rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;text-decoration:none;padding:15px 30px;border:1px solid transparent;
  transition:background .2s,color .2s,border-color .2s;cursor:pointer;
}
.btn--fill{background:var(--seal);color:#F6EFE6;border-color:var(--seal)}
.btn--fill:hover{background:var(--seal-hi);border-color:var(--seal-hi)}
.btn--line{border-color:rgba(237,233,222,.4);color:var(--moon)}
.btn--line:hover{border-color:var(--moon);background:rgba(237,233,222,.07)}
.btn--dark{border-color:var(--text);color:var(--text)}
.btn--dark:hover{background:var(--text);color:var(--paper)}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:2.2em}

.section{padding-block:var(--band)}
.section--paper{background:var(--paper)}
.section--tint{background:var(--paper-2)}
.section--tight{padding-block:clamp(44px,6vw,70px)}
.section__head{margin-bottom:clamp(30px,4vw,48px)}
.section__head--center{text-align:center;display:flex;flex-direction:column;align-items:center}

.pull{max-width:52rem;margin:0 auto;text-align:center;font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,2.5vw,1.72rem);line-height:1.42;letter-spacing:.005em;text-transform:none;color:var(--text)}
.night .pull{color:var(--moon)}

.series{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,54px)}
.card{display:grid;grid-template-columns:130px minmax(0,1fr);gap:26px;align-items:start}
.card__num{font-family:var(--util);font-size:.63rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--seal);margin-bottom:.9em}
.card__t{font-family:var(--display);font-weight:300;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(1.05rem,2vw,1.32rem);line-height:1.2;margin-bottom:.5em}
.card__t a{text-decoration:none}
.card__t a:hover{color:var(--seal)}
.card__d{color:var(--text-2);font-size:.97em}
.card__more{display:inline-block;margin-top:1.1em;font-family:var(--util);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--seal);text-decoration:none;border-bottom:1px solid rgba(142,54,38,.35);padding-bottom:3px}
.card__more:hover{border-color:var(--seal)}
.card .cover{max-width:130px}

.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.4vw,44px)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px)}

.quote{max-width:44rem;margin:0 auto;text-align:center}
.quote__mark{color:var(--seal);font-family:var(--display);font-size:2.4rem;line-height:1;display:block;margin-bottom:.2em}
.quote blockquote{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(1.3rem,3vw,2rem);line-height:1.32;letter-spacing:.01em}
.quote cite{display:block;margin-top:1.6em;font-family:var(--util);font-style:normal;font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}
.quote cite a{color:inherit}

.facts{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:clamp(34px,4vw,52px);border-top:1px solid var(--rule)}
.facts li{flex:1 1 220px;padding:26px 20px;text-align:center;border-bottom:1px solid var(--rule)}
.facts li+li{border-left:1px solid var(--rule)}
.facts b{display:block;font-family:var(--display);font-weight:300;font-size:1.6rem;letter-spacing:.06em;margin-bottom:.35em}
.facts span{font-family:var(--util);font-size:.63rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}

.book-hero__in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,76px);align-items:center;padding-block:clamp(52px,7vw,92px)}
.jump{display:flex;flex-wrap:wrap;gap:24px;margin-top:2.4em;padding-top:1.6em;border-top:1px solid rgba(237,233,222,.16)}
.jump a{font-family:var(--util);font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--moon-2);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:3px}
.jump a:hover{color:var(--moon);border-color:#C9805F}

.prose{max-width:64ch}
.prose--center{margin-inline:auto}
.prose h3{margin:2.2em 0 .7em}
.prose .first::first-letter{
  float:left;font-family:var(--display);font-size:3.5em;line-height:.82;
  padding:.06em .12em 0 0;color:var(--seal);font-weight:300;
}
.prose blockquote{margin:1.8em 0;padding-left:1.4em;border-left:2px solid var(--rule);font-style:italic;color:var(--text-2)}

.buy__tabs{display:none;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--rule);margin-bottom:34px}
.js .buy__tabs{display:flex}
.buy__tab{
  background:none;border:0;border-bottom:2px solid transparent;padding:13px 20px;cursor:pointer;
  font-family:var(--util);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);
}
.buy__tab:hover{color:var(--text)}
.buy__tab[aria-selected="true"]{color:var(--text);border-color:var(--seal)}
.buy__panel+.buy__panel{margin-top:36px}
.buy__region{font-family:var(--util);font-size:.63rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);margin-bottom:18px}
.js .buy__region{display:none}
.buy__groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(22px,3vw,40px)}
.buy__group h4{font-family:var(--util);font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--seal);margin-bottom:14px}
.buy__group li+li{margin-top:9px}
.buy__group a{font-size:.98em;text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px}
.buy__group a:hover{border-color:var(--text)}
.buy__note{margin-top:36px;padding-top:24px;border-top:1px solid var(--rule);color:var(--text-2);font-size:.95em}

.dl{display:grid;grid-template-columns:minmax(140px,auto) minmax(0,1fr);gap:0;margin:0}
.dl>div{display:contents}
.dl dt{
  font-family:var(--util);font-size:.63rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-3);padding:14px 24px 14px 0;border-top:1px solid var(--rule);
}
.dl dd{margin:0;padding:14px 0;border-top:1px solid var(--rule)}
.dl dt:first-of-type,.dl dt:first-of-type+dd{border-top:0}

.qs{counter-reset:q}
.qs li{counter-increment:q;padding:22px 0 22px 56px;position:relative;border-top:1px solid var(--rule)}
.qs li::before{
  content:counter(q,decimal-leading-zero);position:absolute;left:0;top:24px;
  font-family:var(--util);font-size:.68rem;font-weight:600;letter-spacing:.1em;color:var(--seal);
}
.qs li:first-child{border-top:0}

.split{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:clamp(32px,5vw,68px);align-items:center}
.portrait{position:relative;max-width:330px}
.portrait__frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper-3);box-shadow:0 18px 46px rgba(28,24,21,.18)}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.portrait__art{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(160deg,#E4DACA,#CFC2A9);font-family:var(--display);font-size:2.6rem;letter-spacing:.2em;color:#8C7F68;text-transform:uppercase}
.portrait__cap{font-family:var(--util);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);margin-top:14px}

.news{background:var(--ink);color:var(--moon);text-align:center}
.news__form{display:flex;gap:10px;max-width:480px;margin:2em auto 0;flex-wrap:wrap}
.news__form input{
  flex:1 1 220px;background:transparent;border:1px solid rgba(237,233,222,.3);color:var(--moon);
  padding:14px 16px;font-family:var(--body);font-size:1rem;
}
.news__form input::placeholder{color:var(--moon-3)}
.news__form input:focus{border-color:var(--moon)}
.news__msg{margin-top:1.2em;font-family:var(--util);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#C9805F;min-height:1.2em}

.shops{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.shops a{
  font-family:var(--util);font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;padding:12px 20px;border:1px solid var(--rule);color:var(--text-2);transition:.2s;
}
.shops a:hover{border-color:var(--text);color:var(--text)}
.night .shops a{border-color:rgba(237,233,222,.24);color:var(--moon-2)}
.night .shops a:hover{border-color:var(--moon);color:var(--moon)}

.foot{background:var(--ink);color:var(--moon-2);padding-block:clamp(48px,6vw,76px) 30px}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px);padding-bottom:clamp(34px,4vw,52px);border-bottom:1px solid rgba(237,233,222,.14)}
.foot h4{font-family:var(--util);font-size:.63rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--moon-3);margin-bottom:16px}
.foot li+li{margin-top:10px}
.foot a{text-decoration:none;color:var(--moon-2)}
.foot a:hover{color:var(--moon)}
.foot__name{font-family:var(--display);font-weight:300;text-transform:uppercase;letter-spacing:.3em;font-size:1.05rem;color:var(--moon);margin-bottom:14px}
.foot__end{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;font-family:var(--util);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--moon-3)}
.foot__end a{color:var(--moon-3)}

.measure{max-width:42rem;margin-inline:auto}
.measure--sm{max-width:34rem}
.measure--lg{max-width:52rem}
.measure--md{max-width:38rem}
.intro{margin-top:1.4em}
.small.center.intro{margin-top:26px}
.hold{max-width:820px;margin-inline:auto}
.italic{font-style:italic}
.tagline{font-style:italic;font-size:1.05rem}
.meta-gap{margin-top:1.6em}
.align-start{align-items:start}
.gap-sm{margin-bottom:.6em}
.gap-md{margin-bottom:1em}
.gap-lg{margin-bottom:1.25em}
.btns--center{justify-content:center}
.center-block{text-align:center}
.poem__t{font-size:1.4rem;margin-top:1.4em}
.email-lg{font-size:1.15em}
.head-tight{margin-bottom:26px}
.foot__blurb{max-width:34rem}
.foot__social{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:18px;font-family:var(--util);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
.foot__social li+li{margin-top:0}

/* ---------- justified body copy ---------- */
/* Hyphenation is what keeps justification from opening rivers of white space.
   It relies on the lang attribute, which every page sets. */
.prose p,
.prose li,
.hero__hook p,
.card__d,
.qs li,
.buy__note,
.foot__blurb{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  overflow-wrap:break-word;
}
/* blocks that are centred by design stay centred */
.center p,.center li,
.section__head--center p,
.quote p,.quote blockquote,
.pull,.err p,.facts li,.cover__art,
.prose blockquote{
  text-align:center;
  hyphens:manual;
  -webkit-hyphens:manual;
}
.prose blockquote{text-align:start}
/* short single-line items gain nothing from justification */
.dl dd,.buy__group li,.foot li,.nav__sub a,.jump a{text-align:start;hyphens:manual}
/* Hebrew has no hyphenation dictionary; justify on word spacing alone */
[dir="rtl"] .prose p,[dir="rtl"] .prose li,[dir="rtl"] .hero__hook p,
[dir="rtl"] .card__d,[dir="rtl"] .qs li,[dir="rtl"] .buy__note,
[dir="rtl"] .foot__blurb{hyphens:manual;-webkit-hyphens:manual}

/* ---------- right to left (Hebrew) ---------- */
/* html and body stay ltr in every language, so the browser always puts the
   scrollbar on the right and the page never shifts sideways when the language
   changes. dir="rtl" is applied to the structural blocks inside body instead,
   which is what actually flips the content. */

/* The utility bar stays left-to-right in every language, so the social links
   and the language switcher never change sides when you switch language. */
[dir="rtl"] .util__in{direction:ltr}
[dir="rtl"] .util__links,[dir="rtl"] .util__lang{direction:ltr}

[dir="rtl"] .skip{left:auto;right:-9999px}
[dir="rtl"] .skip:focus{left:auto;right:12px}
[dir="rtl"] .brand__name{padding-left:0;padding-right:.42em}
[dir="rtl"] .nav__sub{left:auto;right:50%;transform:translateX(50%)}
[dir="rtl"] .nav__sub a{text-align:right}
[dir="rtl"] .nav__toggle::after{margin-left:0;margin-right:9px}
[dir="rtl"] .burger{right:auto;left:var(--gut)}
[dir="rtl"] .drawer a.is-sub{padding-left:0;padding-right:20px}
[dir="rtl"] .prose blockquote{padding-left:0;padding-right:1.4em;border-left:0;border-right:2px solid var(--rule)}
[dir="rtl"] .facts li+li{border-left:0;border-right:1px solid var(--rule)}
[dir="rtl"] .dl dt{padding:14px 0 14px 24px}
[dir="rtl"] .qs li{padding:22px 56px 22px 0}
[dir="rtl"] .qs li::before{left:auto;right:0}
[dir="rtl"] .card__more{padding-bottom:3px}
/* mirror the decorative sky and the vertical kanji rail */
[dir="rtl"] .rail{right:auto;left:clamp(14px,2.4vw,34px)}
[dir="rtl"] .sky__moon{left:auto;right:8%}
[dir="rtl"] .sky__band{left:auto;right:0}
[dir="rtl"] .sky__band--2{right:6%}
[dir="rtl"] .sky__band--3{right:2%}
[dir="rtl"] .sky--right .sky__moon{right:auto;left:13%}
[dir="rtl"] .sky--right .sky__band--1{right:auto;left:0}
[dir="rtl"] .sky--right .sky__band--2{right:auto;left:6%}
[dir="rtl"] .sky--right .sky__band--3{right:auto;left:14%}
/* Hebrew reads better a touch larger, and without Latin letter-spacing */
[dir="rtl"]{font-family:"Frank Ruhl Libre","David Libre",var(--body)}
[dir="rtl"] .display{letter-spacing:0}
[dir="rtl"] .eyebrow,[dir="rtl"] .card__num,[dir="rtl"] .buy__group h4,
[dir="rtl"] .foot h4,[dir="rtl"] .foot__social{letter-spacing:.08em}
[dir="rtl"] .brand__name{letter-spacing:.14em}
.book-hero{position:relative}
.buy{position:relative}
.hero--dusk{background:linear-gradient(180deg,#1B0E04 0%,#3A2410 42%,#5A3A15 78%,#2A1A0C 100%)}

.crumbs{font-family:var(--util);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);padding-block:22px}
.crumbs a{text-decoration:none;border-bottom:1px solid var(--rule)}
.crumbs span{color:var(--text)}

.err{min-height:58vh;display:grid;place-items:center;text-align:center}

.reveal{opacity:1}
.js .reveal{opacity:0;transform:translateY(16px)}
.js .reveal.is-in{opacity:1;transform:none;transition:opacity .9s ease,transform 1s cubic-bezier(.16,.8,.3,1)}

@media (max-width:1080px){
  .rail{display:none}
  .hero__in,.book-hero__in{grid-template-columns:1fr;text-align:center;gap:40px}
  .hero__text{max-width:none;margin-inline:auto}
  .hero__in .cover,.book-hero__in .cover{order:-1}
  .btns,.jump{justify-content:center}
  .sky__moon{left:auto;right:6%;top:6%;opacity:.5}
  .js .is-lit .sky__moon{opacity:.5}
  .split{grid-template-columns:1fr;text-align:center}
  .split .prose{margin-inline:auto}
  .portrait{max-width:300px;margin-inline:auto}
}
@media (max-width:900px){
  .nav{display:none}
  .burger{display:block;position:static;flex:0 0 auto}
  .masthead__in{padding-block:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}
  .brand__name{font-size:1.02rem;letter-spacing:.24em;padding-left:.24em}
  .brand__tag{font-size:.54rem;letter-spacing:.2em;margin-top:.6em}
  .hero__in .cover,.book-hero__in .cover{max-width:236px}
  .sky__moon{width:min(210px,52vw)}
  .series,.grid-3,.grid-2{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr}
  .facts li+li{border-left:0}
}
/* Touch comfort. Inline text links are only as tall as their line box, which
   is a ~12px tap target on a phone. Padding raises them without changing how
   the page looks, and the smallest labels get a little more size. */
@media (max-width:900px){
  .util__links a,
  .foot li a,
  .foot__social a,
  .foot__end a,
  .jump a,
  .crumbs a{display:inline-block;padding-block:9px}
  .util__langset a{padding:10px 13px}
  .card__more{padding-top:12px}
  .quote cite a,.prose cite a{display:inline-block;padding-block:7px}
  .util__in{gap:10px;row-gap:2px}
  .eyebrow{font-size:.74rem}
  .card__num{font-size:.68rem}
  .hero__meta{font-size:.72rem}
  .cover__caption{font-size:.64rem}
}

@media (max-width:560px){
  .card{grid-template-columns:96px minmax(0,1fr);gap:18px}
  .card .cover{max-width:96px}
  .dl{grid-template-columns:1fr}
  .dl dt{padding-bottom:0;border-top:1px solid var(--rule)}
  .dl dd{padding-top:6px;border-top:0}
  .dl dt:first-of-type+dd{border-top:0}
  .btn{padding:14px 22px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .js .reveal{opacity:1;transform:none}
  .js .sky__moon{opacity:.9;transform:none}
}

@media print{
  .util,.nav,.burger,.news,.foot,.jump,.sky{display:none}
  body{background:#fff;color:#000;font-size:11pt}
  .night{background:#fff;color:#000}
}
