/* ============================================================
   Sashimi DC — Shared CSS
   Covers: reset, custom properties, base elements,
   utility bar, nav, mobile menu, language toggle.
   Page-specific styles remain inline in each HTML file.
   ============================================================ */

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* Custom properties */
:root{
  --black:#0b0b0b;--dark:#131313;--surface:#1a1a1a;
  --gold:#c8a96e;--gold-lt:#e8d5b0;--cream:#f0ece4;
  --muted:#a8a89e;--dim:rgba(240,236,228,0.82);--border:rgba(200,169,110,0.15);
  --fd:'Cormorant Garamond',Georgia,serif;--fb:'Jost',sans-serif;
}

/* Base */
html{scroll-behavior:smooth}
body{overflow-x:hidden;background:var(--black);color:var(--cream);font-family:var(--fb);font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

/* Utility bar */
.utility-bar{position:fixed;top:0;left:0;right:0;z-index:10000;display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:0 52px;height:34px;background:rgba(6,6,6,.98);border-bottom:1px solid rgba(200,169,110,.1)}
.utility-bar a{font-size:10px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:rgba(240,236,228,.58);transition:color .2s;white-space:nowrap}
.utility-bar a:hover{color:var(--gold)}
@media(max-width:900px){.utility-bar{display:none}}

/* Nav */
nav:not([class]){position:fixed;top:34px;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;padding:0 52px;height:116px;background:rgba(11,11,11,.97);border-bottom:1px solid var(--border)}
.nav-logo{display:flex;align-items:center;height:104px}
.nav-logo img{height:104px;width:auto}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none}
.nav-links a{font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);opacity:.78;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav-cta{font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--black);background:var(--gold);padding:10px 24px;transition:background .2s;display:inline-block;margin-right:16px}
.nav-cta:hover{background:var(--gold-lt)}
.nav-right{display:flex;align-items:center;gap:16px;flex-shrink:0}
.nav-hamburger{display:none;cursor:pointer;flex-direction:column;gap:5px;background:none;border:none;padding:0}
.nav-hamburger span{display:block;width:24px;height:1px;background:var(--cream)}

/* Mobile menu */
.mobile-menu{display:none;position:fixed;top:150px;left:0;right:0;z-index:99;background:rgba(11,11,11,.98);padding:24px 32px 32px;border-bottom:1px solid var(--border)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;font-size:13px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:14px 0;border-bottom:1px solid var(--border)}
.mobile-menu a:hover{color:var(--gold)}

/* Language toggle */
.lang-toggle{display:flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,0.25);border-radius:3px;overflow:hidden;flex-shrink:0;z-index:200}
.lang-toggle button{background:rgba(11,11,11,0.95);border:none;color:rgba(240,236,228,0.5);font-size:11px;letter-spacing:0.1em;padding:5px 10px;cursor:pointer;transition:all 0.2s;border-right:1px solid rgba(255,255,255,0.15);line-height:1}
.lang-toggle button:last-child{border-right:none}
.lang-toggle button.active{background:rgba(200,169,110,0.2);color:#c8a96e}
.lang-toggle button:hover:not(.active){color:rgba(240,236,228,0.9)}

/* Nav responsive */
@media(max-width:900px){
  nav:not([class]){padding:0 24px;top:0;height:80px}
  .nav-logo img{height:64px}
  .nav-links,.nav-cta{display:none}
  .nav-hamburger{display:flex}
  .mobile-menu{top:80px}
  .mobile-menu .lang-toggle{display:flex;margin-top:16px;position:static;border:1px solid rgba(255,255,255,0.2)}
}

/* ============================================================
   Footer
   ============================================================ */
footer{background:var(--dark);border-top:1px solid var(--border);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:0;padding:60px 52px 0}
.footer-brand img{height:52px;width:auto;margin-bottom:20px}
.footer-brand p{font-size:13px;color:var(--muted);line-height:1.8;max-width:280px}
.footer-nav h4,.footer-guides h4,.footer-products h4,.footer-contact h4,.footer-col-label{font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.footer-nav ul,.footer-guides ul,.footer-products ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-nav a,.footer-guides a,.footer-products a,.footer-contact a{font-size:13px;color:var(--muted);transition:color .2s}
.footer-nav a:hover,.footer-guides a:hover,.footer-products a:hover,.footer-contact a:hover{color:var(--cream)}
.footer-contact p{font-size:13px;color:var(--muted);line-height:1.9}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:28px 0;margin-top:48px;border-top:1px solid var(--border)}
.footer-bottom p{font-size:11px;color:var(--muted)}
.footer-disclaimer{width:100%;text-align:center;margin-top:8px}
.footer-social{display:flex;gap:24px}
.footer-social a{font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;transition:color .2s}
.footer-social a:hover{color:var(--gold)}
@media(max-width:900px){footer{grid-template-columns:1fr;padding:48px 20px 0;gap:40px}.footer-bottom{flex-direction:column;gap:12px;text-align:center}}

/* ============================================================
   Utility classes
   ============================================================ */
.nav-sub-item{padding-left:12px;border-left:1px solid var(--border)}
.nav-section-label{margin-top:12px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-left:0;list-style:none}
.txt-gold{color:var(--gold)}
.txt-gold-mt8{color:var(--gold);margin-top:8px}
.txt-gold-lt{color:var(--gold-lt)}
.txt-cream{color:var(--cream);font-weight:400}
.txt-dim{color:var(--dim)}
.txt-muted-sm{border:none;padding:0;font-size:13px;color:var(--muted)}
.link-subtle{color:inherit;border-bottom:1px solid rgba(200,169,110,.25);padding-bottom:1px;transition:border-color .2s}
.link-gold{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3)}
.card-dark{background:var(--dark);padding:24px 26px}
.label-gold{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.card-title{font-size:15px;font-family:var(--fd);font-weight:300;margin-bottom:10px;color:var(--cream)}
.body-dim{font-size:13px;color:var(--dim);line-height:1.8}
.my-sect{margin-top:32px;margin-bottom:12px}
.mb-40{margin-bottom:40px}

/* Quick Answer block (delivery pages) */
.quick-answer{background:var(--dark);border-left:3px solid var(--gold);padding:20px 28px;margin:0 0 0 0}
.qa-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:400}
.qa-text{font-size:15px;color:var(--dim);line-height:1.75;margin:0}
@media(max-width:900px){.quick-answer{padding:16px 20px}}


/* ============================================================
   Update post pages (/updates/*)
   ============================================================ */

