/* NIGHT EFFECT TORNARDO — Brandsite
   Palette tokens are semantic; [data-palette] on <html> remaps them. */

:root,
html[data-palette="A"]{
  /* A — Paper / Sumi : warm ivory paper, deep sumi ink, near-black accent */
  --ink-0:#f4ede0;   /* page bg (warmest, lightest) */
  --ink-1:#efe8da;   /* subtle alt bg */
  --ink-2:#e8e0d0;   /* card */
  --ink-3:#dcd3bf;   /* deeper card edge */
  --ivory-0:#0a0806; /* sumi — primary type */
  --ivory-1:#1a1610; /* body */
  --ivory-2:#4a4236; /* muted */
  --ivory-3:#7a7366; /* faint */
  --sage:#8a8878;
  --bronze:#1a1410;       /* near-black accent (almost no accent) */
  --bronze-deep:#000000;
  --line:rgba(20,17,12,.14);
  --line-soft:rgba(20,17,12,.08);
  --header-bg:rgba(244,237,224,.82);
  --glow-1:rgba(20,17,12,.05);
  --glow-2:rgba(138,130,116,.05);
  --veil:linear-gradient(180deg,rgba(244,237,224,.2) 0%,transparent 25%,transparent 75%,rgba(244,237,224,.85) 100%);
  --card-a:rgba(232,224,208,.7);
  --card-b:rgba(232,224,208,.2);
  --plate-a:#ece5d4;
  --plate-b:#dbd2be;
  --plate-glow:rgba(26,20,16,.06);
  --sel-bg:#1a1410; --sel-fg:#f4ede0;
}

html[data-palette="B"]{
  /* B — Bone / Ochre : bone off-white, charcoal, dull ochre accent */
  --ink-0:#f5f2ea;
  --ink-1:#efebdf;
  --ink-2:#e7e2d2;
  --ink-3:#d9d2bf;
  --ivory-0:#0d0b08;
  --ivory-1:#1e1a14;
  --ivory-2:#574f40;
  --ivory-3:#847b6a;
  --sage:#8a8474;
  --bronze:#b48a4a;
  --bronze-deep:#7d5d30;
  --line:rgba(26,24,20,.14);
  --line-soft:rgba(26,24,20,.08);
  --header-bg:rgba(245,242,234,.82);
  --glow-1:rgba(180,138,74,.12);
  --glow-2:rgba(138,132,116,.06);
  --veil:linear-gradient(180deg,rgba(245,242,234,.15) 0%,transparent 25%,transparent 75%,rgba(245,242,234,.8) 100%);
  --card-a:rgba(231,226,210,.65);
  --card-b:rgba(231,226,210,.15);
  --plate-a:#ece7d5;
  --plate-b:#dcd5bf;
  --plate-glow:rgba(180,138,74,.12);
  --sel-bg:#b48a4a; --sel-fg:#1a1814;
}

html[data-palette="C"]{
  /* C — Mist / Indigo : cool mist off-white, sumi-blue ink, dusty indigo accent */
  --ink-0:#eff1ef;
  --ink-1:#e9ece9;
  --ink-2:#e1e5e2;
  --ink-3:#d1d7d4;
  --ivory-0:#06090c;
  --ivory-1:#171c20;
  --ivory-2:#434a51;
  --ivory-3:#77808a;
  --sage:#8c969a;
  --bronze:#3a4a66;          /* dusty indigo accent */
  --bronze-deep:#22304a;
  --line:rgba(17,21,24,.14);
  --line-soft:rgba(17,21,24,.08);
  --header-bg:rgba(239,241,239,.82);
  --glow-1:rgba(58,74,102,.08);
  --glow-2:rgba(140,150,154,.06);
  --veil:linear-gradient(180deg,rgba(239,241,239,.15) 0%,transparent 25%,transparent 75%,rgba(239,241,239,.82) 100%);
  --card-a:rgba(225,229,226,.6);
  --card-b:rgba(225,229,226,.15);
  --plate-a:#e4e8e5;
  --plate-b:#cdd3d0;
  --plate-glow:rgba(58,74,102,.1);
  --sel-bg:#3a4a66; --sel-fg:#eff1ef;
}

:root{
  --max:1320px;
  --gutter:clamp(24px,4vw,72px);
  --sec-pad-y:clamp(120px,18vh,220px);
  --f-display:'Jost','Shippori Mincho',sans-serif;
  --f-sans:'Jost',sans-serif;
  --f-ja:'Shippori Mincho','Jost',serif;
  --f-accent:'Cormorant Garamond',serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-slow:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{background:var(--ink-0);color:var(--ivory-1);transition:background .6s var(--ease),color .6s var(--ease)}
body{font-family:var(--f-sans);font-weight:300;line-height:1.75;font-size:15px;letter-spacing:.02em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--sel-bg);color:var(--sel-fg)}

/* GRAIN + CURSOR */
.grain{position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:300;mix-blend-mode:multiply}
.cursor-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--ivory-0);transform:translate(-50%,-50%);transition:transform .2s var(--ease),opacity .2s}
.cursor-ring{position:absolute;width:36px;height:36px;border:1px solid var(--ivory-2);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),opacity .3s,border-color .3s}
.cursor.is-hover .cursor-ring{width:64px;height:64px;border-color:var(--bronze)}
.cursor.is-hover .cursor-dot{opacity:0}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* AGE GATE */
.age-gate{position:fixed;inset:0;z-index:400;display:grid;place-items:center}
.age-gate__veil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,var(--ink-1) 0%,var(--ink-2) 70%)}
.age-gate__veil::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,var(--glow-1),transparent 40%),radial-gradient(circle at 80% 70%,var(--glow-2),transparent 40%)}
.age-gate__frame{position:relative;z-index:1;width:min(560px,88vw);text-align:center;padding:clamp(32px,6vw,56px);animation:fadeUp 1.2s var(--ease-slow) both}
.age-gate__mark{display:flex;align-items:center;gap:18px;justify-content:center;margin-bottom:56px}
.mark-line{display:block;width:56px;height:1px;background:var(--ivory-2);opacity:.6}
.mark-letters{font-family:var(--f-sans);font-weight:300;font-size:12px;letter-spacing:.6em;color:var(--ivory-1)}
.age-gate__body{max-width:460px;margin:0 auto 56px}
.age-gate__body .en{display:block;font-family:var(--f-sans);font-weight:300;font-size:17px;letter-spacing:.08em;color:var(--ivory-0);line-height:1.7}
.age-gate__body .ja{display:block;font-family:var(--f-ja);font-size:13px;letter-spacing:.15em;margin-top:14px;color:var(--ivory-2);line-height:1.9}
.age-gate__actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.age-gate__fine{font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.35em;color:var(--ivory-3);text-transform:uppercase}

.btn{position:relative;min-width:210px;padding:20px 36px;border:1px solid var(--ivory-2);transition:background .5s var(--ease),border-color .4s var(--ease),color .4s var(--ease);overflow:hidden}
.btn__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.btn__label{font-family:var(--f-sans);font-weight:300;font-size:15px;letter-spacing:.25em;color:var(--ivory-0)}
.btn__sub{font-family:var(--f-ja);font-size:10px;letter-spacing:.2em;color:var(--ivory-3);white-space:nowrap}
.btn::before{content:"";position:absolute;inset:0;background:var(--ivory-0);transform:translateY(101%);transition:transform .6s var(--ease-slow)}
.btn:hover::before{transform:translateY(0)}
.btn:hover{border-color:var(--ivory-0)}
.btn:hover .btn__label{color:var(--ink-0)}
.btn:hover .btn__sub{color:var(--ink-0);opacity:.7}
.btn--ghost{border-color:var(--line)}
.btn--ghost .btn__label{color:var(--ivory-2)}

body.locked{overflow:hidden}
.site[aria-hidden="true"]{opacity:0;visibility:hidden}
.site{opacity:1;visibility:visible;transition:opacity 1s ease .2s}
.age-gate.is-closing{animation:gateOut 1.1s var(--ease-slow) forwards}
@keyframes gateOut{to{opacity:0;visibility:hidden;transform:scale(1.04);filter:blur(6px)}}

