:root{
  --ivory:#faf6f0;
  --cream:#f7f0e6;
  --paper:#f0e6d8;
  --blush:#f3d8de;
  --blush-deep:#e8a8b4;
  --sage:#9aaf9a;
  --sage-soft:#dfe8df;
  --brown:#6b5040;
  --ink:#4a3a30;
  --muted:#8a7568;
  --gold:#c4a06a;
  --gold2:#e0c897;
  --gold-soft:#f3e8d0;
  --wa:#2d9a5a;
  --wa-soft:#e8f5ee;
  --shadow:0 16px 40px -28px rgba(90,62,43,.28);
  --shadow-soft:0 10px 28px -20px rgba(90,62,43,.22);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:300 1.08rem/1.85 Jost,system-ui,sans-serif;color:var(--ink);background:var(--ivory)}
a{color:var(--brown);transition:color .2s}
a:hover{color:var(--gold)}
.wrap{width:min(1080px,90%);margin:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99;border-radius:8px}
h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:500;color:var(--brown);line-height:1.2}
h2{font-size:clamp(2rem,4vw,2.75rem);margin-bottom:1rem;font-weight:500}
h3{font-size:1.45rem;margin-bottom:.55rem;font-weight:500}
.script{font-family:"Great Vibes",cursive;font-weight:400;color:var(--gold)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--gold);font-weight:500;margin-bottom:.75rem}
.center{text-align:center}.muted{color:var(--muted);line-height:1.7}
.lead{font-size:1.12rem;max-width:36rem;margin:1rem 0 1.8rem;line-height:1.85;color:var(--ink)}
.center .lead,.section-lead{margin-inline:auto}
.section-lead{margin-bottom:0;color:var(--muted)}
.about-lead{font-size:1.08rem;line-height:1.85;margin:0 0 1.6rem;color:var(--ink);max-width:34rem}
.book-note{color:var(--muted);font-size:.98rem;margin:0 0 1.4rem}
.btn{display:inline-block;padding:.9rem 1.75rem;border-radius:999px;text-decoration:none;font-weight:400;letter-spacing:.02em;transition:.25s ease;border:1.5px solid transparent}
.btn.wa{background:var(--brown);color:#fff}.btn.wa:hover{background:var(--gold);color:#fff}
.btn.ghost{border-color:var(--gold);color:var(--brown);background:transparent}.btn.ghost:hover{background:var(--gold-soft);border-color:var(--gold);color:var(--brown)}
.btn.light{color:#fff;border-color:rgba(255,255,255,.55)}.btn.light:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
.btn-sm{padding:.55rem 1.15rem;font-size:.92rem}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.2rem}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(250,246,240,.94);backdrop-filter:blur(10px);border-bottom:1px solid #ebe0d2}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-family:"Great Vibes",cursive;font-size:2.05rem;color:var(--gold);text-decoration:none}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--brown);margin:7px 6px;transition:.2s;border-radius:2px}
nav{display:flex;align-items:center;gap:1.7rem}
nav a:not(.btn){text-decoration:none;font-size:.95rem;font-weight:400;color:var(--brown)}
nav a:not(.btn):hover{color:var(--gold)}
@media(max-width:820px){
  .burger{display:block}
  nav{position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--ivory);padding:1.6rem;border-bottom:1px solid #ebe0d2;display:none;gap:1.2rem}
  nav.open{display:flex}
}
/* hero */
.hero{position:relative;overflow:hidden;padding:5.5rem 0 6.5rem;background:
  radial-gradient(ellipse at 78% 42%,#fffefb 0%,var(--ivory) 42%,var(--cream) 72%,var(--sage-soft) 100%)}
.hero-in{display:grid;align-items:center;position:relative;min-height:380px}
.moon{position:absolute;right:-2%;top:48%;transform:translateY(-50%);width:min(420px,78vw);aspect-ratio:1;border-radius:50%;
  border:10px solid rgba(107,80,64,.55);
  box-shadow:inset 0 0 0 5px rgba(224,200,151,.7),0 24px 50px -28px rgba(90,62,43,.28),0 0 0 28px rgba(223,232,223,.35);
  background:radial-gradient(circle at 40% 35%,#fffefb 0%,#f8efe4 55%,var(--blush) 100%);
  opacity:.72}
.hero-txt{position:relative;z-index:2;max-width:580px}
h1{display:flex;flex-direction:column}
h1 .script{font-size:clamp(3.5rem,9.5vw,6.2rem);line-height:1;color:var(--gold)}
h1 .sub{font-size:clamp(1.25rem,2.6vw,1.75rem);letter-spacing:.42em;text-transform:uppercase;font-weight:400;margin-top:.45rem;color:var(--brown);opacity:.85}
.tag{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:400;color:var(--brown);margin-top:1.15rem;opacity:.9}
.blossom{position:absolute;opacity:.7;pointer-events:none}
.b1{top:-10px;left:-50px;width:260px;transform:scaleX(-1) rotate(8deg)}
.b2{bottom:-30px;right:8%;width:200px;transform:rotate(-12deg);opacity:.45}
@media(max-width:820px){
  .hero{padding:4rem 0 5rem}
  .moon{opacity:.2;right:-35%}
  .blossom{width:160px}
  .b2{display:none}
  .hero-txt .lead{font-size:1.05rem}
}
/* sections */
.section{padding:6rem 0}
.alt{background:linear-gradient(180deg,var(--paper) 0%,#ebe3d6 100%)}
.cards{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:2.8rem 0 2rem}
.card{position:relative;background:#fffefb;border:1px solid #ebe0d2;border-radius:28px;padding:2.4rem 1.7rem 2.1rem;text-align:center;
  box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-icon{display:block;font-size:1.35rem;color:var(--blush-deep);margin-bottom:.9rem;opacity:.85;letter-spacing:.05em}
.card p{color:var(--muted);font-size:.98rem;line-height:1.75}
.price{font-family:"Cormorant Garamond",serif;font-size:2.15rem;color:var(--gold)!important;margin-top:1.15rem;font-weight:500}
.price small{font-size:.95rem;color:var(--muted);font-family:Jost,sans-serif;font-weight:400;margin-right:.2rem}
.price.ask{font-size:1.15rem;font-style:italic;font-weight:400;color:var(--brown)!important}
.feat{border-color:var(--gold2);background:linear-gradient(165deg,#fffefb 0%,var(--gold-soft) 100%);padding-top:2.8rem}
.feat-label{position:absolute;top:1rem;left:50%;transform:translateX(-50%);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);background:rgba(255,255,255,.75);padding:.28rem .7rem;border-radius:999px;border:1px solid var(--gold2);white-space:nowrap}
.two{display:grid;gap:3.5rem;align-items:center}
@media(min-width:820px){.two{grid-template-columns:1fr 1.05fr}}
.gate{aspect-ratio:1;max-width:360px;margin:auto;width:100%;border-radius:50%;
  border:9px solid rgba(107,80,64,.5);
  box-shadow:inset 0 0 0 4px rgba(224,200,151,.65),0 20px 40px -28px rgba(90,62,43,.25),0 0 0 22px rgba(243,216,222,.4);
  background:radial-gradient(circle at 40% 35%,#fffefb,#f3e8d8 70%,var(--blush));
  display:grid;place-items:center}
.gate svg{width:68%;opacity:.9}
.why{list-style:none;padding:0;margin:0}
.why li{padding:1rem 0 1rem 2.1rem;border-bottom:1px solid rgba(227,213,191,.7);position:relative;line-height:1.65;color:var(--ink)}
.why li:last-child{border-bottom:0}
.why li:before{content:"❀";position:absolute;left:0;color:var(--blush-deep);font-size:.95rem}
.why strong{font-weight:500;color:var(--brown)}
.tour{background:
  linear-gradient(160deg,rgba(74,58,48,.82),rgba(107,80,64,.78)),
  radial-gradient(ellipse at 50% 120%,var(--gold) 0%,transparent 55%);
  color:#f5ebe0;padding:5.5rem 0}
.tour .eyebrow{color:var(--gold2)}
.tour h2{color:#fffefb;font-weight:400}
.tour .lead{color:rgba(245,235,224,.9)}
.phone{font-size:1.15rem;text-decoration:none;font-weight:400}
address{font-style:normal;font-size:1.35rem;font-family:"Cormorant Garamond",serif;margin:1.2rem 0 .5rem;line-height:1.5;color:var(--brown);font-weight:500}
.map{width:100%;aspect-ratio:4/3;border:0;border-radius:24px;box-shadow:var(--shadow);border:1px solid #ebe0d2}
.foot{background:linear-gradient(180deg,#3f3228,#34281f);color:#d9cbb8;text-align:center;padding:3.5rem 0 7rem;font-size:.95rem;line-height:1.7}
.foot a{color:var(--gold2)}.foot a:hover{color:#fff}
.foot .small{font-size:2.3rem;margin-bottom:.4rem}
.foot-tag{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;color:var(--gold2);margin-bottom:1rem;opacity:.95}
.credit{margin-top:1.3rem;font-size:.8rem;opacity:.65}
.float{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:flex;align-items:center;gap:.5rem;
  background:var(--wa);color:#fff;text-decoration:none;padding:.8rem 1.25rem;border-radius:999px;
  box-shadow:0 12px 28px -10px rgba(45,154,90,.45);font-weight:400;font-size:.95rem;
  transition:transform .25s ease,box-shadow .25s ease}
.float:hover{transform:translateY(-2px);box-shadow:0 16px 32px -10px rgba(45,154,90,.55);color:#fff}
.float svg{width:20px;flex-shrink:0}
@media(max-width:480px){
  .float span{display:none}
  .float{padding:.85rem;border-radius:50%}
  .cards{gap:1.2rem}
  .section{padding:4.5rem 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