.post-hero{padding-top:185px;padding-bottom:0}
.post-hero-inner{max-width:780px;margin:0 auto;padding:0 32px 48px;border-bottom:1px solid var(--border)}
.breadcrumb{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:36px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.breadcrumb a{color:var(--muted);transition:color .2s}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb-sep{opacity:.35}
.post-meta{font-size:12px;color:var(--muted);letter-spacing:.08em;margin-bottom:24px}
.post-meta strong{color:var(--gold);font-weight:400}
h1.post-title{font-family:var(--fd);font-size:clamp(32px,5vw,58px);font-weight:300;line-height:1.1;letter-spacing:.01em;margin-bottom:0}
h1.post-title em{font-style:italic;color:var(--gold-lt)}
.post-image-wrap{max-width:780px;margin:0 auto;padding:0 32px}
.post-image-wrap img{width:100%;height:auto;object-fit:cover;margin:40px 0 0}
.post-body{max-width:780px;margin:0 auto;padding:48px 32px 80px}
.post-body h2{font-family:var(--fd);font-size:clamp(22px,2.8vw,30px);font-weight:300;margin:48px 0 16px;color:var(--cream);line-height:1.3}
.post-body h2:first-child{margin-top:0}
.post-body h3{font-family:var(--fd);font-size:20px;font-style:italic;color:var(--gold-lt);margin:32px 0 12px}
.post-body p{font-size:16px;color:var(--dim);line-height:1.9;margin-bottom:18px}
.post-body p:last-child{margin-bottom:0}
.post-body strong{color:var(--cream);font-weight:400}
.post-body ul{margin:12px 0 20px;display:flex;flex-direction:column;gap:10px}
.post-body ul li{font-size:16px;color:var(--dim);line-height:1.8;padding-left:20px;position:relative}
.post-body ul li::before{content:'—';position:absolute;left:0;color:var(--gold);font-size:13px;top:2px}
.post-body a{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3);transition:border-color .2s}
.post-body a:hover{border-color:var(--gold)}
.post-body .callout{background:var(--surface);border-left:2px solid var(--gold);padding:20px 24px;margin:28px 0}
.post-body .callout p{margin:0;font-size:15px}
.post-body .callout p+p{margin-top:10px}
.callout{background:var(--surface);border-left:2px solid var(--gold);padding:20px 24px;margin:28px 0}
.callout p{margin:0;font-size:15px}
.callout p+p{margin-top:10px}

.post-cta{background:var(--dark);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:48px 32px;text-align:center}
.post-cta p{font-size:13px;color:var(--muted);margin-bottom:20px}
.post-nav{display:flex;justify-content:space-between;align-items:stretch;gap:16px;max-width:780px;margin:0 auto;padding:32px 32px 0}
.post-nav a{flex:1;display:flex;flex-direction:column;gap:4px;padding:16px 20px;border:1px solid var(--border);color:var(--dim);transition:border-color .2s,color .2s;min-width:0}
.post-nav a:hover{border-color:var(--gold);color:var(--cream)}
.post-nav a.nav-next{text-align:right}
.post-nav-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.post-nav-title{font-size:14px;font-family:var(--fd);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.post-see-also{max-width:780px;margin:0 auto;padding:24px 32px 0;font-size:13px;color:var(--muted);text-align:center}.post-see-also a{color:var(--muted);border-bottom:1px solid rgba(150,130,90,.25);transition:color .2s,border-color .2s}.post-see-also a:hover{color:var(--gold);border-color:var(--gold)}
@media(max-width:900px){
  .post-hero{padding-top:120px}
  .post-hero-inner,.post-image-wrap,.post-body,.post-cta{padding-left:20px;padding-right:20px}
}
@media(max-width:600px){.post-nav{flex-direction:column;padding:24px 20px 0}.post-nav a.nav-next{text-align:left}}

/* FAQ accordion — <details>/<summary> pattern used on update posts and product pages */
/* Usage: wrap items in <details class="faq-item"><summary>Q</summary><p>A</p></details> */
/* Optionally wrap a group in <section class="faq-section"> for the heading + top border */
.faq-section{max-width:860px;margin:48px auto 0;padding:0 52px}
.faq-section>h2,.faq-section-header>h2,.faq-section>div>h2{font-family:var(--fd);font-size:clamp(20px,2.5vw,28px);font-weight:300;margin-bottom:0}
details.faq-item{border-bottom:1px solid var(--border)}
details.faq-item:first-of-type{border-top:1px solid var(--border)}
details.faq-item summary{font-size:15px;color:var(--cream);padding:20px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;user-select:none;list-style:none}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{content:'+';font-size:20px;color:var(--gold);flex-shrink:0;transition:transform .2s}
details.faq-item[open] summary::after{transform:rotate(45deg)}
details.faq-item>p,details.faq-item>ul{font-size:15px;color:var(--dim);line-height:1.85;padding:0 0 20px;margin:0}
details.faq-item a{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3)}
@media(max-width:900px){.faq-section{margin:32px auto 0;padding:0 20px}}

/* CTA band — dark full-width call-to-action section used on product pages */
.cta-band{background:var(--dark);padding:68px 52px;text-align:center;border-top:1px solid var(--border)}
.cta-band h2{font-family:var(--fd);font-size:clamp(24px,4vw,44px);font-weight:300;margin-bottom:12px}
.cta-band h2 em{font-style:italic;color:var(--gold-lt)}
.cta-band p{font-size:15px;color:var(--dim);max-width:480px;margin:0 auto 28px;line-height:1.85}
.cta-band-actions,.cta-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
@media(max-width:900px){.cta-band{padding:52px 20px}}

/* Compare table (male/female uni, product comparisons) */
.compare-table{width:100%;border-collapse:collapse;margin:32px 0;font-size:14px}
.compare-table th{text-align:left;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding:10px 16px;border-bottom:1px solid var(--border)}
.compare-table td{padding:12px 16px;border-bottom:1px solid rgba(200,169,110,.08);color:var(--dim);vertical-align:top}
.compare-table tr:last-child td{border-bottom:none}
.compare-table td:first-child{color:var(--cream);font-weight:400}
.compare-section{padding:80px 32px;border-top:1px solid var(--border)}
.compare-inner{max-width:960px;margin:0 auto}
.compare-inner h2{font-family:var(--fd);font-size:clamp(22px,2.8vw,34px);font-weight:300;margin-bottom:0;line-height:1.3}
.compare-note{font-size:12px;color:var(--muted);margin-top:16px;letter-spacing:.02em;line-height:1.75}
.compare-table tr.highlight td{background:rgba(200,169,110,.05)}
@media(max-width:900px){.compare-section{padding:60px 20px}}