/* HEADER */
.header{position:fixed;top:0;left:0;right:0;z-index:50;padding:22px var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transition:background .6s var(--ease),padding .4s var(--ease),border-color .4s;border-bottom:1px solid transparent}
.header.is-scrolled{background:var(--header-bg);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);padding:14px var(--gutter);border-bottom-color:var(--line-soft)}
.header__mark{display:flex;align-items:baseline;gap:.55em;font-family:var(--f-sans);font-weight:200;font-size:13px;letter-spacing:.15em;color:var(--ivory-0);text-transform:none}
.header__mark-word{letter-spacing:.15em;line-height:1}
.header__nav{display:flex;gap:18px;justify-content:center;flex-wrap:nowrap}
.header__nav a{font-family:var(--f-ja);font-weight:300;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--ivory-2);position:relative;padding:4px 0;transition:color .3s;white-space:nowrap}
.header__nav a::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:1px;background:var(--bronze);transition:width .4s var(--ease),left .4s var(--ease)}
.header__nav a:hover{color:var(--ivory-0)}
.header__nav a:hover::after{width:100%;left:0}
.header__shop{justify-self:end;display:flex;align-items:center;gap:10px;font-family:var(--f-ja);font-weight:300;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-1);padding-left:18px;border-left:1px solid var(--line);transition:color .3s;background:none;border-top:0;border-right:0;border-bottom:0;cursor:pointer}
.header__shop-arrow{transition:transform .4s var(--ease);font-family:var(--f-ja);letter-spacing:0}
.header__shop:hover{color:var(--bronze)}
.header__shop:hover .header__shop-arrow{transform:translateX(6px)}
@media (max-width:1280px){.header__nav a:nth-child(n+9){display:none}}
@media (max-width:1080px){.header__nav a:nth-child(n+6){display:none}}
@media (max-width:880px){.header__nav{display:none}.header{grid-template-columns:1fr auto}}

/* CHAPTER INDEX */
.chapters{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:40;opacity:0;transition:opacity .6s ease .3s}
.chapters.is-active{opacity:1}
.chapters ol{list-style:none;display:flex;flex-direction:column;gap:10px}
.chapters li{display:flex;align-items:center;gap:12px;justify-content:flex-end;cursor:pointer;opacity:.4;transition:opacity .4s var(--ease);padding:4px 0}
.chapters li:hover{opacity:.85}
.chapters li.is-current{opacity:1}
.chapters .num{font-family:var(--f-ja);font-size:10px;color:var(--ivory-2);letter-spacing:.2em;order:2;width:24px;text-align:right}
.chapters .label{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-1);opacity:0;transform:translateX(12px);transition:opacity .4s var(--ease),transform .4s var(--ease);order:1;white-space:nowrap}
.chapters li:hover .label,.chapters li.is-current .label{opacity:1;transform:translateX(0)}
.chapters li.is-current .num{color:var(--bronze)}
@media (max-width:980px){.chapters{display:none}}

/* SECTIONS */
.sec{position:relative;padding:var(--sec-pad-y) var(--gutter);max-width:var(--max);margin:0 auto}
.sec__chap{display:flex;flex-direction:column;align-items:flex-start;gap:18px;font-family:var(--f-sans);font-weight:300;letter-spacing:.4em;text-transform:uppercase;margin-bottom:clamp(64px,9vh,140px)}
.sec__chap-num{display:inline-block;font-family:var(--f-accent);font-style:italic;font-weight:400;font-size:clamp(28px,3.4vw,44px);letter-spacing:.06em;color:var(--bronze);line-height:1;text-transform:none;padding-bottom:14px;border-bottom:1px solid var(--line);min-width:64px}
.sec__chap-line{display:none}
.sec__chap-label{font-family:var(--f-ja);font-weight:300;font-size:clamp(20px,2.6vw,34px);line-height:1.4;letter-spacing:.06em;text-transform:none;color:var(--ivory-0);white-space:normal;text-wrap:balance;max-width:760px}

.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease-slow),transform 1.1s var(--ease-slow)}
.reveal.is-in{opacity:1;transform:none}

/* HERO */
.hero{min-height:100vh;max-width:none;margin:0;padding:clamp(120px,16vh,180px) var(--gutter) clamp(80px,10vh,120px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden}
.hero__atmos{position:absolute;inset:0;pointer-events:none}
.hero__glow{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:min(120vh,900px);height:min(120vh,900px);background:radial-gradient(circle at center,var(--glow-1) 0%,var(--glow-2) 30%,transparent 60%);filter:blur(40px);animation:breathe 14s ease-in-out infinite}
.hero__veil{position:absolute;inset:0;background:var(--veil)}
@keyframes breathe{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.08);opacity:.85}}

.hero__inner{position:relative;z-index:2;max-width:1200px}
.hero__title{font-family:var(--f-sans);font-weight:200;line-height:1.05;letter-spacing:.02em;margin-bottom:56px;text-align:center}
.hero__title .line-main{display:flex;justify-content:center;align-items:baseline;gap:.55em;flex-wrap:wrap}
.hero__title .line-sub{display:block;margin-top:.35em}
.hero__title .word{display:inline-block;font-size:clamp(48px,9vw,128px);color:var(--ivory-0);letter-spacing:.08em;opacity:0;transform:translateY(40px);animation:heroIn 1.4s var(--ease-slow) forwards;animation-delay:.4s}
.hero__title .line-main .word:nth-child(2){animation-delay:.6s}
.hero__title .word.tornado{font-size:clamp(22px,3.2vw,42px);font-weight:300;letter-spacing:.45em;color:var(--ivory-2);animation-delay:.95s}
@keyframes heroIn{to{opacity:1;transform:none}}

.hero__tagline{font-family:var(--f-ja);font-weight:400;font-size:clamp(14px,1.3vw,17px);letter-spacing:.5em;color:var(--ivory-1);margin-bottom:72px;animation:fadeUp 1.6s var(--ease-slow) both;animation-delay:1.15s}
.hero__kicker{font-family:var(--f-ja);font-weight:400;font-size:15px;line-height:2.1;color:var(--ivory-2);letter-spacing:.06em;margin-top:72px;animation:fadeUp 1.8s var(--ease-slow) both;animation-delay:1.45s}

.hero__scroll{display:inline-flex;flex-direction:column;align-items:center;gap:16px;font-family:var(--f-ja);font-weight:400;font-size:11px;letter-spacing:.4em;color:var(--ivory-3);animation:fadeUp 1.8s var(--ease-slow) both;animation-delay:1.3s}
.hero__scroll-line{display:block;width:1px;height:56px;background:linear-gradient(180deg,var(--ivory-3),transparent);position:relative;overflow:hidden}
.hero__scroll-line::after{content:"";position:absolute;inset:0;background:var(--bronze);transform:translateY(-100%);animation:scrollPulse 2.8s ease-in-out infinite}
@keyframes scrollPulse{0%{transform:translateY(-100%)}50%{transform:translateY(0)}100%{transform:translateY(100%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

/* CONCEPT */
.concept__inner{max-width:1100px;margin:0 auto;text-align:center}
.concept__lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,96px);text-align:left;margin-bottom:clamp(80px,12vh,140px)}
.concept__image{margin:0;width:100%}
.concept__img{width:100%;height:auto;display:block;object-fit:contain}
@media (max-width:780px){
  .concept__lead{grid-template-columns:1fr;gap:clamp(24px,4vh,40px);text-align:center}
}
.concept__body{font-family:var(--f-ja);font-size:17px;line-height:2.2;color:var(--ivory-1)}
.concept__body p+p{margin-top:1.8em}
.concept__quote{margin-top:clamp(80px,12vh,140px);padding-top:clamp(60px,8vh,100px);border-top:1px solid var(--line-soft)}
.concept__quote p{font-family:var(--f-ja);font-weight:400;font-size:clamp(22px,2.8vw,32px);line-height:1.7;color:var(--ivory-0);text-wrap:balance}

/* PHILOSOPHY */
.philosophy__inner{max-width:900px;margin:0 auto;text-align:center}
.philosophy__inner--withimage{max-width:1240px;display:grid;grid-template-columns:1fr minmax(300px,440px);gap:clamp(48px,6vw,96px);align-items:center;text-align:left}
.philosophy__inner--withimage .philosophy__text{text-align:center}
.philosophy__inner--withimage .philosophy__motto{margin-bottom:clamp(40px,6vh,72px)}
.philosophy__inner--withimage .philosophy__body{margin:0 auto}
.philosophy__image{margin:0;border:1px solid var(--line);aspect-ratio:4/5}
.philosophy__image .scene-ph{height:100%;aspect-ratio:unset}
@media (max-width:900px){
  .philosophy__inner--withimage{grid-template-columns:1fr;gap:56px;max-width:640px}
  .philosophy__image{max-width:420px;margin:0 auto;width:100%}
}
.philosophy__motto{font-family:var(--f-sans);font-weight:200;font-size:clamp(28px,4.4vw,56px);line-height:1.3;color:var(--ivory-0);margin-bottom:clamp(64px,10vh,120px);letter-spacing:.04em}
.philosophy__motto span{display:block}
.philosophy__body{font-family:var(--f-ja);font-size:16px;line-height:2.15;color:var(--ivory-1);max-width:640px;margin:0 auto}
.philosophy__body p+p{margin-top:1.8em}

/* DESIGN */
.design__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,56px)}
.pillar{position:relative;padding:44px 32px;border:1px solid var(--line);background:linear-gradient(180deg,var(--card-a) 0%,var(--card-b) 100%);transition:border-color .5s,transform .6s var(--ease-slow)}
.pillar:hover{border-color:var(--bronze);transform:translateY(-4px)}
.pillar__num{font-family:var(--f-accent);font-style:italic;font-size:14px;color:var(--bronze);letter-spacing:.25em;margin-bottom:32px}
.pillar__title{font-family:var(--f-ja);font-weight:500;font-size:clamp(20px,2vw,26px);line-height:1.5;color:var(--ivory-0);margin-bottom:28px;letter-spacing:.08em}
.pillar__body{font-family:var(--f-ja);font-size:14px;line-height:2;color:var(--ivory-2);margin-bottom:40px}
.pillar__glyph{color:var(--ivory-3);opacity:.7;width:72px;height:72px;margin-left:auto;transition:color .5s,opacity .5s}
.pillar:hover .pillar__glyph{color:var(--bronze);opacity:1}
@media (max-width:880px){.design__grid{grid-template-columns:1fr}}

