/* ============================================
   LUXORA & CO EVENTS — Editorial Luxury System v2
   Discipline: restraint. Symmetry. Slow. Warm.
   No harsh black. No bright white. No clutter.
   ============================================ */

:root{
  /* Backgrounds — alternate gently (soft ivory + warm beige) */
  --ivory:#f8f5ef;
  --cream:#f1eadd;
  --beige:#d8c7ad;
  --sand:#cbba98;
  --mist:#e9f0ea;          /* sage-tinted cream — for baby-event accents */

  /* Primary accent — sage green (the brand voice) */
  --sage:#8faf9b;
  --sage-2:#5f7f68;        /* deep sage — fills with light text, hovers, text accents */
  --sage-soft:#bfd2c6;     /* lighter sage — for soft hover backgrounds */

  /* Secondary metal — champagne (used sparingly, for subtle accents only) */
  --champagne:#c8a96a;
  --champagne-2:#ac8b4c;
  --champagne-soft:#dbc393;

  /* Baby palette swap — dusty blue (for baby-shower-specific moments) */
  --blue:#c5d3dc;
  --blue-2:#9eb4c1;
  --blush:#ecd7ce;

  /* Text & dark surfaces — deep sage charcoal, never black */
  --ink:#2f3a33;
  --ink-soft:#5e6a62;
  --taupe:#4c574f;
  --taupe-2:#28322b;

  /* Hairlines */
  --line:rgba(47,58,51,.10);
  --line-soft:rgba(47,58,51,.06);
  --line-light:rgba(248,245,239,.16);

  --serif:'Cormorant Garamond','Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --container:1240px;
  --container-narrow:1080px;
  --container-tight:780px;
  --pad-x:clamp(24px,5vw,72px);
  --r-sm:10px;
  --r-md:18px;
  --r-lg:24px;

  /* Spacing scale — used everywhere for rhythm */
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:48px;
  --space-6:64px;
  --space-7:80px;
  --space-8:120px;
  --space-9:160px;
  --space-10:200px;

  /* Section padding — single source of truth */
  --section-y:clamp(64px,7.5vw,110px);
  --section-y-tight:clamp(48px,6vw,80px);

  /* Type scale */
  --fs-display:clamp(2.8rem,6.4vw,5.4rem);
  --fs-h1:clamp(2.3rem,5vw,4rem);
  --fs-h2:clamp(2rem,4.2vw,3.4rem);
  --fs-h3:clamp(1.3rem,1.8vw,1.55rem);
  --fs-lead:1.05rem;
  --fs-body:.97rem;
  --fs-small:.88rem;
  --fs-micro:.66rem;

  /* Easing — Apple-like */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  margin:0;
  font-family:var(--sans);
  font-size:16px;
  font-weight:300;
  line-height:1.75;
  color:var(--ink);
  background:var(--ivory);
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:var(--champagne-soft);color:var(--ink)}

/* Subtle alternating background for visual rhythm */
section{background:var(--ivory)}
section.alt{background:var(--cream)}

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5{
  font-family:var(--serif);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.018em;
  color:var(--ink);
  margin:0 0 .4em;
}
h1{
  font-size:var(--fs-display);
  font-weight:300;
  line-height:1.02;
  letter-spacing:-.022em;
}
h2{
  font-size:var(--fs-h2);
  font-weight:300;
  line-height:1.05;
}
h3{font-size:var(--fs-h3);font-weight:400;line-height:1.18}
em,.italic-accent{font-style:italic;color:var(--sage-2);font-weight:300}
p{margin:0 0 1em;font-weight:300}
.lead{
  font-size:1.05rem;line-height:1.85;color:var(--ink-soft);font-weight:300;
  max-width:62ch;
}

.eyebrow{
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:400;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--sage-2);
  display:inline-flex;
  align-items:center;
  gap:.9rem;
  margin:0 0 1.6rem;
}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--sage)}
.eyebrow--light{color:var(--champagne-soft)}
.eyebrow--light::before{background:var(--champagne-soft)}
.eyebrow--center{justify-content:center}
.eyebrow--noline::before{display:none}

/* ---------- Layout ---------- */
.section{
  padding:var(--section-y) var(--pad-x);
  max-width:var(--container);
  margin:0 auto;
}
.section--full{max-width:none;padding-left:0;padding-right:0}
.section--narrow{max-width:var(--container-narrow)}
.section--tight{padding-top:var(--section-y-tight);padding-bottom:var(--section-y-tight)}
.section__head{
  max-width:720px;
  margin:0 auto var(--space-5);
  text-align:center;
}
.section__head--left{text-align:left;margin-left:0}
.section__sub{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:1.15rem;line-height:1.55;color:var(--ink-soft);margin-top:var(--space-2);
  max-width:56ch;margin-left:auto;margin-right:auto;
}

/* Full-bleed alt-bg wrapper — used to alternate section backgrounds cleanly */
.bg-cream{background:var(--cream)}
.bg-mist{background:var(--mist)}
.bg-ivory{background:var(--ivory)}

/* Card sub-themes — subtle editorial micro-tags under service cards */
.card__themes{
  margin-top:1.1rem;padding-top:1.1rem;
  border-top:1px solid var(--line-soft);
}
.card__themes-label{
  display:block;
  font-family:var(--sans);font-size:.54rem;font-weight:400;
  letter-spacing:.34em;text-transform:uppercase;color:var(--sage-2);
  margin-bottom:.7rem;
}
.card__themes ul{
  list-style:none;padding:0;margin:0;
  display:flex;flex-wrap:wrap;gap:.4rem;
}
.card__themes li{
  font-family:var(--sans);font-size:.66rem;font-weight:300;letter-spacing:.02em;
  color:var(--ink-soft);
  background:var(--mist);
  padding:.32rem .7rem;border-radius:999px;
  border:1px solid var(--line-soft);
  white-space:nowrap;line-height:1.3;
  transition:color .5s var(--ease), background .5s var(--ease), border-color .5s var(--ease);
  position:relative;cursor:default;outline:none;
}
.card:hover .card__themes li{background:rgba(135,147,122,.13)}
.card__themes li[data-tip]:hover,
.card__themes li[data-tip]:focus-visible{border-color:var(--sage);color:var(--ink)}

/* Elegant tooltip on theme pills — overlaid, never affects card height */
.card__themes li[data-tip]::after{
  content:attr(data-tip);
  position:absolute;left:50%;bottom:calc(100% + 11px);
  transform:translateX(-50%) translateY(5px);
  width:max-content;max-width:210px;
  background:var(--taupe-2);color:var(--ivory);
  font-family:var(--sans);font-size:.7rem;font-weight:300;letter-spacing:.015em;
  line-height:1.5;text-transform:none;text-align:center;white-space:normal;
  padding:.62rem .82rem;border-radius:12px;
  box-shadow:0 16px 34px -12px rgba(35,28,22,.5);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .4s var(--ease), transform .4s var(--ease);
  z-index:40;
}
.card__themes li[data-tip]::before{
  content:"";position:absolute;left:50%;bottom:calc(100% + 5px);
  transform:translateX(-50%);
  border:6px solid transparent;border-top-color:var(--taupe-2);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .4s var(--ease);
  z-index:41;
}
.card__themes li[data-tip]:hover::after,
.card__themes li[data-tip]:focus::after,
.card__themes li[data-tip]:focus-visible::after,
.card__themes li[data-tip]:active::after{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
}
.card__themes li[data-tip]:hover::before,
.card__themes li[data-tip]:focus::before,
.card__themes li[data-tip]:focus-visible::before,
.card__themes li[data-tip]:active::before{
  opacity:1;visibility:visible;
}
/* Keep edge tooltips on-screen: first pill anchors left, last pill anchors right */
.card__themes li[data-tip]:first-child::after{left:0;transform:translateX(0) translateY(5px)}
.card__themes li[data-tip]:first-child:hover::after,
.card__themes li[data-tip]:first-child:focus::after,
.card__themes li[data-tip]:first-child:focus-visible::after,
.card__themes li[data-tip]:first-child:active::after{transform:translateX(0) translateY(0)}
.card__themes li[data-tip]:first-child::before{left:18px}