/* Related products section */
.related-section{max-width:1160px;margin:0 auto;padding:72px 52px 80px;border-top:1px solid var(--border)}
.related-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:9px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.related-card{background:var(--dark);padding:30px 28px 28px;transition:background .3s,border-top-color .3s;min-width:0;overflow:hidden;display:block;border-top:2px solid transparent}
.related-card:hover{background:#161616;border-top-color:var(--gold)}
.related-card-origin{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.related-card h3{font-family:var(--fd);font-size:20px;font-weight:300;margin-bottom:10px;line-height:1.35}
.related-card p{font-size:13px;color:var(--dim);line-height:1.7;margin-bottom:12px}
.related-card-price{color:var(--gold-lt);font-size:13px;margin-bottom:0}
.related-link{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:5px}
.related-link::after{content:'\2192';transition:transform .2s}
.related-card:hover .related-link::after{transform:translateX(4px)}
@media(max-width:900px){.related-section{padding-left:20px;padding-right:20px}}
@media(max-width:600px){.related-grid{grid-template-columns:1fr}}

/* Fish & Wine event band — used on sasshu-salmon, otoro, bluefin cut pages */
.wine-event-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:32px 52px;text-align:center;margin:0}
.wine-event-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.wine-event-text{font-size:14px;color:var(--dim);line-height:1.75}
.wine-event-text a{color:var(--gold-lt);border-bottom:1px solid rgba(200,169,110,.3);transition:border-color .2s}
.wine-event-text a:hover{border-color:var(--gold-lt)}
@media(max-width:900px){.wine-event-band{padding:28px 20px}}

/* Explore / Also available section — product discovery grid */
.explore-section{padding:100px 32px 80px;border-top:1px solid var(--border)}
.explore-inner{max-width:1100px;margin:0 auto;text-align:center}
.explore-inner h2{font-family:var(--fd);font-size:clamp(28px,3.5vw,42px);font-weight:300;margin-bottom:12px}
.explore-inner>p{font-size:15px;color:var(--dim);margin-bottom:52px}
.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.explore-card{background:var(--dark);padding:48px 36px;text-align:left;transition:background .3s,border-color .3s;position:relative;border-top:2px solid transparent;display:block}
.explore-card:hover{background:#161616;border-top-color:var(--gold)}
.explore-card-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.explore-card h3{font-family:var(--fd);font-size:26px;font-weight:300;margin-bottom:12px}
.explore-card p{font-size:13px;color:var(--dim);line-height:1.8;margin-bottom:24px}
.explore-card .explore-link{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:6px}
.explore-card .explore-link::after{content:'\2192';transition:transform .2s}
.explore-card:hover .explore-link::after{transform:translateX(4px)}
@media(max-width:900px){.explore-section{padding:72px 20px 60px}.explore-grid{grid-template-columns:1fr;gap:2px}}

/* Trust strip — product pages */
.trust-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--dark);padding:20px 52px;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:52px}
.trust-item{display:flex;flex-direction:column;align-items:center;gap:3px}
.trust-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.trust-value{font-size:12px;color:var(--cream)}
.trust-sep{width:1px;height:26px;background:var(--border)}
@media(max-width:900px){.trust-strip{padding:16px 20px;gap:12px}.trust-sep{display:none}}

/* ═══════════════════════════════════════════════════════════
   Product pages — shared layout (hero / article / sidebar)
   Applies to: all product pages (sub-cuts, seasonal, unagi, etc.)
   ═══════════════════════════════════════════════════════════ */
.hero{padding-top:186px;position:relative;min-height:520px;overflow:hidden}
.hero-inner{max-width:1160px;margin:0 auto;padding:60px 52px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.hero-img{position:relative}
.hero-img img{width:100%;height:auto;display:block}
.hero-breadcrumb{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:28px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hero-breadcrumb a{color:var(--muted);transition:color .2s}
.hero-breadcrumb a:hover{color:var(--gold)}
.hero-breadcrumb-sep{opacity:.35}
.hero-eyebrow{font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
h1.hero-title{font-family:var(--fd);font-size:clamp(40px,5.5vw,68px);font-weight:300;line-height:1.05;letter-spacing:.01em;margin-bottom:12px}
h1.hero-title em{font-style:italic;color:var(--gold-lt)}
.hero-jp{font-family:var(--fd);font-size:14px;color:var(--muted);letter-spacing:.06em;margin-bottom:4px}
.hero-origin{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.hero-deck{font-size:17px;color:var(--dim);line-height:1.85;margin-bottom:28px;max-width:480px}
.hero-price{font-family:var(--fd);font-size:32px;font-weight:300;color:var(--gold-lt);margin-bottom:20px}
.hero-price-note{font-size:12px;color:var(--muted);letter-spacing:.08em;margin-bottom:24px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.hero-sub-note{font-size:12px;color:var(--muted)}
.hero-badge{display:inline-block;margin-top:12px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.market{font-size:14px;letter-spacing:.06em;color:var(--muted)}
.price{font-family:var(--fd);font-size:22px;font-weight:300;color:var(--gold-lt);margin-bottom:12px}
.btn-primary{font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:var(--gold);color:var(--black);padding:13px 32px;transition:background .2s;display:inline-block}
.btn-primary:hover{background:var(--gold-lt)}
.btn-ghost{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);border:1px solid var(--border);padding:13px 32px;transition:all .2s;display:inline-block}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.article-layout{display:grid;grid-template-columns:1fr 340px;gap:80px;max-width:1160px;margin:0 auto;padding:72px 52px;align-items:start}
.article-body h2{font-family:var(--fd);font-size:clamp(24px,3vw,34px);font-weight:300;line-height:1.2;margin:48px 0 16px;color:var(--cream)}
.article-body h2:first-child{margin-top:0}
.article-body h3{font-family:var(--fd);font-size:20px;font-style:italic;color:var(--gold-lt);margin:32px 0 12px}
.article-body p{font-size:16px;color:var(--dim);line-height:1.9;margin-bottom:18px}
.article-body p:last-child{margin-bottom:0}
.article-body strong{color:var(--cream);font-weight:400}
.article-body a{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3);transition:border-color .2s}
.article-body a:hover{border-color:var(--gold)}
.article-body ul{margin:12px 0 20px;display:flex;flex-direction:column;gap:10px}
.article-body ul li{font-size:16px;color:var(--dim);line-height:1.8;padding-left:20px;position:relative;list-style:none}
.article-body ul li::before{content:'—';position:absolute;left:0;color:var(--gold);font-size:13px;top:2px}
.article-sidebar{position:sticky;top:170px;z-index:1;display:flex;flex-direction:column;gap:24px}
.sidebar-card{background:var(--dark);padding:28px;margin-bottom:16px;border:1px solid var(--border)}
.sidebar-card-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.sidebar-card h3{font-family:var(--fd);font-size:20px;font-weight:300;margin-bottom:10px;line-height:1.3}
.sidebar-card p{font-size:13px;color:var(--dim);line-height:1.75;margin-bottom:12px}
.sidebar-btn{font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:var(--gold);color:var(--black);padding:10px 16px;display:block;text-align:center;transition:background .2s;margin-bottom:7px}
.sidebar-btn:hover{background:var(--gold-lt)}
.sidebar-btn-ghost{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);border:1px solid rgba(200,169,110,.25);padding:10px 16px;display:block;text-align:center;transition:all .2s}
.sidebar-btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.sidebar-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.sidebar-links li a{font-size:13px;color:var(--muted);transition:color .2s}
.sidebar-links li a:hover{color:var(--gold)}
.sidebar-note{font-size:11px;color:var(--muted);text-align:center;margin-top:5px}
@media(max-width:900px){
  .hero{padding-top:110px}
  .hero-inner{grid-template-columns:1fr;gap:32px;padding:0 20px}
  .article-layout{padding:44px 20px 60px;gap:0;grid-template-columns:1fr}
  .article-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;margin-top:36px}
}
@media(max-width:600px){
  .article-sidebar{grid-template-columns:1fr}
}
/* Section label utility — gold uppercase eyebrow above headings */
.section-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}

/* ============================================================
   Delivery pages — shared layout
   Applies to all 28 sashimi-delivery-*.html pages
   ============================================================ */

/* Hero — delivery pages (.page-hero + .hero-inner) */
/* text-align, background overlay, padding scoped to .hero-inner variant only */
.page-hero{color:var(--cream);padding-top:180px}
.page-hero-inner{max-width:900px;margin:0 auto;padding:0 52px 64px;border-bottom:1px solid var(--border)}
@media(max-width:900px){.page-hero{padding-top:110px}.page-hero-inner{padding:0 20px 48px}}
.page-hero:has(.hero-inner){background:var(--black);text-align:center;padding:5rem 2rem 4rem;position:relative;overflow:hidden;margin-top:150px}
.page-hero:has(.hero-inner)::before{content:'';position:absolute;inset:0;background:url('../images/all_cuts.webp') center/cover no-repeat;opacity:0.18}
.page-hero .hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto;display:block;grid-template-columns:unset;gap:0;padding:0;align-items:unset}
.page-hero:has(.hero-inner) h1{font-family:var(--fd);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:300;line-height:1.2;margin-bottom:1.2rem;color:var(--cream)}
.page-hero:has(.hero-inner) h1 em{font-style:italic;color:var(--gold-lt)}
.page-hero:has(.hero-inner) .hero-eyebrow{font-size:11px;letter-spacing:.20em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.page-hero:has(.hero-inner) .hero-sub{font-size:0.95rem;color:var(--dim);max-width:540px;margin:0 auto 2.2rem;line-height:1.8}
@media(max-width:900px){.page-hero:has(.hero-inner){margin-top:80px;padding:4rem 1.5rem 3rem}}
/* Hero — full-bleed bg image variant (.page-hero--fullbleed) */
/* Used on: bluefin-tuna-washington-dc */
.page-hero--fullbleed{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:center;padding-top:120px;color:var(--cream)}
.page-hero--fullbleed .page-hero-bg{position:absolute;inset:0;background:url('/images/all_cuts.webp') center 40%/cover no-repeat;filter:brightness(.22)}
.page-hero--fullbleed .page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,11,11,0) 0%,rgba(11,11,11,.85) 100%)}
.page-hero--fullbleed .page-hero-content{position:relative;z-index:2;max-width:760px;margin:0 auto;text-align:center;padding:80px 32px 40px;width:100%}
.page-hero--fullbleed .page-hero-content h1{font-family:var(--fd);font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:300;line-height:1.15;color:var(--cream);margin-bottom:20px}
.page-hero--fullbleed .page-hero-content h1 em{font-style:italic;color:var(--gold-lt)}
.page-hero--fullbleed .page-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.page-hero--fullbleed .page-hero-sub{font-size:15px;color:var(--dim);max-width:540px;margin:0 auto 40px;line-height:1.8}
@media(max-width:900px){.page-hero--fullbleed .page-hero-content{padding:60px 20px 32px}}