/* SPIRAL */
.spiral__stage{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(48px,8vw,120px);align-items:center}
.spiral__canvas{position:relative;width:100%;max-width:620px;margin:0 auto;padding:clamp(20px,3vh,32px) 0}
.spiral__canvas::before,.spiral__canvas::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:32px;height:1px;background:var(--bronze)}
.spiral__canvas::before{top:0}
.spiral__canvas::after{bottom:0}
.spiral__img{display:block;width:100%;height:auto;opacity:.9}
.spiral__svg{width:100%;height:100%}
#spiralPath,#spiralPath2{stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 3.2s var(--ease-slow)}
.spiral.is-in #spiralPath{stroke-dashoffset:0}
.spiral.is-in #spiralPath2{stroke-dashoffset:0;transition-delay:.4s}
.spiral__text p+p{margin-top:1.6em}
.spiral__couplet{font-family:var(--f-ja);font-size:17px;line-height:2;color:var(--ivory-1)}
.spiral__form{font-family:var(--f-ja);font-weight:500;font-size:clamp(26px,3.4vw,40px);color:var(--bronze);margin:2em 0 !important;line-height:1.5;letter-spacing:.04em}
.spiral__exp{font-family:var(--f-ja);font-size:15px;line-height:2.1;color:var(--ivory-2)}
.spiral__attrib-text{font-family:var(--f-ja);font-size:14px;line-height:2;color:var(--ivory-2);margin-top:3em !important;padding-top:28px;border-top:1px solid var(--line-soft)}
.spiral__coda{font-family:var(--f-ja);font-size:17px;line-height:2;color:var(--ivory-0)}
@media (max-width:880px){.spiral__stage{grid-template-columns:1fr}}

/* THICKNESS */
.thickness__inner{max-width:720px;margin:0 auto;text-align:center}
.thickness__text p{font-family:var(--f-ja);font-size:17px;line-height:2.2;color:var(--ivory-1)}
.thickness__text p+p{margin-top:2em}
.thickness__coda{font-family:var(--f-ja);font-weight:500;font-size:20px !important;color:var(--ivory-0) !important}

/* MATERIALS (legacy — still used by Latex spec list) */
.materials__list{max-width:900px;margin:0 auto}
.mrow{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:32px 0;border-top:1px solid var(--line-soft)}
.mrow:last-child{border-bottom:1px solid var(--line-soft)}

/* LATEX — per v7 */
.latex__inner{max-width:860px;margin:0 auto}
.latex__diagram{margin:0 auto clamp(72px,10vh,120px);max-width:720px;padding:clamp(28px,4vh,48px) 0;position:relative}
.latex__diagram::before,.latex__diagram::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:32px;height:1px;background:var(--bronze)}
.latex__diagram::before{top:0}
.latex__diagram::after{bottom:0}
.airpress-img{display:block;width:100%;height:auto;opacity:.9}
.latex__body{max-width:640px;margin:0 auto clamp(72px,10vh,110px);font-family:var(--f-ja);font-size:16px;line-height:2.1;color:var(--ivory-1);text-align:left}
.latex__body p{margin:0 0 1.7em;text-wrap:pretty}
.latex__lead{font-family:var(--f-ja);font-weight:400;font-size:clamp(20px,2.3vw,26px);line-height:1.85;color:var(--ivory-0);letter-spacing:.05em;margin-bottom:2em!important;text-wrap:balance}
.latex__punch{font-family:var(--f-ja);font-weight:500;font-size:clamp(18px,2vw,22px);color:var(--ivory-0);letter-spacing:.06em;text-align:center;padding:clamp(28px,4vh,40px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:clamp(40px,5vh,56px) 0!important}
.latex__spec{max-width:640px;margin:0 auto;padding-top:clamp(32px,4vh,48px);border-top:1px solid var(--bronze)}
.latex__spec .mrow{grid-template-columns:160px 1fr;padding:20px 0;font-family:var(--f-ja);font-size:14px;line-height:1.8}
.latex__spec .mrow dt{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--bronze);padding-top:2px}
.latex__spec .mrow dd{margin:0;color:var(--ivory-1);letter-spacing:.04em}
@media (max-width:620px){.latex__spec .mrow{grid-template-columns:1fr;gap:6px}}

/* LUBRICANT — per v7 */
.lubricant__inner{max-width:640px;margin:0 auto}
.lubricant__body{font-family:var(--f-ja);font-size:16px;line-height:2.1;color:var(--ivory-1);text-align:left}
.lubricant__body p{margin:0 0 1.7em;text-wrap:pretty}
.lubricant__lead{font-family:var(--f-ja);font-weight:400;font-size:clamp(20px,2.3vw,26px);line-height:1.85;color:var(--ivory-0);letter-spacing:.05em;margin-bottom:2.2em!important;text-wrap:balance}
.lubricant__balance{margin:clamp(36px,5vh,52px) 0!important;padding:clamp(28px,4vh,40px) clamp(24px,4vw,40px);background:linear-gradient(180deg,var(--card-a) 0%,var(--card-b) 100%);border:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.balance-row{display:grid;grid-template-columns:28px 1fr;gap:16px;align-items:baseline}
.balance-row p{margin:0;font-size:15px;line-height:1.85;color:var(--ivory-0)}
.balance-sign{font-family:var(--f-accent);font-style:italic;font-size:28px;line-height:1;color:var(--bronze);text-align:center}
.lubricant__punch{font-family:var(--f-ja);font-weight:500;font-size:clamp(17px,1.9vw,21px);color:var(--ivory-0);letter-spacing:.06em;text-align:center;padding:clamp(28px,4vh,40px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:clamp(40px,5vh,56px) 0 0!important;line-height:1.75}
.mrow dt{font-family:var(--f-sans);font-weight:300;font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--ivory-3);padding-top:4px}
.mrow dd{font-family:var(--f-ja);font-size:16px;line-height:1.9;color:var(--ivory-0)}
@media (max-width:680px){.mrow{grid-template-columns:1fr;gap:8px}}

/* LINEUP */
.lineup__card{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,120px);align-items:center;padding:clamp(40px,6vw,80px);border:1px solid var(--line);background:linear-gradient(180deg,var(--card-a) 0%,var(--card-b) 100%);position:relative}
.lineup__card::before{content:"";position:absolute;inset:12px;border:1px solid var(--line-soft);pointer-events:none}
.lineup__plate{position:relative;overflow:hidden;background:#0a0a0a;aspect-ratio:3/2}
.lineup__photo{width:100%;height:100%;display:block;object-fit:contain}
.lineup__slider .lineup__track{position:absolute;inset:0;display:flex;width:100%;height:100%;transition:transform .9s var(--ease-slow);will-change:transform}
.lineup__slider .lineup__slide{flex:0 0 100%;width:100%;height:100%;position:relative;margin:0}
.lineup__slider .lineup__photo{position:absolute;inset:0}
.lineup__dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:1}
.lineup__dot{width:6px;height:6px;border-radius:50%;background:rgba(244,237,224,.45);border:0;padding:0;cursor:pointer;transition:background .3s,transform .3s}
.lineup__dot:hover{background:rgba(244,237,224,.7)}
.lineup__dot.is-active{background:var(--ink-0);transform:scale(1.2)}
.plate-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px}
.plate-n{font-family:var(--f-sans);font-weight:300;font-size:clamp(20px,2.4vw,32px);color:var(--ivory-0);letter-spacing:.15em}
.plate-s{font-family:var(--f-sans);font-weight:300;font-size:clamp(9px,.9vw,12px);letter-spacing:.55em;color:var(--ivory-2)}
.lineup__meta{display:flex;flex-direction:column;gap:20px}
.lineup__title{font-family:var(--f-sans);font-weight:300;font-size:clamp(24px,3vw,38px);line-height:1.3;color:var(--ivory-0);letter-spacing:.08em}
.lineup__title .slash{color:var(--bronze);padding:0 .15em;font-weight:200}
.lineup__spec{font-family:var(--f-ja);font-size:14px;color:var(--ivory-2);letter-spacing:.1em;padding-top:16px;border-top:1px solid var(--line-soft);margin-top:12px}
.lineup__price{font-family:var(--f-sans);font-weight:300;font-size:22px;color:var(--ivory-0);letter-spacing:.1em}
.lineup__price-tax{font-size:12px;color:var(--ivory-2);letter-spacing:.2em;margin-left:.4em}
.lineup__cta{margin-top:32px;display:inline-flex;align-items:center;gap:14px;padding:18px 28px;background:transparent;color:var(--ivory-0);border:1px solid var(--line-soft);font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease);align-self:flex-start}
.lineup__cta-arrow{font-family:var(--f-sans);letter-spacing:0;transition:transform .4s var(--ease);font-size:13px}
.lineup__cta:hover{background:var(--ivory-0);color:var(--ink-0);border-color:var(--ivory-0)}
.lineup__cta:hover .lineup__cta-arrow{transform:translateX(6px)}
@media (max-width:780px){.lineup__card{grid-template-columns:1fr}.lineup__cta{align-self:stretch;justify-content:center}}

