:root{--cream:#f9f6f0;--paper:#fffdf9;--green:#243c32;--burgundy:#b79a61;--gold:#b79a61;--gold-light:#d9bd86;--muted:#66665f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--green);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.header{height:104px;background:var(--paper);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(22px,5vw,85px);gap:15px}.brand,.footer-brand{font-family:"Cormorant Garamond",Georgia,serif;color:var(--gold);font-size:clamp(29px,3.3vw,46px);font-weight:600;letter-spacing:.15em;white-space:nowrap}.header-side{font-size:9px;letter-spacing:.22em;color:#76746d;font-weight:600}.header-side.right{text-align:right}.hero{min-height:min(790px,calc(100svh - 104px));height:74vw;max-height:850px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:#3e4032}.hero-photo{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1749423304391-c516357e5a44?auto=format&fit=crop&w=2200&q=85");background-position:center 52%;background-size:cover;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,25,19,.35),rgba(20,24,18,.49) 45%,rgba(18,22,16,.6))}.hero-content{position:relative;z-index:1;color:#fffdf6;padding:55px 24px;max-width:950px}.overline{font-size:11px;letter-spacing:.32em;font-weight:600;margin:0 0 34px;color:#f5e7cf}.hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(75px,10vw,156px);font-weight:400;letter-spacing:-.035em;line-height:.92;margin:0}.gold{color:var(--gold-light);font-weight:500}.rule{display:block;width:66px;height:1px;background:var(--gold-light);margin:40px auto 25px}.tagline{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(25px,3.4vw,46px);font-style:italic;margin:0}.hero-sub{font-size:13px;letter-spacing:.045em;margin:22px 0 0;color:#f0e9dc;line-height:1.8}.hero-index,.hero-side{position:absolute;z-index:1;bottom:33px;color:#f2e8d8;font-size:10px;letter-spacing:.22em}.hero-index{left:clamp(24px,5vw,85px)}.hero-side{right:clamp(24px,5vw,85px)}.introduction{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(35px,8vw,140px);align-items:center;padding:clamp(85px,11vw,165px) clamp(26px,10vw,170px);background:var(--paper)}.section-number{font-size:10px;letter-spacing:.25em;color:var(--burgundy);font-weight:600}.intro-heading h2,.strip-copy h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(49px,5.8vw,85px);line-height:1.04;font-weight:400;letter-spacing:-.025em;margin:25px 0 0}.intro-heading h2 em,.strip-copy h2 em{font-weight:400;color:var(--burgundy)}.intro-text{padding-top:30px}.intro-text p{font-size:15px;line-height:2;color:#67675f;max-width:470px}.coming{display:inline-block;margin-top:26px;border-bottom:1px solid var(--gold);padding-bottom:12px;font-size:10px;letter-spacing:.17em;font-weight:600}.coming span{margin-left:20px;color:var(--gold)}.photographic-strip{min-height:550px;display:grid;grid-template-columns:1.1fr .9fr;background:#ece5d9}.strip-image{background-image:url("https://images.unsplash.com/photo-1510812431401-41d2bd2722f3?auto=format&fit=crop&w=1400&q=85");background-position:center;background-size:cover;min-height:470px}.strip-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:65px clamp(30px,7vw,115px)}.strip-copy h2{font-size:clamp(55px,6vw,90px)}.strip-copy p{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:24px;margin-top:25px}.footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:42px clamp(25px,5vw,85px);background:var(--green);color:#e8e4d9;font-size:9px;letter-spacing:.17em}.footer-brand{font-size:30px;color:var(--gold-light)}.footer>span:last-child{text-align:right}@media(max-width:850px){.header{height:85px}.header-side{font-size:8px;letter-spacing:.1em}.hero{min-height:630px;height:85svh;max-height:850px}.introduction{padding:85px 35px;gap:35px}.photographic-strip{min-height:450px}.strip-image{min-height:450px}}@media(max-width:600px){.header{height:75px;display:flex;justify-content:center;padding:12px 16px}.brand{font-size:34px}.header-side{display:none}.hero{min-height:600px;height:calc(88svh - 75px)}.hero-photo{background-position:54% center}.hero-content{padding:45px 20px}.overline{font-size:9px;letter-spacing:.18em;margin-bottom:30px}.hero h1{font-size:clamp(67px,15vw,95px)}.rule{margin:31px auto 23px}.tagline{font-size:29px}.hero-sub{font-size:12px;max-width:290px;margin:20px auto 0}.hero-index,.hero-side{font-size:8px;bottom:23px}.hero-index{left:20px}.hero-side{right:20px}.introduction{grid-template-columns:1fr;padding:75px 26px;gap:15px}.intro-heading h2{font-size:clamp(52px,12vw,70px)}.intro-text{padding-top:0}.intro-text p{font-size:14px}.photographic-strip{grid-template-columns:1fr}.strip-image{min-height:330px}.strip-copy{padding:65px 28px}.strip-copy h2{font-size:65px}.footer{display:flex;flex-direction:column;gap:18px;text-align:center;padding:37px 20px}.footer>span:last-child{text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Version 0.4 — elegant account controls and future-shop placeholders */
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.account-menu{position:relative}
.icon-button{appearance:none;border:0;background:transparent;color:var(--gold);width:40px;height:40px;padding:8px;display:grid;place-items:center;border-radius:50%;cursor:pointer;transition:background .2s,color .2s}
.icon-button svg{width:25px;height:25px}
.icon-button:hover,.icon-button:focus-visible{background:#f0e6d4;outline-color:var(--gold)}
.account-dropdown{position:absolute;right:-48px;top:calc(100% + 16px);width:260px;padding:22px;background:var(--paper);border:1px solid #dfd1b6;box-shadow:0 18px 45px #252b231f;z-index:20;text-align:left}
.account-dropdown[hidden],.toast[hidden]{display:none}
.menu-caption{display:block;color:var(--gold);font-size:9px;letter-spacing:.18em;font-weight:600;margin-bottom:13px}
.menu-item{display:flex;justify-content:space-between;width:100%;appearance:none;border:0;border-top:1px solid #eae3d6;background:transparent;padding:14px 0;text-align:left;font-family:inherit;font-size:14px;color:var(--green);cursor:pointer}
.menu-item span{color:var(--gold)}
.menu-item:hover{color:#8b713f}
.menu-note{color:var(--muted);font-size:11px;line-height:1.55;margin:10px 0 0}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 35px);background:var(--green);color:#fffdf9;padding:15px 25px;z-index:50;text-align:center;font-size:13px;box-shadow:0 9px 28px #0003}
@media(max-width:600px){.header{justify-content:space-between;gap:7px}.header-side{display:block;font-size:8px;letter-spacing:.08em;white-space:nowrap}.brand{font-size:clamp(23px,6vw,34px);letter-spacing:.06em}.header-actions{gap:2px}.icon-button{width:35px;height:35px;padding:6px}.icon-button svg{width:23px;height:23px}.account-dropdown{right:-45px;top:calc(100% + 17px)}}
@media(max-width:390px){.header-side{font-size:7px}.brand{font-size:24px}.icon-button{width:30px;height:30px}.icon-button svg{width:22px;height:22px}}

/* v0.5 — simple homepage navigation, basket preview, and placeholder pages */
.header-actions{position:relative}
.basket-panel{position:absolute;right:0;top:calc(100% + 19px);z-index:25;width:min(350px,calc(100vw - 32px));background:var(--paper);border:1px solid #e4d8bf;padding:23px;box-shadow:0 18px 45px rgba(20,29,21,.19);text-align:left}
.basket-panel[hidden]{display:none}
.basket-heading{display:flex;align-items:center;justify-content:space-between;color:var(--green);font-size:11px;letter-spacing:.18em;font-weight:600;border-bottom:1px solid #eee5d8;padding-bottom:17px}
.basket-close{font-size:27px;line-height:1;color:var(--gold);border:0;background:none;cursor:pointer}
.basket-empty{text-align:center;padding:34px 5px 29px;color:var(--green)}
.empty-basket-icon{font-family:Georgia,serif;display:block;font-size:37px;color:var(--gold);line-height:1}
.basket-empty p{font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;margin:12px 0 6px}
.basket-empty small{font-size:12px;color:var(--muted)}
.basket-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.basket-actions button{border:1px solid #dedbd3;background:#efeee9;color:#aaa8a1;padding:13px 5px;font-family:inherit;font-size:11px;cursor:not-allowed}
.basket-actions button:last-child{background:#e6e5e0}
.hero-buttons{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:37px;flex-wrap:wrap}
.hero-btn{font-family:"DM Sans",sans-serif;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;padding:15px 21px;border:1px solid var(--gold-light);min-width:133px;transition:background .18s,transform .18s,color .18s}
.hero-btn:hover,.hero-btn:focus-visible{transform:translateY(-2px);background:var(--gold-light);color:var(--green)}
.hero-btn-outline{color:#fff8ec;background:rgba(25,30,22,.14)}
.hero-btn-primary{background:var(--gold-light);color:#1f322a}
.hero-btn-primary:hover{background:var(--paper)}
.hero-btn span{padding-left:9px;font-size:14px}
.more-to-come{background:var(--paper);min-height:520px;display:grid;place-items:center;text-align:center;padding:120px 24px;scroll-margin-top:0}
.more-flourish{display:block;color:var(--gold);font-size:23px;margin-bottom:20px}
.more-to-come h2,.construction h1{font-family:"Cormorant Garamond",Georgia,serif;color:var(--green);font-weight:400;font-size:clamp(56px,7vw,100px);line-height:1.05;margin:0}
.more-rule{display:block;width:64px;height:1px;margin:30px auto 0;background:var(--gold)}
.construction{min-height:calc(100svh - 195px);display:grid;place-items:center;padding:90px 24px;text-align:center;background:var(--paper)}
.construction p{font-family:"Cormorant Garamond",serif;font-size:28px;font-style:italic;color:var(--gold);margin:16px 0 30px}
.back-home{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:9px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}
@media(max-width:600px){.hero-buttons{gap:9px;margin-top:29px}.hero-btn{padding:12px 14px;font-size:9px;min-width:0}.hero-btn-primary{order:-1;width:100%;max-width:300px}.more-to-come{min-height:390px;padding:90px 20px}.basket-panel{right:-3px;top:calc(100% + 19px)}}

/* v0.5.1: Keep the single white-wine glass in the central hero area across screen sizes. */
.hero-photo{background-position:center center}
@media(max-width:600px){.hero-photo{background-position:center center}}

/* v0.5.2: Vineyard rows and a clear glass; bias the desktop crop towards the open landscape. */
.hero-photo{background-position:center 55%}
@media(max-width:600px){.hero-photo{background-position:center center}}

/* v0.6.0 — Contact form */
.contact-page{background:var(--paper);min-height:calc(100svh - 195px);padding:clamp(70px,9vw,125px) 24px 90px}
.contact-container{max-width:850px;margin:0 auto}
.contact-intro{text-align:center;max-width:620px;margin:0 auto 55px}
.contact-intro h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(58px,7vw,93px);font-weight:400;line-height:1.1;letter-spacing:-.035em;margin:18px 0}
.contact-intro h1 em{color:var(--gold);font-weight:400}
.contact-intro p{font-size:14px;line-height:1.9;color:var(--muted);max-width:520px;margin:0 auto}
.contact-form{border:1px solid #e9dfce;padding:clamp(24px,5vw,55px);background:#fffefa}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.field{display:flex;flex-direction:column;gap:10px;margin-bottom:27px}
.field label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.field label span{color:var(--gold)}
.field input,.field textarea{width:100%;border:1px solid #dcd7cc;background:#fff;padding:15px 16px;border-radius:0;font:14px "DM Sans",sans-serif;color:var(--green);outline:none}
.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #b79a6128}
.field textarea{resize:vertical;min-height:170px}
.field input::placeholder,.field textarea::placeholder{color:#98968e}
.contact-form-footer{display:flex;justify-content:space-between;align-items:center;gap:20px}
.contact-form-footer>span{font-size:11px;color:var(--muted)}
.contact-submit{appearance:none;border:1px solid var(--green);background:var(--green);color:#fff;padding:17px 25px;font:600 11px "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.contact-submit:hover,.contact-submit:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--green)}
.contact-submit span{padding-left:16px}
.contact-feedback{font-size:13px;color:var(--burgundy);line-height:1.6;margin:16px 0 0;min-height:0}
.contact-feedback:empty{display:none}
.contact-back{display:table;margin:40px auto 0}
@media(max-width:600px){.contact-page{padding:65px 20px}.contact-intro{margin-bottom:35px}.contact-intro h1{font-size:59px}.form-row{grid-template-columns:1fr;gap:0}.contact-form-footer{align-items:stretch;flex-direction:column}.contact-submit{width:100%}}

/* v0.6.1: Compact, deliberately two-line contact heading */
.contact-intro h1{font-size:clamp(49px,5.3vw,72px);line-height:1.06;margin:12px 0 15px}
.contact-intro{margin-bottom:42px}
.contact-delivery-note{font-size:11px;line-height:1.7;color:var(--muted);margin:18px 0 0}
.contact-delivery-note a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.contact-intro h1{font-size:clamp(47px,10vw,61px)}}

/* v0.7.1 — keep anti-spam honeypot entirely invisible to visitors */
.honeypot{display:none!important;visibility:hidden!important;position:absolute!important;width:0!important;height:0!important;overflow:hidden!important}

/* v0.7.2 — reduce empty space above Contact heading */
.contact-page{padding-top:clamp(34px,4.5vw,62px)}
@media(max-width:600px){.contact-page{padding-top:38px}}