/* Hero buttons */
.btn-hero-primary{display:inline-block;background:var(--gold);color:var(--black);padding:0.9rem 2.4rem;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,transform .15s;font-family:var(--fb)}
.btn-hero-primary:hover{background:var(--gold-lt);transform:translateY(-1px)}
.btn-hero-secondary{display:inline-block;border:1px solid rgba(255,255,255,0.4);color:var(--cream);padding:0.9rem 2rem;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-left:1rem;transition:border-color .2s;font-family:var(--fb)}
.btn-hero-secondary:hover{border-color:var(--gold);color:var(--gold)}
.btn-cta-white{display:inline-block;background:var(--gold);color:var(--black);padding:0.9rem 2.4rem;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;transition:background .2s;font-family:var(--fb)}
.btn-cta-white:hover{background:var(--gold-lt)}

/* Section shells */
.lp-section{padding:4rem 2rem;background:var(--black)}
.lp-section-alt{padding:4rem 2rem;background:var(--dark)}
.container{max-width:900px;margin:0 auto}

/* Typography */
.lp-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:0.6rem;font-family:var(--fb)}
.lp-title{font-family:var(--fd);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:300;line-height:1.25;margin-bottom:1.2rem;color:var(--cream)}
.lp-body{font-size:0.95rem;color:var(--dim);line-height:1.85;max-width:680px;font-family:var(--fb);font-weight:300}
.lp-inline-link{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3)}

/* Quality band — already dark, just standardise */
.quality-band{background:var(--black);color:var(--cream);text-align:center;padding:4.5rem 2rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.quality-band .lp-label{color:var(--gold)}
.quality-band .lp-title{color:var(--cream);margin:0 auto 1rem;max-width:640px}
.quality-band p{font-size:0.95rem;color:var(--dim);max-width:600px;margin:0 auto 2rem;line-height:1.85;font-weight:300;font-family:var(--fb)}

/* Why grid */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:2.5rem}
.why-card{background:var(--surface);border:1px solid var(--border);padding:1.8rem}
.why-icon{font-size:1.4rem;margin-bottom:0.8rem}
.why-card h3{font-family:var(--fd);font-size:1.2rem;font-weight:400;margin-bottom:0.5rem;color:var(--cream)}
.why-card p{font-size:0.88rem;color:var(--dim);line-height:1.75;font-weight:300}

/* Area grid */
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.6rem;margin-top:2rem}
.area-item{background:var(--surface);border:1px solid var(--border);padding:0.7rem 1rem;font-size:0.85rem;color:var(--dim);display:flex;align-items:center;gap:0.5rem;font-family:var(--fb);font-weight:300}
.area-item::before{content:'✓';color:var(--gold);font-weight:500;flex-shrink:0}
.area-item.partial{opacity:0.65}
.area-item.partial::before{content:'◑'}
.area-note{font-size:0.78rem;color:var(--muted);margin-top:1.2rem;font-style:italic}
.delivered-note{margin-top:1.4rem;padding:0.9rem 1.2rem;background:rgba(200,169,110,0.07);border-left:2px solid var(--gold);font-size:0.85rem;color:var(--dim);line-height:1.7;font-family:var(--fb);font-weight:300}
.partial-notice{margin-top:1rem;padding:0.8rem 1.2rem;background:rgba(200,169,110,0.05);border:1px solid var(--border);font-size:0.83rem;color:var(--dim);line-height:1.7;font-family:var(--fb);font-weight:300}

/* Area columns (parent pages) */
.area-columns{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2rem}
.area-column h3{font-family:var(--fd);font-size:1.1rem;font-weight:400;margin-bottom:0.8rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border);color:var(--cream)}
.area-list{display:flex;flex-direction:column;gap:0.5rem}
@media(max-width:600px){.area-columns{grid-template-columns:1fr}}