/* SHOP / AMAZON REDIRECT OVERLAY */
.shop-overlay{position:fixed;inset:0;z-index:500;background:var(--ink-0);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility .6s var(--ease);pointer-events:none}
.shop-overlay.is-active{opacity:1;visibility:visible;pointer-events:auto}
.shop-overlay__inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:780px;width:100%;gap:48px}
.shop-overlay__mark{display:flex;align-items:center;gap:18px;color:var(--ivory-2)}
.shop-overlay__mark-line{width:48px;height:1px;background:var(--line-soft)}
.shop-overlay__mark-letters{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.5em}
.shop-overlay__copy{font-family:var(--f-ja);font-weight:300;font-size:clamp(28px,4.4vw,52px);line-height:1.55;letter-spacing:.06em;color:var(--ivory-0);margin:0}
.shop-overlay__sub{font-family:var(--f-ja);font-weight:300;font-size:clamp(28px,4.4vw,52px);line-height:1.55;letter-spacing:.06em;color:var(--ivory-0);margin:0}
.shop-overlay__hint{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--ivory-2);margin:0}
.shop-overlay__progress{width:140px;height:1px;background:var(--line-soft);overflow:hidden}
.shop-overlay__progress-bar{display:block;width:0;height:100%;background:var(--ivory-0);transition:width 2s linear}
.shop-overlay.is-active .shop-overlay__progress-bar{width:100%}
.shop-overlay__notice{font-family:var(--f-ja);font-weight:300;font-size:11px;line-height:1.95;letter-spacing:.12em;color:var(--ivory-2);text-align:center;margin:0;max-width:560px}
@media (max-width:640px){.shop-overlay{padding:32px 20px}.shop-overlay__inner{gap:24px}}

/* RITUAL */
.ritual__inner{max-width:720px;margin:0 auto;text-align:center}
.ritual__line{font-family:var(--f-ja);font-size:clamp(20px,2.4vw,28px);line-height:1.9;color:var(--ivory-0);margin:.5em 0}
.ritual__line--last{margin-top:2em !important}
.ritual__ten{display:flex;justify-content:center;gap:14px;margin:clamp(48px,7vh,80px) 0}
.ritual__ten span{width:10px;height:10px;border:1px solid var(--ivory-3);border-radius:50%;opacity:0;transform:scale(.6);transition:opacity .6s var(--ease),transform .6s var(--ease),background .4s}
.ritual.is-in .ritual__ten span{opacity:1;transform:scale(1)}
.ritual.is-in .ritual__ten span:nth-child(1){transition-delay:.1s}
.ritual.is-in .ritual__ten span:nth-child(2){transition-delay:.2s}
.ritual.is-in .ritual__ten span:nth-child(3){transition-delay:.3s;background:var(--bronze);border-color:var(--bronze)}
.ritual.is-in .ritual__ten span:nth-child(4){transition-delay:.4s}
.ritual.is-in .ritual__ten span:nth-child(5){transition-delay:.5s}
.ritual.is-in .ritual__ten span:nth-child(6){transition-delay:.6s;background:var(--bronze);border-color:var(--bronze)}
.ritual.is-in .ritual__ten span:nth-child(7){transition-delay:.7s}
.ritual.is-in .ritual__ten span:nth-child(8){transition-delay:.8s}
.ritual.is-in .ritual__ten span:nth-child(9){transition-delay:.9s;background:var(--bronze);border-color:var(--bronze)}
.ritual.is-in .ritual__ten span:nth-child(10){transition-delay:1s}

/* ORIGIN */
.origin__inner{max-width:720px;margin:0 auto}
.origin__year{font-family:var(--f-ja);font-weight:400;font-size:clamp(28px,4vw,48px);line-height:1.4;color:var(--ivory-0);margin-bottom:56px;text-align:center;letter-spacing:.05em}
.origin__body{font-family:var(--f-ja);font-size:16px;line-height:2.2;color:var(--ivory-1);text-align:center}
.origin__body p+p{margin-top:1.6em}
.origin__body .pivot{font-family:var(--f-ja);font-weight:500;font-size:clamp(20px,2.4vw,28px);color:var(--bronze);line-height:1.7;padding:1em 0}
.origin__sign{color:var(--ivory-0);font-size:17px}
.origin__attribution{margin-top:56px;display:flex;justify-content:center;align-items:center;gap:18px;font-family:var(--f-sans);font-weight:300;font-size:12px;letter-spacing:.2em;color:var(--ivory-2)}
.origin__attribution .attrib-line{flex:0 0 40px;height:1px;background:var(--bronze)}

/* PLACEHOLDERS */
.placeholder .ph__inner{max-width:780px;margin:0 auto;padding:clamp(48px,7vw,80px);border:1px dashed var(--line);text-align:center;position:relative}
.placeholder .ph__inner::before,.placeholder .ph__inner::after{content:"";position:absolute;width:18px;height:18px;border:1px solid var(--bronze)}
.placeholder .ph__inner::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.placeholder .ph__inner::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.ph__tag{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--bronze);margin-bottom:24px}
.ph__note{font-family:var(--f-ja);font-size:14px;line-height:2;color:var(--ivory-2)}