/* Leaf-marked service list (flyer "What's Included" style) */
.included .addons__name{position:relative;padding-left:34px}
.included .addons__name::before{
  content:"";position:absolute;left:0;top:1px;
  width:20px;height:20px;
  background:url("leaf.svg") center/contain no-repeat;
}

/* Ribbon — sage banner with italic brand line (from flyer) */
.ribbon{
  background:var(--sage-2);
  padding:clamp(28px,4vw,44px) var(--pad-x);
  text-align:center;
}
.ribbon p{
  margin:0;max-width:var(--container);margin:0 auto;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.15rem,2.2vw,1.7rem);
  color:var(--ivory);letter-spacing:.01em;line-height:1.4;
  display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;
}
.ribbon p::before,.ribbon p::after{
  content:"";width:clamp(24px,5vw,60px);height:1px;background:var(--champagne-soft);opacity:.7;
  display:inline-block;
}
@media (max-width:600px){
  .ribbon p::before,.ribbon p::after{display:none}
}

/* Trust strip — thin credential band */
.trust-strip{padding:var(--space-5) var(--pad-x)}
.trust-strip__inner{
  max-width:var(--container);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--space-3);text-align:center;
}
.trust-strip__inner > div span{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.6rem,2.4vw,2.2rem);color:var(--ink);
  display:block;line-height:1;letter-spacing:-.01em;
}
.trust-strip__inner > div p{
  margin:.7rem 0 0;
  font-family:var(--sans);font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--sage-2);font-weight:400;
}
@media (max-width:768px){
  .trust-strip{padding:var(--space-4) 20px}
  .trust-strip__inner{grid-template-columns:repeat(2,1fr);gap:var(--space-4);}
  .trust-strip__inner > div span{font-size:1.5rem}
  .trust-strip__inner > div p{font-size:.6rem}
}

/* ---------- Buttons (refined: minimal, no shadow, no lift) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  padding:1.05rem 2.2rem;
  font-family:var(--sans);
  font-size:.7rem;font-weight:400;
  letter-spacing:.32em;
  text-transform:uppercase;
  border-radius:999px;
  transition:background .6s var(--ease), color .6s var(--ease), border-color .6s var(--ease);
  white-space:nowrap;cursor:pointer;
  border:1px solid transparent;
}
.btn--ink{background:var(--ink);color:var(--ivory)}
.btn--ink:hover{background:var(--taupe-2)}
.btn--gold{background:var(--sage-2);color:#fff}
.btn--gold:hover{background:#4d6856}
.btn--ghost{background:transparent;color:var(--ivory);border-color:rgba(250,246,238,.45)}
.btn--ghost:hover{background:rgba(250,246,238,.08);border-color:var(--ivory)}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:var(--ivory)}
.btn--full{width:100%}

/* Editorial text-link — replaces "view details" pill */
.link{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:var(--sans);
  font-size:.7rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;
  color:var(--ink);padding:6px 0;
  position:relative;
}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform-origin:left;transition:transform .8s var(--ease)}
.link:hover::after{transform:scaleX(.5)}
.link--sage{color:var(--sage-2)}
.link--sage::after{background:var(--sage-2)}
.link--gold{color:var(--champagne-2)}
.link--gold::after{background:var(--champagne-2)}
.link--light{color:var(--champagne-soft)}
.link--light::after{background:var(--champagne-soft)}

/* ---------- Nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  padding:24px clamp(24px,4vw,52px);
  transition:background .6s var(--ease), box-shadow .6s var(--ease), padding .6s var(--ease);
}
.nav.scrolled{
  background:rgba(250,246,238,.86);
  backdrop-filter:saturate(140%) blur(18px);
  -webkit-backdrop-filter:saturate(140%) blur(18px);
  box-shadow:0 1px 0 var(--line-soft);
  padding:14px clamp(24px,4vw,52px);
}
.nav__inner{
  max-width:1360px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.nav__logo{display:flex;align-items:center;gap:.75rem}
.nav__mark{
  width:50px;height:50px;flex-shrink:0;
  background:url("logo-monogram-trans.png") center/contain no-repeat;
  font-size:0;color:transparent;line-height:0;
  border-radius:0;
}
.nav__brand{
  font-family:var(--serif);font-size:1.1rem;letter-spacing:.36em;font-weight:500;
  color:var(--ink);text-transform:uppercase;line-height:1;
}
.nav__brand em{
  display:block;font-size:.58rem;letter-spacing:.46em;font-style:normal;font-weight:300;
  color:var(--sage-2);text-transform:uppercase;margin-top:6px;
}
.nav.is-light .nav__mark{background-image:url("logo-monogram-ivory.png")}
.nav.is-light .nav__brand{color:var(--ivory)}
.nav.is-light .nav__brand em{color:var(--champagne-soft)}
.nav__links{display:flex;gap:2.4rem;align-items:center}
.nav__links a{
  font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;font-weight:400;color:var(--ink);
  position:relative;padding:8px 0;
  transition:color .5s var(--ease);
}
.nav.is-light .nav__links a{color:rgba(250,246,238,.85)}
.nav__links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--sage);
  transition:right .8s var(--ease);
}
.nav__links a:hover::after,.nav__links a.active::after{right:0}
.nav__cta{padding:.75rem 1.4rem;font-size:.66rem;letter-spacing:.28em}
.nav__burger{display:none;flex-direction:column;gap:5px;padding:8px;z-index:62}
.nav__burger span{width:22px;height:1px;background:var(--ink);transition:transform .4s var(--ease),opacity .4s var(--ease),background .4s var(--ease)}
.nav.is-light .nav__burger span{background:var(--ivory)}
.nav__burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);background:var(--ivory)}
.nav__burger.open span:nth-child(2){opacity:0}
.nav__burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);background:var(--ivory)}
.nav__mobile{
  position:fixed;inset:0;
  background:var(--taupe-2);
  display:none;
  flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;
  z-index:61;
  padding:80px 30px 40px;
}
.nav__mobile.open{display:flex}
.nav__mobile a{color:var(--ivory);font-family:var(--serif);font-size:1.8rem;font-weight:300;letter-spacing:.02em}
.nav__mobile a em{color:var(--champagne-soft)}
.nav__mobile .btn{margin-top:1.2rem}
/* Mobile: compact lockup — monogram only, wordmark text hidden */
@media (max-width:600px){ .nav__brand{display:none} }

/* ---------- Hero (cinematic, restrained) ---------- */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:160px clamp(24px,5vw,72px) 120px;
  color:var(--ivory);overflow:hidden;
}
.hero__media{position:absolute;inset:0;z-index:0;background:#1a1410}
.hero__media img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.04);
  animation:slowZoom 28s ease-in-out infinite alternate;
  filter:brightness(.48) saturate(1.1) contrast(1.05);
}
@keyframes slowZoom{from{transform:scale(1.02)}to{transform:scale(1.10)}}
.hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,16,12,.45) 0%,rgba(20,16,12,.25) 50%,rgba(20,16,12,.70) 100%);
}
.hero__content{text-shadow:0 2px 16px rgba(0,0,0,.5)}
.hero h1{text-shadow:0 3px 28px rgba(0,0,0,.6), 0 0 50px rgba(0,0,0,.3)}
.hero__sub{text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hero__signature{text-shadow:0 1px 10px rgba(0,0,0,.5)}
.hero .eyebrow--light{text-shadow:0 1px 10px rgba(0,0,0,.6)}
.hero__content{position:relative;z-index:2;max-width:920px;margin:0 auto;text-align:center}
.hero__crest{
  display:block;width:clamp(60px,6.5vw,86px);height:auto;margin:0 auto 1.5rem;
  opacity:.9;filter:drop-shadow(0 2px 14px rgba(0,0,0,.45));
}
.hero h1{color:var(--ivory);font-weight:300}
.hero h1 em{color:var(--champagne-soft);font-weight:300}
.hero__sub{
  max-width:580px;margin:1.6rem auto 3rem;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:1.2rem;line-height:1.65;color:rgba(250,246,238,.86);
}
.hero__ctas{display:flex;gap:2rem;justify-content:center;align-items:center;flex-wrap:wrap}
.hero__signature{
  margin-top:5rem;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:.95rem;color:rgba(250,246,238,.62);letter-spacing:.05em;
}
.hero__signature span{margin:0 .8em;color:var(--champagne-soft)}
.hero__scroll{
  position:absolute;bottom:42px;left:50%;transform:translateX(-50%);z-index:2;
  font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:rgba(250,246,238,.6);
  display:flex;flex-direction:column;align-items:center;gap:16px;
  font-weight:400;
}
.hero__scroll span{
  width:1px;height:60px;background:rgba(250,246,238,.3);position:relative;overflow:hidden;
}
.hero__scroll span::after{
  content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--champagne-soft);
  animation:scrollLine 3.4s ease-in-out infinite;
}
@keyframes scrollLine{0%{top:-50%}100%{top:100%}}