/* Delivery map (parent pages) */
.delivery-map-wrap{margin:2rem auto 1.8rem;max-width:560px}
.delivery-map-wrap img{width:100%;display:block;border:1px solid var(--border)}
.delivery-map-caption{font-size:0.73rem;color:var(--muted);text-align:center;margin-top:0.5rem;font-style:italic;font-family:var(--fb)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:2.5rem}
.step-num{font-family:var(--fd);font-size:3rem;font-weight:300;color:rgba(200,169,110,.40);line-height:1;margin-bottom:0.5rem}
.std-num{font-family:var(--fd);font-size:48px;font-weight:300;color:rgba(200,169,110,.45);line-height:1;margin-bottom:16px}
.step h3{font-family:var(--fd);font-size:1.15rem;font-weight:400;margin-bottom:0.4rem;color:var(--cream)}
.step p{font-size:0.87rem;color:var(--dim);line-height:1.75;font-weight:300}

/* FAQ — delivery pages use static div/p; after migration use details/summary from main styles */
.faq-list{margin-top:2rem}

/* Rice Market card (logan-circle) */
.rice-market-card{background:var(--surface);border:1px solid var(--border);padding:2rem;margin-top:2rem}
.rice-market-card h3{font-family:var(--fd);font-size:1.35rem;font-weight:400;margin-bottom:0.8rem;color:var(--cream)}
.rice-pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;margin-top:1.2rem}
.rice-pick{background:var(--dark);border:1px solid var(--border);padding:1.2rem 1.4rem}
.rice-pick strong{display:block;font-family:var(--fd);font-size:1.05rem;font-weight:400;margin-bottom:0.3rem;color:var(--cream)}
.rice-pick span{font-size:0.85rem;color:var(--dim);line-height:1.6;font-weight:300}


/* ─────────────────────────────────────────────
   GUIDE / ARTICLE LAYOUT  (migrated 2026-05-28)
   Used by: how-to-make-sushi-at-home, sashimi-for-families,
            wine-and-fish-pairing, what-is-sashimi-grade-fish
   ───────────────────────────────────────────── */

/* Page hero — editorial, text-forward */
.page-sub{font-size:15px;font-weight:300;color:var(--muted);line-height:1.85;max-width:580px}
.page-title{font-family:var(--fd);font-size:clamp(38px,5vw,72px);font-weight:300;line-height:1.05;letter-spacing:-.01em;margin-bottom:18px}
.page-title em{font-style:italic;color:var(--gold-lt)}
.page-deck{font-size:17px;color:var(--dim);line-height:1.8;max-width:600px;margin-bottom:32px}

/* Article metadata row */
.article-meta{display:flex;align-items:center;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.byline{font-size:12px;color:var(--muted)}
.byline strong{color:var(--gold);font-weight:400}
.read-time{font-size:11px;color:var(--muted);letter-spacing:.1em;padding-left:20px;border-left:1px solid var(--border)}

/* Guide layout — 2-col content+sidebar */
.guide-layout{display:grid;grid-template-columns:1fr 300px;gap:80px;max-width:1120px;margin:0 auto;padding:64px 52px 80px;align-items:start}
@media(max-width:1024px){.guide-layout{grid-template-columns:1fr;gap:0}.guide-sidebar{padding:0 52px;margin-top:48px}}
@media(max-width:900px){.guide-layout{padding:48px 20px}.guide-sidebar{padding:0}}
.guide-section{margin-bottom:72px}
.guide-section:last-child{margin-bottom:0}
.guide-sidebar{position:sticky;top:170px}
@media(max-width:1024px){.guide-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:600px){.guide-sidebar{grid-template-columns:1fr}}

/* Section numbering & headings */
.section-num{font-family:var(--fd);font-size:80px;font-weight:300;color:rgba(200,169,110,.40);line-height:1;margin-bottom:-16px}
.section-title{font-family:var(--fd);font-size:clamp(26px,3.5vw,38px);font-weight:300;margin-bottom:24px;line-height:1.2}
.section-title em{font-style:italic;color:var(--gold-lt)}
.section-heading{font-family:var(--fd);font-size:clamp(26px,3vw,40px);font-weight:400;line-height:1.1;margin-bottom:24px}
.section-heading em{font-style:italic}
.subsection-heading{font-family:var(--fd);font-size:clamp(13px,1.4vw,16px);font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:32px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}

/* Table of contents (sidebar) */
.guide-sidebar .toc{background:var(--surface);padding:24px 28px;border:1px solid var(--border);margin-bottom:16px}
.guide-sidebar .toc h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.guide-sidebar .toc ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.guide-sidebar .toc ul li a{font-size:13px;color:var(--muted);transition:color .2s;display:block}
.guide-sidebar .toc ul li a:hover{color:var(--gold)}
@media(max-width:1024px){.guide-sidebar .toc{display:none}}

/* ─────────────────────────────────────────────
   SHARED CONTENT COMPONENTS  (migrated 2026-05-28)
   ───────────────────────────────────────────── */

/* Body text utility */
.body-text{font-size:15px;font-weight:300;color:var(--dim);line-height:1.95;margin-bottom:20px}
.body-text:last-child{margin-bottom:0}

/* Highlight box (used on learn, home-sushi-kit) */
.highlight-box{border-left:2px solid var(--gold);padding:18px 22px;background:rgba(200,169,110,.06);margin:28px 0}
.highlight-box p{font-size:14px;font-weight:300;color:var(--cream);line-height:1.85}
.highlight-box strong{font-weight:500;color:var(--gold-lt)}

/* Article wrap (used on best-sushi, supply-chain) */
.article-wrap{max-width:860px;margin:0 auto;padding:80px 52px}
@media(max-width:900px){.article-wrap{padding:52px 20px}}
.article-wrap h2{font-family:var(--fd);font-size:clamp(22px,2.8vw,30px);font-weight:300;margin:52px 0 16px;color:var(--cream);line-height:1.3}
.article-wrap h2:first-child{margin-top:0}
.article-wrap h3{font-family:var(--fd);font-size:20px;font-style:italic;color:var(--gold-lt);margin:32px 0 12px}
.article-wrap p{font-size:16px;color:var(--dim);line-height:1.9;margin-bottom:18px}
.article-wrap p:last-child{margin-bottom:0}
.article-wrap strong{color:var(--cream);font-weight:400}
.article-wrap a{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3);transition:border-color .2s}
.article-wrap a:hover{border-color:var(--gold)}
.article-wrap figure figcaption{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:.04em;line-height:1.6}