/* THE SURGEON — long-form essay */
.surgeon__inner{max-width:820px;margin:0 auto}
.surgeon__head{text-align:center;margin-bottom:clamp(64px,9vh,110px);padding-bottom:clamp(48px,6vh,72px);border-bottom:1px solid var(--line-soft)}
.surgeon__eyebrow{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.45em;text-transform:uppercase;color:var(--bronze);margin-bottom:32px}
.surgeon__title{font-family:var(--f-ja);font-weight:400;font-size:clamp(28px,4vw,48px);line-height:1.4;color:var(--ivory-0);letter-spacing:.05em;margin:0;text-wrap:balance}
.surgeon__title span{display:block}
.surgeon__title-prefix{font-size:.55em;letter-spacing:.2em;color:var(--ivory-2);margin-bottom:.4em}
.surgeon__title-name{font-family:var(--f-accent);font-style:italic;font-weight:400;font-size:1.1em;letter-spacing:.02em;color:var(--ivory-0);margin-bottom:.2em}
.surgeon__title-suffix{font-size:.8em}
.surgeon__toggle{display:block;width:100%;background:none;border:0;padding:0;cursor:pointer;color:inherit;text-align:center;font:inherit}
.surgeon__toggle-hint{display:inline-flex;align-items:center;gap:14px;margin-top:32px;font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--bronze);border-bottom:1px solid transparent;padding-bottom:4px;transition:border-color .3s,color .3s}
.surgeon__toggle:hover .surgeon__toggle-hint{color:var(--ivory-0);border-color:var(--bronze)}
.surgeon__toggle .hint-close{display:none}
.surgeon__toggle[aria-expanded="true"] .hint-open{display:none}
.surgeon__toggle[aria-expanded="true"] .hint-close{display:inline}
.surgeon__plus{position:relative;width:14px;height:14px;display:inline-block}
.surgeon__plus i{position:absolute;left:50%;top:50%;background:currentColor;transition:transform .35s ease}
.surgeon__plus i:nth-child(1){width:14px;height:1px;transform:translate(-50%,-50%)}
.surgeon__plus i:nth-child(2){width:1px;height:14px;transform:translate(-50%,-50%)}
.surgeon__toggle[aria-expanded="true"] .surgeon__plus i:nth-child(2){transform:translate(-50%,-50%) rotate(90deg)}
.surgeon__byline{font-family:var(--f-accent);font-style:italic;font-size:clamp(16px,1.6vw,19px);color:var(--ivory-2);letter-spacing:.02em}
.surgeon__essay{font-family:var(--f-ja);font-size:16px;line-height:2.15;color:var(--ivory-1);max-height:0;opacity:0;overflow:hidden;transition:max-height .9s cubic-bezier(.7,0,.2,1),opacity .5s,margin-top .7s;margin-top:0}
.surgeon__essay.is-open{max-height:8000px;opacity:1;margin-top:clamp(48px,6vh,80px)}
@media (prefers-reduced-motion:reduce){.surgeon__essay{transition:opacity .3s}}
.surgeon__essay p{margin-bottom:1.7em;text-wrap:pretty}
.surgeon__essay em{font-style:normal;color:var(--ivory-0);border-bottom:1px solid var(--line);padding-bottom:1px}
.surgeon__drop{position:relative}
.surgeon__drop .drop-cap{float:left;font-family:var(--f-ja);font-weight:400;font-size:5.5em;line-height:.9;color:var(--ivory-0);margin:.08em .18em -.1em 0;letter-spacing:0}
.surgeon__pull{margin:clamp(48px,7vh,80px) 0;padding:clamp(32px,5vh,56px) clamp(28px,4vw,56px);border-top:1px solid var(--bronze);border-bottom:1px solid var(--bronze);text-align:center}
.surgeon__pull p{font-family:var(--f-accent);font-style:italic;font-weight:400;font-size:clamp(26px,3.6vw,44px);line-height:1.35;color:var(--ivory-0);letter-spacing:.02em;margin:0}
.surgeon__pull--right{text-align:right;border-right:1px solid var(--bronze);border-left:0;border-top:0;border-bottom:0;padding:clamp(16px,3vh,28px) clamp(28px,4vw,48px) clamp(16px,3vh,28px) 0;margin-left:auto;max-width:92%}
.surgeon__sign{text-align:right;font-family:var(--f-sans);font-weight:300;font-size:12px;letter-spacing:.3em;color:var(--ivory-3);margin-top:clamp(56px,7vh,80px);text-transform:uppercase}

/* IN THE PRESS — per v6 (NYT 1999 only) */
.press__inner{max-width:820px;margin:0 auto;text-align:center}
.press__hero{margin:0 0 clamp(64px,9vh,100px);padding:clamp(56px,8vh,100px) clamp(32px,5vw,64px);border-top:1px solid var(--bronze);border-bottom:1px solid var(--bronze)}
.press__hero-quote{font-family:var(--f-accent);font-style:italic;font-weight:400;font-size:clamp(28px,4.4vw,54px);line-height:1.3;color:var(--ivory-0);letter-spacing:.01em;margin:0 0 clamp(32px,5vh,48px);text-wrap:balance}
.press__hero-attrib{display:flex;flex-direction:column;align-items:center;gap:10px;font-style:normal}
.press__attrib-line{display:block;width:48px;height:1px;background:var(--bronze)}
.press__attrib-name{font-family:var(--f-sans);font-weight:400;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-1)}
.press__attrib-src{font-family:var(--f-ja);font-size:12px;letter-spacing:.08em;color:var(--ivory-2)}
.press__body{max-width:620px;margin:0 auto clamp(56px,7vh,80px);font-family:var(--f-ja);font-size:16px;line-height:2.1;color:var(--ivory-1);text-align:left}
.press__body p{margin:0 0 1.6em;text-wrap:pretty}
.press__body-punch{font-family:var(--f-ja);font-weight:500;font-size:clamp(18px,2vw,22px);color:var(--ivory-0);letter-spacing:.06em;text-align:center;padding:.6em 0}
.press__source{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ivory-3);line-height:2}

/* Press CTA — link to original NYT article */
.press__cta{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(40px,5vh,56px);padding:16px 30px;border:1px solid var(--ivory-2);font-family:var(--f-sans);font-weight:300;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-1);transition:color .45s var(--ease),border-color .45s var(--ease),background-color .45s var(--ease)}
.press__cta-arrow{font-family:var(--f-accent);font-style:italic;font-weight:400;font-size:18px;letter-spacing:0;line-height:1;transition:transform .45s var(--ease)}
.press__cta:hover{color:var(--ink-0);background-color:var(--ivory-0);border-color:var(--ivory-0)}
.press__cta:hover .press__cta-arrow{transform:translate(3px,-3px)}
.press__cta:focus-visible{outline:1px solid var(--bronze);outline-offset:4px}

/* VOICES — grouped cards */
.voices__inner{max-width:1120px;margin:0 auto}
.voices__head{text-align:center;margin-bottom:clamp(64px,9vh,110px)}
.voices__eyebrow{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.45em;text-transform:uppercase;color:var(--bronze);margin-bottom:24px}
.voices__title{font-family:var(--f-ja);font-weight:400;font-size:clamp(28px,3.8vw,46px);line-height:1.4;color:var(--ivory-0);letter-spacing:.06em;margin-bottom:24px}
.voices__note{font-family:var(--f-sans);font-weight:300;font-size:12px;line-height:1.9;letter-spacing:.08em;color:var(--ivory-3);font-style:italic;max-width:520px;margin:0 auto}
.voices__group{margin-bottom:clamp(72px,9vh,110px)}
.voices__group:last-child{margin-bottom:0}
.voices__group-head{display:flex;align-items:center;gap:18px;margin-bottom:clamp(32px,4vh,48px)}
.voices__group-letter{font-family:var(--f-accent);font-style:italic;font-size:clamp(32px,3.4vw,44px);color:var(--bronze);letter-spacing:0;line-height:1}
.voices__group-line{flex:0 0 56px;height:1px;background:var(--line)}
.voices__group-label{font-family:var(--f-sans);font-weight:300;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--ivory-2)}
.voices__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px)}
.vcard{padding:clamp(28px,3.4vw,40px) clamp(24px,3vw,36px);border:1px solid var(--line);background:linear-gradient(180deg,var(--card-a) 0%,var(--card-b) 100%);display:flex;flex-direction:column;justify-content:space-between;gap:28px;transition:border-color .4s var(--ease),transform .6s var(--ease-slow)}
.vcard:hover{border-color:var(--bronze);transform:translateY(-3px)}
.vcard blockquote{margin:0;position:relative;padding-left:14px;border-left:1px solid var(--bronze)}
.vcard blockquote p{font-family:var(--f-ja);font-size:15px;line-height:1.95;color:var(--ivory-1);letter-spacing:.03em;margin:0;text-wrap:pretty}
.vcard__who{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-2);margin:0;padding-top:18px;border-top:1px solid var(--line-soft)}
@media (max-width:900px){.voices__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.voices__grid{grid-template-columns:1fr}}

