@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&display=swap');
:root{--cream:#f7f4ec;--ink:#102f2c;--green:#184f43;--rule:#aab4aa;--muted:#5f6a65;--white:#fffdf8;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Source Serif 4',Georgia,serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}.site-header{background:rgba(247,244,236,.97);border-bottom:1px solid rgba(16,47,44,.18);position:sticky;top:0;z-index:20}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand-main{font-family:'Cormorant Garamond',Georgia,serif;font-size:3rem;letter-spacing:.03em;font-weight:500}.brand-sub{font-size:.7rem;letter-spacing:.48em;margin-top:8px;padding-left:4px}.nav{display:flex;align-items:center;gap:32px;font-size:.88rem;text-transform:uppercase;letter-spacing:.04em}.nav a{padding:10px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a.active{border-color:var(--ink)}.menu-btn{display:none;border:0;background:none;font-size:1.7rem}.hero{position:relative;height:min(74vh,790px);min-height:560px;overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,32,27,.45),rgba(9,32,27,.06) 58%,rgba(9,32,27,.02))}.hero-copy{position:absolute;z-index:2;left:max(6vw,calc((100vw - var(--max))/2));bottom:14%;color:var(--white);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.5rem,6vw,6.4rem);line-height:.9;font-weight:400}.hero-copy span{display:block}.hero-copy:after{content:'';display:block;width:72px;border-bottom:3px solid var(--white);margin-top:34px}.intro{padding:58px 0 50px;text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.45rem,2.2vw,2rem);max-width:900px;margin:auto}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0 78px}.feature{padding:10px 48px 16px;text-align:center;min-height:220px}.feature+ .feature{border-left:1px solid #d1d2ca}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:1.1rem}.eyebrow:after{content:'';display:block;width:34px;border-bottom:1px solid var(--ink);margin:15px auto 24px}.feature p{font-size:1.1rem;min-height:60px}.text-link{display:inline-block;margin-top:18px;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;border-bottom:1px solid var(--ink);padding:0 4px 7px}.text-link:after{content:'  →';padding-left:10px}.page-hero{padding:66px 0 34px;border-bottom:1px solid var(--rule)}.page-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3.6rem,6vw,5.8rem);font-weight:400;line-height:.9;margin:0 0 12px}.page-hero p{font-size:1.35rem;margin:0;color:#29443f}.portfolio-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.season{font-size:1rem;border-bottom:1px solid var(--ink);padding-bottom:8px;white-space:nowrap}.portfolio-tools{padding:28px 0 18px}.tabs{display:grid;grid-template-columns:1fr 1fr;max-width:460px;margin-bottom:16px}.tab{border:1px solid #9aa9a3;background:transparent;padding:10px 20px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.tab.active{background:var(--green);color:white}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px}.filters input,.filters select{width:100%;background:#fbfaf5;border:1px solid #a9b3ae;padding:11px 12px}.clear{background:none;border:0;text-decoration:underline;cursor:pointer}.results-meta{font-size:.9rem;color:var(--muted);margin:10px 0 22px}.country-block{border-top:1px solid var(--ink);padding-top:10px;margin-top:22px}.country-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.6rem;letter-spacing:.12em;margin:0;text-transform:uppercase}.region-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.8rem;font-weight:500;border-top:1px solid #9cadA6;border-bottom:1px solid #b9c1bd;padding:6px 0;margin:6px 0 0}.producer{padding:8px 0 12px}.producer-name{text-transform:uppercase;letter-spacing:.15em;font-size:.92rem;font-weight:600;margin:0 0 4px}.wine-row{display:grid;grid-template-columns:75px minmax(280px,2fr) 100px 90px;gap:18px;padding:5px 14px;border-top:1px solid #d9d9d2;font-size:.93rem}.wine-row .size{text-align:right}.empty{padding:50px 0;text-align:center;color:var(--muted)}.content-page{padding:64px 0 90px;max-width:860px}.content-page h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:5rem;font-weight:400;margin:0 0 20px}.content-page h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.1rem;font-weight:500;margin-top:48px}.content-page p{font-size:1.15rem}.supplier-list{columns:2;column-gap:60px;margin-top:36px}.supplier-list div{break-inside:avoid;border-top:1px solid #c5cbc5;padding:12px 0}.contact-box{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:26px 0;margin-top:36px}.social-links{display:flex;gap:18px;margin-top:18px}.social-links a{border-bottom:1px solid var(--ink)}footer{border-top:1px solid #9eaaa4;padding:34px 0 42px}.footer-inner{display:grid;grid-template-columns:1.2fr .7fr 1.6fr auto;gap:32px;align-items:end}.footer-brand .brand-main{font-size:2.6rem}.footer-nav{display:flex;gap:18px;font-size:.76rem;text-transform:uppercase}.social{display:flex;gap:14px}.social a{width:34px;height:34px;border:1px solid var(--ink);display:grid;place-items:center;border-radius:50%;font-weight:600}.note{font-size:.84rem;color:var(--muted);margin-top:28px}
.footer-brand .brand-sub{white-space:nowrap}
@media(max-width:900px){.wrap{width:min(100% - 36px,var(--max))}.header-inner{min-height:84px}.brand-main{font-size:2.4rem}.nav{display:none;position:absolute;left:0;right:0;top:84px;background:var(--cream);padding:20px 28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--rule)}.nav.open{display:flex}.menu-btn{display:block}.hero{min-height:500px;height:66vh}.hero-copy{left:7%;font-size:clamp(3.2rem,11vw,5rem)}.feature-grid{grid-template-columns:1fr}.feature{padding:30px 20px;min-height:auto}.feature+.feature{border-left:0;border-top:1px solid #d1d2ca}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.portfolio-head{align-items:flex-start;flex-direction:column}.wine-row{grid-template-columns:60px 1fr 70px}.wine-row .rating{display:none}.footer-inner{grid-template-columns:1fr}.footer-nav{flex-wrap:wrap}.supplier-list{columns:1}.content-page h1{font-size:4rem}}
@media(max-width:560px){.wrap{width:calc(100% - 28px)}.brand-main{font-size:2rem}.brand-sub{font-size:.56rem}.hero{min-height:460px}.hero img{object-position:61% center}.hero-copy{bottom:10%}.intro{padding:42px 20px 34px}.filters{grid-template-columns:1fr}.wine-row{grid-template-columns:50px 1fr 60px;gap:8px;padding-left:4px;padding-right:4px;font-size:.86rem}.country-title{font-size:2rem}.region-title{font-size:1.5rem}.page-hero{padding-top:44px}.page-hero h1{font-size:4rem}}

/* Version 2 additions */
.page-intro{max-width:820px;margin:0 auto 56px;text-align:center}.page-intro h1{margin-bottom:18px}.page-intro p{font-size:1.15rem;line-height:1.7}.supplier-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(27,60,46,.2);margin-bottom:80px}.supplier-card{padding:28px 28px 30px;border-bottom:1px solid rgba(27,60,46,.18);min-height:128px}.supplier-card:not(:nth-child(3n+1)){border-left:1px solid rgba(27,60,46,.12)}.supplier-card h2{font-size:1.45rem;margin:0 0 13px}.supplier-card a{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#9a4d32}.supplier-card a span{padding-left:6px}.team-page{max-width:1180px}.team-row{display:grid;gap:42px;margin:0 auto 70px;align-items:start}.team-row.founders,.team-row.security{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center}.team-row.three{grid-template-columns:repeat(3,1fr)}.team-card{text-align:center}.team-card img,.portrait-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;background:#f2ede3;display:block}.team-card img{filter:saturate(.88)}.team-card h3{font-size:1.35rem;margin:18px 0 5px}.team-card p{margin:0;text-transform:uppercase;letter-spacing:.09em;font-size:.74rem}.portrait-placeholder{border:1px solid rgba(27,60,46,.08);background:linear-gradient(135deg,#f7f3ea,#eee7da)}.pending{opacity:.48}.footer-positioning{display:flex;flex-direction:column;gap:5px;text-align:center}.footer-positioning strong{font-weight:500}.footer-positioning span{font-size:.85rem}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px;max-width:760px;margin:0 auto 80px}.contact-grid address{font-style:normal;line-height:1.8}.contact-grid a{text-decoration:underline;text-underline-offset:4px}.contact-grid .contact-button{display:inline-block;margin:4px 0 10px;padding:11px 18px;border:1px solid var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.contact-grid .contact-button:hover{background:var(--green);color:var(--white)}.contact-grid .contact-button span{padding-left:12px}@media(max-width:800px){.supplier-grid,.team-row.three{grid-template-columns:1fr}.supplier-card:not(:nth-child(3n+1)){border-left:0}.team-row.founders,.team-row.security{grid-template-columns:repeat(2,1fr);gap:20px}.contact-grid{grid-template-columns:1fr;gap:28px}.footer-positioning{text-align:left}}



/* Contact form refinement */

.contact-grid form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.contact-grid form label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.9rem;
  letter-spacing: 0.03em;
}

.contact-grid form input[type="text"],
.contact-grid form input[type="email"],
.contact-grid form input[type="tel"],
.contact-grid form textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 12px 13px;
  border: 1px solid rgba(27, 60, 46, 0.28);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 1rem;
}

