:root{--bg:#121214;--panel:#1d1c20;--ink:#f1eded;--muted:#aaa5ae;--pink:#e9b5d1;--line:#38343b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,sans-serif;font-size:13px}a{color:inherit;text-decoration:none}img{width:100%;display:block;object-fit:cover}a:focus-visible{outline:2px solid var(--pink);outline-offset:6px}.skip{position:absolute;top:-100px;z-index:30;background:var(--pink);color:var(--bg);padding:15px}.skip:focus{top:10px}header{padding:20px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-family:'Cormorant Garamond',serif;font-size:28px;letter-spacing:-1px}.brand img{width:52px;height:52px;border-radius:50%}.pink{color:var(--pink)}nav{display:flex;gap:30px;align-items:center;font-size:11px}.nav-book{border:1px solid var(--line);padding:13px 20px;border-radius:30px}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:6%;padding:55px 6% 60px;align-items:center}.eyebrow{color:var(--pink);font-size:9px;letter-spacing:2.5px;font-weight:700;margin:0 0 24px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400}h1{font-size:clamp(65px,7.3vw,112px);line-height:.95;letter-spacing:-3px}.script{font-family:Allura,cursive;color:var(--pink);font-weight:400;font-size:1.2em;line-height:.85;letter-spacing:-2px}h1 .script{display:block;margin-top:12px}.intro{color:var(--muted);line-height:1.9;margin:30px 0}.hero-actions{display:flex;gap:25px;align-items:center}.button{display:inline-flex;gap:30px;align-items:center;padding:17px 21px;background:var(--pink);color:var(--bg);border-radius:30px;font-size:9px;font-weight:800;letter-spacing:.8px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#f3cbe0}.button span{font-size:20px}.quiet-link{font-size:9px;letter-spacing:.8px;font-weight:700}.quiet-link:hover{color:var(--pink)}.hero-bottom{margin-top:65px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:var(--muted)}.hero-bottom a{color:var(--pink)}.hero-image{position:relative;margin-right:25px}.hero-image>img{height:550px;border-radius:220px 220px 6px 6px;object-position:center 35%}.sparkle{position:absolute;top:15px;right:0;font-size:100px;line-height:1;color:#ececec;text-shadow:0 0 25px #fff8;animation:glow 4s ease-in-out infinite}.image-tag{position:absolute;bottom:30px;left:-35px;background:#ede9ec;color:#1c1820;padding:20px 30px;transform:rotate(-4deg)}.image-tag>span{font-size:8px;letter-spacing:2px}.image-tag p{font-family:'Cormorant Garamond',serif;font-size:29px;margin-top:7px}.image-note{position:absolute;right:-25px;top:30%;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px;color:var(--muted)}.ribbon{display:flex;justify-content:space-around;gap:30px;white-space:nowrap;overflow:hidden;background:var(--pink);color:#29222a;padding:18px 2%;font-size:10px;letter-spacing:2px}.section{padding:85px 6%;max-width:1600px;margin:auto}.heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:40px}h2{font-size:clamp(45px,4.8vw,72px);line-height:1;letter-spacing:-2px}h2 em{color:var(--pink);font-weight:400}.heading>p{color:var(--muted);font-size:11px;line-height:1.8}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 22px}.photo{overflow:hidden;border-radius:140px 140px 4px 4px}.photo img{aspect-ratio:3/4;transition:transform .5s}.style-card:hover img{transform:scale(1.045)}.style-card>span{display:block;color:var(--muted);font-size:8px;letter-spacing:1.4px;margin:18px 0 9px}.style-card h3{font-size:27px;display:flex;justify-content:space-between;gap:10px}.style-card h3 b{font-size:20px;color:var(--pink);font-weight:400}.gallery-link{display:inline-block;margin-top:35px}.prices{background:var(--panel)}.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.prices h3{font-size:30px;color:var(--pink);border-bottom:1px solid var(--line);padding-bottom:13px}.prices dl{margin:0}.prices dl>div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.prices dd{margin:0;color:var(--pink)}.price-main .quiet-link{display:inline-block;margin-top:25px}.price-details{display:grid;grid-template-columns:1fr 1fr;gap:25px}.price-details dl>div{font-size:11px}.price-note{font-size:10px;color:var(--muted);margin-top:30px;line-height:1.8}.booking{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-block:100px}.booking-title{position:relative}.booking-title h2{font-size:clamp(62px,6.4vw,96px)}.booking-title .script{display:block;margin-top:15px}.booking-title>p:not(.eyebrow){color:var(--muted);line-height:1.9;margin-top:30px}.booking-star{display:block;font-size:75px;color:var(--pink);margin-top:30px}.step{display:flex;gap:24px;border-top:1px solid var(--line);padding:25px 0}.step>span{font-size:9px;color:var(--pink);padding-top:7px}.step h3{font-size:30px}.step p{font-size:11px;line-height:1.9;color:var(--muted);margin-top:12px}.step .button,.step .quiet-link{margin-top:20px;display:inline-flex}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 6%;border-top:1px solid var(--line)}footer p{font-size:8px;letter-spacing:1.5px;color:var(--muted)}footer>a:last-child{font-size:10px;color:var(--pink)}.mobile-book{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}.hero-text,.hero-image{animation:enter .8s both}.hero-image{animation-delay:.15s}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes glow{50%{opacity:.6;transform:scale(.93)}}@media(max-width:950px){.hero{gap:4%}.hero-image>img{height:480px}h1{font-size:72px}.hero-actions{display:block}.hero-actions .quiet-link{display:block;margin-top:20px}.hero-bottom{margin-top:40px}.price-layout{gap:35px}.price-details{grid-template-columns:1fr}.style-card h3{font-size:23px}.booking{gap:6%}}@media(max-width:600px){header{padding:17px 5%}.brand{font-size:23px;gap:8px}.brand img{width:43px;height:43px}nav>a:not(.nav-book){display:none}.nav-book{padding:11px 13px;font-size:9px}.hero{display:flex;flex-direction:column;padding:38px 5% 45px;gap:35px}.hero-text{width:100%}h1{font-size:clamp(66px,16vw,88px);letter-spacing:-2px}.intro{font-size:11px;margin:25px 0}.hero-actions{display:flex;gap:17px}.button{padding:15px 18px;gap:20px;font-size:8px}.hero-actions .quiet-link{margin:0;font-size:8px}.hero-bottom{margin-top:28px;font-size:7px;letter-spacing:.6px}.hero-image{width:87%;margin-left:15px;margin-right:15px}.hero-image>img{height:420px;border-radius:160px 160px 4px 4px}.sparkle{font-size:72px;right:-5px}.image-tag{left:-20px;padding:16px 20px;bottom:25px}.image-tag p{font-size:25px}.image-note{font-size:7px}.ribbon{justify-content:start;font-size:9px;gap:24px;padding:17px 5%}.section{padding:55px 5%}.heading{display:block;margin-bottom:28px}.heading>p{margin-top:20px;font-size:10px}h2{font-size:46px}.style-grid{grid-template-columns:repeat(2,1fr);gap:27px 14px}.style-card h3{font-size:22px;line-height:1.05}.style-card>span{font-size:7px;letter-spacing:.7px}.photo{border-radius:85px 85px 3px 3px}.price-layout{grid-template-columns:1fr;gap:35px}.price-details{grid-template-columns:1fr 1fr;gap:18px}.prices dl>div{font-size:11px}.price-details dl>div{font-size:10px;gap:8px}.prices h3{font-size:28px}.booking{display:flex;flex-direction:column;gap:35px}.booking-title h2{font-size:70px}.booking-star{position:absolute;right:8px;bottom:0;font-size:45px;margin:0}.booking-title>p:not(.eyebrow){font-size:11px}.step h3{font-size:28px}footer{padding:25px 5% 90px;flex-wrap:wrap;gap:18px}footer p{order:3;width:100%}.mobile-book{display:block;position:fixed;bottom:0;left:0;right:0;padding:18px;background:var(--pink);color:var(--bg);text-align:center;font-size:10px;font-weight:800;letter-spacing:1px;z-index:15}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