/* Page hero (smaller) */
.page-hero{
  position:relative;min-height:64vh;display:flex;align-items:center;justify-content:center;
  padding:170px clamp(24px,5vw,72px) 110px;color:var(--ivory);overflow:hidden;text-align:center;
}
.page-hero__media{position:absolute;inset:0;z-index:0}
.page-hero__media img{width:100%;height:100%;object-fit:cover;animation:slowZoom 28s ease-in-out infinite alternate}
.page-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(61,54,48,.5) 0%,rgba(61,54,48,.32) 50%,rgba(61,54,48,.7) 100%);
}
.page-hero__inner{position:relative;z-index:2;max-width:780px;margin:0 auto}
.page-hero h1{color:var(--ivory);font-size:clamp(2.3rem,5.4vw,4.8rem);font-weight:300}
.page-hero h1 em{color:var(--champagne-soft);font-weight:300}
.page-hero p{
  margin:1.4rem auto 0;color:rgba(250,246,238,.84);
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.18rem;max-width:540px;line-height:1.6;
}

/* ---------- Reveal (slow, Apple-like) ---------- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 1.4s var(--ease), transform 1.4s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* ---------- Editorial split (large image · centered copy) ---------- */
.split{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(56px,8vw,120px);
  align-items:center;
  padding:var(--section-y) var(--pad-x);
  max-width:var(--container);margin:0 auto;
}
.split--reverse .split__media{order:2}
.split__media{position:relative}
.split__media img{
  width:100%;border-radius:var(--r-md);
  aspect-ratio:4/5;object-fit:cover;
}
.split__copy h2{margin-bottom:.6em}
.split__list{
  list-style:none;padding:0;margin:2.2rem 0;
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-top:1px solid var(--line);
}
.split__list li{
  padding:1.4rem 1.6rem 1.4rem 0;
  border-bottom:1px solid var(--line);
}
.split__list li:nth-child(odd){border-right:1px solid var(--line);padding-right:1.6rem}
.split__list li:nth-child(even){padding-left:1.6rem}
.split__list strong{
  display:block;font-family:var(--serif);font-size:1.18rem;font-weight:400;color:var(--ink);
  margin-bottom:.3rem;letter-spacing:-.005em;
}
.split__list span{font-size:.92rem;color:var(--ink-soft);font-weight:300;line-height:1.6}
.split__badge{display:none}
/* (badge retired — too "boutique-stamp" for editorial) */

/* ---------- Service cards (editorial, equalised heights) ---------- */
.card-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(28px,3vw,48px);
  align-items:stretch;
}
.card{
  background:transparent;
  display:flex;flex-direction:column;height:100%;
  transition:transform .9s var(--ease);
}
.card__media{
  position:relative;overflow:hidden;
  aspect-ratio:4/5;
  border-radius:var(--r-sm);
  margin-bottom:1.4rem;
  flex-shrink:0;
}
.card__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.8s var(--ease);
}
.card:hover .card__media img{transform:scale(1.04)}
.card__media .tag{display:none} /* retired pills */
.card__body{
  padding:0;display:flex;flex-direction:column;gap:.5rem;
  flex:1;
}
.card__body h3{margin:0;font-size:var(--fs-h3);font-weight:400;letter-spacing:-.005em;line-height:1.15}
.card__body p{
  color:var(--ink-soft);font-size:var(--fs-body);font-weight:300;line-height:1.7;
  margin:0;max-width:42ch;
}
.card__price{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-top:auto;padding-top:1.2rem;border:0;
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:1.05rem;color:var(--ink);
  letter-spacing:0;text-transform:none;
}
.card__price strong{
  font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.05rem;color:var(--ink);letter-spacing:0;
}
.card__price span,.card__price a{
  font-family:var(--sans);font-style:normal;font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--sage-2);font-weight:400;position:relative;padding:4px 0;
}
.card__price a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--sage-2);transform-origin:left;transition:transform .8s var(--ease)}
.card__price a:hover::after{transform:scaleX(.5)}

/* ---------- Theme cards (light, editorial — replaces dark overlay) ---------- */
.theme-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(36px,4vw,64px);
  align-items:stretch;
}
.theme-card{
  background:transparent;
  position:static;border-radius:0;overflow:visible;
  display:flex;flex-direction:column;height:100%;
  min-height:0;color:var(--ink);
  transition:none;
}
.theme-card:hover{transform:none;box-shadow:none}
.theme-card__bg{
  position:relative;inset:auto;
  aspect-ratio:4/5;border-radius:var(--r-sm);overflow:hidden;
  margin-bottom:1.8rem;
}
.theme-card__bg img{
  width:100%;height:100%;object-fit:cover;transition:transform 2s var(--ease);
}
.theme-card:hover .theme-card__bg img{transform:scale(1.04)}
.theme-card__bg::after{display:none}
.theme-card__inner{position:static;padding:0;width:100%;color:var(--ink);display:flex;flex-direction:column;flex:1}
.theme-card__inner .tag{
  font-family:var(--sans);font-size:.66rem;font-weight:400;
  letter-spacing:.36em;text-transform:uppercase;color:var(--sage-2);
  margin-bottom:.9rem;display:block;
}
.theme-card__inner h3{
  font-family:var(--serif);color:var(--ink);
  font-size:clamp(2rem,2.6vw,2.6rem);
  font-weight:300;line-height:1.05;margin-bottom:.5em;
}
.theme-card__inner h3 em{color:var(--sage-2);font-weight:300}
.theme-card__inner p{
  color:var(--ink-soft);max-width:48ch;font-size:1rem;font-weight:300;line-height:1.75;
  margin:0 0 1.6rem;
}
.theme-card__palette{display:flex;gap:10px;margin:0 0 1.6rem}
.theme-card__palette span{
  width:18px;height:18px;border-radius:50%;
  border:1px solid var(--line);
  display:inline-block;
}
.theme-card__includes{
  list-style:none;padding:0;margin:0 0 1.6rem;
  display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;
  font-family:var(--serif);font-style:italic;font-weight:300;color:var(--ink-soft);font-size:.95rem;
}
.theme-card__includes li{
  padding:0;border:0;background:transparent;
  letter-spacing:0;text-transform:none;
}
.theme-card__includes li + li::before{content:"·";color:var(--sage);margin-right:1.4rem;margin-left:-1.4rem}
.theme-card__cta{
  font-family:var(--sans);font-size:.66rem;font-weight:400;
  letter-spacing:.32em;text-transform:uppercase;color:var(--ink);
  padding:6px 0;border:0;display:inline-flex;align-items:center;gap:.7rem;
  position:relative;align-self:flex-start;margin-top:auto;
}
.theme-card__cta::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform-origin:left;transition:transform .8s var(--ease)}
.theme-card__cta::after{content:"→";font-family:var(--sans);}
.theme-card__cta:hover::before{transform:scaleX(.5)}

