@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/cormorant-garamond-400.woff') format('woff'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('fonts/cormorant-garamond-500.woff') format('woff'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/cormorant-garamond-600.woff') format('woff'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/manrope-400.woff') format('woff'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:500; font-display:swap; src:url('fonts/manrope-500.woff') format('woff'); }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/manrope-600.woff') format('woff'); }
/* Editorial foundation shared across all six pages. */
:root { --forest:#182319; --forest-deep:#101910; --paper:#f7f5ef; --ink:#252923; --muted:#686b61; --line:#d6d0c3; --radius:2px; --gutter:max(36px,calc((100% - 1320px)/2)); }
body { font-family:var(--serif); }
h1,h2,h3 { font-weight:400; }
p { line-height:1.55; }
.site-header { position:fixed; inset:0 0 auto; height:106px; min-height:0; padding:16px var(--gutter); background:linear-gradient(#10191065,transparent); border:0; box-shadow:none; backdrop-filter:none; color:white; }
.site-header.is-scrolled { background:#182319f5; box-shadow:0 8px 24px #00000014; backdrop-filter:blur(14px); }
.site-header .logo { position:absolute; left:50%; transform:translateX(-50%); width:145px; }
.site-header .logo img { filter:brightness(0) invert(1); }
.desktop-nav { gap:24px; }
.desktop-nav a,.desktop-nav a[aria-current],.desktop-nav a:hover,.language { color:white; font:500 11px/1.4 var(--sans); }
.desktop-nav a:after { background:var(--gold); }
.header-actions .button { font-size:11px; min-height:38px; padding:9px 18px; }
.header-actions .language { border-left-color:#ffffff40; }
.button { font:500 11px/1.5 var(--sans); text-transform:uppercase; background:transparent; border:1px solid var(--ink); border-radius:2px; color:var(--ink); min-height:44px; padding:11px 22px; gap:24px; box-shadow:none; }
.button:hover { background:var(--forest); color:white; box-shadow:none; }
.button.secondary { color:var(--ink); border-color:var(--ink); }
.site-header .button,.hero .button,.visit-banner .button,.collection-band .button,.editorial-cta .button,.terroir-banner .button { border-color:#ffffff80; color:white; background:transparent; }
.hero .button:hover,.site-header .button:hover,.visit-banner .button:hover,.collection-band .button:hover,.editorial-cta .button:hover { background:#ffffff15; }
.hero { min-height:630px; padding:180px var(--gutter) 72px; background-image:url('pupa-winery-hero.png'); background-position:var(--hero-x,50%) calc(50% + var(--hero-shift,0px)); }
.hero:before { background:linear-gradient(90deg,#101910a6 0%,#10191040 58%,transparent); }
.hero-home,.hero-degustime { min-height:680px; }
.hero-copy { max-width:650px; }
.hero h1 { font-size:64px; line-height:1.05; margin:20px 0; }
.hero h1:after { display:none; }
.hero p:not(.eyebrow) { font-size:19px; max-width:480px; }
.hero .eyebrow { font-size:11px; color:#ffffffe0; }
.hero .hero-actions { margin-top:28px; }
.mobile-wines { display:none!important; }
.eyebrow { font:500 11px/1.5 var(--sans); color:#8a816a; text-transform:uppercase; }
.eyebrow:after { width:60px; opacity:.65; }
.text-link { font:600 11px/1.5 var(--sans); text-transform:uppercase; color:var(--ink); border-bottom:1px solid transparent; }
.text-link:hover { text-decoration:none; border-bottom-color:var(--gold); }
main>section:not(.hero):after { opacity:.055!important; }
h2 { font-size:42px; line-height:1.12; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:32px; }
.section-heading>div { max-width:640px; }.section-heading p { margin-top:20px; font-size:17px; }
.editorial-experiences { padding:64px var(--gutter); }
.experience-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.experience { border:0; border-radius:0; background:#ffffff30; box-shadow:none; }
.experience>img { height:270px; width:100%; }
.experience>div { padding:22px 20px; }
.experience h3 { font-size:25px; text-transform:uppercase; margin-bottom:12px; }
.experience p { font-size:16px; font-family:var(--serif); }
.experience .text-link { margin-top:16px; }
.visit-banner,.terroir-banner { position:relative; isolation:isolate; padding:85px var(--gutter); min-height:490px; background:url('pupa-winery-hero.png') 60% center/cover; color:white; display:flex; align-items:center; }
.visit-banner:before,.terroir-banner:before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#1019109c,transparent 85%); }
.visit-banner>div,.terroir-banner>div { max-width:510px; }
.visit-banner h2,.terroir-banner h2 { font-size:48px; }
.visit-banner .eyebrow,.terroir-banner .eyebrow { color:#ffffffc0; }
.visit-banner p,.terroir-banner p { font-size:18px; margin:20px 0 24px; }
.terroir-banner { background-image:url('photos/terroir.webp'); min-height:430px; }
.terroir-banner .text-link { color:white; }
.terroir-banner.short { min-height:320px; }
.collection-band { display:grid; grid-template-columns:38% 1fr; align-items:center; background:var(--forest); color:var(--paper); gap:50px; padding:64px var(--gutter); }
.collection-band p:not(.eyebrow) { font-size:18px; margin:20px 0 28px; color:#eeeee4; }
.collection-band .eyebrow { color:#d8d5c7; }
.collection-band>img { width:100%; height:430px; object-fit:cover; object-position:center; }
.editorial-split { display:grid; grid-template-columns:1fr 1.25fr; gap:70px; align-items:center; padding:64px var(--gutter); }
.editorial-split>div { max-width:490px; }.editorial-split p { margin:20px 0; font-size:17px; color:var(--muted); }
.editorial-split>img { width:100%; height:340px; }
.editorial-split figure { display:grid; grid-template-columns:1fr 110px; gap:20px; align-items:center; margin:0; }
.editorial-split figure img { height:320px; width:100%; }
.editorial-split figcaption { font:italic 24px/1.55 var(--serif); color:#958a77; }
.editorial-split.reverse { grid-template-columns:1.2fr 1fr; background:#f0ece3; }
.harvest-quote { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; background:var(--wine-deep); color:var(--paper); align-items:center; padding:40px var(--gutter); }
.harvest-quote blockquote { font:italic 32px/1.25 var(--serif); margin:0; max-width:530px; }
.harvest-quote cite { display:block; font:500 10px var(--sans); margin-top:24px; }
.harvest-quote img { width:100%; height:280px; }
.editorial-journey { background:var(--paper); color:var(--ink); text-align:left; }
.editorial-journey>.eyebrow { justify-content:flex-start; }.editorial-journey>h2 { text-align:left; }
.editorial-journey .step { font:500 12px var(--sans); color:var(--wine); }.editorial-journey li h3 { font-size:22px; }.editorial-journey li p { color:var(--muted); }
.editorial-cta { display:flex; align-items:center; justify-content:space-between; gap:60px; background:var(--wine-deep); color:var(--paper); padding:55px var(--gutter); }
.editorial-cta>div:first-child { max-width:660px; }.editorial-cta p { font-size:17px; margin-top:18px; }
.editorial-cta .eyebrow { color:#d5ba98; }.editorial-cta .text-link { color:white; }
.cta-actions { display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex-shrink:0; }
.visit-information { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:40px; align-items:center; padding:64px var(--gutter); }
.visit-information h2 { font-size:34px; }.visit-information p { font-size:17px; margin:20px 0; }.visit-information>img { height:350px; width:100%; }
.editorial-wines { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:64px var(--gutter); }
.editorial-wines .wine { display:block; border:0; background:transparent; border-radius:0; }
.editorial-wines .wine>img { height:400px; min-height:0; width:100%; object-fit:cover; }
.wine-info { padding:24px 0; }.wine-info h2 { color:var(--ink); font-size:34px; }.wine-info>p { font-family:var(--serif); font-size:17px; }
.wine-info .text-link { margin:12px 0; }.wine-info .button { width:auto; margin:10px 0 0; display:flex; }
.wine-detail { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:64px; padding:64px var(--gutter); }
.wine-detail>img { width:100%; height:600px; }.wine-detail>div { max-width:640px; }.wine-detail h2 { font-size:58px; }.wine-subtitle { font:600 12px var(--sans); color:var(--wine); margin:20px 0; }
.wine-detail p:not(.eyebrow):not(.wine-subtitle) { font-size:18px; line-height:1.55; margin:20px 0; }
.wine-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; border-top:1px solid var(--line); padding-top:24px; margin:32px 0; font-size:15px; }.wine-facts .eyebrow { font-size:9px; margin-bottom:10px; }.wine-facts .eyebrow:after { display:none; }
.wine-detail .button { background:var(--forest); color:white; margin-right:20px; }
.tasting-notes { display:grid; grid-template-columns:1.1fr .9fr 1fr; gap:40px; align-items:center; padding:55px var(--gutter); color:var(--paper); background:var(--wine-deep); }
.tasting-notes h2 { font-size:36px; }.tasting-notes p { font-size:17px; margin-top:18px; }.tasting-notes>img { height:320px; width:100%; }
.note-accordions details { border-bottom:1px solid #ffffff30; padding:16px 0; }.note-accordions summary { cursor:pointer; font:500 12px var(--sans); min-height:28px; }.note-accordions p { font-size:15px; }
.pairing-editorial { display:grid; grid-template-columns:1fr 1fr 1fr; gap:36px; align-items:center; padding:64px var(--gutter); background:#f0ece3; }.pairing-editorial h2 { font-size:34px; }.pairing-editorial p { margin:18px 0; font-size:17px; }.pairing-editorial>img { height:300px; width:100%; }
.contact-layout { background:var(--paper); }.request-form { border-radius:2px; background:transparent; }.request-form .button { background:var(--forest); color:white; }.location { border-radius:0; background:var(--forest); }.contact-row b { color:var(--ink); }
.site-footer { background:var(--paper); color:var(--ink); padding:0; }
.footer-brand { display:flex; flex-direction:column; align-items:center; padding:54px 24px 30px; gap:20px; }
.footer-logo { width:190px; }.footer-logo img { filter:none; opacity:1; }.footer-brand .eyebrow { font-size:10px; margin:0; }.footer-brand .eyebrow:after { display:none; }
.site-footer .footer-desktop { justify-content:center; gap:32px; padding:0 var(--gutter) 26px; font:500 11px var(--sans); }
.site-footer a:hover { color:var(--wine); }
.footer-mobile { display:none; }
.footer-main { grid-template-columns:1fr 1.1fr .9fr; gap:50px; padding:40px var(--gutter) 55px; border-top:1px solid var(--line); }
.footer-main>div { min-width:0; }.footer-main>div+div { border-left:1px solid var(--line); padding-left:36px; }.footer-main h2 { font-size:25px; }.footer-main h3 { font-size:20px; margin-bottom:16px; }.footer-main p { font-size:16px; color:var(--muted); margin:16px 0; }
.footer-main .text-link { display:flex; }.footer-main .button { margin-top:16px; }.footer-email { display:flex; align-items:center; justify-content:space-between; border:1px solid var(--line); padding:12px; min-height:44px; font-size:16px; overflow-wrap:anywhere; gap:12px; }
.footer-bottom { margin:0; padding:25px var(--gutter); background:var(--wine-deep); color:#d9c8c5; border:0; }.footer-bottom a { color:var(--paper); }
.menu { background:var(--paper); }.menu nav { font-family:var(--serif); }.menu .button { background:var(--forest); color:white; }
@media(max-width:1100px) {
 .desktop-nav { gap:14px; }.desktop-nav a { font-size:10px; }.site-header .logo { width:125px; }.hero h1 { font-size:56px; }
 .editorial-split { gap:36px; }.editorial-split figure { grid-template-columns:1fr; }.editorial-split figcaption { display:none; }
 .visit-information { gap:24px; }.tasting-notes { grid-template-columns:1fr 1fr; }.tasting-notes>img { display:none; }
 .wine-detail { gap:40px; }.wine-detail>img { height:500px; }.collection-band { gap:32px; }.collection-band>img { height:370px; }
}
@media(max-width:900px) {
 .site-header { min-height:0; height:85px; }.site-header .logo { position:static; transform:none; margin-right:auto; width:128px; }.menu-toggle { border:0; border-radius:0; color:white; background:transparent; }.site-header .menu-toggle { display:flex; }
 .editorial-wines { grid-template-columns:1fr; }.editorial-wines .wine { display:grid; grid-template-columns:40% 1fr; gap:28px; }.editorial-wines .wine>img { height:380px; }.wine-info { padding:24px 0; }
 .visit-information { grid-template-columns:1fr 1fr; }.visit-information>img { display:none; }.pairing-editorial { grid-template-columns:1fr 1fr; }.technical-info { grid-column:1/-1; }
}
@media(max-width:768px) {
 :root { --gutter:24px; } h2 { font-size:34px; }
 .hero { min-height:500px; padding:140px var(--gutter) 50px; background-position:var(--hero-x,60%) center; }.hero-home,.hero-degustime { min-height:540px; }.hero h1 { font-size:42px; max-width:440px; }.hero p:not(.eyebrow) { font-size:17px; max-width:390px; }
 .hero:before { background:linear-gradient(90deg,#101910bd,#10191025); }.hero .hero-actions { margin-top:24px; }
 .section-heading { display:block; margin-bottom:24px; }.section-heading>.text-link { margin-top:16px; }.section-heading p { font-size:17px; }.section-heading h2 br { display:none; }
 .editorial-experiences { padding:40px var(--gutter); }.experience-grid { grid-template-columns:1fr; gap:30px; }.experience>img { height:240px; }.experience>div { padding:18px 0; }.experience h3 { font-size:24px; }.experience p { font-size:17px; }
 .visit-banner,.terroir-banner { min-height:410px; padding:50px var(--gutter); }.visit-banner h2,.terroir-banner h2 { font-size:36px; }.visit-banner p,.terroir-banner p { font-size:17px; }
 .collection-band { grid-template-columns:1fr; padding:40px var(--gutter) 0; gap:28px; }.collection-band h2 { font-size:36px; }.collection-band>img { height:auto; aspect-ratio:504/316; object-fit:contain; width:calc(100% + 48px); max-width:none; margin-left:-24px; }.collection-band p:not(.eyebrow) { font-size:17px; }
 .editorial-split,.editorial-split.reverse { grid-template-columns:1fr; padding:40px var(--gutter); gap:28px; }.editorial-split>img,.editorial-split figure img { height:250px; }.editorial-split p { font-size:17px; }.editorial-split figure { display:block; }.editorial-split figcaption { display:none; }
 .harvest-quote { grid-template-columns:1fr; gap:24px; padding:40px var(--gutter); }.harvest-quote blockquote { font-size:28px; }.harvest-quote img { height:230px; }
 .editorial-journey { padding:40px var(--gutter); }.editorial-journey .step { font-size:12px; }.editorial-journey>h2 { font-size:32px; }
 .editorial-cta { display:block; padding:40px var(--gutter); }.editorial-cta h2 { font-size:34px; }.editorial-cta p { font-size:17px; }.cta-actions { margin-top:24px; }
 .visit-information { grid-template-columns:1fr; padding:40px var(--gutter); gap:30px; }.visit-information h2 { font-size:32px; }
 .editorial-wines { padding:40px var(--gutter); gap:36px; }.editorial-wines .wine { display:block; }.editorial-wines .wine>img { height:420px; }.wine-info { padding:24px 0 0; }.wine-info .button { width:100%; }
 .wine-detail { grid-template-columns:1fr; padding:0 0 40px; gap:0; }.wine-detail>img { height:450px; }.wine-detail>div { padding:32px var(--gutter) 0; }.wine-detail h2 { font-size:44px; }.wine-detail p:not(.eyebrow):not(.wine-subtitle) { font-size:17px; }.wine-facts { gap:12px; font-size:13px; }.wine-facts .eyebrow { font-size:9px; }.wine-detail .button { display:flex; margin:0; width:100%; }.wine-detail .text-link { margin-top:12px; }
 .tasting-notes { grid-template-columns:1fr; padding:40px var(--gutter); gap:24px; }.tasting-notes h2 { font-size:34px; }.tasting-notes p { font-size:17px; }.note-accordions summary { min-height:44px; padding-top:12px; }.pairing-editorial { grid-template-columns:1fr; padding:40px var(--gutter); gap:24px; }.technical-info { grid-column:auto; }
 .footer-brand { padding:40px 24px 28px; }.footer-logo { width:150px; }.site-footer .footer-desktop { display:none; }.footer-mobile { display:block; padding:0 var(--gutter) 24px; }
 .footer-mobile details { border-bottom:1px solid var(--line); }.footer-mobile summary { list-style:none; font:500 11px var(--sans); text-transform:uppercase; min-height:44px; padding:16px 0; position:relative; cursor:pointer; }.footer-mobile summary::-webkit-details-marker { display:none; }.footer-mobile summary:after { content:'+'; position:absolute; right:0; font-size:18px; top:11px; }.footer-mobile details[open]>summary:after { content:'−'; }.footer-mobile .text-link { padding:0 0 16px; }
 .footer-main { grid-template-columns:1fr; padding:30px var(--gutter) 40px; gap:28px; }.footer-main>div+div { border-left:0; padding-left:0; }.footer-main>div:first-child { display:none; }.footer-main p { font-size:16px; }.footer-main h3 { font-size:21px; }.footer-bottom { padding:24px var(--gutter); gap:10px; }.footer-bottom p { font-size:11px; }
}

/* Modern luxury: one typography, curvature and surface system on every page. */
:root { --serif:'Cormorant Garamond',Georgia,serif; --sans:'Manrope','Segoe UI',sans-serif; --radius:24px; --paper:#f8f6f1; --line:#ded8cb; }
body { font-family:var(--sans); -webkit-font-smoothing:antialiased; }
h1,h2,h3 { font-weight:500; letter-spacing:-.035em; text-wrap:balance; }
h2 { font-size:clamp(38px,3.5vw,54px); }
p { line-height:1.75; }
.hero h1 { font-size:clamp(52px,5.7vw,84px); line-height:.99; letter-spacing:-.04em; }
.hero p:not(.eyebrow) { font:400 16px/1.8 var(--sans); max-width:490px; }
.eyebrow { letter-spacing:.16em; font-size:10px; }
.button,.text-link { letter-spacing:.07em; }
.button { border-radius:999px; min-height:50px; padding:14px 26px; font-size:11px; background:var(--forest); color:var(--paper); border-color:var(--forest); box-shadow:0 6px 20px #1823190b; }
.button.secondary { background:transparent; color:var(--forest); }
.button:hover { background:var(--wine-deep); border-color:var(--wine-deep); box-shadow:0 10px 28px #39070e22; }
.hero .button,.visit-banner .button,.collection-band .button,.editorial-cta .button,.terroir-banner .button { background:#ffffff13; backdrop-filter:blur(10px); border-color:#ffffff70; }
.hero .button:hover,.visit-banner .button:hover,.collection-band .button:hover,.editorial-cta .button:hover,.terroir-banner .button:hover { background:#ffffff25; border-color:#fff; }
.site-header { inset:18px 24px auto; height:84px; padding:12px 28px; border-radius:999px; border:1px solid #ffffff30; background:#16201955; backdrop-filter:blur(22px); box-shadow:0 12px 40px #00000012; gap:20px; }
.site-header.is-scrolled { background:#182319ed; border-color:#ffffff20; }
.site-header .logo { width:126px; }
.desktop-nav { gap:20px; }
.desktop-nav a { font-size:10px; letter-spacing:.04em; }
.header-actions { gap:16px; }
.site-header .button { border-radius:999px; min-height:44px; background:#ffffff10; padding:10px 20px; }
.hero { border-radius:0 0 36px 36px; overflow:hidden; }
.hero:before { border-radius:inherit; }
.section-heading p,.editorial-split p,.experience p,.wine-info>p,.visit-information p,.editorial-cta p,.pairing-editorial p,.tasting-notes p,.wine-detail p:not(.eyebrow):not(.wine-subtitle),.collection-band p:not(.eyebrow),.visit-banner p,.terroir-banner p { font:400 15px/1.8 var(--sans); }
.editorial-experiences,.editorial-split,.editorial-wines,.visit-information { padding-top:80px; padding-bottom:80px; }
.experience { border-radius:28px; padding:10px; background:#fffaf3; border:1px solid #e8e1d5; box-shadow:0 12px 36px #30271607; }
.experience>img { border-radius:20px; }
.experience>div { padding:22px 18px 18px; }
.experience h3 { font-size:32px; text-transform:none; }
.experience:hover { box-shadow:0 18px 46px #30271614; }
.editorial-split>img,.editorial-split figure img,.collection-band>img,.harvest-quote img,.visit-information>img,.wine-detail>img,.tasting-notes>img,.pairing-editorial>img,.editorial-wines .wine>img { border-radius:var(--radius); }
.editorial-wines .wine { border-radius:28px; padding:12px; border:1px solid var(--line); background:#fffcf6; box-shadow:0 12px 36px #30271606; }
.editorial-wines .wine>img { border-radius:18px; }
.wine-info { padding:26px 14px 16px; }.wine-info h2 { font-size:42px; }
.wine-detail h2 { font-size:64px; }
.harvest-quote blockquote { font-size:38px; }
.editorial-journey li { padding:24px; border:1px solid var(--line); border-radius:20px; background:#ffffff60; }
.editorial-journey .step { display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#ad8f5915; }
.request-form { border-radius:28px; background:#fffdf8; box-shadow:0 16px 48px #30271608; }
input,select,textarea { border-radius:14px; font-family:var(--sans); background:#f8f6f0; }
.location { border-radius:28px; }.footer-email { border-radius:16px; padding:16px 18px; font:400 14px var(--sans); background:#ffffff60; }
.footer-main p { font:400 14px/1.8 var(--sans); }.footer-main h2 { font-size:32px; }.footer-main h3 { font-size:28px; }
.footer-desktop a { border-radius:999px; }.footer-bottom { border-radius:28px 28px 0 0; }
.note-accordions details { border:1px solid #ffffff25; border-radius:16px; padding:14px 18px; margin-bottom:10px; background:#ffffff05; }
.note-accordions details[open] { background:#ffffff0b; }.note-accordions summary { line-height:1.6; }
.menu { inset:12px; width:calc(100% - 24px); height:calc(100dvh - 24px); margin:0; border:1px solid #d8cbb5; border-radius:30px; background:radial-gradient(ellipse at top,#fffdf7,#f1ece1); box-shadow:0 30px 100px #00000035; }
.menu::backdrop { background:#101910b3; backdrop-filter:blur(12px); }
.menu nav { width:min(100%,520px); font-size:clamp(32px,5vw,46px); gap:4px; }
.menu nav a { border-radius:18px; padding:8px 24px; transition:background .25s,color .25s; }
.menu nav a:hover,.menu nav a[aria-current] { background:#ad8f5914; color:var(--wine); }
.menu-close { background:#ffffff80; }.menu .eyebrow { flex-shrink:0; }.menu-logo { flex-shrink:0; }
@media(max-width:1100px) { .desktop-nav { gap:12px; }.desktop-nav a { font-size:9px; }.site-header { padding:12px 22px; }.site-header .logo { width:112px; } }
@media(max-width:900px) { .site-header { inset:12px 16px auto; height:72px; padding:10px 18px; }.site-header .logo { width:112px; }.site-header .menu-toggle { border-radius:50%; background:#ffffff10; border:1px solid #ffffff30; width:44px; height:44px; padding:10px; } }
@media(max-width:768px) {
 :root { --radius:22px; --gutter:24px; }
 .hero { border-radius:0 0 28px 28px; padding-top:140px; }.hero h1 { font-size:clamp(46px,11.8vw,64px); }.hero p:not(.eyebrow) { font-size:14px; }
 .button { min-height:50px; }.editorial-experiences,.editorial-split,.editorial-wines,.visit-information { padding-top:48px; padding-bottom:48px; }
 h2,.collection-band h2,.visit-banner h2,.terroir-banner h2,.editorial-cta h2 { font-size:40px; }.experience h3 { font-size:30px; }.experience>div { padding:22px 14px 16px; }
 .collection-band { padding-bottom:24px; }.collection-band>img { width:100%; max-width:100%; margin:0; }
 .editorial-wines .wine { padding:10px; }.wine-info { padding:24px 12px 14px; }
 .wine-detail { padding:24px var(--gutter) 48px; gap:28px; }.wine-detail>div { padding:0; }.wine-detail>img { height:420px; }.wine-detail h2 { font-size:52px; }
 .editorial-journey li { padding:20px 16px; }.harvest-quote blockquote { font-size:34px; }
 .footer-mobile details { border:1px solid var(--line); border-radius:16px; margin-bottom:8px; padding:0 16px; background:#ffffff45; }.footer-mobile summary:after { right:0; }
 .menu { padding:68px 24px 28px; border-radius:26px; }.menu[open] { gap:18px; }.menu-logo { width:140px; }.menu nav { font-size:36px; }.menu nav a { padding:7px 16px; }
}
@media(max-height:700px) { .menu[open] { justify-content:flex-start; gap:10px; }.menu-logo { width:110px; }.menu nav { font-size:30px; }.menu .eyebrow { margin-bottom:4px; } }

/* Alignment and typewriter accents. Body copy stays a readable sans serif. */
@font-face { font-family:'Special Elite'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/special-elite.woff') format('woff'); }
:root { --typewriter:'Special Elite','Courier New',monospace; }
main { text-align:start; }
main h1,main h2,main h3,main p { overflow-wrap:break-word; }
main h1,main h2,main h3 { text-wrap:pretty; }
.hero h1 { line-height:1.08; }
.hero-copy,.section-heading>div,.editorial-split>div,.collection-band>div,.wine-detail>div,.visit-information>div,.pairing-editorial>div { min-width:0; }
main section .eyebrow,.footer-brand .eyebrow,.menu .eyebrow { font:400 11px/1.6 var(--typewriter); letter-spacing:.08em; margin:0 0 16px; align-items:center; text-align:start; }
main section .eyebrow:after { width:44px; max-width:15%; }
.section-heading { align-items:flex-start; }
.section-heading>.text-link { align-self:flex-end; flex-shrink:0; }
.editorial-split p:not(.eyebrow),.section-heading p:not(.eyebrow),.collection-band p:not(.eyebrow),.visit-information p:not(.eyebrow),.pairing-editorial p:not(.eyebrow) { max-width:58ch; }
.experience-grid { align-items:stretch; }
.experience { display:flex; flex-direction:column; }
.experience>img { flex-shrink:0; }
.experience>div { flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.experience h3 { min-height:2.4em; }
.experience .text-link { margin-top:auto; padding-top:20px; }
.editorial-wines .wine { display:flex; flex-direction:column; }
.wine-info { flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.wine-info .button { margin-top:auto; width:100%; }
.wine-info .text-link { margin-bottom:18px; }
.button { text-align:center; line-height:1.5; }
.button span,.text-link span { flex-shrink:0; }
.text-link { line-height:1.6; text-align:start; }
.editorial-split figcaption { font:400 19px/1.9 var(--typewriter); letter-spacing:-.02em; }
.harvest-quote cite,.editorial-journey .step,.wine-subtitle { font-family:var(--typewriter); font-weight:400; }
.wine-facts { align-items:start; line-height:1.65; }
.wine-facts .eyebrow { font-size:9px; letter-spacing:.025em; margin-bottom:8px; }
.footer-main { align-items:start; }.footer-bottom { align-items:center; }
.footer-brand .eyebrow { text-align:center; justify-content:center; margin:0; }
.menu .eyebrow { justify-content:center; text-align:center; }
.note-accordions summary { overflow-wrap:anywhere; }
@media(min-width:1101px) {
 .site-header { display:grid; grid-template-columns:minmax(0,1fr) 126px minmax(0,1fr); }
 .site-header .logo { position:static; transform:none; justify-self:center; }
 .header-actions { justify-self:end; }.desktop-nav { justify-self:start; }
}
@media(max-width:1100px) {
 .desktop-nav,.header-actions { display:none; }
 .site-header { display:flex; inset:12px 16px auto; height:72px; padding:10px 18px; }
 .site-header .logo { position:static; transform:none; margin-right:auto; width:112px; }
 .site-header .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:44px; height:44px; padding:10px; color:white; border-radius:50%; background:#ffffff10; border:1px solid #ffffff30; }
 .menu-toggle span { display:block; width:22px; height:1.5px; background:currentColor; }
}
@media(min-width:769px) and (max-width:900px) {
 .editorial-wines .wine { display:grid; grid-template-columns:40% minmax(0,1fr); }
}
@media(max-width:768px) {
 main h2 br { display:none; }
 .section-heading>.text-link { align-self:auto; }
 .experience h3 { min-height:0; }
 .experience .text-link { margin-top:8px; padding-top:8px; }
 .wine-info .button { margin-top:12px; }
 .wine-facts { grid-template-columns:1fr; gap:16px; }
 .wine-facts>span { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; }
 .wine-facts .eyebrow { margin:0; }
 .footer-bottom { align-items:flex-start; }
}

/* Center the shared footer at every viewport width. */
.site-footer { text-align:center; }
.site-footer .footer-main { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.site-footer .footer-main>div { padding:0 20px; }
.site-footer .footer-main p { max-width:38ch; margin-left:auto; margin-right:auto; }
.site-footer .footer-main .text-link,.site-footer .footer-email { justify-content:center; text-align:center; }
.site-footer .footer-email { max-width:360px; margin-inline:auto; }
.site-footer .footer-mobile summary { padding-left:24px; padding-right:24px; text-align:center; }
.site-footer .footer-mobile .text-link { justify-content:center; text-align:center; }
.site-footer .footer-bottom { flex-direction:column; justify-content:center; align-items:center; gap:8px; text-align:center; }
@media(max-width:768px) {
 .site-footer .footer-main { grid-template-columns:1fr; gap:28px; }
 .site-footer .footer-main>div { padding:0; }
}

/* Centered editorial composition, consistent with the footer. */
main,main .text-link,main .eyebrow,main .editorial-journey>h2 { text-align:center; }
main section .eyebrow { justify-content:center; text-align:center; }
main section .eyebrow:before { content:''; height:1px; width:44px; max-width:15%; background:currentColor; opacity:.65; flex-shrink:0; }
.hero { justify-content:center; }
.hero:before { background:linear-gradient(90deg,#10191075,#1019109c 50%,#10191065); }
.hero-copy { width:100%; max-width:820px; }
.hero-copy h1,.hero-copy p,.section-heading p,.editorial-split p,.collection-band p,.visit-information p,.pairing-editorial p,.wine-detail p { margin-inline:auto; }
.hero-actions,.cta-actions { justify-content:center; align-items:center; }
.section-heading { flex-direction:column; align-items:center; gap:20px; }
.section-heading>.text-link { align-self:center; margin-top:0; }
.section-heading>div { width:100%; max-width:720px; }
.editorial-split>div,.wine-detail>div { justify-self:center; width:100%; }
.experience>div,.wine-info { align-items:center; }
.experience h3,.experience p,.wine-info>p { width:100%; }
.visit-banner,.terroir-banner { justify-content:center; }
.visit-banner>div,.terroir-banner>div { max-width:650px; }
.visit-banner:before,.terroir-banner:before { background:linear-gradient(90deg,#10191075,#101910a3 50%,#10191075); }
.editorial-cta { flex-direction:column; align-items:center; gap:28px; }
.editorial-cta>div:first-child { max-width:720px; }
.cta-actions { margin:0; }
.wine-detail .button { margin-right:0; }
.wine-detail .text-link { display:flex; justify-content:center; margin-top:16px; }
.wine-facts { text-align:center; }
.wine-facts .eyebrow:before { display:none; }
.harvest-quote blockquote { justify-self:center; }
.editorial-journey>.eyebrow { justify-content:center; }
.editorial-journey .step { margin-inline:auto; }
.contact-layout .contact-row { justify-content:center; }
.contact-row>span:last-child[aria-hidden] { margin-left:0; }
.location .text-link { justify-content:center; }
.note-accordions summary { list-style:none; display:flex; align-items:center; justify-content:center; gap:12px; }
.note-accordions summary::-webkit-details-marker { display:none; }
.note-accordions summary:after { content:'+'; font-size:20px; }
.note-accordions details[open]>summary:after { content:'−'; }
.note-accordions p { text-align:center; }
@media(max-width:768px) {
 .hero-copy h1 { margin-inline:auto; }
 .wine-facts>span { display:block; }
 .wine-facts .eyebrow { margin-bottom:6px; }
 .section-heading>.text-link { align-self:center; }
}

/* Translucent fullscreen menu, with an opaque fallback for older browsers. */
.menu { color:#fffaf0; background:#17231ff5; border:1px solid #ffffff38; box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 0 #ffffff12,0 28px 100px #00000055; text-align:center; }
.menu::backdrop { background:#0b151b45; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .menu { background:linear-gradient(145deg,#ffffff18,transparent 45%,#ad8f591a),#14231ebd; -webkit-backdrop-filter:blur(28px) saturate(145%); backdrop-filter:blur(28px) saturate(145%); }
}
.menu .menu-logo { filter:brightness(0) invert(1); }
.menu .eyebrow { color:#dfc99f; }
.menu nav { align-items:stretch; }
.menu nav a { color:#fffaf0; border:1px solid transparent; text-align:center; text-shadow:0 2px 12px #00000020; }
.menu nav a:hover,.menu nav a[aria-current] { color:#f2ddb7; background:#ffffff0e; border-color:#ffffff25; box-shadow:inset 0 1px 0 #ffffff10; }
.menu .menu-close { color:#fffaf0; border-color:#ffffff40; background:#ffffff0e; display:grid; place-items:center; line-height:1; }
.menu .menu-close:hover { background:#ffffff24; }
.menu .button { color:#fffaf0; background:#ffffff12; border-color:#dfc99f80; box-shadow:inset 0 1px 0 #ffffff20; }
.menu .button:hover { background:#ffffff24; border-color:#dfc99f; }
.menu a:focus-visible,.menu button:focus-visible { outline-color:#f2ddb7; }
@media(prefers-reduced-transparency:reduce) { .menu { background:#17231f; backdrop-filter:none; -webkit-backdrop-filter:none; } }

/* A compact language selector in both the header and the open menu. */
.language-switch,.menu nav.language-switch { display:inline-flex; flex-direction:row; align-items:center; justify-content:center; width:auto; gap:4px; padding:4px; border:1px solid #ffffff35; border-radius:999px; background:#ffffff08; flex-shrink:0; }
.language-switch a,.menu nav.language-switch a { display:grid; place-items:center; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid transparent; border-radius:999px; font:500 12px/1 var(--sans); letter-spacing:.08em; color:#fffaf0; animation:none; }
.language-switch a[aria-current],.menu nav.language-switch a[aria-current] { background:#dfc99f; color:#17231f; border-color:#dfc99f; text-shadow:none; }
.language-switch a:hover,.menu nav.language-switch a:hover { border-color:#dfc99f; }
.header-actions .language-switch a { min-width:36px; min-height:36px; padding:8px; }
.menu[open] { overflow-y:auto; }

/* Keep glass layers stationary; animate their content rather than the surface. */
.site-header,.site-header.is-scrolled { -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); }
.menu[open] { transform:none; opacity:1; animation:none; }
.menu::backdrop { -webkit-backdrop-filter:none; backdrop-filter:none; }
.hero .button,.visit-banner .button,.collection-band .button,.editorial-cta .button,.terroir-banner .button { -webkit-backdrop-filter:none; backdrop-filter:none; }
@media(hover:none),(pointer:coarse) {
 .button:hover,.experience:hover,.wine:hover { transform:none; }
 .button:hover:before { transform:translateX(-110%); }
 .button:hover>span,.text-link:hover>span { transform:none; }
}