/* FOR WHOM — per v6 declaration */
.forwhom__inner{max-width:720px;margin:0 auto;text-align:center}
.forwhom__eyebrow{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.45em;text-transform:uppercase;color:var(--bronze);margin-bottom:clamp(48px,7vh,72px)}
.forwhom__body{font-family:var(--f-ja);color:var(--ivory-1)}
.forwhom__lead{font-family:var(--f-ja);font-weight:400;font-size:clamp(22px,2.6vw,30px);line-height:1.7;color:var(--ivory-0);letter-spacing:.06em;margin:0 0 clamp(48px,6vh,72px);text-wrap:balance}
.forwhom__list{list-style:none;padding:0;margin:0 0 clamp(36px,5vh,52px);display:flex;flex-direction:column;gap:clamp(14px,2vh,20px)}
.forwhom__list li{font-family:var(--f-ja);font-weight:400;font-size:clamp(16px,1.7vw,19px);line-height:1.85;color:var(--ivory-1);letter-spacing:.05em}
.forwhom__coda{font-family:var(--f-ja);font-weight:400;font-size:clamp(18px,2vw,22px);line-height:1.85;color:var(--ivory-0);letter-spacing:.06em;margin:clamp(48px,7vh,72px) 0 0;padding-top:clamp(40px,5vh,56px);border-top:1px solid var(--line-soft);text-wrap:balance}

/* DISCOVER */
.discover__inner{max-width:640px;margin:0 auto;text-align:center}
.discover__line{font-family:var(--f-ja);font-size:clamp(22px,2.8vw,32px);color:var(--ivory-0);margin-bottom:56px;letter-spacing:.05em}
.discover__cta{display:inline-flex;align-items:center;gap:20px;padding:24px 48px;border:1px solid var(--bronze);font-family:var(--f-sans);font-weight:300;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory-0);position:relative;overflow:hidden;transition:color .5s var(--ease)}
.discover__cta::before{content:"";position:absolute;inset:0;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-slow)}
.discover__cta>*{position:relative;z-index:1}
.discover__cta:hover::before{transform:scaleX(1)}
.discover__cta:hover{color:var(--ink-0)}

/* IMPORTANT */
.important__list{max-width:760px;margin:0 auto;list-style:none;padding:0;border-top:1px solid var(--line-soft)}
.important__list li{font-family:var(--f-ja);font-size:15px;line-height:2;color:var(--ivory-1);padding:22px 0;border-bottom:1px solid var(--line-soft);display:flex;gap:18px}
.important__list li::before{content:"";flex:0 0 14px;height:1px;background:var(--bronze);margin-top:17px;opacity:.85}

/* FOOTER */
.footer{max-width:var(--max);margin:0 auto;padding:80px var(--gutter) 40px;border-top:1px solid var(--line-soft);color:var(--ivory-2)}
.footer__legal{font-family:var(--f-ja);font-size:12px;line-height:2;color:var(--ivory-2);padding-bottom:40px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px 40px}
.footer__legal p{font-size:12px}
.footer__nav{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:28px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.footer__nav a{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ivory-3);transition:color .3s}
.footer__nav span{color:var(--ivory-3);opacity:.4;font-size:10px}
.footer__nav a:hover{color:var(--bronze)}
.footer__bottom{padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.footer__links{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.footer__links a{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ivory-3);cursor:pointer;transition:color .3s}
.footer__links span{color:var(--ivory-3);opacity:.4}
.footer__links a:hover{color:var(--bronze)}
.footer__copy{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.2em;color:var(--ivory-3)}
@media (max-width:780px){.footer__legal{grid-template-columns:1fr}}

/* TWEAK PANEL */
.tweaks{position:fixed;right:20px;bottom:20px;z-index:500;background:var(--ink-1);border:1px solid var(--line);padding:18px 22px;font-family:var(--f-sans);font-size:11px;letter-spacing:.2em;color:var(--ivory-1);display:none;box-shadow:0 10px 40px rgba(0,0,0,.08)}
.tweaks.is-active{display:block}
.tweaks__title{font-family:var(--f-sans);font-weight:400;font-size:10px;letter-spacing:.45em;text-transform:uppercase;color:var(--ivory-3);margin-bottom:14px}
.tweaks__group{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.tweaks__group:last-child{margin-bottom:0}
.tweaks__label{font-family:var(--f-sans);font-size:10px;letter-spacing:.35em;color:var(--ivory-3);text-transform:uppercase;margin-bottom:2px}
.tweaks__opts{display:flex;gap:6px}
.tweaks__opt{padding:10px 14px;border:1px solid var(--line);font-family:var(--f-sans);font-size:11px;letter-spacing:.2em;color:var(--ivory-1);cursor:pointer;transition:all .3s var(--ease);min-width:96px;text-align:left}
.tweaks__opt:hover{border-color:var(--bronze)}
.tweaks__opt.is-active{background:var(--ivory-0);color:var(--ink-0);border-color:var(--ivory-0)}
.tweaks__opt small{display:block;font-family:var(--f-ja);font-size:9px;letter-spacing:.15em;opacity:.7;margin-top:3px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}


/* ============ GALLERY (II) ============ */
.gallery__stage{max-width:1600px;margin:0 auto;padding:0 clamp(16px,3vw,32px)}
.gallery__frame{position:relative;overflow:hidden}
/* Each slide is 62% wide; side slides (at 19% each) peek from the edges */
.gallery__track{display:flex;gap:clamp(12px,2vw,24px);transition:transform .8s cubic-bezier(.7,0,.2,1);will-change:transform;padding:8px 0}
.gallery__slide{flex:0 0 62%;margin:0;position:relative;transition:opacity .6s ease, transform .6s ease;opacity:.35;transform:scale(.94);border:1px solid var(--line);background:var(--card-a)}
.gallery__slide.is-active{opacity:1;transform:scale(1)}
.gallery__placeholder{aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,var(--card-a) 0%,var(--card-b) 100%);color:var(--ivory-2);position:relative}
.gallery__placeholder::before,.gallery__placeholder::after{content:"";position:absolute;width:48px;height:1px;background:var(--bronze);opacity:.4}
.gallery__placeholder::before{top:24px;left:50%;transform:translateX(-50%)}
.gallery__placeholder::after{bottom:24px;left:50%;transform:translateX(-50%)}
.gallery__placeholder .ph-num{font-family:var(--f-accent);font-style:italic;font-size:clamp(56px,8vw,96px);color:var(--ivory-1);letter-spacing:.02em;line-height:1}
.gallery__placeholder .ph-hint{font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--bronze)}
.gallery__caption{position:absolute;left:20px;bottom:20px;font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--ivory-2);pointer-events:none;opacity:0;transition:opacity .5s}
.gallery__slide.is-active .gallery__caption{opacity:1}
.gallery__controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:clamp(28px,4vh,48px)}
.gallery__arrow{width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ivory-0);cursor:pointer;display:grid;place-items:center;transition:border-color .3s,color .3s,background .3s}
.gallery__arrow:hover{border-color:var(--bronze);color:var(--bronze);background:var(--card-a)}
.gallery__arrow svg{display:block}
.gallery__dots{display:flex;gap:10px}
.gallery__dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--ivory-2);background:transparent;padding:0;cursor:pointer;transition:background .3s,border-color .3s,transform .3s}
.gallery__dot.is-active{background:var(--bronze);border-color:var(--bronze);transform:scale(1.3)}
.gallery__count{margin-top:18px;text-align:center;font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.4em;color:var(--ivory-2)}
.gallery__count .sep{margin:0 .8em;color:var(--bronze);opacity:.7}
@media (max-width:900px){.gallery__slide{flex:0 0 78%}}
@media (max-width:640px){.gallery__slide{flex:0 0 86%}.gallery__placeholder{aspect-ratio:4/3}}
.gallery__img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}

/* ============ Section diagrams (SVG illustrations) ============ */
.thickness__diagram,.latex__diagram,.lubricant__diagram,.ritual__diagram{margin:0 auto clamp(48px,7vh,88px);max-width:620px;color:var(--ivory-1);opacity:.9;padding:clamp(20px,3vh,32px) 0;position:relative}
.thickness__diagram::before,.thickness__diagram::after,
.latex__diagram::before,.latex__diagram::after,
.lubricant__diagram::before,.lubricant__diagram::after,
.ritual__diagram::before,.ritual__diagram::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:32px;height:1px;background:var(--bronze)}
.thickness__diagram::before,.latex__diagram::before,.lubricant__diagram::before,.ritual__diagram::before{top:0}
.thickness__diagram::after,.latex__diagram::after,.lubricant__diagram::after,.ritual__diagram::after{bottom:0}
.thick-svg,.latex-svg,.lubricant-svg,.ritual-svg{display:block;width:100%;height:auto}
.ritual__diagram{max-width:780px}
.ritual-svg{min-height:120px}