/* ---------- Editorial gallery (uniform 4/5 grid, magazine feel) ---------- */
.gallery-filters{
  display:flex;gap:0;justify-content:center;flex-wrap:wrap;margin-bottom:64px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.gallery-filters button{
  font-family:var(--sans);
  font-size:.68rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;
  padding:1.1rem 1.5rem;border-radius:0;border:0;background:transparent;color:var(--ink-soft);
  transition:color .5s var(--ease);position:relative;
}
.gallery-filters button:hover{color:var(--ink)}
.gallery-filters button::after{
  content:"";position:absolute;left:50%;right:50%;bottom:-1px;height:1px;background:var(--sage-2);
  transition:left .6s var(--ease), right .6s var(--ease);
}
.gallery-filters button.active{color:var(--ink)}
.gallery-filters button.active::after{left:1.5rem;right:1.5rem}

.editorial-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(8px,1vw,14px);
}
.editorial-grid figure{
  margin:0;position:relative;overflow:hidden;
  aspect-ratio:4/5;
  background:var(--cream);
  border-radius:0;
}
.editorial-grid figure img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 2s var(--ease), opacity .8s var(--ease);
}
.editorial-grid figure:hover img{transform:scale(1.05)}
.editorial-grid figcaption{
  position:absolute;inset:auto 0 0 0;padding:24px 22px 22px;
  background:linear-gradient(to top,rgba(61,54,48,.78),transparent);
  color:var(--ivory);
  opacity:0;transform:translateY(8px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.editorial-grid figure:hover figcaption{opacity:1;transform:translateY(0)}
.editorial-grid figcaption .tag{
  font-family:var(--sans);font-size:.6rem;font-weight:400;
  letter-spacing:.36em;text-transform:uppercase;color:var(--champagne-soft);
  display:block;margin-bottom:6px;
}
.editorial-grid figcaption strong{
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.1rem;letter-spacing:0;
}
/* legacy alias so existing markup still works */
.masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1vw,14px)}
.masonry__item{
  margin:0;position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--cream);
}
.masonry__item img{width:100%;height:100%;object-fit:cover;transition:transform 2s var(--ease)}
.masonry__item:hover img{transform:scale(1.05)}
.masonry__item figcaption{
  position:absolute;inset:auto 0 0 0;padding:24px 22px 22px;
  background:linear-gradient(to top,rgba(61,54,48,.78),transparent);
  color:var(--ivory);opacity:0;transform:translateY(8px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.masonry__item:hover figcaption{opacity:1;transform:translateY(0)}
.masonry__item figcaption .tag{
  font-family:var(--sans);font-size:.6rem;font-weight:400;
  letter-spacing:.36em;text-transform:uppercase;color:var(--champagne-soft);
  display:block;margin-bottom:6px;
}
.masonry__item figcaption strong{
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.1rem;letter-spacing:0;
}

/* ---------- Process / Experience ---------- */
.process-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(20px,2vw,32px);
  list-style:none;padding:0;margin:0;
  align-items:stretch;
}
.process-grid li{
  background:transparent;border-radius:0;padding:0;border:0;
  position:relative;
  border-top:1px solid var(--line);padding-top:1.8rem;
  display:flex;flex-direction:column;
  transition:none;
}
.process-grid li:hover{transform:none;box-shadow:none}
.process-grid .num{
  font-family:var(--serif);font-style:italic;font-size:1.05rem;
  color:var(--sage-2);font-weight:400;
  display:block;margin-bottom:1.4rem;letter-spacing:.06em;
}
.process-grid h3{font-size:1.4rem;font-weight:400;margin-bottom:.6rem}
.process-grid p{font-size:.96rem;color:var(--ink-soft);font-weight:300;line-height:1.7;margin:0}

/* ---------- Pricing (refined feature card) ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,2vw,32px);align-items:stretch}
.price-card{
  background:var(--ivory);border-radius:var(--r-md);padding:3rem 2.4rem;
  border:1px solid var(--line);
  display:flex;flex-direction:column;gap:1rem;position:relative;height:100%;
  transition:border-color .6s var(--ease);
}
.price-card__list{flex:1}
.price-card .btn{margin-top:auto}
.price-card:hover{border-color:var(--sage)}
.price-card--feature{
  background:var(--taupe-2);color:var(--ivory);
  border-color:transparent;
}
.price-card--feature h3,
.price-card--feature .price{color:var(--ivory)}
.price-card--feature .eyebrow{color:var(--champagne-soft)}
.price-card--feature .eyebrow::before{background:var(--champagne-soft)}
.price-card--feature .price-card__list li{border-color:rgba(250,246,238,.12);color:rgba(250,246,238,.82)}
.price-card--feature .price-card__list li::before{color:var(--champagne-soft)}
.price-card--feature .btn--gold{background:var(--ivory);color:var(--ink)}
.price-card--feature .btn--gold:hover{background:var(--cream)}
.price-card__ribbon{
  position:absolute;top:-13px;right:24px;
  background:var(--champagne);color:var(--ivory);
  padding:6px 14px;border-radius:999px;
  font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;font-weight:400;
}
.price{
  font-family:var(--serif);font-size:3rem;font-weight:300;color:var(--ink);line-height:1;
  letter-spacing:-.018em;
}
.price small{
  font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);
  font-weight:400;font-family:var(--sans);display:block;margin-top:.7rem;
}
.price-card--feature .price small{color:rgba(250,246,238,.6)}
.price-card__list{
  list-style:none;padding:0;margin:.8rem 0 1.6rem;
  display:flex;flex-direction:column;gap:0;flex:1;
}
.price-card__list li{
  display:flex;gap:.9rem;align-items:flex-start;
  padding:.85rem 0;border-bottom:1px solid var(--line);
  font-size:.95rem;color:var(--ink-soft);font-weight:300;line-height:1.55;
}
.price-card__list li::before{
  content:"";flex-shrink:0;
  width:4px;height:4px;border-radius:50%;
  background:var(--sage-2);
  margin-top:.6rem;
}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:0;max-width:780px;margin:0 auto}
.faq details{
  border-top:1px solid var(--line);padding:1.8rem 0;
}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{
  cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--ink);
  letter-spacing:-.005em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";width:14px;height:14px;flex-shrink:0;
  background:linear-gradient(var(--sage-2),var(--sage-2)) center/100% 1px no-repeat,
             linear-gradient(var(--sage-2),var(--sage-2)) center/1px 100% no-repeat;
  transition:transform .6s var(--ease);
}
.faq details[open] summary::after{transform:rotate(45deg);background:linear-gradient(var(--sage-2),var(--sage-2)) center/100% 1px no-repeat}
.faq details p{margin:1.2rem 0 0;color:var(--ink-soft);font-size:1.02rem;line-height:1.75;font-weight:300}

/* ---------- Testimonial (soft taupe, never black) ---------- */
.testimonial{
  background:var(--cream);
  color:var(--ink);
  padding:var(--section-y) var(--pad-x);
  text-align:center;position:relative;overflow:hidden;
}
.testimonial--dark{
  background:var(--taupe-2);color:var(--ivory);
}
.testimonial::before{display:none}
.testimonial__inner{position:relative;max-width:920px;margin:0 auto}
.quote-mark{
  font-family:var(--serif);font-style:italic;font-size:5rem;line-height:1;
  color:var(--sage);margin:0 0 .5rem;font-weight:300;
}
.testimonial blockquote{
  font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.4rem);
  line-height:1.4;font-weight:300;font-style:italic;
  color:var(--ink);margin:0 0 2.4rem;
  letter-spacing:-.008em;
}
.testimonial--dark blockquote{color:var(--ivory)}
.testimonial cite{
  font-style:normal;font-size:.66rem;letter-spacing:.4em;text-transform:uppercase;color:var(--sage-2);
  font-weight:400;
}
.testimonial--dark cite{color:var(--champagne-soft)}

