:root{--black:#090909;--dark:#171717;--dark2:#222;--paper:#f3eee7;--muted:#a8a0a0;--magenta:#bb1c5c;--line:rgba(243,238,231,.12);--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--paper);font-family:Inter,Arial,sans-serif;line-height:1.5}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 56px));margin:auto}.section-black{background:var(--black)}.section-dark{background:var(--dark)}.section-light{background:var(--paper);color:#111}.accent{color:var(--magenta)}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:rgba(8,8,8,.68);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand-mark{display:flex;align-items:center;gap:13px;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.brand-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--magenta);color:#fff;font-weight:900;letter-spacing:-.14em;padding-right:.08em}.site-header nav{display:flex;gap:32px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#ddd}.site-header nav a:hover{color:var(--magenta)}
.eyebrow{font-size:12px;letter-spacing:.21em;text-transform:uppercase;font-weight:900;margin:0 0 18px}.hero{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:130px 0 78px}.hero-bg{position:absolute;inset:-5%;background:url('assets/palmes_bottles.webp') center/cover no-repeat;filter:blur(24px) brightness(.34) saturate(.95);transform:scale(1.13);opacity:.88}.hero-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 35%,rgba(187,28,92,.35),transparent 32%),linear-gradient(90deg,rgba(9,9,9,.9),rgba(9,9,9,.35),rgba(9,9,9,.9))}.hero-noise{position:absolute;inset:0;opacity:.1;background-image:radial-gradient(rgba(255,255,255,.32) .7px, transparent .7px);background-size:5px 5px;mix-blend-mode:screen}.hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .82fr;gap:70px;align-items:center}.hero h1,.container h2{font-family:'Playfair Display',Georgia,serif;font-weight:900;line-height:.86;letter-spacing:-.055em;margin:0}.hero h1{font-size:clamp(70px,11vw,172px)}.hero h1 span{color:var(--magenta)}.tagline{font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,3.2vw,45px);font-style:italic;margin:20px 0 12px}.hero-copy{font-size:18px;color:#d1caca;max-width:610px;margin:0 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900}.btn-primary{background:var(--magenta);border-color:var(--magenta);color:#fff}.btn-ghost{background:rgba(0,0,0,.18);color:var(--paper)}.btn-dark{background:#111;border-color:#111;color:var(--paper)}.hero-bottom{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:#d9d2d2;opacity:.68}
.editorial-photo{margin:0;background:#111;border:1px solid rgba(243,238,231,.13);box-shadow:0 26px 80px rgba(0,0,0,.38);overflow:hidden;position:relative}.editorial-photo:before{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), inset 0 -80px 120px rgba(0,0,0,.18);z-index:2;pointer-events:none}.editorial-photo img{width:100%;height:100%;object-fit:cover;filter:contrast(1.02) saturate(.94) brightness(.9)}.hero-photo{height:min(64vh,620px);padding:14px;background:rgba(243,238,231,.035)}.hero-photo img{object-fit:contain;background:#101010}.float-one{transform:rotate(1.5deg)}
.identity,.champagne,.oysters,.tastings,.gallery,.visit{padding:118px 0}.split,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.container h2{font-size:clamp(54px,7.6vw,118px)}.text-col p,.copy-card p,.oysters .narrow p,.tastings p,.gallery-head p,.visit-copy p,.footer p{font-size:18px;color:var(--muted);max-width:640px}.contact-strip{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:22px;margin-top:66px}.contact-strip .editorial-photo{height:330px}.contact-strip .wide{height:390px}.contact-strip .wide img{object-fit:contain;background:#0e0e0e}.photo-stack{position:relative;min-height:650px}.photo-stack .main{width:84%;height:405px}.photo-stack .main img{object-fit:contain;background:#0d0d0d}.photo-stack .small{position:absolute;width:280px;height:280px}.photo-stack .a{right:0;top:310px}.photo-stack .b{left:90px;bottom:0}.copy-card{padding:24px 0}.mini-list{border-left:1px solid rgba(187,28,92,.55);padding-left:28px;margin-top:36px;display:grid;gap:24px}.mini-list h3{font-family:'Playfair Display',Georgia,serif;color:var(--magenta);font-size:29px;margin:0 0 3px}.mini-list p{font-size:15px;margin:0}.centered{text-align:center}.narrow p{margin:16px auto 0}.cards-three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:58px}.photo-card{background:#111;border:1px solid var(--line);padding:16px;min-height:460px;display:flex;flex-direction:column;justify-content:space-between}.card-image{margin:0;height:300px;overflow:hidden;background:#0b0b0b}.card-image img{width:100%;height:100%;object-fit:contain}.photo-card:first-child .card-image img{object-fit:cover}.photo-card h3{font-family:'Playfair Display',Georgia,serif;font-size:38px;line-height:1;margin:24px 8px 4px}.photo-card p{margin:0 8px 8px;color:#bdb5b5}.event-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:86px;align-items:center}.text-link{display:inline-block;margin-top:30px;text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:900;border-bottom:1px solid var(--magenta);padding-bottom:6px}.poster-wall{position:relative;height:590px}.poster{position:absolute;margin:0;box-shadow:0 30px 90px rgba(0,0,0,.48);border:1px solid var(--line);overflow:hidden;background:#111}.poster img{width:100%;height:100%;object-fit:contain;background:#151515}.poster.one{width:56%;right:5%;top:0;transform:rotate(1deg)}.poster.two{width:60%;left:0;bottom:0;transform:rotate(-1.5deg);filter:brightness(.92)}.gallery-head{display:grid;grid-template-columns:.8fr 1fr;align-items:end;gap:60px;margin-bottom:52px}.gallery-grid{display:grid;grid-template-columns:1.05fr .85fr .85fr;grid-auto-rows:250px;gap:22px}.gallery-grid .editorial-photo{height:100%}.gallery-grid .tall{grid-row:span 2}.gallery-grid .wide-gallery{grid-column:span 2}.gallery-grid .wide-gallery img{object-fit:contain;background:var(--magenta)}.visit-grid{display:grid;grid-template-columns:.9fr 1fr .85fr;gap:60px;align-items:center}.visit h2{color:#111}.visit-copy p{color:#333}.contact-list{margin:26px 0}.contact-list p{margin:5px 0;color:#333}.brand-tile{margin:0;background:var(--magenta);padding:24px;min-height:250px;display:grid;place-items:center}.brand-tile img{width:100%;max-height:280px;object-fit:contain}.footer{padding:64px 0 74px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:54px;border-top:1px solid var(--line);padding-top:42px}.footer-tag{font-family:'Playfair Display',Georgia,serif;font-style:italic!important;color:#d8d0d0!important}
@media(max-width:900px){.site-header{padding:0 20px}.site-header nav{display:none}.hero{min-height:auto;padding:112px 0 64px}.hero-grid,.split,.two-col,.event-layout,.gallery-head,.visit-grid,.footer-grid{grid-template-columns:1fr;gap:38px}.hero-photo{height:420px;transform:none}.hero-bottom{display:none}.contact-strip,.cards-three,.gallery-grid{grid-template-columns:1fr}.contact-strip .editorial-photo,.contact-strip .wide{height:310px}.photo-stack{min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.photo-stack .main{width:100%;height:290px;grid-column:span 2}.photo-stack .small{position:static;width:100%;height:220px}.poster-wall{height:520px}.container{width:min(100% - 34px,var(--max))}.btn{width:100%}.visit .btn{width:auto}.gallery-grid .tall,.gallery-grid .wide-gallery{grid-row:auto;grid-column:auto}.gallery-grid{grid-auto-rows:260px}}
@media(max-width:520px){.hero h1{font-size:60px}.container h2{font-size:50px}.hero-copy,.text-col p,.copy-card p,.oysters .narrow p,.tastings p,.gallery-head p,.visit-copy p{font-size:16px}.identity,.champagne,.oysters,.tastings,.gallery,.visit{padding:76px 0}.hero-photo{height:340px}.card-image{height:240px}.poster.one{width:74%;right:0}.poster.two{width:75%}}

/* v5 image quality update: use higher-resolution Facebook image crops, less contain, more editorial cover */
.hero-photo img,.photo-stack .main img,.contact-strip .wide img,.poster img,.card-image img,.brand-tile img{object-fit:cover}
.hero-photo{padding:0;background:#111}
.photo-stack .main img{object-fit:cover}
.contact-strip .wide img{object-fit:cover}
.poster.one img{object-fit:cover}
.poster.two img{object-fit:cover}
.gallery-grid .wide-gallery img{object-fit:cover;background:#111}
.brand-tile{padding:0;overflow:hidden;border:1px solid rgba(0,0,0,.08)}
.brand-tile img{height:100%;max-height:none}
.editorial-photo img{filter:contrast(1.04) saturate(.96) brightness(.91)}
.photo-card:first-child .card-image img{object-fit:cover}
.logo-panel{background:var(--magenta)}


/* v6 polish: remove repeated visual rhythm and add subtle editorial rounding */
:root{--radius-photo:14px;--radius-card:18px}
.editorial-photo,.photo-card,.card-image,.poster,.brand-tile{border-radius:var(--radius-photo)}
.photo-card{border-radius:var(--radius-card)}
.hero-photo{border-radius:18px}
.editorial-photo:before{border-radius:inherit}
.btn{border-radius:999px}
.brand-icon{box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}
.site-header{box-shadow:0 14px 40px rgba(0,0,0,.18)}
@media(max-width:520px){:root{--radius-photo:12px;--radius-card:16px}.hero-photo{border-radius:14px}}


/* v8 fixes */
.contact-strip .editorial-photo,.contact-strip .wide{height:390px}
.contact-strip .wide{grid-column:auto}
.gallery-grid{grid-template-columns:1.08fr .92fr .92fr;grid-auto-rows:250px}
.gallery-grid .tall{grid-row:span 2}
.gallery-grid .editorial-photo img{object-fit:cover}
.visit-grid{grid-template-columns:.9fr 1fr .95fr}
.brand-tile{padding:28px;aspect-ratio:1.15/1;min-height:auto;display:flex;align-items:center;justify-content:center;background:var(--magenta);overflow:hidden}
.brand-tile img{width:100%;height:auto;max-height:250px;object-fit:contain}
.contact-list a{font-weight:600}
@media(max-width:900px){.brand-tile{aspect-ratio:auto;min-height:240px}.contact-strip .editorial-photo,.contact-strip .wide{height:310px}}


/* v10 - contact logo simplified and enlarged */
.visit-grid{align-items:center}
.brand-tile{background:transparent !important;padding:0 !important;border:none !important;aspect-ratio:auto !important;min-height:auto !important;box-shadow:none !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:visible !important;}
.brand-tile img{width:100% !important;max-width:460px !important;height:auto !important;max-height:none !important;display:block !important;object-fit:contain !important;border-radius:28px !important;}
@media(max-width:900px){.brand-tile img{max-width:340px !important;}}


/* v15 - larger final brand tile and less cramped logo */
.visit-grid{grid-template-columns:.9fr 1fr 1.08fr}
.brand-tile img{
  max-width:560px !important;
  width:100% !important;
  border-radius:30px !important;
}
@media(max-width:900px){
  .visit-grid{grid-template-columns:1fr}
  .brand-tile img{max-width:390px !important}
}


/* v18 - make the contact logo genuinely larger, not just the container */
.visit-grid{grid-template-columns:.86fr .95fr 1.18fr}
.brand-tile{
  justify-content:flex-end !important;
}
.brand-tile img{
  max-width:640px !important;
  width:100% !important;
  border-radius:30px !important;
}
@media(max-width:1100px){
  .visit-grid{grid-template-columns:1fr}
  .brand-tile{justify-content:flex-start !important}
  .brand-tile img{max-width:460px !important}
}


/* v19 - stronger contact brand anchor */
.visit-grid{
  grid-template-columns:.78fr .88fr 1.42fr;
  gap:44px;
}
.brand-tile{
  justify-content:flex-end !important;
  transform:translateX(10px);
}
.brand-tile img{
  max-width:760px !important;
  width:100% !important;
  border-radius:34px !important;
}
@media(max-width:1100px){
  .visit-grid{grid-template-columns:1fr;gap:38px}
  .brand-tile{justify-content:flex-start !important;transform:none}
  .brand-tile img{max-width:500px !important}
}


/* v21 - phone-first gallery layout fix */
@media(max-width:900px){
  .gallery-head{
    grid-template-columns:1fr !important;
    gap:22px !important;
    margin-bottom:34px !important;
  }

  .gallery-head h2{
    font-size:clamp(54px,18vw,86px) !important;
    line-height:.86 !important;
  }

  .gallery-head p{
    max-width:100% !important;
    font-size:17px !important;
  }

  .gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:auto !important;
    gap:14px !important;
    align-items:start !important;
  }

  .gallery-grid .editorial-photo{
    grid-column:auto !important;
    grid-row:auto !important;
    height:auto !important;
    aspect-ratio:4 / 5 !important;
    min-height:0 !important;
  }

  .gallery-grid .tall,
  .gallery-grid .wide-gallery{
    grid-column:1 / -1 !important;
    aspect-ratio:4 / 5 !important;
  }

  .gallery-grid .editorial-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
}

@media(max-width:680px){
  .gallery{
    padding:72px 0 !important;
  }

  .gallery-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .gallery-grid .editorial-photo,
  .gallery-grid .tall,
  .gallery-grid .wide-gallery{
    grid-column:auto !important;
    aspect-ratio:1 / 1 !important;
    border-radius:16px !important;
  }

  .gallery-grid .tall{
    aspect-ratio:4 / 5 !important;
  }
}

@media(max-width:380px){
  .gallery-grid .editorial-photo,
  .gallery-grid .wide-gallery{
    aspect-ratio:0.98 / 1 !important;
  }

  .gallery-grid .tall{
    aspect-ratio:4 / 5 !important;
  }
}


/* v28 - hero CTA + lighter loading */
.hero-actions .btn-ghost{background:rgba(0,0,0,.22);border-color:rgba(243,238,231,.55);color:var(--paper)}
@media(max-width:520px){.hero-actions{gap:10px}.hero-actions .btn{width:100%}}


/* v29 - subtle pink outline for the secondary hero CTA */
.hero .btn-outline,
.hero .secondary-cta,
.hero a[href^="tel"]{
  border-color: rgba(194, 28, 96, 0.72);
  color: #fff8f1;
}

.hero .btn-outline:hover,
.hero .secondary-cta:hover,
.hero a[href^="tel"]:hover{
  border-color: rgba(194, 28, 96, 1);
  background: rgba(194, 28, 96, 0.12);
}
