/* Gudgel Aesthetics Redesign — global styles (verbatim from DC spec helmet blocks, unioned) */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;}
body{font-family:'Jost',sans-serif;color:#2A231C;background:#F5EFE6;overflow-x:clip;max-width:100%;--gold:#B08A47;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
::selection{background:#B08A47;color:#fff;}
/* film grain removed per request */
/* paper texture removed per request — sections keep their inline background-color only */
.paper-nude{}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.reveal{animation:fadeUp 1s cubic-bezier(.2,.7,.2,1) both;}
.io{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);}
.io.in{opacity:1;transform:none;}
/* responsive — union of every page's media queries, verbatim */
@media(max-width:880px){
  .col2{grid-template-columns:1fr!important;}
  .svc-no{display:none!important;}
  .m3{grid-template-columns:1fr!important;}
  .grid2{grid-template-columns:1fr!important;}
  .dg{grid-template-columns:1fr 1fr!important;}
  .tiers{grid-template-columns:1fr!important;}
  .feat{transform:none!important;}
  .perks{grid-template-columns:1fr!important;}
  .gal{grid-template-columns:1fr!important;}
  .cta3{grid-template-columns:1fr!important;text-align:center;}
}
@media(max-width:560px){
  .dg{grid-template-columns:1fr!important;}
}

/* ---- home hero crop (keep the serum bottle in frame) ---- */
.hero-img{object-position:center 52%;}
@media(max-width:880px){ .hero-img{object-position:64% 50%;} }
.tech-hero{object-position:center 42%;filter:brightness(1.5) saturate(1.06);}
@media(max-width:880px){ .tech-hero{object-position:72% 48%;filter:brightness(1.28) saturate(1.04);} }

/* ---- mobile: keep hero clear of the fixed header (no overlap on narrow phones) ---- */
@media(max-width:880px){
  .hero-sec{align-items:flex-start!important;}
  .hero-inner{padding-top:clamp(150px,20vh,180px)!important;padding-bottom:clamp(48px,8vh,84px)!important;}
}
/* ---- mobile: tighten announcement strip so the location stops towering ---- */
@media(max-width:560px){
  .strip-row{font-size:9.5px!important;letter-spacing:.13em!important;gap:12px!important;}
  .strip-row .strip-state{display:none;}
  .strip-row .strip-hours{display:none;}
}

/* ---- mobile nav (hamburger) ---- */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0;background:none;border:none;cursor:pointer;color:var(--navfg);}
.nav-burger span{display:block;width:24px;height:1.5px;background:currentColor;transition:transform .35s cubic-bezier(.4,0,.1,1),opacity .2s ease;}
.nav-mobile{position:absolute;top:100%;left:0;right:0;background:#1B1611;padding:14px clamp(20px,5vw,42px) 32px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .32s ease,transform .42s cubic-bezier(.4,0,.1,1),visibility .42s;box-shadow:0 34px 60px -24px rgba(0,0,0,.6);}
[data-nav].nav-open .nav-mobile{opacity:1;visibility:visible;transform:translateY(0);}
.nav-mobile a{font-family:'Cormorant Garamond';font-weight:500;font-size:30px;line-height:1;color:#EDE2CF;padding:18px 2px;border-bottom:1px solid rgba(217,190,134,.14);}
.nav-mobile a.m-book{margin-top:26px;font-family:'Jost';font-weight:500;font-size:12px;line-height:1.2;letter-spacing:.22em;text-transform:uppercase;text-align:center;background:linear-gradient(120deg,#cda863,#9c7a36 48%,#e3cb93);color:#231c12;padding:18px;border-bottom:none;}
[data-nav].nav-open .nav-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
[data-nav].nav-open .nav-burger span:nth-child(2){opacity:0;}
[data-nav].nav-open .nav-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
@media(max-width:880px){
  .nav-desktop{display:none!important;}
  .nav-burger{display:flex;}
}
/* ---- footer: stack on mobile ---- */
@media(max-width:880px){ .footer-grid{grid-template-columns:1fr 1fr!important;gap:34px!important;} }
@media(max-width:520px){ .footer-grid{grid-template-columns:1fr!important;gap:30px!important;} }