.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,2.5vw,40px);align-items:stretch}
.review-card{
  background:transparent;border:0;border-top:1px solid var(--line);
  padding:2.4rem 0 0;border-radius:0;
  display:flex;flex-direction:column;gap:1.4rem;height:100%;
  transition:none;
}
.review-card:hover{transform:none;box-shadow:none}
.review-card__stars{color:var(--champagne);font-size:.85rem;letter-spacing:5px}
.review-card blockquote{
  font-family:var(--serif);font-size:1.18rem;line-height:1.55;font-style:italic;font-weight:300;
  color:var(--ink);margin:0;flex:1;letter-spacing:-.005em;
}
.review-card cite{
  font-style:normal;font-family:var(--sans);font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--ink);font-weight:400;
}
.review-card cite span{
  display:block;color:var(--ink-soft);font-weight:300;margin-top:6px;
  letter-spacing:.04em;text-transform:none;font-size:.88rem;font-family:var(--serif);font-style:italic;
}

/* Insta tiles */
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(6px,.6vw,10px)}
.insta-grid a{
  position:relative;aspect-ratio:1/1;overflow:hidden;display:block;background:var(--cream);
}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:transform 2s var(--ease)}
.insta-grid a:hover img{transform:scale(1.06)}
.insta-grid a::after{
  content:"";position:absolute;inset:0;background:rgba(61,54,48,0);transition:background .6s var(--ease);
}
.insta-grid a:hover::after{background:rgba(61,54,48,.32)}

/* ---------- Contact form ---------- */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,100px);align-items:start}
.contact__details{list-style:none;padding:0;margin:2.2rem 0 0;display:flex;flex-direction:column;gap:0}
.contact__details li{
  display:grid;grid-template-columns:100px 1fr;align-items:baseline;gap:1rem;
  padding:1.3rem 0;border-top:1px solid var(--line);font-size:.98rem;font-weight:300;
}
.contact__details li:last-of-type{border-bottom:1px solid var(--line)}
.contact__details span{
  font-family:var(--sans);font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--sage-2);font-weight:400;
}
.contact__details a{transition:color .5s var(--ease)}
.contact__details a:hover{color:var(--sage-2)}
.contact__form{
  background:var(--cream);border-radius:var(--r-md);padding:clamp(36px,4vw,56px);
  border:0;
}
.contact__form .eyebrow{margin-bottom:.8rem}
.contact__form h3{font-size:1.6rem;font-weight:400;margin-bottom:2rem;letter-spacing:-.008em}
.field{margin-bottom:1.4rem;display:flex;flex-direction:column;gap:.55rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field label{
  font-family:var(--sans);font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--sage-2);font-weight:400;
}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:.96rem;color:var(--ink);font-weight:300;
  background:var(--ivory);border:1px solid transparent;border-radius:var(--r-sm);
  padding:14px 16px;outline:none;
  transition:border-color .5s var(--ease),background .5s var(--ease);
  width:100%;
}
.field textarea{resize:vertical;min-height:130px}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--sage);background:var(--ivory);
}
.field--file label.upload{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  background:var(--ivory);border:1px dashed var(--sand);border-radius:var(--r-sm);
  padding:18px;font-size:.85rem;color:var(--ink-soft);cursor:pointer;
  transition:border-color .5s var(--ease),color .5s var(--ease);font-weight:300;
}
.field--file label.upload:hover{border-color:var(--sage);color:var(--ink)}
.form__note{margin:1rem 0 0;font-size:.84rem;color:var(--ink-soft);text-align:center;font-weight:300;font-family:var(--serif);font-style:italic}

/* Soft, luxury validation — never harsh red */
.form__validation{
  display:none;margin:0 0 1rem;padding:.85rem 1.1rem;
  background:var(--mist);border:1px solid var(--sage-soft);border-radius:var(--r-sm);
  font-family:var(--serif);font-style:italic;color:var(--sage-2);font-size:.95rem;text-align:center;
}
.form__validation.show{display:block}
.field--invalid input,.field--invalid select,.field--invalid textarea{
  border-color:var(--champagne);
  background:rgba(201,169,97,.06);
}
.q-card.q-card--invalid{box-shadow:0 0 0 1px var(--champagne)}
.q-card__flag{
  display:none;margin-top:.6rem;
  font-family:var(--serif);font-style:italic;color:var(--champagne-2);font-size:.85rem;
}
.q-card--invalid .q-card__flag{display:block}
.form__success{
  display:none;margin-top:1rem;padding:14px 16px;
  background:var(--ivory);border:1px solid var(--sage);border-radius:var(--r-sm);
  color:var(--ink);font-size:.92rem;text-align:center;font-weight:300;
}
.form__success.show{display:block}

/* ---------- WhatsApp float (refined) ---------- */
.wa-float{
  position:fixed;bottom:28px;right:28px;z-index:55;
  width:54px;height:54px;border-radius:50%;
  background:#25D366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 12px 28px -12px rgba(37,211,102,.5);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.wa-float:hover{transform:scale(1.06);box-shadow:0 16px 32px -10px rgba(37,211,102,.6)}
.wa-float svg{width:26px;height:26px;fill:#fff}

/* ---------- Footer (warm taupe, never black) ---------- */
.footer{
  background:var(--taupe-2);color:rgba(250,246,238,.72);
  padding:120px clamp(24px,5vw,72px) 40px;
}
.footer__inner{
  max-width:var(--container);margin:0 auto;
  display:grid;grid-template-columns:1.1fr 2fr;gap:80px;
  padding-bottom:60px;border-bottom:1px solid var(--line-light);
}
.footer__brand{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}
.footer__brand .nav__mark{
  width:212px;height:188px;max-width:60vw;
  background-image:url("logo-full-ivory.png");
}
/* The full footer logo already carries the wordmark, so the text lockup is hidden. */
.footer__brand p{display:none}
.footer__brand p em{
  display:block;font-size:.62rem;letter-spacing:.46em;color:var(--champagne-soft);font-style:normal;
  margin-top:6px;font-weight:300;
}
.footer__brand small{
  margin-top:1.4rem;font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:1.05rem;line-height:1.6;max-width:330px;color:rgba(250,246,238,.55);
}
.footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.footer__cols h5{
  font-family:var(--sans);font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--champagne-soft);margin:0 0 1.4rem;font-weight:400;
}
.footer__cols a{
  display:block;padding:.42rem 0;font-size:.95rem;color:rgba(250,246,238,.7);
  font-weight:300;transition:color .5s var(--ease);
}
.footer__cols a:hover{color:var(--ivory)}
.footer__base{
  max-width:var(--container);margin:0 auto;padding-top:30px;text-align:center;
  font-size:.7rem;color:rgba(250,246,238,.4);letter-spacing:.18em;text-transform:uppercase;font-weight:400;
}

/* ---------- CTA banner (cream, restrained) ---------- */
.cta-banner{
  background:var(--cream);padding:var(--section-y) var(--pad-x);
  text-align:center;position:relative;overflow:hidden;
}
.cta-banner::before{display:none}
.cta-banner__inner{position:relative;max-width:680px;margin:0 auto}
.cta-banner h2{margin-bottom:.5em}

/* ---------- Decorative divider ---------- */
.divider{
  display:flex;align-items:center;justify-content:center;
  margin:3rem auto;max-width:120px;
}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.divider span{
  font-family:var(--serif);font-style:italic;color:var(--sage-2);font-size:1.2rem;
  margin:0 1rem;
}

/* ============================================
   New components — packages v2, booking flow,
   questionnaire, RSVP, terms
   ============================================ */

/* ---- Package cards (two-tier signature) ---- */
.pkg-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,2.5vw,36px);
  max-width:var(--container-narrow);margin:0 auto;align-items:stretch;
}
.pkg{
  background:var(--ivory);border-radius:var(--r-md);
  padding:clamp(36px,3.5vw,56px) clamp(32px,3vw,48px);
  border:1px solid var(--line);position:relative;
  display:flex;flex-direction:column;gap:1.2rem;height:100%;
  transition:border-color .8s var(--ease);
}
.pkg .btn{margin-top:auto}
.pkg__list{flex:1}
.pkg:hover{border-color:var(--sage)}
.pkg--feature{background:var(--mist);border-color:transparent}
.pkg__tag{
  font-family:var(--sans);font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--sage-2);font-weight:400;display:flex;align-items:center;gap:.8rem;
}
.pkg__tag::before{content:"";width:32px;height:1px;background:var(--sage)}
.pkg__title{
  font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3vw,2.8rem);
  line-height:1.05;letter-spacing:-.012em;margin:0;color:var(--ink);
}
.pkg__title em{color:var(--sage-2);font-weight:300}
.pkg__price{
  font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,3.6vw,3.4rem);
  color:var(--ink);line-height:1;letter-spacing:-.018em;margin:0;
}
.pkg__price small{
  display:block;margin-top:.6rem;
  font-family:var(--sans);font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:400;
}
.pkg__sub{
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.05rem;
  color:var(--ink-soft);margin:0;line-height:1.55;
}
.pkg__list{
  list-style:none;padding:0;margin:.4rem 0;
  display:flex;flex-direction:column;gap:0;
}
.pkg__list li{
  display:flex;gap:1rem;align-items:flex-start;
  padding:.95rem 0;border-bottom:1px solid var(--line);
  font-size:.96rem;color:var(--ink-soft);font-weight:300;line-height:1.55;
}
.pkg__list li::before{
  content:"";flex-shrink:0;width:5px;height:5px;border-radius:50%;
  background:var(--sage);margin-top:.55rem;
}
.pkg__list li strong{color:var(--ink);font-weight:400}
.pkg__terms{
  background:rgba(135,147,122,.08);
  border-radius:var(--r-sm);padding:1.2rem 1.4rem;margin-top:.4rem;
  font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--ink-soft);line-height:1.55;
}
.pkg__terms strong{
  display:block;font-family:var(--sans);font-style:normal;font-weight:400;
  font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--sage-2);
  margin-bottom:.6rem;
}
.pkg__terms-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}

