@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Montserrat:wght@400;500;600&display=swap');

:root { --navy:#12384b; --sea:#5f9eb0; --sky:#dceff2; --sand:#e5d3ae; --cream:#fbf8f1; --white:#fff; --muted:#58727b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--navy); font-family:'Montserrat',sans-serif; }
.menu-toggle { display:none; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.topbar { position:absolute; z-index:10; top:0; left:0; width:100%; height:110px; padding:18px 5.5vw; display:flex; align-items:center; justify-content:space-between; background:linear-gradient(180deg,#ffffffed 0%,#ffffffc2 70%,transparent); }
.brand img { width:80px; height:80px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 8px 25px #1a4a5a25; }
nav { display:flex; gap:44px; margin-left:8vw; }
nav a,.buy-small { text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:600; }
nav a { color:var(--navy); transition:.25s; }
nav a:hover { color:var(--sea); }
.buy,.ghost { display:inline-flex; min-height:54px; align-items:center; justify-content:center; padding:0 34px; text-transform:uppercase; letter-spacing:.13em; font-size:12px; font-weight:600; transition:.25s; }
.buy { background:var(--navy); color:white; border:1px solid var(--navy); box-shadow:0 10px 28px #173f4f20; }
.buy:hover { transform:translateY(-2px); background:#1d5368; border-color:#1d5368; box-shadow:0 14px 30px #173f4f35; }
.buy-small { min-height:46px; padding:0 28px; border:1px solid var(--navy); border-radius:30px; display:flex; align-items:center; background:var(--navy); color:#fff !important; }
.buy-small:hover { background:#fff; color:var(--navy) !important; }
.ghost { border:1px solid var(--navy); color:var(--navy); background:#ffffffb8; }
.ghost:hover { background:white; }
.hero { min-height:900px; height:100vh; position:relative; display:flex; align-items:center; overflow:hidden; background:url('../images/hero-beach.jpg') 72% 53%/cover no-repeat; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff 0%,#fffffff2 31%,#ffffffb8 47%,#ffffff25 67%,transparent 82%),linear-gradient(0deg,#fbf8f1 0%,transparent 19%); }
.hero-shade { display:none; }
.hero-copy { position:relative; z-index:2; max-width:690px; margin:92px 0 0 5.5vw; }
.eyebrow { margin:0 0 20px; color:#4d8c9d; text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:600; }
h1,h2 { font-family:'Cormorant Garamond',serif; font-weight:500; line-height:.97; margin:0; }
h1 { font-size:clamp(68px,6.6vw,108px); letter-spacing:-.04em; color:var(--navy); }
h2 { font-size:clamp(48px,5vw,76px); letter-spacing:-.025em; }
.lead { font-size:20px; line-height:1.6; margin:28px 0 34px; color:#3f626d; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.details { margin-top:105px; color:#527b87; text-transform:uppercase; letter-spacing:.17em; font-size:10px; font-weight:600; display:flex; flex-direction:column; gap:10px; }
.details strong { color:var(--navy); font-size:12px; letter-spacing:.12em; }
.section { padding:120px 7vw; }
.intro { display:grid; grid-template-columns:1fr 1fr; gap:10vw; background:var(--cream); color:var(--navy); }
.intro-copy { font-size:18px; line-height:1.9; max-width:620px; color:var(--muted); }
.signature { color:#4c8998; font-family:'Cormorant Garamond',serif; font-size:28px; }
.process { display:grid; grid-template-columns:1.15fr .95fr .7fr; gap:38px; align-items:center; background:#dcecef; }
.image-card { overflow:hidden; box-shadow:0 18px 50px #1b536323; }
.image-card img { height:100%; object-fit:cover; transition:transform .7s; }
.image-card:hover img { transform:scale(1.025); }
.tall { height:680px; }
.botanical { height:430px; align-self:end; }
.process-copy p:not(.eyebrow),.cocktail-copy p,.origin-card p,.contact>p { line-height:1.85; color:var(--muted); }
.steps { margin-top:45px; display:grid; gap:18px; }
.steps span { padding-bottom:14px; border-bottom:1px solid #12384b25; text-transform:uppercase; letter-spacing:.14em; font-size:12px; }
.steps b { color:#518fa0; margin-right:20px; }
.cocktails { background:#fff; display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:center; }
.cocktail-image { height:660px; }
.cocktail-intro { margin:24px 0 28px; }
.recipe { list-style:none; margin:0; padding:0; display:grid; gap:0; }
.recipe li { display:grid; grid-template-columns:46px 1fr; align-items:center; padding:14px 0; border-bottom:1px solid #12384b1f; }
.recipe li:first-child { border-top:1px solid #12384b1f; }
.recipe span { color:#4c8998; font-size:11px; font-weight:600; letter-spacing:.12em; }
.recipe p { margin:0; color:var(--navy); line-height:1.55; }
.try-it { margin:24px 0 0; padding:18px 20px; background:#e5f0f2; border-left:3px solid #5f9eb0; color:var(--navy) !important; font-weight:500; }
.text-link { display:inline-block; margin-top:30px; color:#39798b; border-bottom:1px solid; padding-bottom:6px; font-weight:600; }
.origin { position:relative; min-height:780px; padding:0; }
.origin-image,.origin-image img { width:100%; height:780px; object-fit:cover; }
.origin-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#eaf3f0f2 0%,#eff6f1bd 38%,transparent 72%); }
.origin-card { position:absolute; left:7vw; top:50%; transform:translateY(-50%); max-width:550px; padding:55px; background:#fffffff0; border:1px solid #fff; box-shadow:0 18px 60px #173f4f2c; backdrop-filter:blur(9px); }
.stockists { background:var(--cream); }
.stockists-heading { max-width:760px; margin-bottom:58px; }
.stockists-heading>p:last-child { color:var(--muted); line-height:1.8; font-size:17px; }
.map-wrap { margin:0 0 62px; border:1px solid #12384b1f; background:#fff; box-shadow:0 16px 45px #173f4f12; overflow:hidden; }
.points-map { width:100%; height:520px; z-index:1; }
.map-legend { min-height:68px; padding:18px 24px; display:flex; align-items:center; gap:30px; color:var(--navy); font-size:12px; font-weight:600; letter-spacing:.05em; }
.map-legend span {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:9px;
  width:auto;
  height:auto;
  white-space:nowrap;
  writing-mode:horizontal-tb;
  transform:none !important;
}
.map-legend i { width:13px; height:13px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); display:inline-block; }
.shop-dot { background:var(--navy); }
.drink-dot { background:var(--sea); }
.eureka-map-icon {
  width:34px !important;
  height:34px !important;
  background:none !important;
  border:0 !important;
}
.eureka-map-icon > span {
  display:block;
  width:28px;
  height:28px;
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:0 4px 12px #12384b55;
}
.eureka-map-icon > span > span {
  display:none !important;
}
.leaflet-popup-content strong { display:block; color:#12384b; font-family:'Cormorant Garamond',serif; font-size:21px; }
.leaflet-popup-content small { display:block; margin:3px 0 8px; color:#4c8998; text-transform:uppercase; letter-spacing:.08em; font-size:9px; font-weight:600; }
.leaflet-popup-content p { margin:0; color:#58727b; line-height:1.45; }
.stockist-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:24px; }
.stockist-grid:has(.stockist-card:nth-child(3)) { grid-template-columns:repeat(3,1fr); }
.stockist-grid:has(.stockist-card:nth-child(4)) { grid-template-columns:repeat(2,1fr); }
.stockist-section-title { margin:0 0 18px; color:#4c8998; text-transform:uppercase; letter-spacing:.2em; font-size:11px; font-weight:600; }
.drinks-title { margin-top:55px; }
.drinks-grid { grid-template-columns:repeat(2,1fr); }
.stockist-card { min-height:290px; padding:38px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid #12384b1f; background:#fff; box-shadow:0 16px 45px #173f4f10; }
.stockist-card.featured { background:var(--navy); color:#fff; }
.stockist-number { font-family:'Cormorant Garamond',serif; font-size:38px; color:#79b3c0; }
.stockist-type { margin:0 0 10px; text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:600; color:#75aebc; }
.stockist-card h3 { margin:0 0 8px; font-family:'Cormorant Garamond',serif; font-size:38px; font-weight:500; }
.stockist-card p { line-height:1.6; }
.stockist-card.featured>div>p:last-child { color:#c8dce1; }
.stockist-card a { width:max-content; color:#39798b; border-bottom:1px solid #75aebc; padding-bottom:5px; font-size:13px; font-weight:600; }
.stockist-card.featured a { color:#fff; }
.drink-card { background:#e5f0f2; }
.upcoming { background:#e5f0f2; }
.contact { text-align:center; background:radial-gradient(circle at 50% 0%,#fff,#dcecef 72%); }
.contact h2 { margin-bottom:22px; }
.centered { justify-content:center; margin-top:38px; }
footer { padding:60px 7vw 38px; text-align:center; border-top:1px solid #12384b18; background:#f7f3e9; color:#637c83; font-size:13px; }
footer img { width:82px; height:82px; object-fit:cover; border-radius:50%; margin:0 auto 22px; box-shadow:0 8px 28px #173f4f1c; }
footer a { color:#39798b; }
.legal { margin-top:28px; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.credits { margin:24px 0 0; padding-top:22px; border-top:1px solid #12384b14; font-size:11px; letter-spacing:.08em; }
.credits a { font-weight:600; color:var(--navy); }
.credits a:hover { color:#39798b; }
@media (max-width:900px) {
  .menu-toggle { display:flex; position:absolute; z-index:30; top:20px; left:50%; width:44px; height:44px; transform:translateX(-50%); align-items:center; justify-content:center; border:1px solid #12384b33; border-radius:50%; background:#fffffff0; color:var(--navy); font-size:22px; cursor:pointer; }
  .topbar { height:84px; padding:12px 20px; background:linear-gradient(180deg,#fffffff2,transparent); } .brand img{width:58px;height:58px} nav{display:none}.buy-small{padding:0 18px;font-size:10px;background:var(--navy)}
  .topbar nav.is-open { display:flex; position:absolute; top:84px; left:16px; right:16px; margin:0; padding:25px; flex-direction:column; gap:20px; background:#fffffff7; border:1px solid #12384b1f; box-shadow:0 18px 45px #12384b25; }
  .hero { min-height:780px; background-position:62% center; align-items:flex-end; padding-bottom:52px; } .hero::after{background:linear-gradient(0deg,#fbf8f1 0%,#fffffff2 40%,#ffffff57 74%,transparent)}
  .hero-copy{margin:0 22px;max-width:580px}.details{margin-top:55px}.section{padding:82px 24px}
  h1{font-size:clamp(58px,17vw,78px)}.intro,.cocktails { grid-template-columns:1fr; gap:45px; }.process{grid-template-columns:1fr}.tall{height:500px}.botanical{display:none}.process-copy{padding:20px 0}.cocktail-image{height:480px}
  .origin,.origin-image,.origin-image img{min-height:680px;height:680px}.origin-image::after{background:linear-gradient(0deg,#eaf3f0f5 0%,#eff6f1b8 55%,transparent)}.origin-card{left:22px;right:22px;padding:34px;}.points-map{height:430px}.map-legend{align-items:flex-start;flex-direction:column;gap:10px}.stockist-grid,.stockist-grid:has(.stockist-card:nth-child(3)),.stockist-grid:has(.stockist-card:nth-child(4)),.drinks-grid{grid-template-columns:1fr}.stockist-card{min-height:260px;padding:30px}.hero-actions{gap:12px}.buy,.ghost{width:100%;}.lead{font-size:17px}
}
