:root { color-scheme: light; --paper:#fbf8f5; --white:#fff; --ink:#211b1c; --muted:#655b5c; --line:#e8dfd9; --wine:#76263f; font-family:system-ui,-apple-system,'Segoe UI',sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
::selection { background:var(--wine); color:#fff; text-shadow:none; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; font-size:16px; line-height:1.6; }
img { max-width:100%; }
a { color:var(--wine); text-underline-offset:3px; }
a:focus-visible { outline:3px solid #b35477; outline-offset:3px; }
.wrap { width:min(100% - 40px, 1100px); margin:0 auto; }
.site-header { border-bottom:1px solid var(--line); background:var(--white); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:17px 0; }
.logo { display:grid; color:var(--ink); text-decoration:none; font:500 26px Georgia,serif; line-height:1; white-space:nowrap; }
.logo span { margin-top:8px; color:var(--muted); font:600 11px system-ui,sans-serif; letter-spacing:.12em; }
.site-header nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px 23px; }
.site-header nav a { color:var(--ink); font-size:15px; font-weight:600; text-decoration:none; }
.site-header nav a:hover, .footer-inner a:hover { text-decoration:underline; }
.breadcrumbs { margin:25px 0 28px; }
.breadcrumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:0; color:var(--muted); font-size:14px; }
.breadcrumbs li:not(:last-child)::after { content:' /'; margin-left:7px; color:#b4a6a3; }
.breadcrumbs a { color:var(--muted); }
.page-head { max-width:880px; margin:0 0 35px; }
.overline { margin:0 0 10px; color:var(--wine); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
h1, h2, h3, p { margin-top:0; }
h1, h2 { font-family:Georgia,serif; font-weight:500; line-height:1.15; }
h1 { font-size:clamp(35px,5vw,60px); letter-spacing:-.03em; margin:0 0 19px; }
h2 { font-size:clamp(27px,3.5vw,36px); margin:0 0 16px; }
h3 { font-size:19px; line-height:1.3; margin:0 0 9px; }
.lead { font-size:clamp(17px,2vw,20px); color:#554c4e; line-height:1.6; max-width:780px; margin:0; }
.callout { background:#f2eae4; border:1px solid #e8d8d0; border-radius:10px; padding:clamp(22px,4vw,38px); margin:0 0 43px; }
.callout p, .plain-section p { max-width:780px; }
.callout ol { padding-left:24px; margin:0 0 25px; }
.callout li { padding-left:4px; margin-bottom:8px; }
.button { display:inline-block; min-height:48px; padding:10px 23px; background:var(--wine); color:white; border-radius:5px; font-size:16px; font-weight:600; text-align:center; text-decoration:none; }
.button:hover { background:#592037; }
.plain-section { margin:0 0 45px; }
.plain-section p { margin-bottom:18px; }
.decant-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0 14px; }
.decant-photos figure { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--white); }
.decant-photos img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; object-position:center 60%; }
.decant-photos figcaption { padding:12px 16px; font-size:14px; color:var(--muted); }
.aroma-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.aroma-card { display:flex; align-items:center; gap:16px; min-width:0; padding:10px; border:1px solid var(--line); border-radius:7px; background:var(--white); color:var(--ink); text-decoration:none; }
.aroma-card:hover { border-color:#c499a7; box-shadow:0 5px 18px #76263f13; }
.aroma-card img { width:86px; height:92px; flex:none; object-fit:contain; background:white; border-radius:4px; }
.aroma-card > span:not(.card-arrow) { min-width:0; display:grid; gap:2px; }
.aroma-card small { color:var(--wine); font-size:13px; }
.aroma-card strong { font-size:16px; line-height:1.3; }
.aroma-card span span { font-size:14px; line-height:1.4; color:var(--muted); }
.card-arrow { color:var(--wine); margin-left:auto; padding-right:7px; font-size:20px; }
.area-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.area-grid > div { background:var(--white); border:1px solid var(--line); border-radius:7px; padding:22px; }
.area-grid p { color:var(--muted); margin:0; }
.product-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.83fr); gap:32px; align-items:start; margin-bottom:44px; }
.product-figure { margin:0; }
.product-figure figcaption { padding:10px 3px 0; color:var(--muted); font-size:14px; line-height:1.5; }
.product-image { display:grid; place-items:center; min-height:350px; background:var(--white); border:1px solid var(--line); border-radius:9px; overflow:hidden; }
.product-image img { display:block; width:100%; max-height:580px; object-fit:contain; }
.product-offer { padding:28px; border:1px solid var(--line); border-radius:9px; background:var(--white); }
.product-offer h2 { font-size:31px; }
.product-offer table { width:100%; border-collapse:collapse; margin:0 0 16px; }
.product-offer caption { text-align:left; color:var(--muted); font-size:14px; margin-bottom:7px; }
.product-offer th, .product-offer td { padding:10px 5px; border-bottom:1px solid var(--line); text-align:left; font-size:16px; }
.product-offer td { text-align:right; font-weight:600; }
.product-offer thead th { color:var(--muted); font-size:14px; font-weight:500; }
.product-offer thead th:last-child { text-align:right; }
.quiet { color:var(--muted); font-size:15px; margin:0 0 19px; }
.product-offer .button { display:block; }
.secondary-link { display:block; text-align:center; margin-top:14px; font-weight:600; }
.product-story { padding:24px; border:1px solid var(--line); border-radius:9px; background:var(--white); }
.product-story h3 { margin:21px 0 11px; font-size:18px; }
.story-photo { display:flex; align-items:center; gap:15px; max-width:430px; background:#f8f4f0; border-radius:8px; padding:9px; }
.story-photo img { width:100px; height:100px; object-fit:cover; border-radius:5px; }
.story-photo p { margin:0; color:var(--muted); font-size:15px; }
.product-collage { display:block; }
.product-collage img { display:block; width:100%; height:auto; }
.story-list { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
.story-list li { border:1px solid var(--line); background:var(--white); border-radius:5px; padding:8px 12px; font-size:15px; }
.story-accords li { background:#f6e9ee; border-color:#f6e9ee; color:#713b50; }
@media(max-width:760px) {
  .header-inner { align-items:flex-start; flex-direction:column; }
  .site-header nav { justify-content:flex-start; gap:10px 17px; }
  .product-layout { grid-template-columns:1fr; gap:18px; }
  .product-image { min-height:250px; }
  .product-image img { max-height:460px; }
  .area-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .wrap { width:min(100% - 30px,1100px); }
  .breadcrumbs { margin:18px 0 23px; }
  .aroma-list { grid-template-columns:1fr; }
  .decant-photos { grid-template-columns:1fr; }
  .aroma-card img { width:70px; height:80px; }
  .card-arrow { padding-right:0; }
  .product-offer { padding:20px; }
  .page-head { margin-bottom:25px; }
  .site-header nav a { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.document-list li {margin:14px 0;}
.bottle-reservation {margin-top:22px;padding:16px;border:1px solid #ebcbd7;border-radius:5px;background:#f6e9ee;}
.bottle-reservation .button {display:block;text-align:center;white-space:normal;line-height:1.4;}
.bottle-reservation p {margin:10px 0 0;color:var(--muted);font-size:14px;}
.plain-section p,.plain-section dd {max-width:78ch;overflow-wrap:anywhere;}
.plain-section dt {font-weight:600;margin-top:18px;}
.plain-section dd {margin:5px 0 0;}
@media print {.site-header,.site-footer,.breadcrumbs,button {display:none!important;} body {background:white;color:black;} .wrap {width:100%;} a {color:inherit;} .callout {border:1px solid #888;}}