/* CTA strip (used on recipes, home-sushi-kit) */
.cta-strip{margin:80px 48px 0;border:1px solid var(--border);padding:52px 64px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta-strip-actions{display:flex;gap:16px;flex-shrink:0}
@media(max-width:900px){.cta-strip{margin:60px 24px 0;padding:36px 28px;flex-direction:column;align-items:flex-start}}

/* Data table (used on llms, supply-chain) */
.data-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
.data-table th{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:10px 16px;text-align:left;border-bottom:1px solid var(--border);font-weight:400}
.data-table td{font-weight:300;color:var(--dim);padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:top;line-height:1.7}
.data-table td:first-child{color:var(--cream);font-weight:400;white-space:nowrap}
.data-table tr:last-child td{border-bottom:none}
/* ── Supply chain page ───────────────────────────────────────────────── */
.page-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.page-dateline{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:20px}

.timeline{margin:32px 0;padding:0;list-style:none}
.timeline li{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid rgba(200,169,110,.08);align-items:start}
.timeline li:last-child{border-bottom:none}
.tl-date{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);padding-top:2px;line-height:1.5}
.tl-body{font-size:15px;color:var(--dim);line-height:1.8}
.tl-body strong{color:var(--cream);font-weight:400}
@media(max-width:600px){.timeline li{grid-template-columns:1fr;gap:6px}.tl-date{padding-top:0}}

.cost-box{background:var(--surface);border:1px solid var(--border);padding:32px;margin:36px 0}
.cost-box-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.cost-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(200,169,110,.08);font-size:14px;gap:16px}
.cost-row:last-child{border-bottom:none}
.cost-row-label{color:var(--dim)}
.cost-row-value{color:var(--cream);font-variant-numeric:tabular-nums;white-space:nowrap}
.cost-row-delta{font-size:12px;color:var(--gold-lt);margin-left:8px}

.chart-wrap{margin:32px 0}
.chart-note{font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:.04em;line-height:1.6}

/* ── Incident / QC story cards ───────────────────────────────────────── */
.incident-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;margin:36px 0}
.incident-card{background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--gold);padding:32px 28px 28px;position:relative;transition:border-color .2s}
.incident-card:hover{border-color:rgba(200,169,110,.45);border-top-color:var(--gold-lt)}
.incident-tag{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;opacity:.8}
.incident-card h3{font-family:var(--fd);font-size:20px;font-weight:300;font-style:italic;color:var(--gold-lt);margin-bottom:16px;line-height:1.25}
.incident-card p{font-size:14px;color:var(--dim);line-height:1.85;margin:0}
.incident-card p+p{margin-top:12px;padding-top:12px;border-top:1px solid rgba(200,169,110,.08)}
@media(max-width:600px){.incident-grid{grid-template-columns:1fr;gap:1px}}

/* ── Unagi page — trinity grid ───────────────────────────────────────── */
.trinity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:24px 0 32px}
.trinity-card{background:var(--dark);padding:20px 22px;border-left:2px solid rgba(200,169,110,.25)}
.trinity-card-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.trinity-card h4{font-family:var(--fd);font-size:17px;font-weight:300;margin-bottom:6px;color:var(--cream)}
.trinity-card p{font-size:13px;color:var(--dim);line-height:1.75;margin:0}
@media(max-width:700px){.trinity-grid{grid-template-columns:1fr}}

/* ── Additive comparison table (unagi page) ──────────────────────────── */
.additive-check{color:#6abf69;font-weight:500}
.additive-cross{color:var(--muted);font-weight:300}
.compare-table td.additive-check{color:#6abf69}
.compare-table td.additive-cross{color:var(--muted)}
.compare-source{font-size:11px;color:var(--muted);margin-top:8px;letter-spacing:.03em;line-height:1.6}

/* ── Delivery links section (unagi page) ─────────────────────────────── */
.delivery-links-section{background:var(--dark);border-top:1px solid var(--border);padding:72px 52px}
.delivery-links-inner{max-width:860px;margin:0 auto}
.delivery-links-section h2{font-family:var(--fd);font-size:clamp(24px,3vw,36px);font-weight:300;margin-bottom:16px}
.delivery-links-section p{font-size:15px;color:var(--dim);line-height:1.85;margin-bottom:24px}
.delivery-links-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px 20px;margin:0 0 24px}
.delivery-links-list li a{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3);font-size:14px}
.delivery-links-note{font-size:13px;color:var(--muted)}
@media(max-width:700px){.delivery-links-section{padding:52px 20px}}

/* ── Utility classes used across product pages ───────────────────────── */
.section-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.cta-sub{font-size:12px;color:var(--muted);margin-top:18px}
.hero-price-unit{font-size:16px;color:var(--muted);font-family:var(--fb)}
.price-unit{font-size:13px;color:var(--muted);font-family:var(--fb)}


/* ─────────────────────────────────────────────
   LEARN / IKEJIME PAGE LAYOUT
   Used by: learn, ikejime-washington-dc
   ───────────────────────────────────────────── */

.learn-wrap{display:grid;grid-template-columns:220px 1fr;gap:0;max-width:1100px;margin:0 auto;padding:0 52px}
@media(max-width:900px){.learn-wrap{grid-template-columns:1fr;padding:0 20px}}

.toc{position:sticky;top:170px;align-self:start}
.toc-label{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.toc-list{list-style:none}
.toc-list li{margin-bottom:1px}
.toc-list a{display:block;font-size:12px;font-weight:300;letter-spacing:.04em;color:var(--muted);padding:6px 0;border-left:2px solid transparent;padding-left:12px;transition:color .2s,border-color .2s;line-height:1.4}
.toc-list a:hover,.toc-list a.active{color:var(--cream);border-left-color:var(--gold)}
@media(max-width:900px){.toc{display:none}}

.learn-content{padding:64px 0 64px 64px}
@media(max-width:900px){.learn-content{padding:40px 0 48px}}

.learn-section{margin-bottom:64px;padding-bottom:64px;border-bottom:1px solid var(--border)}
.learn-section:last-child{border-bottom:none;margin-bottom:0}
.learn-section h2{font-family:var(--fd);font-size:clamp(24px,3vw,36px);font-weight:300;margin-bottom:24px;color:var(--cream);line-height:1.2}
.learn-section h2 em{font-style:italic;color:var(--gold-lt)}
.learn-section p{font-size:15px;font-weight:300;color:var(--dim);line-height:1.95;margin-bottom:18px}
.learn-section p:last-child{margin-bottom:0}
.learn-section ul{padding-left:0;list-style:none;margin-bottom:18px}
.learn-section ul li{font-size:15px;font-weight:300;color:var(--dim);line-height:1.85;padding:8px 0 8px 20px;position:relative;border-bottom:1px solid rgba(255,255,255,.04)}
.learn-section ul li:last-child{border-bottom:none}
.learn-section ul li::before{content:'—';position:absolute;left:0;color:var(--gold);opacity:.6}
.learn-section ul li strong{color:var(--cream);font-weight:400}
.learn-section a{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3);transition:border-color .2s}
.learn-section a:hover{border-color:var(--gold)}
.learn-section em{font-style:italic;color:var(--cream)}

.section-anchor{position:relative;top:-100px;display:block;visibility:hidden}

/* Ikejime four-steps */
.ikejime-steps{display:flex;flex-direction:column;gap:0;margin:28px 0}
.step-item{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:28px 0;border-top:1px solid var(--border);align-items:start}
.step-item:last-child{border-bottom:1px solid var(--border)}
.step-body strong{display:block;font-family:var(--fd);font-size:18px;font-weight:400;color:var(--cream);margin-bottom:8px}
.step-body p{margin-bottom:0;font-size:14px}
@media(max-width:600px){.step-item{grid-template-columns:40px 1fr;gap:14px}}

