:root{
  --paper:#f3e7d5;
  --paper-2:#ead9bf;
  --paper-light:#f9f0e2;
  --ink:#2a211a;
  --ink-soft:#695c4f;
  --red:#b13a2f;
  --blue:#315775;
  --gold:#9c7438;
  --line:rgba(63,46,31,.18);
  --serif:"Yu Mincho","Hiragino Mincho ProN","Iowan Old Style","Times New Roman",serif;
  --sans:"Helvetica Neue","Avenir Next",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --max:1540px;
  --copy:1040px;
  --pad:clamp(24px,4.5vw,76px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper)!important;color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.18;background:
  radial-gradient(circle at 12% 18%,rgba(102,73,43,.13) 0 .7px,transparent 1.2px) 0 0/21px 27px,
  radial-gradient(circle at 70% 42%,rgba(255,255,255,.42) 0 .8px,transparent 1.5px) 0 0/37px 31px,
  repeating-linear-gradient(95deg,rgba(85,60,36,.035) 0 1px,transparent 1px 5px);
  mix-blend-mode:multiply}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
em{font-style:normal;color:var(--red)}
::selection{background:var(--red);color:var(--paper-light)}
.paper-section{position:relative;background-color:var(--paper)!important;background:
  linear-gradient(rgba(249,240,226,.42),rgba(243,231,213,.48)),
  repeating-linear-gradient(3deg,rgba(97,68,39,.025) 0 1px,transparent 1px 7px),
  var(--paper)}
.paper-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background:
  radial-gradient(ellipse at 10% 30%,rgba(255,255,255,.8),transparent 35%),
  radial-gradient(ellipse at 90% 70%,rgba(137,98,56,.25),transparent 27%)}

.reading-progress{position:fixed;left:0;top:0;right:0;height:2px;z-index:2000}
.reading-progress span{display:block;width:0;height:100%;background:var(--red)}

.site-header{position:sticky;top:0;z-index:400;min-height:78px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(243,231,213,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(63,46,31,.13)}
.brand{display:inline-flex;align-items:center;gap:14px;width:max-content}
.brand__mark{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--red);color:var(--red);font:400 21px/1 var(--serif)}
.brand__text{display:grid;gap:4px}
.brand__text strong{font:500 13px/1 var(--sans);letter-spacing:.24em}
.brand__text small{font-size:7px;letter-spacing:.18em;color:rgba(42,33,26,.5)}
.site-nav{display:flex;gap:34px;font-size:9px;font-weight:400;letter-spacing:.20em}
.site-nav a{position:relative;padding:8px 0}
.site-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--red);transition:width .3s ease}
.site-nav a:hover::after{width:100%}
.app-link{justify-self:end;padding:11px 16px;border:1px solid var(--ink);border-radius:999px;font-size:8px;font-weight:500;letter-spacing:.16em}

.eyebrow{margin:0 0 20px;color:var(--red);font-size:8px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}
.body-copy{color:var(--ink-soft);font-size:13px;line-height:2.05;letter-spacing:.02em}
.jp-note{font:400 13px/2 var(--serif);letter-spacing:.12em;color:rgba(42,33,26,.5)}
.section-title{position:relative;z-index:2;max-width:var(--copy);margin:0 auto 62px}
.section-title h2{font:300 clamp(44px,5vw,78px)/1.04 var(--serif);letter-spacing:-.04em;margin:0}
.section-title>p:last-child{max-width:680px;margin:22px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.9;letter-spacing:.02em}

.ukiyo-cutout{margin:0;position:relative;pointer-events:none}
.ukiyo-cutout img{
  width:100%;height:100%;object-fit:cover;
  mix-blend-mode:multiply;
  filter:saturate(.82) contrast(1.03) brightness(1.03);
  opacity:.94
}

.hero{min-height:900px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.hero__copy{position:relative;z-index:3;padding:100px 4vw 100px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:72px;font-size:7px;letter-spacing:.16em;color:rgba(42,33,26,.45)}
.hero h1{font:300 clamp(62px,6.7vw,112px)/.9 var(--serif);letter-spacing:-.058em;margin:0;max-width:760px}
.hero h1 em{display:block;margin-top:.08em}
.hero__lead{max-width:630px;margin:38px 0 0;color:var(--ink-soft);font-size:13px;line-height:2;letter-spacing:.015em}
.hero__meta{display:flex;flex-wrap:wrap;gap:13px 24px;margin-top:38px;padding-top:18px;border-top:1px solid var(--line);font-size:7px;letter-spacing:.15em;color:rgba(42,33,26,.48)}
.hero__art{position:relative;z-index:2;height:760px;align-self:end;overflow:visible}
.hero__art img{object-fit:contain;object-position:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 90%,transparent 100%),linear-gradient(0deg,transparent 0,#000 10%,#000 94%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 12%,#000 95%,transparent 100%);
  mask-composite:intersect
}
.hero__jp{position:absolute;z-index:1;right:2vw;bottom:4vw;font:300 clamp(68px,10vw,170px)/1 var(--serif);letter-spacing:.13em;color:rgba(177,58,47,.06);writing-mode:vertical-rl}

.split-story{min-height:690px;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;padding:100px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));overflow:hidden;border-bottom:1px solid var(--line)}
.split-story__copy{position:relative;z-index:3;max-width:660px;padding:20px 6vw 20px 0}
.split-story h2{font:300 clamp(48px,5vw,82px)/1 var(--serif);letter-spacing:-.048em;margin:0}
.split-story__art{height:500px}
.split-story__art img{object-fit:contain;object-position:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 14%,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 18%,#000 88%,transparent 100%);
  mask-composite:intersect
}