/* ============ VOICES — slider ============ */
.voices__slider{max-width:1100px;margin:clamp(48px,6vh,80px) auto 0;padding:0 clamp(16px,3vw,32px)}
.voices__viewport{overflow:hidden}
.voices__track{display:flex;gap:clamp(20px,3vw,36px);transition:transform .8s cubic-bezier(.7,0,.2,1);will-change:transform;padding:8px 0}
.voices__track .vcard{flex:0 0 calc((100% - clamp(20px,3vw,36px) * 2) / 3);margin:0;background:linear-gradient(180deg,var(--card-a) 0%,var(--card-b) 100%);border:1px solid var(--line);padding:clamp(28px,4vw,40px) clamp(24px,3.5vw,36px);display:flex;flex-direction:column;justify-content:space-between;min-height:240px}
.voices__track .vcard blockquote{margin:0}
.voices__track .vcard blockquote p{font-family:var(--f-ja);font-size:14px;line-height:1.95;color:var(--ivory-0);letter-spacing:.03em;margin:0 0 24px;text-wrap:pretty}
.voices__track .vcard__who{font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--bronze);margin:0;padding-top:16px;border-top:1px solid var(--line-soft)}
.voices__controls{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:clamp(36px,5vh,56px)}
.voices__arrow{width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--ivory-0);cursor:pointer;display:grid;place-items:center;transition:border-color .3s,color .3s,background .3s}
.voices__arrow:hover{border-color:var(--bronze);color:var(--bronze);background:var(--card-a)}
.voices__count{font-family:var(--f-sans);font-weight:300;font-size:11px;letter-spacing:.4em;color:var(--ivory-2);margin:0;min-width:90px;text-align:center}
.voices__count .sep{margin:0 .6em;color:var(--bronze);opacity:.7}
@media (max-width:900px){.voices__track .vcard{flex:0 0 calc((100% - clamp(20px,3vw,36px)) / 2)}}
@media (max-width:620px){.voices__track .vcard{flex:0 0 100%}}


/* ======================================================================
   SCENES — scene × product creative placeholders
   ====================================================================== */
.scene{position:relative;padding:0;margin:0}
.scene-ph{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;width:100%;height:100%;background:
  linear-gradient(135deg, var(--card-a) 0%, var(--card-b) 100%);
  color:var(--ivory-2);overflow:hidden;isolation:isolate}
.scene-ph::before{content:"";position:absolute;inset:20px;border:1px solid var(--line);pointer-events:none}
.scene-ph::after{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(45deg, transparent 0 18px, rgba(255,255,255,.015) 18px 19px);
  pointer-events:none;mix-blend-mode:overlay;opacity:.5}
.scene-ph__badge{font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--bronze);z-index:1}
.scene-ph__size{font-family:var(--f-accent);font-style:italic;font-size:clamp(28px,4vw,56px);letter-spacing:.04em;color:var(--ivory-1);line-height:1;z-index:1}
.scene-ph__note{font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--ivory-2);opacity:.7;z-index:1}

/* wide/16:9, portrait/4:5, square/1:1, tall/3:4, landscape/4:3, cinema/21:9 */
.scene-ph--wide{aspect-ratio:16/9}
.scene-ph--portrait{aspect-ratio:4/5}
.scene-ph--square{aspect-ratio:1/1}
.scene-ph--tall{aspect-ratio:3/4}
.scene-ph--landscape{aspect-ratio:4/3}
.scene-ph--cinema{aspect-ratio:21/9}

/* ---------- Scene Plates (Scene 01 / Scene 06) — quiet figure-and-caption layout ---------- */
.scene--plate{margin:clamp(80px,14vh,180px) 0;padding:0 clamp(40px,6vw,96px);position:relative}
.plate__grid{
  max-width:1180px;margin:0 auto;display:grid;
  grid-template-columns: minmax(220px, 1fr) minmax(380px, 560px);
  gap:clamp(48px,7vw,128px);align-items:center
}
.scene--plate-right .plate__grid{grid-template-columns: minmax(380px, 560px) minmax(220px, 1fr)}

.plate__figure{margin:0;position:relative}
.plate__img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.plate__credit{
  margin-top:14px;font-family:var(--f-sans);font-weight:300;
  font-size:9px;letter-spacing:.45em;text-transform:uppercase;
  color:var(--ivory-2);opacity:.55
}
.scene--plate-left .plate__credit{text-align:right}
.scene--plate-right .plate__credit{text-align:left}

.plate__meta{
  display:flex;flex-direction:column;gap:18px;
  font-feature-settings:"palt" 1
}
.scene--plate-left .plate__meta{align-items:flex-start;text-align:left;padding-left:clamp(0px,2vw,40px)}
.scene--plate-right .plate__meta{align-items:flex-end;text-align:right;padding-right:clamp(0px,2vw,40px)}

.plate__num{
  font-family:var(--f-accent);font-style:italic;font-weight:300;
  font-size:clamp(18px,2vw,24px);letter-spacing:.18em;
  color:var(--bronze);text-transform:none
}
.plate__rule{display:block;width:48px;height:1px;background:var(--line);opacity:.7;margin:4px 0}
.plate__loc{
  font-family:var(--f-sans);font-weight:300;
  font-size:10px;letter-spacing:.5em;text-transform:uppercase;
  color:var(--ivory-2);opacity:.7
}
.plate__cap-ja{
  margin-top:clamp(16px,2.5vh,32px);
  font-family:var(--f-ja);font-weight:300;
  font-size:clamp(18px,1.9vw,24px);line-height:1.7;letter-spacing:.08em;
  color:var(--ivory-0)
}
.plate__cap-en{
  font-family:var(--f-accent);font-style:italic;font-weight:300;
  font-size:clamp(13px,1.3vw,16px);letter-spacing:.06em;
  color:var(--ivory-2);opacity:.85
}

@media (max-width:840px){
  .scene--plate{padding:0 clamp(24px,5vw,48px)}
  .plate__grid,.scene--plate-right .plate__grid{
    grid-template-columns:1fr;gap:32px;max-width:520px
  }
  .scene--plate-left .plate__meta,.scene--plate-right .plate__meta{
    align-items:flex-start;text-align:left;padding:0;order:2
  }
  .scene--plate-left .plate__figure,.scene--plate-right .plate__figure{order:1}
  .scene--plate-left .plate__credit,.scene--plate-right .plate__credit{text-align:left}
}
.scene--parallax{margin:clamp(80px,12vh,160px) 0;position:relative;padding:0 clamp(40px,8vw,140px)}
.scene-parallax__stage{position:relative;max-width:1080px;margin:0 auto;height:auto;aspect-ratio:3/2;overflow:hidden}
.scene-parallax__image{position:absolute;inset:-3% 0;will-change:transform}
.scene-parallax__image .scene-ph{height:100%;aspect-ratio:unset}
.scene-parallax__veil{position:absolute;inset:0;background:
  linear-gradient(180deg, var(--bg-0) 0%, transparent 18%, transparent 82%, var(--bg-0) 100%);
  pointer-events:none}

/* ---------- Scene 02 — Split 2-col with rightward text entry ---------- */
.scene--split{margin:clamp(80px,12vh,160px) 0;padding:clamp(40px,6vh,80px) clamp(24px,4vw,48px)}
.scene-split__wrap{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.scene-split__image{aspect-ratio:4/5;border:1px solid var(--line)}
.scene-split__image .scene-ph{height:100%;aspect-ratio:unset}
.scene-split__text{padding-left:clamp(0px,2vw,24px);border-left:1px solid var(--line-soft)}
.scene-split__eyebrow{display:block;font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--bronze);margin-bottom:28px}
.scene-split__body{font-family:var(--f-ja);font-weight:300;font-size:clamp(22px,2.6vw,34px);line-height:1.9;letter-spacing:.05em;color:var(--ivory-0);margin:0 0 32px;text-wrap:pretty}
.scene-split__mark{font-family:var(--f-accent);font-style:italic;font-size:36px;color:var(--bronze);opacity:.7}
@media (max-width:820px){
  .scene-split__wrap{grid-template-columns:1fr;gap:40px}
  .scene-split__text{padding-left:0;border-left:none;border-top:1px solid var(--line-soft);padding-top:32px}
}

/* ---------- Scene 03 — Duotone overlay ---------- */
.scene--duotone{margin:clamp(80px,12vh,160px) 0;padding:0 clamp(24px,4vw,48px)}
.scene-duotone__frame{max-width:640px;margin:0 auto;position:relative}
.scene-duotone__image{aspect-ratio:1/1;position:relative;overflow:hidden;filter:saturate(.1) contrast(1.05)}
.scene-duotone__image .scene-ph{height:100%;aspect-ratio:unset}
.scene-duotone__image::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg, rgba(157,122,80,.22), rgba(20,14,9,.35) 70%);mix-blend-mode:color;pointer-events:none}
.scene-duotone__cap{margin-top:20px;text-align:center;font-family:var(--f-accent);font-style:italic;font-size:16px;letter-spacing:.06em;color:var(--ivory-2)}

