:root{
  --navy:#07141e;--navy-2:#11324b;--wine:#5e0d0d;--burgundy:#6b2737;
  --gold:#d4af37;--gold-light:#f3e5ab;--ivory:#f6f3ee;--paper:#fff;
  --ink:#07141e;--muted:#6e6b67;--line:rgba(17,50,75,.14);--shadow:0 22px 70px rgba(7,20,30,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,"PingFang TC",sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--gold);color:var(--navy);padding:.7rem 1rem;z-index:200}.skip-link:focus{top:1rem}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:relative;z-index:20}
.brand{display:flex;align-items:center;gap:.85rem;font-size:.75rem;font-weight:700;letter-spacing:.15em}.brand small{display:block;color:var(--burgundy);font-family:"Noto Serif TC",serif;font-size:.68rem;letter-spacing:.2em}
.brand-mark{width:38px;height:38px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);background:var(--navy);font-size:.7rem;letter-spacing:.05em}
.site-header nav{display:flex;align-items:center;gap:2.1rem;font-size:.72rem;font-weight:700;letter-spacing:.12em}.site-header nav a{border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--gold)}
.theme-button,.menu-button{border:0;background:transparent;color:inherit;cursor:pointer}.theme-button{font-size:1.2rem}.menu-button{display:none;text-transform:uppercase;font-size:.7rem;letter-spacing:.15em}
.language-switch{color:var(--burgundy);border:1px solid var(--gold)!important;padding:.35rem .65rem;line-height:1}.dark .language-switch{color:var(--gold-light)}
.hero,.index-hero{position:relative;overflow:hidden;background:var(--navy);color:white}
.hero{min-height:610px;display:flex;align-items:center;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,9vw,9.5rem)}
.hero::after,.index-hero::after{content:"";position:absolute;inset:auto -10% -50% 45%;height:100%;background:radial-gradient(circle,rgba(107,39,55,.75),transparent 67%);pointer-events:none}
.hero-orbit{position:absolute;width:min(48vw,650px);aspect-ratio:1;border:1px solid rgba(212,175,55,.38);border-radius:50%;right:6%;top:50%;transform:translateY(-50%)}
.hero-orbit::before,.hero-orbit::after{content:"";position:absolute;border:1px solid rgba(212,175,55,.18);border-radius:50%;inset:11%}.hero-orbit::after{inset:26%;background:radial-gradient(circle at 40% 35%,rgba(212,175,55,.2),rgba(94,13,13,.5) 48%,rgba(7,20,30,.1) 70%)}
.hero-content{position:relative;z-index:2;max-width:760px}.kicker,.section-label{margin:0 0 1.5rem;color:var(--gold);font-size:.67rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.hero h1{font-family:"Noto Serif TC",serif;font-size:clamp(3.5rem,8vw,7.8rem);font-weight:600;line-height:1;margin:0;letter-spacing:.02em}.hero .latin{font-family:Georgia,serif;font-style:italic;color:var(--gold-light);font-size:clamp(1.3rem,2.5vw,2.2rem);margin:.8rem 0 1.7rem}.hero-copy{max-width:550px;color:#d6cdc0;font-family:"Noto Serif TC",serif;font-size:1.05rem}
.hero-link{display:inline-flex;align-items:center;gap:1rem;margin-top:1rem;padding:.85rem 0;border-bottom:1px solid var(--gold);font-size:.72rem;letter-spacing:.16em}.hero-index{position:absolute;right:4.5rem;bottom:3.4rem;font-size:2rem;color:var(--gold);z-index:3}.hero-index span{font-size:.72rem;color:#c9c5bf}
.breadcrumb{max-width:1440px;margin:auto;padding:1.2rem clamp(1.25rem,5vw,5rem);font-size:.68rem;color:var(--muted);display:flex;gap:.65rem;border-bottom:1px solid var(--line)}.breadcrumb a:hover{color:var(--burgundy)}
.study-layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(250px,1fr) minmax(0,2.5fr);gap:clamp(3rem,8vw,8rem);padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5rem)}
.study-layout aside{position:sticky;top:2rem;align-self:start}.study-layout aside h2,.section-heading h2,.about h2{font-family:"Noto Serif TC",serif;font-weight:600;font-size:clamp(2rem,4vw,3.8rem);line-height:1.25;margin:0}.study-layout aside p:not(.section-label){color:var(--muted);font-family:"Noto Serif TC",serif;font-size:.92rem}.gold-rule{width:70px;height:2px;background:var(--gold);margin:2rem 0}.back-link{display:inline-block;margin-top:1.5rem;color:var(--burgundy);font-size:.75rem;font-weight:700}
.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:4rem}.fact{background:var(--ivory);padding:1.6rem}.fact span{color:var(--gold);font-size:.65rem;font-weight:700}.fact p{font-family:"Noto Serif TC",serif;font-size:.88rem;line-height:1.7;margin:.8rem 0 0}
.article-body{font-family:"Noto Serif TC",serif;max-width:850px}.article-body h2,.article-body h3,.article-body h4{color:var(--navy);font-weight:700;line-height:1.4;margin:3.2rem 0 1.1rem}.article-body h2{font-size:1.65rem;border-top:1px solid var(--line);padding-top:2rem}.article-body h3{font-size:1.35rem}.article-body h4{font-size:1.1rem;color:var(--burgundy)}.article-body p,.article-body li{color:#333;font-size:1rem}.article-body li{margin:.8rem 0}.article-body strong{color:var(--burgundy)}.article-body code{background:var(--ivory);padding:.1rem .35rem}.article-body blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:2px solid var(--gold);background:var(--ivory)}
.table-wrap{overflow-x:auto;margin:2rem 0}.article-body table{border-collapse:collapse;width:100%;font-size:.86rem}.article-body th{background:var(--navy);color:white;text-align:left}.article-body td,.article-body th{padding:.85rem;border:1px solid var(--line)}
.related{background:var(--ivory);padding:clamp(5rem,8vw,8rem) clamp(1.25rem,5vw,5rem)}.section-heading{max-width:1340px;margin:0 auto 3rem;display:flex;align-items:end;justify-content:space-between}.section-heading>a{font-size:.72rem;color:var(--burgundy);border-bottom:1px solid var(--burgundy)}
.wine-benchmarks{padding:clamp(5rem,8vw,8rem) clamp(1.25rem,5vw,5rem);background:var(--paper)}.benchmark-intro{max-width:520px;color:var(--muted);font-family:"Noto Serif TC",serif;font-size:.85rem}.wine-card-grid{max-width:1340px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.wine-card{min-height:255px;padding:1.6rem;border:1px solid var(--line);background:var(--ivory);display:flex;flex-direction:column;transition:.25s ease}.wine-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:var(--shadow)}.wine-card>span{color:var(--gold);font-size:.65rem}
.wine-card>p{margin:auto 0 .55rem;color:var(--ink);font-family:"Noto Serif TC",Georgia,serif;font-size:clamp(1.55rem,2.2vw,2.15rem);font-weight:700;line-height:1.2;letter-spacing:.01em;text-transform:none}
.wine-card h3{margin:0 0 .7rem;color:var(--burgundy);font-family:Georgia,"Noto Serif TC",serif;font-size:1rem;font-style:italic;font-weight:500;line-height:1.4}
.wine-card small{color:var(--muted);min-height:2.8rem}.wine-card b{color:var(--burgundy);font-size:.67rem;letter-spacing:.1em;margin-top:1.3rem}
.related-grid{max-width:1340px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.related-card{min-height:270px;padding:1.7rem;background:white;border:1px solid var(--line);display:flex;flex-direction:column;transition:.25s ease}.related-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold)}.related-card>span{color:var(--gold);font-size:.65rem}.related-card h3{font-family:"Noto Serif TC",serif;font-size:1.55rem;margin:auto 0 .3rem}.related-card p{margin:0 0 1.5rem;color:var(--muted);font-family:Georgia,serif;font-style:italic}.related-card b{font-size:.68rem;color:var(--burgundy);letter-spacing:.1em}
.page-nav{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}.page-nav a{padding:2.5rem clamp(1.25rem,5vw,5rem);display:flex;flex-direction:column}.page-nav a+ a{text-align:right;border-left:1px solid rgba(255,255,255,.14)}.page-nav span{font-size:.62rem;letter-spacing:.16em;color:var(--gold);margin-bottom:.5rem}.page-nav strong{font-family:"Noto Serif TC",serif;font-size:1.2rem}

