:root{--ivory:#faf7f1;--gold:#bfa05a;--sage:#55624c;--sage2:#e9ede3;--ink:#2c2c2a;--line:#ddd3bd}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--ivory);color:var(--ink);font-family:'Jost',sans-serif;font-weight:300;line-height:1.75;overflow-x:hidden}
header{display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;border-bottom:1px solid var(--line)}
.logo{font-family:'Marcellus',serif;font-size:1.25rem;letter-spacing:.14em;text-transform:uppercase}.logo span{display:block;font-family:'Pinyon Script',cursive;text-transform:none;letter-spacing:0;font-size:1.15rem;color:var(--gold);line-height:1}
nav a{color:var(--ink);text-decoration:none;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:500;margin-left:28px}nav a:hover{color:var(--gold)}
.hero{padding:54px 5vw 0;text-align:center}
.script{font-family:'Pinyon Script',cursive;font-size:2rem;color:var(--gold);line-height:1}
.hero h1{font-family:'Marcellus',serif;font-weight:400;font-size:3.6rem;line-height:1.12;letter-spacing:.02em;margin:10px auto 14px;max-width:760px}
.hero p{max-width:560px;margin:0 auto;font-size:1.08rem;color:#55534e}
.cta{margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta a{text-decoration:none;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;font-weight:600;padding:14px 30px}
.cta .a{background:var(--sage);color:#fff}.cta .b{border:1px solid var(--gold);color:var(--ink);background:#fff}
.archwrap{max-width:760px;margin:44px auto 0}
.arch{border-radius:380px 380px 0 0;border:1px solid var(--gold);padding:12px;background:#fff}
.scene{border-radius:368px 368px 0 0;height:340px;position:relative;overflow:hidden;background:linear-gradient(180deg,#f7dca8 0%,#f3e9d2 38%,#b9c2a8 62%,#55624c 100%)}
.sun{position:absolute;width:92px;height:92px;border-radius:50%;background:#fff3c9;left:50%;top:58px;transform:translateX(-50%);box-shadow:0 0 0 18px rgba(255,243,201,.35)}
.scene svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:180px}
.scene .caption{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-family:'Pinyon Script',cursive;font-size:1.7rem}
.stats{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:28px 5vw;border-bottom:1px solid var(--line)}
.stats b{font-family:'Marcellus',serif;font-weight:400;font-size:1.7rem;display:block;color:var(--sage)}
.stats span{letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;color:#777}
.packages{padding:70px 5vw;max-width:1120px;margin:0 auto}
.packages h2,.story h2,.reviews h2{font-family:'Marcellus',serif;font-weight:400;text-align:center}
.packages h2{font-size:2.2rem}.lede{text-align:center;max-width:580px;margin:10px auto 38px;color:#5a584f}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pack{background:#fff;border:1px solid var(--line);padding:34px 28px;text-align:center}
.pack.featured{border:1px solid var(--gold);box-shadow:0 18px 40px rgba(85,98,76,.12);transform:translateY(-8px)}
.pack .name{letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:var(--sage);font-weight:600}
.pack .price{font-family:'Marcellus',serif;font-size:2.4rem;margin:10px 0 4px}
.pack ul{list-style:none;margin-top:16px;font-size:.95rem}.pack li{padding:7px 0;border-top:1px solid #eee7d6}
.rain{margin-top:24px;background:var(--sage2);padding:22px 28px;text-align:center;font-size:.98rem}.rain b{font-family:'Marcellus',serif;font-weight:400}
.story{padding:70px 5vw;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.story .in{max-width:760px;margin:0 auto}.story h2{font-size:2rem;margin-bottom:12px}.story .script{font-size:1.7rem}
.reviews{padding:70px 5vw;max-width:1080px;margin:0 auto}.reviews h2{font-size:2rem;margin-bottom:30px}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rev{padding:28px;border-left:1px solid var(--gold);background:var(--ivory)}.rev .stars{color:var(--gold);letter-spacing:.25em}.rev p{font-style:italic;margin:10px 0}.rev cite{font-style:normal;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:600}
.visit{padding:60px 5vw;background:var(--sage);color:#eef1e8}.visit .in{max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}.visit h3{font-family:'Marcellus',serif;font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:.95rem;color:#e8d9ae;margin-bottom:8px}.visit p{font-size:.95rem}
footer{text-align:center;padding:26px 5vw;font-size:.85rem;letter-spacing:.08em;color:#777}
@media(max-width:820px){.grid,.rgrid,.visit .in,.stats{grid-template-columns:1fr}.pack.featured{transform:none}.hero h1{font-size:2.4rem}.scene{height:260px}nav{display:none}}