.contact-grid form input[type="text"]:focus,
.contact-grid form input[type="email"]:focus,
.contact-grid form input[type="tel"]:focus,
.contact-grid form textarea:focus {
  outline: none;
  border-color: rgba(27, 60, 46, 0.7);
}

.contact-grid form textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-grid form fieldset {
  margin: 4px 0 0;
  padding: 14px 16px 12px;
  border: 1px solid rgba(27, 60, 46, 0.22);
}

.contact-grid form fieldset label {
  display: block;
  margin: 7px 0;
  font-size: 1rem;
  letter-spacing: 0;
}

.contact-grid form input[type="radio"] {
  margin-right: 8px;
}

.contact-grid form button[type="submit"] {
  align-self: flex-start;
  margin-top: 4px;
  padding: 12px 24px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.contact-grid form button[type="submit"]:hover {
  background: var(--ink);
  color: var(--white);
}

/* Contact inquiry choices */

.contact-grid form fieldset {
  border: 0;
  padding: 0;
  margin: 2px 0 4px;
}

.contact-grid form fieldset legend {
  padding: 0;
  margin-bottom: 10px;
  font-size: 0.9rem;
  letter-spacing: 0.03em;
}

.contact-grid form fieldset label {
  display: block;
  margin: 10px 0;
  padding: 0;
  font-size: 1rem;
  cursor: pointer;
}

.contact-grid form input[type="radio"] {
  margin: 0 9px 0 0;
  vertical-align: middle;
}


/* Footer social links */

.footer-positioning .social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.footer-positioning .social a {
  white-space: nowrap;
}


/* Final social-link cleanup */

.social {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

.social a {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.social a:hover {
  background: transparent !important;
  border: 0 !important;
  text-decoration: underline !important;
}