/* ATP cascade diagram */
.cascade-diagram{background:var(--dark);border:1px solid var(--border);padding:28px 32px;margin:28px 0;display:inline-flex;flex-direction:column;gap:0;min-width:260px}
.cascade-step{font-family:var(--fb);font-size:14px;font-weight:400;color:var(--dim);padding:8px 0;letter-spacing:.02em}
.cascade-step strong{color:var(--cream);font-weight:500}
.cascade-atp{color:var(--cream);font-size:15px;font-weight:500}
.cascade-imp{color:var(--gold);font-size:15px}
.cascade-hx{color:var(--muted);font-size:13px}
.cascade-arrow{font-size:13px;color:var(--muted);padding:2px 0 2px 16px;display:flex;align-items:center;gap:10px;line-height:1}
.cascade-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);opacity:.7}

/* Product cards — used on ikejime page "At Sashimi DC" section */
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
@media(max-width:640px){.product-grid{grid-template-columns:1fr}}
.product-card{background:var(--surface);border:1px solid var(--border);overflow:hidden;display:block;transition:border-color .2s;text-decoration:none;color:inherit}
.product-card:hover{border-color:rgba(200,169,110,.4)}
.product-card img{width:100%;height:auto;display:block}
.product-card-body{padding:20px 22px 24px}
.product-card-origin{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:400}
.product-card-name{font-family:var(--fd);font-size:22px;font-weight:300;color:var(--cream);margin-bottom:8px}
.product-card-desc{font-size:13px;font-weight:300;color:var(--dim);line-height:1.75;margin:0}

/* See-also links block */
.see-also{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.see-also h2{font-family:var(--fd);font-size:18px;font-weight:300;color:var(--muted);margin-bottom:16px;letter-spacing:.04em}
.see-also ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px}
.see-also ul li{font-size:13px}
.see-also ul li a{color:var(--muted);border-bottom:1px solid rgba(150,130,90,.25);transition:color .2s,border-color .2s}
.see-also ul li a:hover{color:var(--gold);border-color:var(--gold)}


/* ============================================================
   Article page — title, deck, layout, sidebar TOC
   (used on what-is-sashimi-grade-fish, co-treatment-tuna, etc.)
   ============================================================ */
h1.article-title{font-family:var(--fd);font-size:clamp(36px,5.5vw,64px);font-weight:300;line-height:1.1;letter-spacing:.01em;margin-bottom:24px}
h1.article-title em{font-style:italic;color:var(--gold-lt)}
.article-deck{font-size:18px;color:var(--dim);line-height:1.75;font-weight:300;max-width:680px}

/* Sidebar TOC */
.sidebar-toc{background:var(--surface);padding:24px 28px;border:1px solid var(--border)}
.sidebar-toc h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.sidebar-toc ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.sidebar-toc ul li a{font-size:13px;color:var(--muted);transition:color .2s;display:block;line-height:1.5}
.sidebar-toc ul li a:hover{color:var(--gold)}

/* Chemistry explainer box */
/* Stat strip — quantified trust stats row */
.stat-strip{display:flex;flex-wrap:wrap;max-width:900px;margin:32px auto 0;border:1px solid var(--border)}
.stat-strip-item{flex:1 1 0;min-width:140px;padding:26px 18px;text-align:center;border-right:1px solid var(--border)}
.stat-strip-item:last-child{border-right:none}
.stat-strip .stat-strip-num{font-family:var(--fd);font-size:clamp(26px,3vw,34px);font-weight:400;color:var(--gold);line-height:1.1;margin:0}
.stat-strip .stat-strip-label{font-size:11px;letter-spacing:.04em;color:var(--dim);line-height:1.4;margin-top:8px;margin-bottom:0}
.stat-strip-note,.article-wrap .stat-strip-note{font-size:11px;color:var(--muted);max-width:900px;margin:10px auto 0;padding:0 18px;line-height:1.6}
@media(max-width:700px){.stat-strip{flex-direction:column}.stat-strip-item{border-right:none;border-bottom:1px solid var(--border)}.stat-strip-item:last-child{border-bottom:none}}

.chemistry-box{background:var(--dark);padding:36px 40px;margin:36px 0;border:1px solid var(--border)}
.chemistry-box .chem-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.chemistry-box h3{font-family:var(--fd);font-size:22px;font-weight:300;margin-bottom:20px}
.chem-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.chem-col h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.chem-col p{font-size:14px;color:var(--dim);line-height:1.8}
.chem-result{background:rgba(200,169,110,.05);border:1px solid rgba(200,169,110,.2);padding:20px 24px}
.chem-result p{font-size:14px;color:var(--dim);line-height:1.8;margin:0}
.chem-result strong{color:var(--gold-lt)}

/* Pillars — jurisdiction / category breakdown component */
.pillars{display:flex;flex-direction:column;gap:0;margin:40px 0;border:1px solid var(--border)}
.pillar-item{padding:32px 36px;border-bottom:1px solid var(--border)}
.pillar-item:last-child{border-bottom:none}
.pillar-header{display:flex;align-items:flex-start;gap:20px;margin-bottom:16px}
.pillar-num{font-family:var(--fd);font-size:42px;font-weight:300;color:rgba(200,169,110,.40);line-height:1;flex-shrink:0;width:48px}
.pillar-title-group h3{font-family:var(--fd);font-size:20px;font-weight:400;font-style:italic;color:var(--gold-lt);margin-bottom:4px}
.pillar-title-group p.pillar-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0}
.pillar-body p{font-size:15px;color:var(--dim);line-height:1.85;margin-bottom:12px}
.pillar-body p:last-child{margin-bottom:0}

/* Comparison table — supply-chain.html */
.comparison-table-wrap {
  overflow-x: auto;
  margin: 32px 0;
}
.comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  line-height: 1.55;
}
.comparison-table th,
.comparison-table td {
  padding: 12px 16px;
  border: 1px solid var(--border);
  vertical-align: top;
  text-align: left;
}
.comparison-table thead th {
  background: rgba(200,169,110,0.08);
  color: var(--gold);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .04em;
}
.comparison-table thead th:first-child {
  background: transparent;
}
.comparison-table tbody tr:nth-child(even) td {
  background: rgba(255,255,255,0.02);
}
.comparison-table tbody td:first-child {
  color: var(--muted);
  font-size: 13px;
  white-space: nowrap;
}
.comparison-table tbody td:last-child {
  color: var(--gold);
}
@media (max-width: 640px) {
  .comparison-table tbody td:first-child {
    white-space: normal;
  }
}

/* Sushi regionality callout — American styles section */
.rec-num{font-family:var(--fd);font-size:28px;font-weight:300;color:rgba(200,169,110,.45);line-height:1;margin-right:6px;vertical-align:middle}
.sdc-rec{color:var(--gold);font-style:italic}


