*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:#182746;background:#f6f1e7}a{text-decoration:none;color:inherit}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;position:absolute;top:0;left:0;right:0;z-index:10;color:#fff}.brand{display:flex;align-items:center}.brand img{width:115px;height:auto;display:block}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:25px}.nav nav{display:flex;align-items:center;gap:27px;font-size:14px}.nav nav a{opacity:.92}.nav-highlight{color:#f4c64d}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:11px 18px;border-radius:99px}.hero{min-height:780px;position:relative;display:flex;align-items:center;padding:120px 8%;overflow:hidden;background:radial-gradient(circle at 78% 25%,#f5c85c 0 3%,transparent 3.7%),radial-gradient(circle at 68% 52%,#274e88 0 20%,transparent 21%),linear-gradient(125deg,#07152d,#0b2754 48%,#123d76)}.hero:before{content:"";position:absolute;inset:-15%;background:repeating-radial-gradient(ellipse at 65% 45%,transparent 0 55px,rgba(255,210,86,.14) 58px 67px,transparent 70px 125px);transform:rotate(-8deg)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,15,35,.75),rgba(4,15,35,.15))}.hero-content{position:relative;z-index:2;max-width:700px;color:#fff}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;margin:0 0 17px;color:#d49d2a}.hero h1,h2{font-family:'Playfair Display',serif}.hero h1{font-size:clamp(48px,7vw,88px);line-height:.98;margin:0 0 24px;font-weight:700}.hero h1 em,h2 em{font-style:italic;color:#f4c64d}.hero-copy{font-size:18px;line-height:1.7;max-width:560px;color:#e7ebf2}.hero-actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;padding:14px 22px;border-radius:999px;font-weight:700;font-size:14px;border:0;cursor:pointer}.primary{background:#e2ad32;color:#101d35}.ghost{border:1px solid rgba(255,255,255,.5);color:#fff}.dark{background:#102e5b;color:#fff}.star{position:absolute;color:#f6ca55;font-size:25px}.star-1{right:13%;top:26%}.star-2{right:28%;top:16%;font-size:17px}.star-3{right:17%;bottom:25%;font-size:35px}

.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;padding:90px 8%;background:#fff;align-items:center}.booking-copy h2{font-size:clamp(40px,5vw,58px);line-height:1.04;margin:0 0 20px}.booking-copy>p{color:#69717e;line-height:1.8;max-width:480px}.schedule-card{display:flex;justify-content:space-between;gap:18px;margin-top:28px;padding:18px 20px;background:#f6f1e7;border-radius:14px;border:1px solid #e6dccb;font-size:13px}.schedule-card b{letter-spacing:1.5px}.schedule-card span{color:#7a6b49}.booking-form{background:#f8f3e9;border:1px solid #e5dccd;padding:28px;border-radius:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:0 18px 40px rgba(20,44,76,.08)}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:700;color:#40506a}.field label span{font-weight:500;color:#9298a1}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #d8d0c2;border-radius:10px;background:#fff;font:inherit;color:#182746;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#d6a83f;box-shadow:0 0 0 3px rgba(214,168,63,.14)}.full-field,.full-button,.booking-note{grid-column:1/-1}.booking-note{font-size:11px;color:#7f8791;text-align:center;margin:0}

.intro{text-align:center;padding:110px 20px 90px;max-width:760px;margin:auto}.intro h2,.about h2,.contact h2,.birthday h2{font-size:clamp(38px,5vw,58px);line-height:1.05;margin:0 0 24px}.intro>p:last-child,.about-copy>p,.contact>div>p:last-child{color:#69717e;line-height:1.8}.section{padding:80px 8%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section h2{font-size:50px;margin:0}.section-note{color:#737a84;font-size:14px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid #e7dfd1;padding:30px;border-radius:18px;min-height:220px;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #14284d12}.icon{font-size:34px}.card h3{font-family:'Playfair Display',serif;font-size:24px;margin:18px 0 8px}.card p{color:#747b86;line-height:1.6;font-size:14px}.center{text-align:center;margin-top:35px}

.about{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:#102e5b;color:#fff}.about-art{min-height:500px;position:relative;overflow:hidden}.about-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.about-art-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,29,58,.10),rgba(8,29,58,.55))}.moon{position:absolute;z-index:2;top:24%;left:48%;color:#f5c74f;font-size:45px}.about-copy{padding:100px 11%;align-self:center}.about-copy .eyebrow{color:#f4c64d}.about-copy h2{font-size:50px}.about-copy>p{color:#d7e0ec}.text-link{display:inline-block;margin-top:22px;color:#f2c44d;font-weight:700}

.birthday{padding:95px 8%;background:#0b2349;color:#fff;text-align:center}.birthday-inner{max-width:800px;margin:auto}.birthday h2{margin-bottom:18px}.birthday-inner>p:not(.eyebrow){color:#d9e1ec;line-height:1.7}.birthday-rule{font-size:13px;max-width:650px;margin:10px auto 28px;color:#f0d58f!important}

.gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:240px 240px;gap:16px}.photo{margin:0;border-radius:18px;position:relative;overflow:hidden;background:#102e5b}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}.photo:hover img{transform:scale(1.035)}.photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:55px 22px 20px;color:#fff;font-family:'Playfair Display';font-size:22px;background:linear-gradient(transparent,rgba(4,18,40,.78))}.p1{grid-row:span 2}.mini-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.mini-gallery img{width:100%;height:190px;object-fit:cover;border-radius:14px}

.quote{text-align:center;padding:110px 15%;background:#eee6d7}.quote-mark{font-family:serif;font-size:80px;color:#d9a934;height:45px}.quote blockquote{font-family:'Playfair Display';font-size:clamp(28px,4vw,46px);line-height:1.25;margin:20px 0}.quote p{font-size:11px;letter-spacing:3px;font-weight:700;color:#777}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:110px 8%;background:#fff}.contact-box{background:#f6f1e7;border-radius:20px;padding:32px}.contact-box>div{padding:18px 0;border-bottom:1px solid #ddd4c5;display:flex;justify-content:space-between;gap:20px}.contact-box b{font-size:11px;letter-spacing:2px}.contact-box span,.contact-box a{color:#667080;font-size:14px}.full{width:100%;text-align:center;margin-top:12px}footer{background:#09182e;color:#aeb9c9;padding:28px 8%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}

@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.booking{grid-template-columns:1fr}.about,.contact{grid-template-columns:1fr}.about-art{min-height:430px}.about-copy{padding:70px 8%}.mini-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.nav nav{display:none}.menu-btn{display:block}.nav.open nav{display:flex;position:absolute;top:70px;right:5%;background:#0b2345;padding:20px;flex-direction:column;align-items:flex-start;border-radius:15px}.hero{min-height:700px;padding:120px 7% 80px}.hero h1{font-size:50px}.gallery{grid-template-columns:1fr;grid-template-rows:300px 220px 220px}.p1{grid-row:auto}.section-head{display:block}.section-note{display:block;margin-top:10px}footer{gap:20px;flex-direction:column}}
@media(max-width:520px){.brand img{width:95px}.booking{padding:70px 6%}.booking-form{grid-template-columns:1fr;padding:22px}.full-field,.full-button,.booking-note{grid-column:auto}.cards{grid-template-columns:1fr}.hero-actions{flex-direction:column}.btn{text-align:center}.intro{padding:80px 25px}.section{padding:65px 6%}.mini-gallery{grid-template-columns:1fr 1fr}.mini-gallery img{height:150px}.contact{padding:80px 6%}.contact-box>div{flex-direction:column;gap:5px}}