/* ---------- Scene 04 — Horizontal pinned scroll, 3 tiles ---------- */
.scene--triptych{margin:clamp(80px,12vh,160px) 0;padding:0 0 0 clamp(24px,4vw,48px);overflow:hidden}
.scene-triptych__intro{max-width:1280px;margin:0 auto clamp(28px,4vh,48px);padding-right:clamp(24px,4vw,48px)}
.scene-triptych__eyebrow{font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--bronze)}
.scene-triptych__scroller{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-right:clamp(24px,4vw,48px);scrollbar-width:thin}
.scene-triptych__scroller::-webkit-scrollbar{height:2px}
.scene-triptych__scroller::-webkit-scrollbar-thumb{background:var(--line)}
.scene-triptych__track{display:flex;gap:clamp(16px,2.5vw,32px);padding-bottom:24px}
.scene-triptych__tile{flex:0 0 clamp(280px,32vw,440px);margin:0;scroll-snap-align:start}
.scene-triptych__tile .scene-ph{aspect-ratio:3/4}
.scene-triptych__tile figcaption{margin-top:14px;font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--ivory-2)}

/* ---------- Scene 05 — Asymmetric fragments ---------- */
.scene--fragments{margin:clamp(80px,12vh,160px) 0;padding:0 clamp(24px,4vw,48px)}
.scene-fragments__intro{max-width:1280px;margin:0 auto clamp(32px,5vh,56px);text-align:center}
.scene-fragments__eyebrow{display:block;font-family:var(--f-sans);font-weight:300;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--bronze);margin-bottom:16px}
.scene-fragments__lede{font-family:var(--f-ja);font-weight:300;font-size:clamp(18px,2vw,24px);letter-spacing:.06em;color:var(--ivory-0);margin:0}
.scene-fragments__grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2.5vw,32px);align-items:start}
.scene-fragments__cell{margin:0}
.scene-fragments__cell--a{grid-column:span 5;transform:translateY(clamp(8px,3vh,36px))}
.scene-fragments__cell--b{grid-column:span 3;margin-top:clamp(40px,10vh,120px)}
.scene-fragments__cell--c{grid-column:span 4;margin-top:clamp(12px,4vh,48px)}
.scene-fragments__cell .scene-ph{height:auto}
@media (max-width:820px){
  .scene-fragments__cell--a,.scene-fragments__cell--b,.scene-fragments__cell--c{grid-column:span 12;transform:none;margin-top:0}
}

/* ---------- Scene 06 — Quiet cinema ---------- */
.scene--cinema{margin:clamp(80px,12vh,160px) 0;padding:0 clamp(40px,8vw,140px)}
.scene-cinema__frame{max-width:1080px;margin:0 auto}
.scene-cinema__image{aspect-ratio:3/2;position:relative;overflow:hidden}
.scene-cinema__image .scene-ph{height:100%;aspect-ratio:unset}
.scene-cinema__image::after{content:"";position:absolute;inset:0;background:
  linear-gradient(0deg, rgba(20,14,9,.4), transparent 30%),
  linear-gradient(180deg, rgba(20,14,9,.25), transparent 25%);
  pointer-events:none}
.scene-cinema__cap{margin-top:28px;display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}
.scene-cinema__cap-ja{font-family:var(--f-ja);font-weight:300;font-size:clamp(16px,1.8vw,22px);letter-spacing:.08em;color:var(--ivory-0)}
.scene-cinema__cap-en{font-family:var(--f-accent);font-style:italic;font-size:clamp(14px,1.4vw,18px);letter-spacing:.08em;color:var(--bronze)}

/* ---------- Real photographs (replacing scene placeholders) ---------- */
/* All uploaded photos are 3:2 landscape (1536×1024) — containers match to avoid cropping */

/* Hero parallax — modest overshoot for parallax travel only */
.scene-parallax__img{width:100%;height:100%;object-fit:cover;display:block}
.scene-parallax__image:has(.scene-parallax__img){position:absolute;inset:-4% 0;will-change:transform}

/* Philosophy — was 4:5 portrait, now 3:2 landscape to match photo */
.philosophy__image{aspect-ratio:3/2 !important}
.philosophy__img{width:100%;height:100%;object-fit:cover;display:block}
.philosophy__image:has(.philosophy__img){overflow:hidden;border:1px solid var(--line)}

/* Triptych tiles — was 3:4 tall, now 3:2 landscape */
.scene-triptych__img-wrap{aspect-ratio:3/2;overflow:hidden;background:var(--card-a)}
.scene-triptych__img{width:100%;height:100%;object-fit:cover;display:block}
.scene-triptych__tile{flex:0 0 clamp(320px,38vw,520px) !important}

/* Fragments masonry — all cells now 3:2 landscape (rhythm comes from grid offsets, not aspect) */
.scene-fragments__cell--a .scene-fragments__img-wrap,
.scene-fragments__cell--b .scene-fragments__img-wrap,
.scene-fragments__cell--c .scene-fragments__img-wrap{aspect-ratio:3/2}
.scene-fragments__img-wrap{overflow:hidden;background:var(--card-a)}
.scene-fragments__img{width:100%;height:100%;object-fit:cover;display:block}

/* Cinema afterglow — quiet inset frame */
.scene-cinema__image{aspect-ratio:3/2 !important;max-width:1080px;margin:0 auto}
.scene-cinema__img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}

/* Mobile — collapse section vertical padding to ~1/5 */
@media (max-width:720px){
  :root{--sec-pad-y:clamp(24px,3.6vh,44px)}
  .sec__chap{margin-bottom:clamp(20px,4vh,36px)}
  .hero{padding:clamp(72px,12vh,120px) var(--gutter) clamp(28px,4vh,48px)}
}

/* FLOATING SHOP BAR — sticky bottom Amazon CTA (dark) */
.floating-shop{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ivory-0);border-top:1px solid rgba(244,237,224,.08);padding:14px var(--gutter);transform:translateY(105%);transition:transform .7s var(--ease-slow);pointer-events:none;box-shadow:0 -16px 40px rgba(0,0,0,.18)}
.floating-shop.is-active{transform:none;pointer-events:auto}
.floating-shop__inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.floating-shop__info{display:flex;flex-direction:column;gap:3px;min-width:0}
.floating-shop__name{font-family:var(--f-ja);font-weight:300;font-size:13px;letter-spacing:.18em;color:var(--ink-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.floating-shop__meta{font-family:var(--f-ja);font-weight:300;font-size:11px;letter-spacing:.14em;color:var(--ink-2);white-space:nowrap}
.floating-shop__sep{color:var(--ivory-3);margin:0 6px}
.floating-shop__tax{color:var(--ivory-3);font-size:9px;margin-left:4px;letter-spacing:.1em}
.floating-shop__cta{display:inline-flex;align-items:center;gap:14px;padding:14px 28px;background:var(--ink-0);color:var(--ivory-0);font-family:var(--f-ja);font-weight:300;font-size:11px;letter-spacing:.3em;text-transform:uppercase;border:0;cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease);white-space:nowrap;flex-shrink:0}
.floating-shop__cta:hover{background:var(--bronze);color:var(--ink-0)}
.floating-shop__cta-arrow{font-family:var(--f-accent);font-style:italic;font-weight:400;font-size:15px;letter-spacing:0;line-height:1;transition:transform .4s var(--ease)}
.floating-shop__cta:hover .floating-shop__cta-arrow{transform:translate(3px,-3px)}
.floating-shop__cta:focus-visible{outline:1px solid var(--bronze);outline-offset:3px}

/* Reserve space below footer so the floating bar doesn't permanently hide footer copy */
.footer{padding-bottom:clamp(80px,12vh,120px)}

@media (max-width:720px){
  .floating-shop{padding:10px var(--gutter)}
  .floating-shop__inner{gap:14px}
  .floating-shop__meta{display:none}
  .floating-shop__cta{padding:12px 18px;font-size:10px;letter-spacing:.22em;gap:10px}
}
@media (max-width:480px){
  .floating-shop__name{font-size:11px;letter-spacing:.14em}
  .floating-shop__cta-label{display:none}
  .floating-shop__cta{padding:12px 16px;gap:0}
  .floating-shop__cta::before{content:"Amazon";font-size:10px;letter-spacing:.22em}
}