/* ---- Add-ons editorial menu ---- */
.addons{max-width:980px;margin:0 auto}
.addons__row{
  display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2rem;
  padding:1.4rem 0;border-bottom:1px solid var(--line);
}
.addons__row:first-child{border-top:1px solid var(--line)}
.addons__name{
  font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--ink);
  letter-spacing:-.005em;
}
.addons__name small{
  display:block;font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:.95rem;color:var(--ink-soft);margin-top:.3rem;line-height:1.55;letter-spacing:0;
}
.addons__price{
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.1rem;
  color:var(--sage-2);white-space:nowrap;
}

/* ---- 3-step booking flow ---- */
.steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  max-width:1080px;margin:0 auto;
  position:relative;
}
.steps::before{
  content:"";position:absolute;top:34px;left:16.66%;right:16.66%;height:1px;
  background:var(--line);z-index:0;
}
.step{
  text-align:center;padding:0 1.2rem;position:relative;z-index:1;
}
.step__num{
  display:inline-grid;place-items:center;
  width:68px;height:68px;border-radius:50%;
  background:var(--ivory);border:1px solid var(--sage);
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.6rem;color:var(--sage-2);
  margin:0 auto 1.6rem;
}
.step h3{font-size:1.45rem;font-weight:400;margin:0 0 .6rem;letter-spacing:-.005em}
.step p{font-size:.96rem;color:var(--ink-soft);font-weight:300;line-height:1.7;margin:0}
.step__meta{
  display:block;margin-top:.8rem;
  font-family:var(--sans);font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--sage-2);font-weight:400;
}

/* ---- Questionnaire visual blocks ---- */
.q-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(28px,3vw,48px);
  max-width:1100px;margin:0 auto;
}
.q-card{
  background:var(--ivory);border-radius:var(--r-md);
  padding:clamp(28px,2.5vw,40px);
  border:1px solid var(--line);
  display:flex;flex-direction:column;gap:1rem;
}
.q-card__num{
  font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--sage-2);font-weight:400;
}
.q-card h3{font-size:1.5rem;font-weight:400;margin:0 0 .4rem;letter-spacing:-.008em}
.q-card p{font-size:.96rem;color:var(--ink-soft);font-weight:300;line-height:1.65;margin:0}
.q-options{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:.8rem;
}
.q-options label{
  display:flex;align-items:center;justify-content:center;
  padding:.85rem;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--ivory);font-family:var(--sans);font-size:.78rem;letter-spacing:.05em;
  color:var(--ink-soft);cursor:pointer;font-weight:300;
  transition:border-color .5s var(--ease),color .5s var(--ease),background .5s var(--ease);
  text-align:center;line-height:1.3;
}
.q-options label:hover{border-color:var(--sage);color:var(--ink)}
.q-options input[type=checkbox],.q-options input[type=radio]{display:none}
.q-options input:checked + span,
.q-options label:has(input:checked){background:var(--mist);border-color:var(--sage);color:var(--ink)}

.q-palette{display:flex;gap:14px;margin-top:.8rem;flex-wrap:wrap}
.q-palette label{
  width:48px;height:48px;border-radius:50%;border:1px solid var(--line);cursor:pointer;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
  position:relative;
}
.q-palette label:hover{transform:scale(1.08)}
.q-palette input{display:none}
.q-palette input:checked + span{position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--sage-2)}

/* ---- RSVP page ---- */
.rsvp-wrap{max-width:780px;margin:0 auto}
.rsvp-event{
  background:var(--mist);border-radius:var(--r-md);
  padding:clamp(28px,3vw,44px);margin-bottom:3rem;text-align:center;
}
.rsvp-event h2{margin:0 0 .5rem;font-size:clamp(2rem,3vw,2.8rem);font-weight:300}
.rsvp-event h2 em{color:var(--sage-2)}
.rsvp-event p{
  font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--ink-soft);margin:0;font-weight:300;
}
.rsvp-event__meta{
  display:flex;justify-content:center;gap:2.4rem;flex-wrap:wrap;
  margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid var(--line);
}
.rsvp-event__meta div span{
  display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.32em;
  text-transform:uppercase;color:var(--sage-2);font-weight:400;margin-bottom:.3rem;
}
.rsvp-event__meta div strong{font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--ink)}

.rsvp-form{
  background:var(--ivory);border-radius:var(--r-md);
  padding:clamp(28px,3vw,44px);border:1px solid var(--line);
}
.rsvp-status{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:.5rem;
}
.rsvp-status label{
  padding:1rem;border:1px solid var(--line);border-radius:var(--r-sm);
  text-align:center;cursor:pointer;font-family:var(--serif);font-size:1.05rem;font-weight:300;
  color:var(--ink-soft);transition:all .5s var(--ease);
}
.rsvp-status label:hover{border-color:var(--sage);color:var(--ink)}
.rsvp-status input{display:none}
.rsvp-status input:checked + span{display:block}

/* ---- Terms page ---- */
.terms{max-width:780px;margin:0 auto}
.terms__intro{
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.18rem;
  color:var(--ink-soft);text-align:center;margin:0 auto 3.5rem;max-width:580px;line-height:1.6;
}
.terms h2{font-size:1.6rem;font-weight:400;margin:3rem 0 1rem;letter-spacing:-.005em}
.terms h2:first-of-type{margin-top:0}
.terms p{font-size:1rem;color:var(--ink-soft);font-weight:300;line-height:1.85;margin:0 0 1rem}
.terms__divider{
  width:60px;height:1px;background:var(--sage);margin:3.5rem auto;
}

/* ---- Founder editorial block ---- */
.founder{
  display:grid;grid-template-columns:1fr 1.05fr;
  gap:clamp(48px,7vw,96px);align-items:center;
  padding:var(--section-y) clamp(28px,6vw,80px);
  max-width:1180px;margin:0 auto;
}
.founder__copy{max-width:520px;justify-self:start}
.founder__media{position:relative;justify-self:end;width:100%;max-width:480px}
.founder__media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md);display:block}
.founder__caption{
  margin:1.6rem 0 0;
  text-align:center;
  font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ink);font-weight:400;
}
.founder__caption span{
  display:block;margin-top:.55rem;
  font-family:var(--sans);font-style:normal;font-size:.6rem;letter-spacing:.36em;
  text-transform:uppercase;color:var(--sage-2);font-weight:400;
}
/* Backwards compat */
.founder__sig{display:none}