.wine-hero .wine-producer{max-width:1100px;margin:0 0 1rem;color:#fff;font-family:"Noto Serif TC",Georgia,serif;font-size:clamp(3rem,7vw,7rem);font-weight:600;line-height:1.05;letter-spacing:.01em;text-transform:none}
.wine-hero h1{max-width:1000px;margin:0 0 1rem;color:var(--gold-light);font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(1.4rem,2.4vw,2.35rem);font-style:italic;font-weight:500;line-height:1.3}
.wine-story-layout{max-width:1300px;margin:auto;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,2fr);gap:clamp(3rem,8vw,8rem)}
.wine-story-layout aside{position:sticky;top:2rem;align-self:start}.wine-facts{margin:0;border-top:1px solid var(--line)}.wine-facts div{padding:1.1rem 0;border-bottom:1px solid var(--line)}.wine-facts dt{font-size:.58rem;letter-spacing:.18em;color:var(--gold);font-weight:700}.wine-facts dd{margin:.35rem 0 0;font-family:"Noto Serif TC",serif}.wine-story-copy{font-family:"Noto Serif TC",serif}.wine-story-copy h2{font-size:clamp(2rem,4vw,4rem);line-height:1.2;margin:0 0 2rem}.wine-story-copy h2 em{color:var(--burgundy);font-style:normal}.wine-story-copy .lead{font-size:1.15rem;line-height:1.95;color:#333}.story-panel{margin:3rem 0;padding:2rem;border-left:3px solid var(--gold);background:var(--ivory)}.story-panel span{font-family:Montserrat,sans-serif;color:var(--gold);font-size:.62rem;letter-spacing:.2em;font-weight:700}.story-panel p{margin:.7rem 0 0;font-size:1.05rem}.wine-story-copy h3{font-size:1.5rem;margin-top:3rem}.research-note{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2.5rem}.source-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.source-links a{padding:.75rem 1rem;background:var(--navy);color:white;font-family:Montserrat,sans-serif;font-size:.68rem;letter-spacing:.08em}.source-links a:hover{background:var(--burgundy)}.wine-related .wine-card-grid{grid-template-columns:repeat(5,1fr)}.wine-related .wine-card{min-height:230px}
footer{background:#040c12;color:white;min-height:170px;padding:3rem clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between}footer>div{display:flex;gap:1rem;align-items:center}footer p{font-size:.7rem;letter-spacing:.12em}footer small{color:#999;letter-spacing:.04em}
.index-hero{min-height:690px;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,9vw,9.5rem)}.index-hero h1{position:relative;z-index:2;font-family:"Noto Serif TC",serif;font-weight:600;font-size:clamp(3.5rem,7vw,7rem);line-height:1.18;margin:0;max-width:1000px}.index-hero h1 em{color:var(--gold-light);font-style:normal}.index-hero>p:not(.kicker){position:relative;z-index:2;max-width:650px;color:#cfc8bd;font-family:"Noto Serif TC",serif;font-size:1.05rem}.index-stats{position:relative;z-index:2;display:flex;gap:clamp(2rem,7vw,7rem);margin-top:4rem}.index-stats div{display:flex;flex-direction:column}.index-stats strong{color:var(--gold);font-size:1.5rem}.index-stats span{font-size:.6rem;letter-spacing:.18em;color:#aaa}
.country-jump{position:sticky;top:0;z-index:10;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:center;overflow-x:auto}.country-jump a{padding:1.1rem 1.4rem;white-space:nowrap;font-size:.73rem;font-weight:700}.country-jump a:hover{background:var(--ivory);color:var(--burgundy)}.country-jump span{color:var(--gold);margin-right:.45rem}
.catalog{max-width:1360px;margin:auto;padding:3rem clamp(1.25rem,4vw,4rem)}.country-section{display:grid;grid-template-columns:1fr 2.4fr;gap:clamp(2rem,7vw,7rem);padding:6rem 0;border-bottom:1px solid var(--line);scroll-margin-top:60px}.country-intro{position:sticky;top:5rem;align-self:start}.country-intro h2{font-family:"Noto Serif TC",serif;font-size:clamp(2.7rem,5vw,5rem);margin:0;line-height:1}.country-intro>p:last-child{color:var(--muted);font-size:.78rem;margin-top:1.5rem}
.region-list{border-top:1px solid var(--line)}.region-row{display:grid;grid-template-columns:45px 1fr 30px;align-items:center;min-height:105px;border-bottom:1px solid var(--line);transition:.2s}.region-row:hover{padding-left:1rem;background:var(--ivory)}.region-row>span{color:var(--gold);font-size:.65rem}.region-row h3{font-family:"Noto Serif TC",serif;font-size:1.4rem;margin:0}.region-row p{font-family:Georgia,serif;font-style:italic;color:var(--muted);margin:.1rem 0 0}.region-row b{color:var(--burgundy)}
.about{background:var(--wine);color:white;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,12vw,12rem)}.about h2{max-width:850px}.about>p:last-child{max-width:720px;color:#e0cfc7;font-family:"Noto Serif TC",serif;margin-top:2rem}
.language-landing{min-height:100vh;background:var(--navy);color:white;display:grid;place-items:center;padding:2rem;position:relative;overflow:hidden}.language-landing::before{content:"";position:absolute;width:min(70vw,760px);aspect-ratio:1;border:1px solid rgba(212,175,55,.25);border-radius:50%;right:-15%;top:-20%;box-shadow:inset 0 0 120px rgba(94,13,13,.35)}.language-landing>div{width:min(920px,100%);position:relative;z-index:1}.language-landing .brand-mark{margin-bottom:3rem}.language-landing h1{font-family:Georgia,"Noto Serif TC",serif;font-weight:500;font-size:clamp(4rem,10vw,8rem);line-height:1;margin:0 0 3.5rem}.language-options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.2)}.language-options a{padding:1.6rem 0;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2);font-size:1.1rem}.language-options a:first-child{margin-right:2rem}.language-options a:hover{color:var(--gold)}.language-options b{font-size:.7rem;letter-spacing:.15em;color:var(--gold)}
body.dark{--paper:#07141e;--ink:#f4f4f4;--muted:#c4bbb0;--ivory:#12202b;--line:rgba(243,229,171,.16);background:var(--paper)}body.dark .site-header,body.dark .country-jump{background:#07141ef2}body.dark .fact,body.dark .related-card{background:#12202b}body.dark .article-body h2,body.dark .article-body h3,body.dark .wine-card h3{color:var(--gold-light)}body.dark .article-body p,body.dark .article-body li,body.dark .wine-story-copy .lead{color:#ddd}body.dark .related{background:#0b1924}
@media(max-width:850px){
  .site-header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:1.5rem;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column}.site-header nav.open{display:flex}.menu-button{display:block}.hero{min-height:560px}.hero-orbit{right:-45%;width:90vw}.hero-index{right:1.25rem}.study-layout,.country-section,
.wine-story-layout{grid-template-columns:1fr}.study-layout aside,.country-intro,
.wine-story-layout aside{position:static}.fact-grid{grid-template-columns:1fr}.related-grid{grid-template-columns:repeat(2,1fr)}.wine-card-grid{grid-template-columns:repeat(2,1fr)}.wine-related .wine-card-grid{grid-template-columns:repeat(2,1fr)}.index-stats{flex-wrap:wrap}.country-jump{justify-content:flex-start}
}
@media(max-width:540px){
  .related-grid,.wine-card-grid,.wine-related .wine-card-grid{grid-template-columns:1fr}.section-heading{align-items:start;gap:1.5rem;flex-direction:column}.page-nav strong{font-size:.92rem}.site-header{height:68px}.hero{padding-top:6rem}.hero h1{font-size:3.4rem}
.wine-hero .wine-producer{font-size:3rem}.wine-hero h1{font-size:1.5rem}.index-hero{min-height:620px}.index-hero h1{font-size:3.15rem}.index-stats{gap:1.5rem}.country-section{padding:4rem 0}footer{align-items:flex-start;gap:2rem;flex-direction:column}.language-options{grid-template-columns:1fr}.language-options a:first-child{margin-right:0}
}
@media print{
  .site-header,.hero-link,.related,.page-nav,footer,.country-jump{display:none!important}.hero{min-height:auto;padding:2rem;color:var(--navy);background:white;border-bottom:2px solid var(--gold)}.hero-orbit{display:none}.study-layout{display:block;padding:2rem}.study-layout aside{margin-bottom:2rem}.article-body{max-width:none}
}


/* 台灣法定飲酒警語 — injected by tools/build_deploy.py */
body { padding-bottom: 13vh; }
#ww-warn-footer {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999;
  height: 10vh; min-height: 48px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  gap: clamp(10px, 3vw, 44px); flex-wrap: wrap; padding: 4px 16px;
  background: linear-gradient(180deg, #2b1119 0%, #150a0f 100%);
  border-top: 2px solid #e8c26a; box-shadow: 0 -6px 24px rgba(0,0,0,.55);
  color: #ffe9bd; font-weight: 700; letter-spacing: .1em;
  font-size: clamp(13px, 2.3vh, 24px); line-height: 1.35; text-align: center;
  font-family: "Avenir Next", "PingFang TC", "Helvetica Neue", sans-serif;
  pointer-events: none; user-select: none;
}
#ww-warn-footer .sep { color: #e8c26a; opacity: .8; }
@media (max-width: 620px) {
  #ww-warn-footer { gap: 2px; font-size: clamp(12px, 1.9vh, 16px); letter-spacing: .05em; }
  #ww-warn-footer .sep { display: none; }
}
