:root {
  --cream: #f7f4ef;
  --paper: #fffdfa;
  --ink: #4f5957;
  --deep: #343e3b;
  --gold: #bd823d;
  --gold-soft: #d5ae77;
  --line: rgba(79, 89, 87, .17);
  --serif: 'Cormorant Infant', Georgia, serif;
  --sans: 'Alata', system-ui, sans-serif;
  --shell: min(1180px, calc(100vw - 48px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--cream); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--serif); font-size: 18px; line-height: 1.58; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 999; background: #fff; padding: .75rem 1rem; }
.skip-link:focus { top: 1rem; }
.eyebrow { margin: 0 0 18px; color: var(--gold); font: 400 12px/1.3 var(--sans); letter-spacing: .42em; text-transform: uppercase; }
.display { margin: 0; font: 400 clamp(52px, 7vw, 98px)/.9 var(--serif); letter-spacing: -.035em; }
.h2 { margin: 0; font: 400 clamp(42px, 5vw, 70px)/.96 var(--serif); letter-spacing: -.025em; }
.lead { font-size: clamp(21px, 2.1vw, 28px); line-height: 1.42; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border: 1px solid currentColor; font: 400 13px/1 var(--sans); transition: .2s ease; }
.btn--solid { color: var(--deep); background: #fff; border-color: #fff; }
.btn--ghost { color: #fff; border-color: rgba(255,255,255,.58); }
.btn--line { color: var(--gold); padding-inline: 0; min-height: 38px; border: 0; border-bottom: 1px solid var(--gold-soft); }
.btn:hover { transform: translateY(-2px); }

.site-header { position: sticky; top: 0; z-index: 90; height: 96px; color: #fff; background: rgba(72,83,80,.96); backdrop-filter: blur(14px); transition: background .28s ease, box-shadow .28s ease, backdrop-filter .28s ease; }
.site-header--overlay { position: fixed; left: 0; right: 0; background: linear-gradient(180deg, rgba(28,39,36,.48), rgba(28,39,36,.12) 72%, transparent); backdrop-filter: none; box-shadow: none; }
.site-header--overlay.is-scrolled, .site-header--overlay.nav-open { background: rgba(52,62,59,.88); backdrop-filter: blur(16px); box-shadow: 0 1px 0 rgba(255,255,255,.08); }
.header__inner { height: 100%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.brand { grid-column: 2; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; min-width: 160px; }
.brand__mark { width: 48px; height: 22px; object-fit: contain; object-position: center; margin-bottom: -2px; }
.brand__word { font: 500 34px/.9 var(--serif); color: #d7483e; letter-spacing: -.02em; }
.brand__word span { color: #d7483e; }
.site-nav { grid-column: 3; display: flex; justify-self: end; gap: 34px; align-items: center; font: 400 11px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; }
.site-nav a { position: relative; padding-block: 10px; opacity: .88; }
.site-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 2px; height: 1px; background: var(--gold-soft); transition: .2s; }
.site-nav a:hover::after, .site-nav a[aria-current='page']::after { right: 0; }
.nav-toggle { display:none; background:none; border:0; color:#fff; width:46px; height:46px; }
.nav-toggle span { display:block; width:24px; height:1px; background:currentColor; margin:7px auto; }

.hero { min-height: 100vh; position: relative; display: grid; align-items: end; color: #fff; background: linear-gradient(90deg, rgba(25,34,31,.60), rgba(25,34,31,.16)), url('/assets/images/hero.jpg') center/cover no-repeat; overflow: hidden; }
.hero::after { content:''; position:absolute; inset:auto 0 0; height:40%; background:linear-gradient(transparent,rgba(19,29,26,.28)); pointer-events:none; }
.hero__content { position: relative; z-index: 4; padding: calc(96px + 8vh) 0 7vh; max-width: 900px; }
.hero .display { max-width: 860px; }
.hero__actions { display:flex; gap:14px; margin-top:36px; }
.hero__geese { position:absolute; z-index:3; top:17%; right:8%; width:310px; height:160px; pointer-events:none; opacity:.9; }
.hero__goose { position:absolute; width:96px; height:auto; object-fit:contain; filter:drop-shadow(0 8px 15px rgba(15,22,20,.18)); }
.hero__goose--one { right:6px; top:10px; transform:rotate(-7deg); }
.hero__goose--two { right:118px; top:70px; width:72px; opacity:.78; transform:rotate(5deg) scaleX(-1); }
.hero__goose--three { right:206px; top:28px; width:55px; opacity:.58; transform:rotate(-3deg); }
.hero__footprint { position:absolute; z-index:2; right:11%; top:42%; width:112px; opacity:.27; color:var(--gold-soft); pointer-events:none; transform:rotate(-11deg); }
.hero__footprint svg { display:block; width:100%; height:auto; }
.hero__footprint path { fill:none; stroke:currentColor; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.3); }
.stat { padding: 25px 18px 27px; border-right: 1px solid rgba(255,255,255,.22); text-align:center; }
.stat:last-child { border-right:0; }
.stat strong { display:block; font: 500 32px/1 var(--serif); }
.stat span { display:block; margin-top:8px; font: 400 10px/1.3 var(--sans); letter-spacing:.17em; text-transform:uppercase; opacity:.8; }

.origin { background: var(--cream); padding: 120px 0; overflow:hidden; }
.origin__grid { display:grid; grid-template-columns: 1.65fr .7fr; gap: 80px; align-items:start; }
.origin__main .h2 { max-width: 660px; margin-bottom: 54px; }
.origin__vineyard { width: 100%; aspect-ratio: 1.55; object-fit: cover; }
.origin__quote { max-width: 700px; margin: 44px auto 0; text-align:center; font: 400 clamp(34px,4vw,55px)/1.06 var(--serif); }
.origin__aside { padding-top: 12px; }
.origin__aside img { width: 190px; aspect-ratio: .73; object-fit: cover; margin: 0 auto 34px; }
.origin__aside p { max-width: 310px; margin:0 auto 22px; }

.collections-home { padding: 115px 0; background: #f2eee7; }
.section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:54px; }
.section-head > p:last-child { max-width:500px; margin:0; }
.spotlights { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.spotlight { position:relative; min-height: 640px; padding: 42px 38px; overflow:hidden; background:rgba(247,244,239,.72); border:1px solid rgba(79,89,87,.07); }
.spotlight__art { position:absolute; inset:0; opacity:.42; background-repeat:no-repeat; background-position:center; background-size:cover; }
.spotlight--viorica .spotlight__art { background-image:url('/assets/images/viorica-fruits.png'); }
.spotlight--blends .spotlight__art { background-image:url('/assets/images/plums.jpg'); opacity:.28; }
.spotlight--barrique .spotlight__art { background:radial-gradient(circle at 20% 25%, rgba(94,50,63,.14), transparent 24%),linear-gradient(145deg,#f3ede5,#f9f6f1); opacity:1; }
.spotlight__content { position:relative; z-index:3; display:flex; flex-direction:column; height:100%; }
.spotlight h3 { margin:0; font:400 48px/1 var(--serif); }
.spotlight p { margin:14px 0 0; max-width:330px; }
.spotlight__bottle { margin:auto auto 8px; height: 370px; width: 235px; object-fit:contain; background:transparent; filter:drop-shadow(0 25px 25px rgba(37,42,39,.14)); }
.spotlight__link { margin-top:22px; font:400 12px/1 var(--sans); color:var(--gold); }

.film { padding: 105px 0; background: var(--paper); }
.film--early { border-bottom:1px solid rgba(79,89,87,.08); }
.film__grid { display:grid; grid-template-columns: .8fr 1.4fr; gap:70px; align-items:center; }
.film__copy p { max-width:470px; }
.film__media { position:relative; aspect-ratio:16/9; background:#1f2926; overflow:hidden; }
.film__media video { width:100%; height:100%; object-fit:cover; }

.journal-strip { padding: 100px 0; background:#e9e3da; }
.journal-strip__grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.journal-strip p { max-width:520px; }

.page-hero { padding: 110px 0 85px; background:var(--cream); border-bottom:1px solid var(--line); }
.page-hero__inner { max-width:900px; }
.page-hero p:last-child { max-width:640px; }

.collection-nav { position:sticky; top:96px; z-index:20; background:rgba(255,253,250,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.collection-nav__inner { overflow:auto; display:flex; gap:28px; padding:18px 0; scrollbar-width:none; }
.collection-nav a { white-space:nowrap; font:400 11px/1 var(--sans); text-transform:uppercase; letter-spacing:.16em; }
.wines-section { padding: 100px 0 80px; scroll-margin-top: 150px; }
.wines-section:nth-of-type(even) { background:var(--cream); }
.collection-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; margin-bottom:48px; }
.collection-intro h2 { margin:0; font:400 clamp(48px,5vw,68px)/1 var(--serif); }
.collection-intro p { margin:0; max-width:620px; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.product-card { min-height:500px; display:flex; flex-direction:column; padding:28px 24px 25px; background:#fff; border:1px solid rgba(79,89,87,.09); transition:.22s ease; }
.product-card:hover { transform:translateY(-5px); box-shadow:0 20px 45px rgba(46,55,52,.08); }
.product-card__image { height:330px; display:grid; place-items:center; background:linear-gradient(145deg,#fbfaf7,#f4efe8); overflow:hidden; }
.product-card img { width:80%; height:94%; object-fit:contain; transition:.25s ease; }
.product-card img[src$=".jpg"], .product-card img[src$=".jpeg"] { mix-blend-mode:multiply; }
.product-card:hover img { transform:scale(1.025); }
.product-card__meta { margin-top:22px; font:400 10px/1 var(--sans); color:var(--gold); letter-spacing:.18em; text-transform:uppercase; }
.product-card h3 { margin:9px 0 0; font:500 28px/1.05 var(--serif); }
.product-card__arrow { margin-top:auto; padding-top:20px; font:400 11px/1 var(--sans); color:var(--gold); }

.product-hero { background:var(--cream); padding:80px 0 90px; }
.product-hero__grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.product-visual { min-height:620px; display:grid; place-items:center; position:relative; background:radial-gradient(circle,rgba(255,255,255,.8) 0 40%,transparent 41%); }
.product-visual img { max-height:590px; max-width:75%; object-fit:contain; filter:drop-shadow(0 30px 35px rgba(42,49,47,.14)); }
.product-visual img[src$=".jpg"], .product-visual img[src$=".jpeg"] { mix-blend-mode:multiply; }
.product-copy h1 { margin:0; font:400 clamp(58px,7vw,88px)/.9 var(--serif); letter-spacing:-.035em; }
.product-year { margin:9px 0 24px; color:var(--gold); font:400 29px/1 var(--serif); }
.product-copy .lead { max-width:550px; }
.product-copy > p { max-width:610px; }
.product-facts { background:var(--deep); color:#fff; }
.product-facts__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.fact { padding:30px 26px; border-right:1px solid rgba(255,255,255,.13); }
.fact:last-child { border-right:0; }
.fact span { display:block; color:var(--gold-soft); font:400 10px/1.2 var(--sans); letter-spacing:.17em; text-transform:uppercase; }
.fact strong { display:block; margin-top:9px; font:500 24px/1.2 var(--serif); }
.product-story { padding:100px 0; }
.product-story__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; }
.product-story h2 { margin:0; font:400 54px/1 var(--serif); }
.product-story__notes { background:var(--cream); padding:46px; }
.note-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.note-tags span { padding:9px 12px; background:#fff; border:1px solid var(--line); font:400 11px/1 var(--sans); }

.story { background:var(--cream); padding:110px 0; }
.story__grid { display:grid; grid-template-columns:1.55fr .6fr; gap:85px; }
.story__main img { width:100%; aspect-ratio:1.55; object-fit:cover; margin:48px 0; }
.story__main blockquote { margin:0 0 50px; text-align:center; font:400 clamp(38px,4vw,58px)/1.05 var(--serif); }
.story__aside { padding-top:90px; }
.story__aside img { width:100%; max-width:260px; aspect-ratio:.76; object-fit:cover; margin-bottom:35px; }
.story__aside p { margin:0 0 22px; }

.contact { padding:100px 0; background:var(--cream); }
.contact__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.contact-card { padding:34px 0; border-top:1px solid var(--line); }
.contact-card h2 { margin:8px 0 16px; font:400 34px/1.1 var(--serif); }
.contact-card a { color:var(--gold); }
.contact-form { background:#fff; padding:48px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { display:flex; flex-direction:column; gap:7px; }
.form-field--full { grid-column:1/-1; }
.form-field label { font:400 11px/1.2 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.form-field input,.form-field textarea { width:100%; border:1px solid var(--line); background:#fffdfa; color:var(--deep); padding:14px 15px; outline:none; }
.form-field textarea { min-height:150px; resize:vertical; }
.form-field input:focus,.form-field textarea:focus { border-color:var(--gold); }
.form-note { font-size:14px; color:#727b78; }
.hp-field { position:absolute; left:-9999px; }

.journal-page { min-height:60vh; padding:100px 0; background:var(--cream); }
.journal-empty { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:55px 0; border-top:1px solid var(--line); }
.subscribe { background:var(--deep); color:#fff; padding:90px 0; }
.subscribe form { display:flex; gap:12px; max-width:620px; }
.subscribe input { flex:1; border:1px solid rgba(255,255,255,.35); background:transparent; color:#fff; padding:14px; }

.privacy { padding:100px 0; }
.privacy article { max-width:760px; }
.privacy h2 { margin-top:40px; font:500 32px/1.1 var(--serif); }

.site-footer { color:#eee8df; background:#2f3936; }
.footer__image { height:230px; background:linear-gradient(rgba(39,49,46,.35),rgba(39,49,46,.75)),url('/assets/images/hero.jpg') center 54%/cover; }
.footer__grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:55px; padding:65px 0 50px; }
.site-footer .brand { align-items:flex-start; min-width:0; }
.site-footer .brand__mark { display:none; }
.site-footer p { max-width:310px; color:rgba(255,255,255,.65); font-size:16px; }
.site-footer a { display:block; margin:8px 0; color:rgba(255,255,255,.76); font-size:16px; }
.footer__label { display:block; margin-bottom:17px; color:var(--gold-soft); font:400 10px/1 var(--sans); letter-spacing:.17em; text-transform:uppercase; }
.footer__bottom { display:flex; justify-content:space-between; padding:22px 0 28px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.48); font:400 11px/1 var(--sans); }
.footer__bottom a { margin:0; font-size:11px; }

@media (max-width: 980px) {
  :root { --shell: min(100% - 40px, 760px); }
  .site-header { height:78px; }
  .site-header--overlay { background:linear-gradient(180deg,rgba(28,39,36,.46),rgba(28,39,36,.08) 75%,transparent); }
  .site-header--overlay.is-scrolled, .site-header--overlay.nav-open { background:rgba(52,62,59,.91); }
  .header__inner { grid-template-columns:1fr auto; }
  .brand { grid-column:1; justify-self:start; min-width:0; }
  .brand__mark { display:none; }
  .nav-toggle { display:block; grid-column:2; }
  .site-nav { display:none; position:absolute; inset:78px 0 auto; padding:28px 20px 34px; background:rgba(52,62,59,.98); flex-direction:column; gap:12px; align-items:stretch; }
  .site-nav.is-open { display:flex; }
  .site-nav a { padding:13px 4px; }
  .collection-nav { top:78px; }
  .stats { grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2) { border-right:0; }
  .stat:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.22); }
  .origin__grid,.film__grid,.journal-strip__grid,.story__grid,.contact__grid,.product-story__grid { grid-template-columns:1fr; gap:48px; }
  .origin__aside { display:grid; grid-template-columns:200px 1fr; gap:30px; padding-top:0; }
  .origin__aside img { width:200px; margin:0; }
  .spotlights { grid-template-columns:1fr; }
  .spotlight { min-height:540px; }
  .spotlight__bottle { height:310px; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .product-hero__grid { grid-template-columns:.8fr 1.2fr; gap:30px; }
  .product-visual { min-height:520px; }
  .product-facts__grid { grid-template-columns:repeat(2,1fr); }
  .fact:nth-child(2) { border-right:0; }
  .fact:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.13); }
  .footer__grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer__grid > div:last-child { grid-column:2; }
}

@media (max-width: 640px) {
  :root { --shell: calc(100vw - 32px); }
  body { font-size:17px; }
  .hero { min-height:760px; }
  .hero__content { padding:130px 0 52px; }
  .hero__actions { flex-direction:column; align-items:flex-start; }
  .hero__geese { top:115px; right:15px; width:175px; height:92px; opacity:.72; }
  .hero__goose--one { width:62px; }
  .hero__goose--two { right:73px; top:45px; width:46px; }
  .hero__goose--three { right:124px; top:17px; width:36px; }
  .hero__footprint { top:255px; right:26px; width:70px; opacity:.22; }
  .stats { margin-inline:-16px; }
  .stat { padding:22px 10px !important; text-align:center; }
  .stat strong { font-size:29px; }
  .stat span { max-width:135px; margin:8px auto 0; }
  .origin,.collections-home,.film,.journal-strip,.wines-section,.story,.contact,.journal-page,.privacy { padding-block:72px; }
  .origin__grid { gap:38px; }
  .origin__aside { display:block; }
  .origin__aside img { width:170px; margin-bottom:28px; }
  .origin__aside p { margin-left:0; }
  .section-head { display:block; }
  .section-head > p:last-child { margin-top:20px; }
  .collection-intro { grid-template-columns:1fr; gap:18px; }
  .product-grid { grid-template-columns:1fr; }
  .product-card { min-height:470px; }
  .product-hero { padding:55px 0 70px; }
  .product-hero__grid { grid-template-columns:1fr; }
  .product-visual { min-height:400px; }
  .product-visual img { max-height:390px; }
  .product-copy { text-align:center; }
  .product-facts__grid { grid-template-columns:1fr; }
  .fact { border-right:0; border-bottom:1px solid rgba(255,255,255,.13); text-align:center; }
  .fact:last-child { border-bottom:0; }
  .product-story__notes { padding:30px; }
  .contact-form { padding:28px 20px; }
  .form-grid { grid-template-columns:1fr; }
  .form-field--full { grid-column:auto; }
  .journal-empty { grid-template-columns:1fr; }
  .subscribe form { flex-direction:column; }
  .footer__grid { grid-template-columns:1fr 1fr; gap:36px 24px; }
  .footer__grid > div:first-child { grid-column:1/-1; }
  .footer__grid > div:last-child { grid-column:auto; }
  .footer__bottom { gap:20px; flex-direction:column; }
}
