@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap');
:root{--ink:#26362b;--paper:#fbf8f1;--clay:#c66c4a;--sage:#82977c;--line:#ded7ca;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.6rem}.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px 6vw;background:#fbf8f1eF;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font:600 1.1rem var(--serif);text-decoration:none}.top nav{display:flex;gap:1.2rem;font-size:.86rem}.top nav a{text-decoration:none}.top nav a:hover{text-decoration:underline}.hero{min-height:82vh;display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;padding:6vw;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700;color:var(--clay)}h1,h2,h3{font-family:var(--serif);line-height:1.08;margin:.3rem 0 1rem}h1{font-size:clamp(3rem,6.5vw,6.9rem);letter-spacing:-.055em}h2{font-size:clamp(2.1rem,4vw,4.1rem);letter-spacing:-.04em}h3{font-size:1.55rem}.lead{font-size:1.1rem;max-width:37rem}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.btn{display:inline-block;border:1px solid var(--ink);padding:.75rem 1.2rem;border-radius:99px;text-decoration:none;font-weight:600;transition:.25s}.btn:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--ink)}.btn.fill{background:var(--ink);color:white}.hero-image{aspect-ratio:1;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;border-radius:48% 48% 12% 12%;box-shadow:20px 20px 0 #e7ddcc}.hero-image:after{content:"✦  ✦  ✦";position:absolute;right:-.5rem;top:10%;font-size:2rem;color:var(--clay);animation:float 4s ease-in-out infinite}.section{padding:6rem 6vw}.tint{background:#efe8dc}.intro{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:end}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.3rem}.card{background:#fff;padding:1rem;border:1px solid var(--line);border-radius:1.1rem;transition:.25s}.card:hover{transform:translateY(-7px)}.card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.7rem}.card p{font-size:.92rem}.tag{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.steps{display:grid;gap:.9rem}.step{display:flex;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem 0}.number{font:600 1.4rem var(--serif);color:var(--clay)}.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.benefit{padding:1.2rem;border:1px solid var(--line);border-radius:.8rem}.price{background:var(--ink);color:white;border-radius:1.5rem;padding:3rem;text-align:center}.price strong{display:block;font:clamp(3.5rem,8vw,7rem) var(--serif)}.qr{display:grid;grid-template-columns:160px 1fr;gap:2rem;align-items:center}.qr svg{background:white;padding:10px;border-radius:.8rem;width:160px}.faq details{border-top:1px solid var(--line);padding:1rem 0}.faq summary{font-weight:600;cursor:pointer}.form{display:grid;gap:.8rem;max-width:680px}.form label{font-size:.86rem;font-weight:600}.form input,.form select,.form textarea{width:100%;padding:.65rem;border:1px solid #b8b1a5;border-radius:.35rem;background:#fff;font:inherit}.notice{font-size:.86rem;background:#fff4cc;padding:1rem;border-radius:.5rem}.foot{padding:2rem 6vw;background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.reveal{animation:enter .8s both}.wedding{--ink:#47382a;--paper:#f7f1e4;--clay:#a4623d;--sage:#718467}.wedding.luxury{--ink:#181716;--paper:#f5f0e8;--clay:#a27a38;--sage:#7e7362}.wedding.mystic{--ink:#e7e5fa;--paper:#111326;--clay:#bba3e2;--sage:#7fc5b8;background:#111326;color:#e7e5fa}.wedding .hero{min-height:75vh}.wedding .hero-image img{border-radius:1rem}.wedding.luxury .hero-image img{border-radius:0;filter:saturate(.7)}.wedding.mystic .hero-image img{border-radius:50%;box-shadow:0 0 0 18px #ffffff0d,0 0 60px #bba3e266}.wedding.mystic .tint{background:#191b35}.wedding.mystic .card,.wedding.mystic .benefit,.wedding.mystic .form input,.wedding.mystic .form textarea,.wedding.mystic .form select{background:#1d2040;color:#fff;border-color:#5a5a7d}.wedding.mystic .top{background:#111326eF;border-color:#383b62}.wedding.mystic .foot,.wedding.luxury .foot{background:#08080b}.wedding .date{font:1.25rem var(--serif);letter-spacing:.04em}.schedule{border-left:1px solid var(--clay);padding-left:1.5rem}.schedule article{margin-bottom:1.35rem}.schedule time{font-weight:700;color:var(--clay)}.map{min-height:300px;border-radius:1rem;position:relative;overflow:hidden;background:linear-gradient(145deg,#d5dabb,#a7ba91)}.map:before,.map:after{content:"";position:absolute;background:#e9d7b1;border-radius:50%;transform:rotate(-30deg)}.map:before{width:130%;height:17px;top:43%;left:-10%}.map:after{height:130%;width:15px;left:50%;top:-10%}.pin{position:absolute;z-index:1;top:43%;left:49%;font-size:2rem;transform:translate(-50%,-80%)}.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.7rem}.gallery img{width:100%;height:100%;min-height:160px;object-fit:cover;border-radius:.6rem}.gallery img:first-child{grid-row:span 2}.seats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.seats div{text-align:center;border:1px solid var(--line);padding:1rem;border-radius:50%}.timeline{border-left:1px solid var(--clay);padding-left:1.5rem}.timeline div{position:relative;margin:1.4rem 0}.timeline div:before{content:"✦";position:absolute;left:-2.15rem;color:var(--clay)}@keyframes float{50%{transform:translateY(12px) rotate(12deg)}}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:760px){.top nav a:not(:last-child){display:none}.hero,.split,.intro{grid-template-columns:1fr;padding:3.5rem 6vw;gap:2rem}.hero{min-height:auto}.cards{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}.qr{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{grid-row:auto;grid-column:span 2}.seats{grid-template-columns:1fr 1fr}.section{padding:4rem 6vw}}@media(prefers-reduced-motion:reduce){*,html{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