/* Michelin 3-star NYC table — japanese-cuisine-global-influence.html */
.michelin-table-intro{font-size:15px;color:var(--muted);margin:24px 0 16px}
.michelin-table-wrap{margin:0 0 32px;overflow-x:auto}
.michelin-table{width:100%;border-collapse:collapse;font-size:14px}
.michelin-table th{text-align:left;padding:10px 14px;border-bottom:1px solid rgba(200,169,110,.35);font-family:var(--fs);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.michelin-table td{padding:10px 14px;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.06)}
.michelin-table .col-restaurant{font-size:13px;white-space:nowrap;color:var(--light);border-right:1px solid rgba(255,255,255,.06)}
.michelin-table .table-sub{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}
.michelin-table .col-menu{min-width:240px}
.menu-name{display:block;font-weight:500;color:var(--light)}
.menu-desc{display:block;font-size:12px;color:var(--muted);margin-top:0;line-height:1.5}
.michelin-table-note,.article-body p.michelin-table-note{font-size:11px;font-family:var(--fb);color:var(--muted);margin-top:10px;line-height:1.6;font-style:italic}
@media(max-width:640px){
  .michelin-table .col-restaurant{white-space:normal}
  .michelin-table .col-menu{min-width:160px}
}

/* Varieties section — hokkaido-uni-washington-dc.html */
.varieties-section{background:var(--dark);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.varieties-inner{max-width:1160px;margin:0 auto;padding:72px 52px}
.varieties-inner .section-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.varieties-inner .section-title{font-family:var(--fd);font-size:clamp(26px,3.5vw,40px);font-weight:300;margin-bottom:48px;line-height:1.15}
.varieties-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.variety-card{background:var(--surface);padding:40px}
.variety-card-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.variety-card h3{font-family:var(--fd);font-size:28px;font-weight:300;margin-bottom:6px}
.variety-card-jp{font-size:13px;color:var(--muted);letter-spacing:.08em;margin-bottom:20px}
.variety-card p{font-size:15px;color:var(--dim);line-height:1.85}
@media(max-width:700px){.varieties-grid{grid-template-columns:1fr}}

/* Sources reference link — deep-dive guide pages (points to /references) */
.sources-ref-link{font-size:13px;color:var(--muted);margin-top:20px}
.sources-ref-link a{color:var(--gold);border-bottom:1px solid rgba(200,169,110,.3)}

/* ── Product detail page cluster (used on home-sushi-kit, gift-cards) ── */
.hero-buy{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.price-num{font-family:var(--fd);font-size:42px;font-weight:300;color:var(--gold-lt);line-height:1}
.price-note{font-size:11px;color:var(--muted);letter-spacing:.04em;margin-top:4px}

.kit-split{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);scroll-margin-top:160px}
.kit-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.kit-img:hover img{transform:scale(1.03)}
.kit-details{padding:64px 52px;background:var(--dark);display:flex;flex-direction:column;justify-content:center}
.contents-label{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:26px}
.contents-list{list-style:none;margin-bottom:44px}
.contents-list li{display:grid;grid-template-columns:28px 1fr;gap:0 16px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.05);align-items:start}
.contents-list li:first-child{padding-top:0}
.contents-list li:last-child{border-bottom:none}
.c-num{font-family:var(--fd);font-size:17px;font-weight:300;color:rgba(200,169,110,.4);line-height:1.4}
.c-name{font-size:14px;font-weight:400;color:var(--cream);display:block;line-height:1.4;margin-bottom:3px}
.c-detail{font-size:12px;font-weight:300;color:var(--muted);line-height:1.6;display:block}
@media(max-width:900px){.kit-split{grid-template-columns:1fr}.kit-details{padding:44px 24px}}

.main-wrap{max-width:820px;margin:0 auto;padding:80px 52px}
.content-section{padding-bottom:64px;margin-bottom:64px;border-bottom:1px solid var(--border)}
.content-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}
.section-tag{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
@media(max-width:900px){.main-wrap{padding:52px 20px}}

.steps-list{list-style:none;margin:36px 0 0}
.steps-list .step{display:grid;grid-template-columns:56px 1fr;padding-bottom:40px;position:relative}
.steps-list .step:not(:last-child)::before{content:'';position:absolute;left:26px;top:52px;bottom:0;width:1px;background:var(--border)}
.step-circle{width:52px;height:52px;border-radius:50%;border:1px solid var(--border);background:rgba(200,169,110,.06);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:20px;font-weight:300;color:var(--gold);flex-shrink:0}
.step-title{font-family:var(--fb);font-size:16px;font-weight:500;margin-bottom:10px;line-height:1.3;letter-spacing:.01em}
.step-text{font-size:14px;font-weight:300;color:var(--dim);line-height:1.9}

.tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.tip-card{padding:22px 24px;background:var(--surface);border:1px solid var(--border)}
.tip-icon{font-size:20px;margin-bottom:10px}
.tip-title{font-size:13px;font-weight:400;color:var(--cream);margin-bottom:6px;letter-spacing:.03em}
.tip-text{font-size:13px;font-weight:300;color:var(--muted);line-height:1.75}
@media(max-width:600px){.tips-grid{grid-template-columns:1fr}}

.fish-pair-grid{display:grid;grid-template-columns:1fr;gap:2px;margin-top:32px}
.fish-pair-card{position:relative;overflow:hidden;display:block}
.fish-pair-card img{width:100%;height:320px;object-fit:cover;display:block;transition:transform .5s}
.fish-pair-card:hover img{transform:scale(1.05)}
.fish-pair-info{position:absolute;bottom:0;left:0;right:0;padding:20px 16px 14px;background:linear-gradient(to top,rgba(11,11,11,.9),transparent)}
.fish-pair-name{font-family:var(--fd);font-size:17px;font-weight:400;margin-bottom:2px}
.fish-pair-price{font-size:12px;color:var(--gold);letter-spacing:.06em}

.cta-strip-copy h2{font-family:var(--fd);font-size:32px;font-weight:300;margin-bottom:8px}
.cta-strip-copy p{font-size:14px;color:var(--muted)}

/* ── Gift fish cards (used on gift-cards.html) ── */
.gift-fish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.gift-fish-card{border:1px solid var(--border);background:var(--surface);overflow:hidden;display:block;transition:border-color .2s}
.gift-fish-card:hover{border-color:var(--gold)}
.gift-fish-card img{width:100%;height:200px;object-fit:cover;display:block}
.gift-fish-body{padding:20px 22px 24px}
.gift-fish-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.gift-fish-body h3{font-family:var(--fd);font-size:22px;font-weight:300;margin-bottom:8px;color:var(--cream)}
.gift-fish-body p{font-size:13px;font-weight:300;color:var(--dim);line-height:1.7;margin-bottom:12px}
.gift-fish-price{font-size:12px;color:var(--gold);letter-spacing:.04em}
@media(max-width:900px){.gift-fish-grid{grid-template-columns:1fr}}