/* ---- Pull-quote ---- */
.pull-quote{
  max-width:780px;margin:5rem auto;padding:0 clamp(24px,5vw,40px);
  text-align:center;
}
.pull-quote blockquote{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.4;
  color:var(--ink);margin:0;letter-spacing:-.005em;
}
.pull-quote::before{
  content:"";display:block;width:40px;height:1px;background:var(--sage);margin:0 auto 2rem;
}

/* ---------- One-time inquiry popup ---------- */
.popup{
  position:fixed;inset:0;z-index:200;
  opacity:0;visibility:hidden;
  transition:opacity .6s var(--ease), visibility .6s var(--ease);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.popup.open{opacity:1;visibility:visible}
.popup__backdrop{
  position:absolute;inset:0;
  background:rgba(20,16,12,.55);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.popup__panel{
  position:relative;z-index:1;
  width:100%;max-width:880px;
  background:var(--ivory);
  border-radius:var(--r-md);
  display:grid;grid-template-columns:1fr 1.05fr;
  overflow:hidden;
  box-shadow:0 40px 100px -20px rgba(20,16,12,.4);
  transform:translateY(20px) scale(.98);
  transition:transform .7s var(--ease);
  max-height:92vh;
}
.popup.open .popup__panel{transform:translateY(0) scale(1)}
.popup__media{
  position:relative;overflow:hidden;
  min-height:480px;
}
.popup__media img{
  width:100%;height:100%;object-fit:cover;
  position:absolute;inset:0;
}
.popup__close{
  position:absolute;top:18px;right:18px;z-index:2;
  width:38px;height:38px;border-radius:50%;
  background:rgba(250,246,238,.92);
  color:var(--ink);font-size:1.2rem;line-height:1;
  display:grid;place-items:center;
  cursor:pointer;
  transition:background .4s var(--ease), transform .4s var(--ease);
}
.popup__close:hover{background:var(--ivory);transform:rotate(90deg)}
.popup__content{
  padding:clamp(32px,3.5vw,52px) clamp(28px,3vw,44px);
  display:flex;flex-direction:column;justify-content:center;
  overflow-y:auto;
}
.popup__crest{display:block;width:52px;height:auto;margin:0 0 1rem}
.popup__content .eyebrow{margin-bottom:1rem}
.popup__content h3{
  font-family:var(--serif);font-size:clamp(1.7rem,2.4vw,2.2rem);
  font-weight:300;line-height:1.1;margin:0 0 .8rem;letter-spacing:-.012em;
}
.popup__content h3 em{color:var(--sage-2)}
.popup__lead{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:1rem;line-height:1.55;color:var(--ink-soft);
  margin:0 0 1.6rem;
}
.popup__form{display:flex;flex-direction:column;gap:.9rem}
.popup__form .field{margin:0;gap:.4rem}
.popup__form .field input{
  padding:12px 14px;font-size:.92rem;
  background:var(--cream);border:1px solid transparent;border-radius:var(--r-sm);
}
.popup__form .field input:focus{border-color:var(--sage);background:var(--ivory);outline:none}
.popup__form .field label{font-size:.6rem}
.popup__consent{
  font-family:var(--serif);font-style:italic;font-weight:300;font-size:.82rem;
  color:var(--ink-soft);margin:.4rem 0 .6rem;line-height:1.5;
}
.popup__success{
  text-align:center;padding:1rem 0;
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
}
.popup__success .eyebrow{margin-bottom:0;justify-content:center}
.popup__success h3{margin:0}
.popup__success p{
  font-family:var(--serif);font-style:italic;font-weight:300;color:var(--ink-soft);
  font-size:1.05rem;margin:.4rem 0 0;
}
@media (max-width:768px){
  .popup{padding:0;align-items:flex-end}
  .popup__panel{
    grid-template-columns:1fr;
    max-height:96vh;
    border-radius:var(--r-md) var(--r-md) 0 0;
    transform:translateY(40px);
  }
  .popup.open .popup__panel{transform:translateY(0)}
  .popup__media{min-height:200px;max-height:200px}
  .popup__content{padding:28px 24px 32px}
  .popup__content h3{font-size:1.5rem}
  .popup__close{top:14px;right:14px;width:34px;height:34px;font-size:1.1rem}
}

/* ---- Discovery call calendar ---- */
.dcal{
  display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.4vw,18px);
  max-width:1000px;margin:0 auto;align-items:start;
}
.dcal__day{
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.4rem 1rem;text-align:center;
}
.dcal__day h3{font-family:var(--serif);font-weight:400;font-size:1.15rem;margin:0 0 .2rem;letter-spacing:-.005em}
.dcal__hours{font-family:var(--sans);font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--sage-2);margin:0 0 1.1rem}
.dcal__slots{display:flex;flex-direction:column;gap:.5rem}
.dcal__slot{
  font-family:var(--sans);font-size:.8rem;color:var(--ink-soft);
  background:var(--mist);border:1px solid var(--line-soft);border-radius:999px;
  padding:.55rem .4rem;cursor:pointer;
  transition:background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.dcal__slot:hover{border-color:var(--sage);color:var(--ink)}
.dcal__slot.selected{background:var(--sage-2);color:var(--ivory);border-color:var(--sage-2)}
.dcal__weekend{
  max-width:1000px;margin:2.4rem auto 0;text-align:center;
  font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:1.05rem;
  padding-top:1.8rem;border-top:1px solid var(--line);
}
.dcal__confirm{text-align:center;margin-top:var(--space-6);min-height:2rem}
.dcal__confirm .btn[disabled]{opacity:.4;pointer-events:none}
.call-gate{max-width:560px;margin:0 auto;text-align:center}
@media (max-width:768px){.dcal{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.dcal{grid-template-columns:1fr}}

/* ---- Discovery call — 30-day month calendar ---- */
.mcal{
  max-width:560px;margin:0 auto;
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--r-md);
  padding:clamp(18px,2.4vw,30px);
}
.mcal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.3rem}
.mcal__title{font-family:var(--serif);font-weight:400;font-size:clamp(1.25rem,2.2vw,1.5rem);letter-spacing:-.005em;color:var(--ink)}
.mcal__nav{
  width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line);background:var(--cream);color:var(--ink);
  font-size:1.35rem;line-height:1;cursor:pointer;display:grid;place-items:center;
  transition:background .35s var(--ease),border-color .35s var(--ease),opacity .35s var(--ease);
}
.mcal__nav:hover{background:var(--mist);border-color:var(--sage)}
.mcal__nav[disabled]{opacity:.25;pointer-events:none}
.mcal__dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}
.mcal__dow span{text-align:center;font-family:var(--sans);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-2)}
.mcal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.mcal__cell{
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
  border:1px solid transparent;border-radius:var(--r-sm);background:transparent;
  font-family:var(--sans);font-size:.92rem;color:var(--ink-soft);cursor:default;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.mcal__cell--empty{border:none;background:none}
.mcal__cell--open{background:var(--mist);border-color:var(--line-soft);color:var(--ink);cursor:pointer}
.mcal__cell--open:hover{background:var(--sage-soft);border-color:var(--sage);color:var(--taupe-2)}
.mcal__cell--selected{background:var(--sage-2)!important;border-color:var(--sage-2)!important;color:var(--ivory)!important}
.mcal__cell--weekend{color:var(--sage-soft);opacity:.7}
.mcal__cell--out{color:#cfc7ba;opacity:.5}
.mcal__legend{margin:1.3rem 0 0;text-align:center;font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:.92rem}
.mcal__legend em{color:var(--sage-2);font-style:italic}
.mcal__times{max-width:560px;margin:1.9rem auto 0;text-align:center}
.mcal__times-title{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:var(--ink);margin:0 0 1.1rem}
.dcal__slots-row{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;max-width:520px;margin:0 auto}
.dcal__slots-row .dcal__slot{flex:0 0 auto;min-width:94px}
@media (max-width:480px){
  .mcal{padding:18px 14px}
  .mcal__cell{font-size:.85rem}
  .dcal__slots-row .dcal__slot{min-width:0;flex:1 1 28%}
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .card-grid,.review-grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}
  .theme-grid{grid-template-columns:1fr;gap:60px}
  .editorial-grid,.masonry{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr);gap:40px}
  .insta-grid{grid-template-columns:repeat(4,1fr)}
  .footer__inner{grid-template-columns:1fr;gap:50px}
  .nav__links{gap:1.6rem}
  .pkg-grid{grid-template-columns:1fr;gap:36px}
  .q-grid{grid-template-columns:1fr;gap:24px}
  .founder{grid-template-columns:1fr;gap:56px;text-align:center}
  .founder__copy{justify-self:center;max-width:600px;text-align:center}
  .founder__media{justify-self:center;max-width:440px}
  .founder__copy .eyebrow{justify-content:center}
}
@media (max-width:768px){
  body{font-size:15px;line-height:1.7}
  .nav{padding:14px 20px}
  .nav.scrolled{padding:10px 20px}
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:flex}
  .nav__brand{font-size:.92rem;letter-spacing:.26em}
  .nav__brand em{font-size:.5rem;letter-spacing:.4em}
  .split,.contact-grid{grid-template-columns:1fr;gap:48px}
  .split--reverse .split__media{order:0}
  .split__list{grid-template-columns:1fr}
  .split__list li:nth-child(odd){border-right:0;padding-right:0}
  .split__list li:nth-child(even){padding-left:0}
  .field-row{grid-template-columns:1fr}
  .footer__cols{grid-template-columns:1fr 1fr;gap:24px}
  h1{font-size:clamp(2.2rem,9vw,3.6rem);letter-spacing:-.022em}
  h2{font-size:clamp(1.8rem,7vw,2.8rem)}
  h3{font-size:1.25rem}
  .lead{font-size:1rem;line-height:1.75}
  .hero{padding:120px 20px 80px;min-height:88vh}
  .hero__sub{font-size:1.02rem;margin:1.2rem auto 2.2rem}
  .hero__ctas{gap:1.2rem}
  .hero__signature{margin-top:2.4rem;font-size:.8rem;letter-spacing:.02em}
  .hero__scroll{display:none}
  .page-hero{padding:120px 20px 70px;min-height:54vh}
  .section{padding:64px 20px}
  .split,.founder{padding:64px 20px}
  .section__head{margin-bottom:42px}
  .section__sub{font-size:1.05rem}
  .steps{grid-template-columns:1fr;gap:40px}
  .steps::before{display:none}
  .addons__row{grid-template-columns:1fr;gap:.4rem;padding:1.1rem 0}
  .addons__price{text-align:left;font-size:1rem}
  .rsvp-event__meta{gap:1.2rem}
  .pricing-grid{gap:20px}
  .price-card{padding:2.2rem 1.8rem}
  .pkg{padding:2.4rem 1.8rem}
  .testimonial blockquote{font-size:1.25rem;line-height:1.45}
  .quote-mark{font-size:3.4rem}
  .btn{padding:.95rem 1.8rem;font-size:.66rem;letter-spacing:.28em}
}
@media (max-width:560px){
  .card-grid,.review-grid,.pricing-grid{grid-template-columns:1fr;gap:36px}
  .editorial-grid,.masonry{grid-template-columns:1fr;gap:12px}
  .process-grid{grid-template-columns:1fr}
  .insta-grid{grid-template-columns:repeat(3,1fr)}
  .footer__cols{grid-template-columns:1fr;gap:32px}
  .wa-float{width:48px;height:48px;bottom:18px;right:18px}
  .wa-float svg{width:22px;height:22px}
  .gallery-filters{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;border-left:0;border-right:0}
  .gallery-filters button{flex-shrink:0;padding:1rem 1.1rem}
  .section__head{margin-bottom:36px}
  .section{padding:56px 18px}
  .split,.founder{padding:56px 18px}
  .hero{padding:110px 18px 70px}
  .page-hero{padding:110px 18px 60px}
  .card__media{margin-bottom:1.1rem}
  .card__body h3{font-size:1.4rem}
  .pkg__price{font-size:2.4rem}
  .footer{padding:80px 20px 30px}
  .footer__inner{padding-bottom:40px;gap:32px}
}