.principles{padding:115px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));overflow:hidden;border-bottom:1px solid var(--line)}
.principles__art{position:absolute;right:-4vw;top:60px;width:min(43vw,660px);height:470px;opacity:.18}
.principles__art img{object-fit:contain;object-position:center;
  -webkit-mask-image:radial-gradient(ellipse at 65% 50%,#000 25%,rgba(0,0,0,.8) 48%,transparent 74%);
  mask-image:radial-gradient(ellipse at 65% 50%,#000 25%,rgba(0,0,0,.8) 48%,transparent 74%)
}
.principle-grid{position:relative;z-index:2;max-width:var(--copy);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.principle-grid article{position:relative;min-height:290px;padding:30px 28px 32px;border-right:1px solid var(--line)}
.principle-grid article:first-child{padding-left:0}
.principle-grid article:last-child{border-right:0}
.principle-no{font-size:8px;letter-spacing:.18em;color:var(--red)}
.principle-kanji{position:absolute;right:22px;top:17px;font:300 46px var(--serif);color:rgba(177,58,47,.12)}
.principle-grid h3{font:300 29px/1.12 var(--serif);margin:70px 0 13px}
.principle-grid p{margin:0;color:var(--ink-soft);font-size:11px;line-height:1.85}

.fish-guide{padding:120px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) 130px}
.pairing-row{position:relative;z-index:2;min-height:560px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;border-top:1px solid var(--line);overflow:hidden}
.pairing-row:last-child{border-bottom:1px solid var(--line)}
.pairing-row--reverse{grid-template-columns:1.08fr .92fr}
.pairing-row--reverse .pairing-row__copy{order:2;padding-left:7vw;padding-right:0}
.pairing-row--reverse .pairing-row__art{order:1}
.pairing-row__copy{position:relative;z-index:3;padding:62px 7vw 62px 0}
.pairing-row__kanji{position:absolute;right:3vw;top:28px;font:300 clamp(52px,7vw,100px)/1 var(--serif);color:rgba(177,58,47,.08)}
.pairing-row__copy h3{font:300 clamp(38px,4.2vw,62px)/1.03 var(--serif);letter-spacing:-.04em;margin:0}
.pairing-row__copy>p:not(.eyebrow){max-width:650px;margin:20px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.9}
.pairing-row dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.pairing-row dl div{display:grid;gap:6px}
.pairing-row dt{font-size:7px;letter-spacing:.16em;color:var(--red)}
.pairing-row dd{margin:0;font:300 14px/1.4 var(--serif)}
.pairing-row__art{height:470px}
.pairing-row__art img{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 91%,transparent 100%),linear-gradient(0deg,transparent 0,#000 14%,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 91%,transparent 100%),linear-gradient(0deg,transparent 0,#000 14%,#000 90%,transparent 100%);
  mask-composite:intersect
}
.pairing-row__art--bridge img{object-fit:contain;object-position:center}
.pairing-row__art--fuji img{object-position:center}
.pairing-row__art--satta img{object-position:center 52%}
.pairing-row__art--rain img{object-position:center 60%}
.pairing-row__art--wave2 img{object-position:80% 68%}

.taste-section{padding:110px max(var(--pad),calc((100vw - var(--copy))/2 + var(--pad)));border-top:1px solid var(--line)}
.taste-grid{position:relative;z-index:2;max-width:var(--copy);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.taste-grid article{min-height:280px;padding:30px 28px 34px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.taste-grid article:first-child{padding-left:0}
.taste-grid article:last-child{border-right:0}
.taste-grid article>span{font:300 34px/1 var(--serif);color:var(--red)}
.taste-grid h3{font:300 31px/1 var(--serif);margin:38px 0 12px}
.taste-grid p{margin:0;color:var(--ink-soft);font-size:11px;line-height:1.8}
.taste-grid a{margin-top:auto;padding-top:26px;font-size:7px;font-weight:500;letter-spacing:.14em;color:var(--red)}

.bottles{padding:120px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));border-top:1px solid var(--line)}
.bottle-grid{position:relative;z-index:2;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.bottle-card{background:rgba(249,240,226,.46);border:1px solid rgba(63,46,31,.16)}
.bottle-placeholder{height:270px;display:grid;place-items:center;align-content:center;gap:12px;background:
  linear-gradient(150deg,rgba(177,58,47,.045),transparent 55%),
  repeating-linear-gradient(91deg,rgba(74,51,30,.025) 0 1px,transparent 1px 5px)}
.bottle-placeholder span{width:82px;height:165px;display:grid;place-items:center;border:1px solid rgba(63,46,31,.24);border-radius:42% 42% 8px 8px;font:300 39px var(--serif);color:rgba(42,33,26,.42)}
.bottle-placeholder small{font-size:7px;letter-spacing:.15em;color:rgba(42,33,26,.4)}
.bottle-card__copy{padding:28px}
.bottle-card__copy h3{font:300 28px/1.08 var(--serif);margin:0}
.bottle-card__copy>p:not(.eyebrow){min-height:76px;color:var(--ink-soft);font-size:10px;line-height:1.78}
.bottle-card__copy a{display:inline-block;margin-top:12px;font-size:7px;font-weight:500;letter-spacing:.14em;color:var(--red)}
.availability{position:relative;z-index:2;max-width:var(--copy);margin:70px auto 0;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:170px 1fr;gap:30px}
.availability p{margin:0}
.availability>p:last-child{color:var(--ink-soft);font-size:11px;line-height:1.8}

.faq{padding:110px max(var(--pad),calc((100vw - var(--copy))/2 + var(--pad))) 130px;overflow:hidden;border-top:1px solid var(--line)}
.faq-list{position:relative;z-index:3;max-width:var(--copy);margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:23px 0;display:flex;justify-content:space-between;gap:24px;font:300 18px/1.5 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{color:var(--red)}
.faq details p{max-width:720px;margin:0 0 29px;color:var(--ink-soft);font-size:11px;line-height:1.85}
.faq__art{position:absolute;right:-6vw;bottom:-30px;width:min(35vw,500px);height:360px;opacity:.18}
.faq__art img{
  -webkit-mask-image:radial-gradient(ellipse at 60% 60%,#000 20%,rgba(0,0,0,.75) 50%,transparent 78%);
  mask-image:radial-gradient(ellipse at 60% 60%,#000 20%,rgba(0,0,0,.75) 50%,transparent 78%)
}

.closing{min-height:720px;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;overflow:hidden;border-top:1px solid var(--line)}
.closing__copy{position:relative;z-index:3;padding:80px 3vw 80px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.closing h2{font:300 clamp(56px,6.4vw,102px)/.92 var(--serif);letter-spacing:-.055em;margin:0}
.closing__copy>p:not(.eyebrow){max-width:530px;color:var(--ink-soft);font-size:13px;line-height:1.9}
.closing__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.button{min-height:50px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:500;letter-spacing:.15em}
.button--red{background:var(--red);color:var(--paper-light);border:1px solid var(--red)}
.button--line{border:1px solid var(--ink)}
.closing__art{height:620px}
.closing__art img{
  object-position:62% 50%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 13%,#000 88%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 13%,#000 88%,transparent 100%);
  mask-composite:intersect
}

.footer{position:relative;z-index:2;padding:55px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) 70px;display:grid;grid-template-columns:.7fr 1.5fr .8fr;gap:42px;border-top:1px solid var(--line)}
.footer__brand{display:flex;gap:13px;align-items:center}
.footer__brand>div{display:grid;gap:4px}
.footer__brand strong{font-size:11px;letter-spacing:.18em}
.footer__brand small{font-size:7px;color:rgba(42,33,26,.48)}
.credits{display:grid;gap:6px}
.credits>span{font-size:7px;font-weight:500;letter-spacing:.16em;color:var(--red)}
.credits a{font:300 10px/1.4 var(--serif);color:rgba(42,33,26,.58)}
.footer>p{margin:0;color:rgba(42,33,26,.46);font-size:8px;line-height:1.7}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1050px){
  .site-header{grid-template-columns:1fr auto}.site-nav{display:none}
  .hero{grid-template-columns:1fr;min-height:auto}.hero__copy{padding:72px var(--pad)}.hero__art{height:62svh}
  .hero__art img{mask-image:linear-gradient(0deg,transparent 0,#000 15%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 15%,#000 90%,transparent 100%)}
  .split-story{grid-template-columns:1fr}.split-story__copy{padding-right:0}.split-story__art{height:420px}
  .principle-grid{grid-template-columns:1fr}.principle-grid article,.principle-grid article:first-child{padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}
  .pairing-row,.pairing-row--reverse{grid-template-columns:1fr}.pairing-row--reverse .pairing-row__copy{order:0;padding-left:0}.pairing-row--reverse .pairing-row__art{order:1}
  .pairing-row__copy{padding-right:0}.pairing-row__art{height:420px}
  .bottle-grid{grid-template-columns:1fr 1fr}
  .closing{grid-template-columns:1fr}.closing__copy{padding:80px var(--pad)}.closing__art{height:520px}
  .footer{grid-template-columns:1fr 1fr}.footer>p{grid-column:1/-1}
}
@media(max-width:700px){
  .site-header{min-height:66px}.brand__text small,.app-link{display:none}
  .hero__copy{padding:52px 20px 60px}.breadcrumbs{margin-bottom:42px}.hero h1{font-size:clamp(54px,15vw,78px)}
  .split-story,.principles,.fish-guide,.taste-section,.bottles,.faq{padding:80px 20px}
  .section-title{margin-bottom:44px}
  .principles__art{width:80vw;opacity:.1}
  .pairing-row{min-height:auto}.pairing-row__copy{padding:44px 0}.pairing-row dl{grid-template-columns:1fr}.pairing-row__art{height:300px}
  .taste-grid{grid-template-columns:1fr}.taste-grid article,.taste-grid article:first-child{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
  .bottle-grid{grid-template-columns:1fr}.availability{grid-template-columns:1fr;gap:8px}
  .faq__art{width:80vw;opacity:.09}
  .closing__copy{padding:70px 20px}.closing__art{height:390px}
  .footer{padding:46px 20px 60px;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}


/* ==========================================================================
   02 QUICK ANSWER
   ========================================================================== */
.hero__answer{
  max-width:630px;margin:24px 0 0;padding:16px 0 0;border-top:1px solid var(--line);
  font:300 15px/1.75 var(--serif);color:var(--ink)
}
.hero__answer span{
  display:block;margin-bottom:7px;font:500 7px/1 var(--sans);letter-spacing:.18em;color:var(--red)
}
.quick-answer{
  min-height:760px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;
  padding:105px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));
  overflow:hidden;border-bottom:1px solid var(--line)
}
.quick-answer__copy{position:relative;z-index:3;padding-right:6vw}
.quick-answer h2{
  font:300 clamp(48px,5.2vw,82px)/.98 var(--serif);letter-spacing:-.05em;margin:0
}
.quick-answer .body-copy{max-width:700px;margin:24px 0 36px}
.quick-grid{border-top:1px solid var(--line)}
.quick-grid article{
  min-height:105px;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;
  padding:18px 0;border-bottom:1px solid var(--line)
}
.quick-grid article>span{font:300 30px/1 var(--serif);color:rgba(177,58,47,.55)}
.quick-grid h3{font:300 21px/1.1 var(--serif);margin:0 0 6px}
.quick-grid strong{display:block;font-size:8px;font-weight:500;letter-spacing:.12em;color:var(--red);text-transform:uppercase}
.quick-grid p{margin:7px 0 0;max-width:650px;color:var(--ink-soft);font-size:10px;line-height:1.65}
.quick-note{max-width:690px;margin:25px 0 0;font:300 11px/1.8 var(--serif);color:rgba(42,33,26,.52)}
.quick-answer__art{height:610px}
.quick-answer__art img{
  object-fit:contain;object-position:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 10%,#000 91%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 10%,#000 91%,transparent 100%);
  mask-composite:intersect
}

/* ==========================================================================
   03 WHY SAKE & SUSHI BELONG TOGETHER
   ========================================================================== */
.why-together{
  padding:118px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) 135px;
  overflow:hidden;border-bottom:1px solid var(--line)
}
.why-intro{
  position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(38px,7vw,110px);
  align-items:center;max-width:var(--max);margin:0 auto 105px
}
.why-intro__copy h2{
  font:300 clamp(50px,5.7vw,88px)/.96 var(--serif);letter-spacing:-.05em;margin:0
}
.why-intro__copy .body-copy{max-width:680px;margin-top:28px}
.why-intro__art{height:520px}
.why-intro__art img{
  object-fit:contain;object-position:center;
  -webkit-mask-image:radial-gradient(ellipse at 52% 50%,#000 38%,rgba(0,0,0,.88) 56%,transparent 78%);
  mask-image:radial-gradient(ellipse at 52% 50%,#000 38%,rgba(0,0,0,.88) 56%,transparent 78%)
}
.why-chapters{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line)}
.why-chapter{
  min-height:610px;display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(40px,6vw,90px);
  align-items:center;padding:72px 0;border-bottom:1px solid var(--line)
}
.why-chapter--reverse{grid-template-columns:.96fr 1.04fr}
.why-chapter--reverse .why-chapter__copy{order:2}
.why-chapter--reverse .why-chapter__art{order:1}
.why-chapter__copy{position:relative;z-index:3;max-width:760px}
.why-no{display:block;margin-bottom:34px;font-size:7px;letter-spacing:.17em;color:rgba(42,33,26,.42)}
.why-chapter h3{font:300 clamp(39px,4.3vw,65px)/1 var(--serif);letter-spacing:-.043em;margin:0 0 25px}
.why-chapter__copy>p:not(.eyebrow):not(.why-mantra){
  max-width:710px;margin:15px 0;color:var(--ink-soft);font-size:12px;line-height:1.93
}
.why-mantra{
  margin:28px 0!important;font:300 clamp(31px,3.1vw,48px)/1.22 var(--serif)!important;
  color:var(--red)!important;letter-spacing:-.025em
}
.why-chapter__art{height:470px}
.why-chapter__art img{
  object-fit:contain;object-position:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 10%,#000 92%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 92%,transparent 100%),linear-gradient(0deg,transparent 0,#000 10%,#000 92%,transparent 100%);
  mask-composite:intersect
}
.why-chapter__art--prawns img{max-width:82%;margin:auto}
.why-chapter__art--sushi img{object-position:center}
.why-chapter__art--sake img{max-width:92%;margin:auto}
.source-link{
  display:block;width:max-content;max-width:100%;margin-top:24px;padding-top:12px;border-top:1px solid var(--line);
  font-size:7px;font-weight:500;letter-spacing:.12em;color:var(--red)
}
.source-stack{display:grid;gap:8px;margin-top:24px}
.source-stack .source-link{margin-top:0}
.why-sources{
  max-width:var(--copy);margin:65px auto 0;padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center
}
.why-sources span{font-size:7px;font-weight:500;letter-spacing:.16em;color:var(--red)}
.why-sources a{font:300 10px/1.4 var(--serif);color:rgba(42,33,26,.56)}

@media(max-width:1050px){
  .quick-answer{grid-template-columns:1fr}.quick-answer__copy{padding-right:0}.quick-answer__art{height:470px;margin-top:45px}
  .why-intro{grid-template-columns:1fr}.why-intro__art{height:440px}
  .why-chapter,.why-chapter--reverse{grid-template-columns:1fr;gap:25px}
  .why-chapter--reverse .why-chapter__copy,.why-chapter--reverse .why-chapter__art{order:initial}
  .why-chapter__art{height:400px}
}
@media(max-width:700px){
  .quick-answer,.why-together{padding:80px 20px}
  .quick-grid article{grid-template-columns:54px 1fr}
  .quick-answer__art{height:330px}
  .why-intro{margin-bottom:60px}.why-intro__art{height:320px}
  .why-chapter{min-height:auto;padding:55px 0}.why-chapter__art{height:300px}
}


/* ==========================================================================
   04 A SHARED HISTORY / EXHIBITION TIMELINE
   ========================================================================== */
.history-timeline{
  position:relative;
  padding:120px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) 145px;
  overflow:hidden;
  border-bottom:1px solid var(--line)
}
.history-timeline__bg{
  position:absolute;inset:0;z-index:0;opacity:.14;pointer-events:none
}
.history-timeline__bg img{
  width:100%;height:100%;object-fit:cover;object-position:center 40%;
  mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(0deg,transparent 0,#000 12%,#000 88%,transparent 100%);
  mask-image:linear-gradient(0deg,transparent 0,#000 12%,#000 88%,transparent 100%)
}
.history-timeline__head{
  position:relative;z-index:2;max-width:900px;margin:0 auto 86px;text-align:center
}
.history-timeline__head h2{
  margin:0;font:300 clamp(48px,5.4vw,86px)/1 var(--serif);letter-spacing:-.045em
}
.history-timeline__head .body-copy{
  max-width:760px;margin:24px auto 0
}
.history-line{
  position:absolute;z-index:1;left:50%;top:390px;bottom:130px;width:1px;
  transform:translateX(-50%);
  background:linear-gradient(to bottom,rgba(63,46,31,.06),rgba(177,58,47,.34),rgba(63,46,31,.08))
}
.history-flow{position:relative;z-index:2;max-width:1280px;margin:0 auto}
.history-card{
  position:relative;width:calc(50% - 48px);margin:0 0 56px
}
.history-card--left{margin-right:auto}
.history-card--right{margin-left:auto}
.history-card::after{
  content:"";position:absolute;top:52px;width:43px;height:1px;background:rgba(63,46,31,.28)
}
.history-card--left::after{right:-43px}
.history-card--right::after{left:-43px}
.history-card::before{
  content:"";position:absolute;top:46px;width:12px;height:12px;border-radius:50%;
  background:var(--paper-light);border:1px solid rgba(177,58,47,.5);
  box-shadow:0 0 0 6px rgba(243,231,213,.7)
}
.history-card--left::before{right:-54px}
.history-card--right::before{left:-54px}
.history-card__label{
  display:inline-block;margin-bottom:13px;padding:6px 10px;
  border:1px solid rgba(63,46,31,.15);background:rgba(249,240,226,.64);
  font-size:7px;font-weight:500;letter-spacing:.17em;color:var(--red)
}
.history-card__content{
  display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center;
  min-height:285px;padding:30px;
  background:rgba(249,240,226,.72);border:1px solid rgba(63,46,31,.16);
  backdrop-filter:blur(3px)
}
.history-card--right .history-card__content{grid-template-columns:.95fr 1.05fr}
.history-step{
  display:block;margin-bottom:14px;font-size:8px;letter-spacing:.17em;color:rgba(42,33,26,.44)
}
.history-card__copy h3{
  margin:0 0 15px;font:300 clamp(27px,2.5vw,41px)/1.03 var(--serif);letter-spacing:-.03em
}
.history-card__copy p{
  margin:0;color:var(--ink-soft);font-size:11px;line-height:1.86
}
.history-card__art{height:220px}
.history-card__art img{
  width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:multiply;
  filter:saturate(.84) contrast(1.02);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%),linear-gradient(0deg,transparent 0,#000 12%,#000 88%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%),linear-gradient(0deg,transparent 0,#000 12%,#000 88%,transparent 100%);
  mask-composite:intersect
}
.history-sources{
  position:relative;z-index:2;max-width:var(--copy);margin:70px auto 0;padding-top:20px;
  border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center
}
.history-sources span{font-size:7px;font-weight:500;letter-spacing:.16em;color:var(--red)}
.history-sources a{font:300 10px/1.4 var(--serif);color:rgba(42,33,26,.58)}
@media(max-width:1050px){
  .history-line{left:24px;top:350px;bottom:100px;transform:none}
  .history-card,.history-card--left,.history-card--right{width:100%;margin-left:0;margin-right:0}
  .history-card::after{left:-14px;right:auto;width:24px}
  .history-card::before{left:-24px;right:auto}
  .history-card__content,.history-card--right .history-card__content{grid-template-columns:1fr}
  .history-card__art{height:270px}
}
@media(max-width:700px){
  .history-timeline{padding:82px 20px 95px}
  .history-timeline__head{margin-bottom:58px;text-align:left}
  .history-line{top:300px;bottom:80px}
  .history-card__content{padding:20px;min-height:auto}
  .history-card__art{height:205px}
}


/* ==========================================================================
   04 SHARED HISTORY — dual-track correction
   ========================================================================== */
.history-timeline__head{max-width:980px}
.history-disclaimer{
  max-width:760px;margin:18px auto 0;
  font:300 11px/1.8 var(--serif);color:rgba(42,33,26,.52)
}
.history-card{width:calc(50% - 42px)}
.history-card__content--shared{
  grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);
  min-height:430px;padding:30px 30px 28px
}
.history-card--right .history-card__content--shared{
  grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr)
}
.history-track{
  display:grid;grid-template-columns:82px 1fr;gap:15px;
  padding:14px 0;border-top:1px solid rgba(63,46,31,.13)
}
.history-track:first-of-type{margin-top:18px}
.history-track__name{
  padding-top:2px;font-size:7px;font-weight:600;letter-spacing:.17em;color:var(--red)
}
.history-track p{
  margin:0!important;color:var(--ink-soft)!important;font-size:10.5px!important;line-height:1.75!important
}
.history-track em{font-style:italic;color:var(--ink)}
.history-meet{
  margin-top:17px;padding:16px 17px 17px;
  background:rgba(156,116,56,.08);border-left:2px solid rgba(156,116,56,.52)
}
.history-meet--strong{
  background:rgba(177,58,47,.06);border-left-color:rgba(177,58,47,.58)
}
.history-meet span{
  display:block;margin-bottom:7px;font-size:7px;font-weight:600;letter-spacing:.17em;color:var(--gold)
}
.history-meet--strong span{color:var(--red)}
.history-meet p{
  margin:0!important;font:300 11px/1.75 var(--serif)!important;color:rgba(42,33,26,.72)!important
}
.history-card__art{height:290px}
.history-card__copy h3{font-size:clamp(27px,2.35vw,39px)}
@media(max-width:1050px){
  .history-card{width:100%}
  .history-card__content--shared,
  .history-card--right .history-card__content--shared{grid-template-columns:1fr}
  .history-card--right .history-card__art{order:2}
  .history-card--right .history-card__copy{order:1}
  .history-card__art{height:260px}
}
@media(max-width:700px){
  .history-track{grid-template-columns:1fr;gap:6px}
  .history-card__content--shared{padding:20px}
  .history-meet{padding:14px}
}


/* ==========================================================================
   TABLE OF CONTENTS
   ========================================================================== */
.article-toc{
  position:relative;z-index:10;border-bottom:1px solid var(--line);
  padding:22px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))
}
.article-toc__inner{
  position:relative;z-index:2;max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:120px 1fr;gap:28px;align-items:start
}
.article-toc__title{display:grid;gap:4px;padding-top:5px}
.article-toc__title span{font:300 17px/1 var(--serif);color:var(--red)}
.article-toc__title strong{font-size:8px;letter-spacing:.18em;font-weight:500}
.article-toc__grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)
}
.article-toc__grid a{
  min-height:54px;padding:12px 13px;display:flex;align-items:center;gap:9px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  font-size:8px;letter-spacing:.08em;transition:background .22s ease,color .22s ease
}
.article-toc__grid a:hover{background:rgba(177,58,47,.06);color:var(--red)}
.article-toc__grid a span{color:var(--red);font:300 12px var(--serif)}

/* shared section sources */
.section-source{
  position:relative;z-index:3;max-width:var(--copy);margin:62px auto 0;padding-top:18px;
  border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 22px
}
.section-source a{font:300 9px/1.5 var(--serif);color:rgba(42,33,26,.56)}

/* ==========================================================================
   05 RULES
   ========================================================================== */
.rules-section{padding:118px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));border-bottom:1px solid var(--line);overflow:hidden}
.rules-section__intro{position:relative;z-index:2;display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:center;max-width:var(--max);margin:0 auto 72px}
.rules-section__intro h2,.rice-section__intro h2,.temperature-section__intro h2,.bottles__intro h2,.ordering-section__intro h2{
  margin:0;font:300 clamp(48px,5.4vw,84px)/.98 var(--serif);letter-spacing:-.045em
}
.rules-section__intro .body-copy,.rice-section__intro .body-copy,.temperature-section__intro .body-copy,.bottles__intro .body-copy,.ordering-section__intro .body-copy{max-width:680px;margin-top:25px}
.rules-section__art{height:430px}
.rules-section__art img,.rice-section__art img,.temperature-section__art img,.bottles__art img,.ordering-section__art img{
  object-fit:contain;object-position:center;
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 36%,rgba(0,0,0,.82) 58%,transparent 79%);
  mask-image:radial-gradient(ellipse at 50% 50%,#000 36%,rgba(0,0,0,.82) 58%,transparent 79%)
}
.rule-grid{position:relative;z-index:2;max-width:var(--copy);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rule-grid article{position:relative;min-height:350px;padding:30px 27px 34px;border-right:1px solid var(--line)}
.rule-grid article:first-child{padding-left:0}.rule-grid article:last-child{border-right:0}
.rule-no{font-size:8px;letter-spacing:.17em;color:rgba(42,33,26,.44)}
.rule-kanji{position:absolute;right:22px;top:20px;font:300 45px var(--serif);color:rgba(177,58,47,.12)}
.rule-grid h3{font:300 31px/1.08 var(--serif);margin:52px 0 15px}
.rule-grid article>p:last-child{color:var(--ink-soft);font-size:11px;line-height:1.82}

/* ==========================================================================
   07 RICE
   ========================================================================== */
.rice-section{padding:118px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));border-bottom:1px solid var(--line);overflow:hidden}
.rice-section__intro,.temperature-section__intro,.bottles__intro,.ordering-section__intro{
  position:relative;z-index:2;display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center;max-width:var(--max);margin:0 auto 70px
}
.rice-section__art{height:430px}
.seasoning-grid{position:relative;z-index:2;max-width:var(--copy);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.seasoning-grid article{min-height:330px;padding:28px 23px 30px;border-right:1px solid var(--line)}
.seasoning-grid article:last-child{border-right:0}
.seasoning-grid article>span{font:300 33px var(--serif);color:var(--red)}
.seasoning-grid h3{font:300 27px/1.08 var(--serif);margin:35px 0 13px}
.seasoning-grid article>p:last-child{font-size:10.5px;line-height:1.78;color:var(--ink-soft)}
.rice-mantra{position:relative;z-index:2;max-width:var(--copy);margin:70px auto 0;font:300 clamp(37px,4vw,62px)/1.1 var(--serif);color:var(--red)}

/* ==========================================================================
   08 TEMPERATURE
   ========================================================================== */
.temperature-section{padding:118px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));border-bottom:1px solid var(--line);overflow:hidden}
.temperature-section__art{height:440px}
.temperature-grid{position:relative;z-index:2;max-width:var(--copy);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.temperature-card{position:relative;min-height:360px;padding:30px 27px;border-right:1px solid var(--line)}
.temperature-card:last-child{border-right:0}
.temp{display:block;font:300 30px/1 var(--serif);color:var(--red)}
.temp-jp{position:absolute;right:21px;top:20px;font:300 38px var(--serif);color:rgba(177,58,47,.12)}
.temperature-card h3{font:300 28px var(--serif);margin:34px 0 14px}
.temperature-card p{font-size:10.5px;line-height:1.78;color:var(--ink-soft)}
.temperature-card strong{display:block;margin-top:28px;font-size:7px;letter-spacing:.15em;color:var(--red)}
.temperature-note{position:relative;z-index:2;max-width:var(--copy);margin:45px auto 0;font:300 12px/1.85 var(--serif);color:rgba(42,33,26,.62)}

/* ==========================================================================
   09 BOTTLES
   ========================================================================== */
.bottles__art{height:420px}
.bottle-links{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:16px}
.bottle-links a{margin-top:0!important}
.bottle-links a+ a{color:rgba(42,33,26,.48)!important}

/* ==========================================================================
   10 ORDERING
   ========================================================================== */
.ordering-section{padding:118px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));border-bottom:1px solid var(--line);overflow:hidden}
.ordering-section__art{height:440px}
.order-scripts{position:relative;z-index:2;max-width:var(--copy);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.order-scripts article{min-height:260px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.order-scripts article>span{font:300 20px var(--serif);color:var(--red)}
.order-scripts small{display:block;margin-top:25px;font-size:7px;letter-spacing:.16em;color:rgba(42,33,26,.46)}
.order-scripts blockquote{margin:14px 0 0;font:300 23px/1.5 var(--serif);color:var(--ink)}
.ordering-note{position:relative;z-index:2;max-width:var(--copy);margin:48px auto 0;font:300 12px/1.85 var(--serif);color:rgba(42,33,26,.6)}

/* 11 FAQ source spacing */
.faq .section-source{margin-top:52px}

/* ==========================================================================
   Responsive additions
   ========================================================================== */
@media(max-width:1050px){
  .article-toc__inner{grid-template-columns:1fr}.article-toc__grid{grid-template-columns:repeat(3,1fr)}
  .rules-section__intro,.rice-section__intro,.temperature-section__intro,.bottles__intro,.ordering-section__intro{grid-template-columns:1fr}
  .rule-grid{grid-template-columns:1fr}.rule-grid article,.rule-grid article:first-child{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
  .seasoning-grid{grid-template-columns:1fr 1fr}.seasoning-grid article:nth-child(2){border-right:0}.seasoning-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .temperature-grid{grid-template-columns:1fr}.temperature-card{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:700px){
  .article-toc{padding:18px 20px}.article-toc__grid{display:flex;overflow-x:auto;border-left:1px solid var(--line)}.article-toc__grid a{min-width:150px}
  .rules-section,.rice-section,.temperature-section,.ordering-section{padding:82px 20px}
  .rules-section__art,.rice-section__art,.temperature-section__art,.bottles__art,.ordering-section__art{height:300px}
  .seasoning-grid{grid-template-columns:1fr}.seasoning-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .order-scripts{grid-template-columns:1fr}
}


/* ==========================================================================
   INTRO CONTENTS PAGE — editorial vertical TOC + app download
   ========================================================================== */
.article-toc{
  position:relative;
  min-height:calc(100svh - 78px);
  padding:clamp(54px,7vw,108px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line);
  overflow:hidden
}
.article-toc::after{
  content:"";
  position:absolute;
  right:-7vw;
  bottom:-17vw;
  width:min(58vw,920px);
  aspect-ratio:1.35;
  opacity:.055;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 45% 50%,rgba(177,58,47,.5),transparent 60%),
    repeating-linear-gradient(98deg,rgba(42,33,26,.14) 0 1px,transparent 1px 7px);
  transform:rotate(-7deg)
}
.article-toc__inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.72fr);
  gap:clamp(60px,9vw,150px);
  align-items:center
}
.article-toc__contents{min-width:0}
.article-toc__title{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:end;
  column-gap:18px;
  padding-bottom:23px;
  border-bottom:1px solid var(--ink)
}
.article-toc__title .eyebrow{grid-column:1/-1;margin-bottom:14px}
.article-toc__title>span{
  font:300 clamp(24px,2.4vw,38px)/1 var(--serif);
  color:var(--red);
  letter-spacing:.08em
}
.article-toc__title h2{
  margin:0;
  font:300 clamp(46px,5vw,76px)/.9 var(--serif);
  letter-spacing:-.05em
}
.article-toc__list{
  display:grid;
  grid-template-columns:1fr;
  border-bottom:1px solid var(--ink)
}
.article-toc__list a{
  min-height:55px;
  display:grid;
  grid-template-columns:48px minmax(145px,.72fr) 1fr 18px;
  gap:14px;
  align-items:center;
  padding:9px 2px;
  border-bottom:1px solid rgba(63,46,31,.13);
  transition:padding-left .25s ease,color .25s ease,background .25s ease
}
.article-toc__list a:last-child{border-bottom:0}
.article-toc__list a::after{
  content:"↘";
  justify-self:end;
  color:rgba(42,33,26,.28);
  font-size:12px;
  transition:transform .25s ease,color .25s ease
}
.article-toc__list a:hover{
  padding-left:8px;
  color:var(--red);
  background:linear-gradient(90deg,rgba(177,58,47,.045),transparent 70%)
}
.article-toc__list a:hover::after{transform:translate(2px,2px);color:var(--red)}
.article-toc__list a>span{
  font:300 14px/1 var(--serif);
  color:var(--red)
}
.article-toc__list strong{
  font:400 11px/1.2 var(--sans);
  letter-spacing:.075em;
  text-transform:uppercase
}
.article-toc__list small{
  font:300 11px/1.3 var(--serif);
  color:rgba(42,33,26,.52)
}

.article-app-card{
  position:relative;
  min-height:610px;
  padding:clamp(32px,4vw,56px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(145deg,rgba(255,255,255,.27),rgba(234,217,191,.44)),
    rgba(249,240,226,.58);
  border:1px solid rgba(63,46,31,.17);
  box-shadow:0 28px 70px rgba(62,42,24,.055)
}
.article-app-card::before{
  content:"APP";
  position:absolute;
  right:22px;
  top:18px;
  font:300 54px/1 var(--serif);
  letter-spacing:.08em;
  color:rgba(177,58,47,.055)
}
.article-app-card__visual{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:46px
}
.article-app-card__icon{
  width:clamp(92px,8vw,132px);
  height:clamp(92px,8vw,132px);
  object-fit:cover;
  border-radius:24%;
  box-shadow:0 14px 36px rgba(30,22,16,.14)
}
.article-app-card__wordmark{
  display:flex;
  align-items:center;
  gap:13px
}
.article-app-card__wordmark>span{
  width:42px;height:42px;
  display:grid;place-items:center;
  border:1px solid var(--red);
  font:300 23px/1 var(--serif);
  color:var(--red)
}
.article-app-card__wordmark>div{display:grid;gap:5px}
.article-app-card__wordmark strong{
  font-size:13px;
  font-weight:500;
  letter-spacing:.22em
}
.article-app-card__wordmark small{
  font-size:7px;
  letter-spacing:.15em;
  color:rgba(42,33,26,.46)
}
.article-app-card__copy h2{
  margin:0;
  font:300 clamp(42px,4vw,64px)/.98 var(--serif);
  letter-spacing:-.045em
}
.article-app-card__copy>p:not(.eyebrow){
  max-width:480px;
  margin:22px 0 0;
  color:var(--ink-soft);
  font-size:12px;
  line-height:1.9
}
.article-app-card__stores{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:36px
}
.store-button{
  min-height:61px;
  padding:10px 15px;
  display:flex;
  align-items:center;
  gap:12px;
  background:#171410;
  color:#f9f0e2;
  border:1px solid #171410;
  transition:transform .2s ease,opacity .2s ease
}
.store-button:hover{transform:translateY(-2px);opacity:.9}
.store-button__glyph{font:400 28px/1 -apple-system,BlinkMacSystemFont,sans-serif}
.store-button__play{
  width:27px;height:27px;
  display:grid;place-items:center;
  border:1px solid rgba(249,240,226,.7);
  border-radius:7px;
  font-size:11px
}
.store-button>span:last-child{display:grid;gap:1px}
.store-button small{
  font-size:7px;
  line-height:1;
  letter-spacing:.05em;
  color:rgba(249,240,226,.72)
}
.store-button strong{
  font-size:16px;
  line-height:1.05;
  font-weight:500;
  letter-spacing:-.01em
}
.article-app-card__note{
  margin:18px 0 0;
  font-size:8px;
  line-height:1.6;
  color:rgba(42,33,26,.42)
}

@media(max-width:1100px){
  .article-toc{min-height:auto}
  .article-toc__inner{grid-template-columns:1fr;gap:65px}
  .article-app-card{min-height:auto}
}
@media(max-width:700px){
  .article-toc{padding:58px 20px 70px}
  .article-toc__inner{gap:48px}
  .article-toc__title{grid-template-columns:1fr;gap:9px}
  .article-toc__list a{
    grid-template-columns:38px 1fr 18px;
    gap:10px;
    min-height:58px
  }
  .article-toc__list small{display:none}
  .article-app-card{padding:28px 22px}
  .article-app-card__visual{align-items:flex-start;flex-direction:column;margin-bottom:34px}
  .article-app-card__stores{grid-template-columns:1fr}
}


/* Official App Store / Google Play badges */
.article-app-card__stores{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:36px
}
.store-badge-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  transition:transform .2s ease,opacity .2s ease
}
.store-badge-link:hover{transform:translateY(-2px);opacity:.9}
.store-badge{
  display:block;
  width:auto;
  object-fit:contain
}
.store-badge--apple{height:52px}
.store-badge--google{height:62px;margin:-5px 0}
@media(max-width:700px){
  .article-app-card__stores{align-items:flex-start}
  .store-badge--apple{height:48px}
  .store-badge--google{height:57px;margin:-4px 0}
}


/* ==========================================================================
   TYPOGRAPHY READABILITY AUDIT 2026-09-26
   - smallest text tier ≈ 2x
   - primary hero catch copy ≈ 0.8x
   ========================================================================== */
.hero h1{font-size:clamp(50px,5.36vw,90px)!important}
.brand__text small{font-size:14px!important}
.app-link{font-size:16px!important}
.eyebrow{font-size:16px!important}
.breadcrumbs{font-size:14px!important}
.hero__meta{font-size:14px!important}
.principle-no{font-size:16px!important}
.pairing-row dt{font-size:14px!important}
.taste-grid a{font-size:14px!important}
.bottle-placeholder small{font-size:14px!important}
.bottle-card__copy a{font-size:14px!important}
.button{font-size:16px!important}
.footer__brand small{font-size:14px!important}
.credits>span{font-size:14px!important}
.footer>p{font-size:16px!important}
.hero__answer span{font-size:14px!important}
.quick-grid strong{font-size:16px!important}
.why-no{font-size:14px!important}
.source-link{font-size:14px!important}
.why-sources span{font-size:14px!important}
.history-card__label{font-size:14px!important}
.history-step{font-size:16px!important}
.history-sources span{font-size:14px!important}
.history-track__name{font-size:14px!important}
.history-meet span{font-size:14px!important}
.article-toc__title strong{font-size:16px!important}
.article-toc__grid a{font-size:16px!important}
.rule-no{font-size:16px!important}
.temperature-card strong{font-size:14px!important}
.order-scripts small{font-size:14px!important}
.article-app-card__wordmark small{font-size:14px!important}
.article-app-card__note{font-size:16px!important}

@media(max-width:700px){
  .hero h1{font-size:clamp(43px,12vw,62px)!important}
}


/* ==========================================================================
   TYPOGRAPHY READABILITY AUDIT ROUND 2 2026-09-26
   - previously enlarged small text ×2 again
   - primary hero catch copy ×0.8 again
   ========================================================================== */
.hero h1{font-size:clamp(40px,4.288vw,72px)!important}
.brand__text small{font-size:28px!important}
.app-link{font-size:32px!important}
.eyebrow{font-size:32px!important}
.breadcrumbs{font-size:28px!important}
.hero__meta{font-size:28px!important}
.principle-no{font-size:32px!important}
.pairing-row dt{font-size:28px!important}
.taste-grid a{font-size:28px!important}
.bottle-placeholder small{font-size:28px!important}
.bottle-card__copy a{font-size:28px!important}
.button{font-size:32px!important}
.footer__brand small{font-size:28px!important}
.credits>span{font-size:28px!important}
.footer>p{font-size:32px!important}
.hero__answer span{font-size:28px!important}
.quick-grid strong{font-size:32px!important}
.why-no{font-size:28px!important}
.source-link{font-size:28px!important}
.why-sources span{font-size:28px!important}
.history-card__label{font-size:28px!important}
.history-step{font-size:32px!important}
.history-sources span{font-size:28px!important}
.history-track__name{font-size:28px!important}
.history-meet span{font-size:28px!important}
.article-toc__title strong{font-size:32px!important}
.article-toc__grid a{font-size:32px!important}
.rule-no{font-size:32px!important}
.temperature-card strong{font-size:28px!important}
.order-scripts small{font-size:28px!important}
.article-app-card__wordmark small{font-size:28px!important}
.article-app-card__note{font-size:32px!important}

@media(max-width:700px){
  .hero h1{font-size:clamp(34px,9.6vw,50px)!important}
}


/* ==========================================================================
   TYPOGRAPHY FINAL FIX 2026-09-26
   Actual smallest rendered body copy enlarged ~2x.
   Previous round-2 label oversizing is normalized here.
   ========================================================================== */
.hero h1{font-size:clamp(40px,4.288vw,72px)!important}

/* compact labels / UI */
.brand__text small{font-size:14px!important}
.app-link{font-size:16px!important}
.eyebrow{font-size:16px!important}
.breadcrumbs{font-size:14px!important}
.hero__meta{font-size:14px!important}
.principle-no{font-size:16px!important}
.pairing-row dt{font-size:14px!important}
.taste-grid a{font-size:14px!important}
.bottle-placeholder small{font-size:14px!important}
.bottle-card__copy a{font-size:14px!important}
.button{font-size:16px!important}
.footer__brand small{font-size:14px!important}
.credits>span{font-size:14px!important}
.hero__answer span{font-size:14px!important}
.quick-grid strong{font-size:16px!important}
.why-no{font-size:14px!important}
.source-link{font-size:14px!important}
.why-sources span{font-size:14px!important}
.history-card__label{font-size:14px!important}
.history-step{font-size:16px!important}
.history-sources span{font-size:14px!important}
.history-track__name{font-size:14px!important}
.history-meet span{font-size:14px!important}
.rule-no{font-size:16px!important}
.temperature-card strong{font-size:14px!important}
.order-scripts small{font-size:14px!important}
.article-app-card__wordmark small{font-size:14px!important}
.article-app-card__note{font-size:16px!important}

/* actual smallest reading text */
.body-copy{font-size:26px!important}
.jp-note{font-size:26px!important}
.section-title>p:last-child{font-size:24px!important}
.hero__lead{font-size:26px!important}
.principle-grid p{font-size:22px!important}
.pairing-row__copy>p:not(.eyebrow){font-size:24px!important}
.taste-grid p{font-size:22px!important}
.bottle-card__copy>p:not(.eyebrow){font-size:20px!important}
.availability>p:last-child{font-size:22px!important}
.faq details p{font-size:22px!important}
.closing__copy>p:not(.eyebrow){font-size:26px!important}
.footer__brand strong{font-size:22px!important}
.credits a{font-size:20px!important}
.footer>p{font-size:16px!important}
.quick-grid p{font-size:20px!important}
.quick-note{font-size:22px!important}
.why-chapter__copy>p:not(.eyebrow):not(.why-mantra){font-size:24px!important}
.why-sources a{font-size:20px!important}
.history-card__copy p{font-size:22px!important}
.history-sources a{font-size:20px!important}
.history-disclaimer{font-size:22px!important}
.history-track p{font-size:21px!important}
.history-meet p{font-size:22px!important}
.rule-grid article>p:last-child{font-size:22px!important}
.seasoning-grid article>p:last-child{font-size:21px!important}
.temperature-card p{font-size:21px!important}
.temperature-note{font-size:24px!important}
.ordering-note{font-size:24px!important}
.article-toc__list strong{font-size:22px!important}
.article-toc__list small{font-size:22px!important}
.article-app-card__wordmark strong{font-size:26px!important}
.article-app-card__copy>p:not(.eyebrow){font-size:24px!important}
.section-source a{font-size:18px!important}

@media(max-width:700px){
  .hero h1{font-size:clamp(34px,9.6vw,50px)!important}
  .body-copy,.hero__lead,.closing__copy>p:not(.eyebrow){font-size:21px!important}
  .section-title>p:last-child,.pairing-row__copy>p:not(.eyebrow),
  .why-chapter__copy>p:not(.eyebrow):not(.why-mantra),.temperature-note,.ordering-note,
  .article-app-card__copy>p:not(.eyebrow){font-size:20px!important}
  .principle-grid p,.taste-grid p,.availability>p:last-child,.faq details p,
  .quick-note,.history-card__copy p,.history-disclaimer,.history-meet p,
  .rule-grid article>p:last-child{font-size:19px!important}
  .bottle-card__copy>p:not(.eyebrow),.quick-grid p,.history-sources a,.why-sources a,
  .credits a{font-size:18px!important}
  .history-track p,.seasoning-grid article>p:last-child,.temperature-card p{font-size:18px!important}
}


/* ==========================================================================
   SECONDARY INK DARKEN 2026-09-26
   Increase contrast of pale gray/brown secondary copy on light paper.
   ========================================================================== */
:root{--ink-soft:#51463d}

.body-copy,
.section-title>p:last-child,
.hero__lead,
.principle-grid p,
.pairing-row__copy>p:not(.eyebrow),
.taste-grid p,
.bottle-card__copy>p:not(.eyebrow),
.availability>p:last-child,
.faq details p,
.closing__copy>p:not(.eyebrow),
.quick-grid p,
.quick-note,
.why-chapter__copy>p:not(.eyebrow):not(.why-mantra),
.history-card__copy p,
.history-disclaimer,
.history-track p,
.history-meet p,
.rule-grid article>p:last-child,
.seasoning-grid article>p:last-child,
.temperature-card p,
.temperature-note,
.ordering-note,
.article-toc__list small,
.article-app-card__copy>p:not(.eyebrow){
  color:var(--ink-soft)!important
}

.brand__text small,
.breadcrumbs,
.hero__meta,
.why-no,
.history-step,
.article-app-card__wordmark small,
.article-app-card__note,
.order-scripts small,
.footer__brand small,
.footer>p{
  color:rgba(42,33,26,.68)!important
}

.credits a,
.why-sources a,
.history-sources a,
.section-source a,
.bottle-links a + a{
  color:rgba(42,33,26,.72)!important
}

.article-toc__list a::after{
  color:rgba(42,33,26,.48)!important
}