/* ============================================================================
   LUXURY ATMOSPHERE PASS  —  visual polish only (pacing · grading · motion).
   Pure override layer appended last. No structural, content, layout, hierarchy,
   navigation, form, or booking-flow changes.
   ============================================================================ */

/* — Pacing: a little more editorial breathing room between sections — */
:root{
  --section-y:clamp(74px,8.2vw,134px);
  --section-y-tight:clamp(56px,6.4vw,96px);
}

/* — Cinematic, tonally-unified hero grading so every page's photograph reads as
     one warm, curated editorial set. (No opacity animation — heroes must never
     depend on a running animation to be visible.) — */
.page-hero__media img{
  filter:brightness(.97) saturate(.9) contrast(1.03) sepia(.06);
  will-change:transform;
}
.page-hero__overlay{
  background:
    linear-gradient(180deg, rgba(40,50,43,.5) 0%, rgba(40,50,43,.28) 50%, rgba(40,50,43,.74) 100%),
    radial-gradient(125% 85% at 50% 28%, rgba(201,169,97,.06), transparent 62%);
}

/* — Softer, slower section reveals — */
.reveal{ transition:opacity 1.5s var(--ease), transform 1.5s var(--ease); will-change:opacity,transform; }

/* — Understated hover lifts (celebration / package / review cards; theme cards
     intentionally remain flat) — */
.card,.price-card,.pkg,.review-card{ transition:transform 1s var(--ease), box-shadow 1s var(--ease); }
.card:hover{ transform:translateY(-6px); }
.card:hover .card__media{ box-shadow:0 30px 60px -34px rgba(40,50,43,.55); }
.card__media,.theme-card__bg{ transition:box-shadow 1s var(--ease); }
.card__media img,.theme-card__bg img{ transition:transform 1.4s var(--ease); }
.price-card:hover,.review-card:hover,.pkg:hover{ transform:translateY(-5px); box-shadow:0 30px 60px -36px rgba(40,50,43,.4); }

/* — Buttons: subtle, expensive lift — */
.btn{ transition:background .6s var(--ease), color .6s var(--ease), border-color .6s var(--ease), transform .55s var(--ease), box-shadow .55s var(--ease); }
.btn--gold:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -16px rgba(95,127,104,.6); }
.btn--ink:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -16px rgba(40,50,43,.5); }
.btn--outline:hover,.btn--ghost:hover{ transform:translateY(-2px); }

/* — Accordion: gentle content reveal on open — */
.faq summary{ transition:color .45s var(--ease); }
.faq summary:hover{ color:var(--sage-2); }
.faq details[open] p{ animation:faqReveal .6s var(--ease) both; }
@keyframes faqReveal{ from{opacity:0; transform:translateY(-6px)} to{opacity:1; transform:none} }

/* — Typography: airier editorial rhythm — */
.lead{ line-height:1.72; }
.section__sub{ line-height:1.66; }
.split__copy p,.founder__copy p{ line-height:1.78; }

/* — Mobile: same calm, premium pacing; no hover-lift on touch — */
@media (max-width:768px){
  .reveal{ transform:translateY(16px); transition-duration:1.15s; }
  .card:hover,.price-card:hover,.review-card:hover,.pkg:hover{ transform:none; box-shadow:none; }
  .section__head{ margin-bottom:42px; }
}

/* — Respect reduced-motion preferences — */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  .reveal{ opacity:1!important; transform:none!important; }
}
