:root{--ink:#211b1a;--paper:#fbf9f6;--sand:#f3eee7;--rose:#a66e69;--muted:#756b65;--line:#ddd3c9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font:15px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,.logo{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.045em}h2{font-size:clamp(44px,6vw,82px);line-height:.98;margin:12px 0 25px}.header{position:absolute;z-index:3;top:0;width:100%;padding:23px 5vw;color:#fff;display:flex;align-items:center;justify-content:space-between}.logo{font-size:28px;letter-spacing:.19em}.header nav{display:flex;gap:27px;align-items:center;text-transform:uppercase;font-size:10px;letter-spacing:.14em}.nav-cta,.button{border:1px solid currentColor;padding:13px 19px;display:inline-flex;justify-content:center;align-items:center;text-transform:uppercase;letter-spacing:.13em;font-size:10px;transition:.25s}.button:hover{transform:translateY(-3px)}.button.light{background:#fff;color:var(--ink);border-color:#fff}.button.dark{background:var(--ink);color:#fff}.button.ghost{color:#fff}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:23px}.hero{min-height:720px;height:100svh;position:relative;display:flex;align-items:end;padding:0 5vw 9vh;color:#fff;background:linear-gradient(90deg,#130e0ddd,#130e0d22 70%),url('https://images.unsplash.com/photo-1521590832167-7bcbfaa6381f?auto=format&fit=crop&w=2200&q=85') center/cover}.hero-content{max-width:680px;position:relative}.eyebrow{font-size:10px;letter-spacing:.26em;text-transform:uppercase;margin:0 0 21px}.eyebrow.dark{color:var(--muted)}.hero h1{font-size:clamp(73px,10vw,150px);line-height:.79;margin:0}.hero p:not(.eyebrow){max-width:475px;line-height:1.85;color:#f2e9e3;margin:28px 0}.actions{display:flex;gap:10px}.hero-number{position:absolute;right:5vw;top:45%;font:52px "Playfair Display"}.hero-number small{font:10px/1.6 Manrope;text-transform:uppercase;letter-spacing:.15em}.marquee{padding:16px;overflow:hidden;white-space:nowrap;background:var(--ink);color:#eee4dd;font:italic 17px "Playfair Display";letter-spacing:.1em}.section{padding:115px 5vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end}.intro>p{color:var(--muted);max-width:590px}.card-grid{margin-top:65px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service-card{min-height:315px;padding:25px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.service-card:nth-child(3n){border:0}.service-card span{font-size:10px;color:var(--muted)}.service-card h3{font-size:34px;margin:auto 0 8px}.service-card p{font-size:12px;color:var(--muted);max-width:270px}.service-card a{font-size:22px}.story{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.story-photo{min-height:650px;background:linear-gradient(#0002,#0002),url('https://images.unsplash.com/photo-1522337360788-8b13dee7a37e?auto=format&fit=crop&w=1500&q=85') center/cover}.story>div:last-child>p:not(.eyebrow){color:var(--muted);max-width:500px}.story blockquote{font:italic 32px/1.25 "Playfair Display";margin:35px 0}.gallery-head{margin-bottom:35px}.category-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}.filter{border:1px solid var(--line);background:transparent;padding:8px 12px;cursor:pointer;font:10px Manrope;text-transform:uppercase;letter-spacing:.1em}.filter.active,.filter:hover{background:var(--ink);color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery figure{margin:0;aspect-ratio:3/4;overflow:hidden;position:relative;background:#e3dad2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.06)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:27px 14px 13px;background:linear-gradient(transparent,#000a);color:#fff;font-size:10px;letter-spacing:.11em;text-transform:uppercase}.empty{grid-column:1/-1}.gift{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end}.gift p:not(.eyebrow){max-width:450px;color:#dfd4ce}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#e9ded5}.booking>div>p:not(.eyebrow){color:var(--muted);max-width:410px}.booking-form,.panel{background:#fff;border:1px solid var(--line);padding:30px}.booking-form label,.form-grid label,.login-card label{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:16px}.booking-form input,.booking-form select,.booking-form textarea,.form-grid input,.form-grid select,.form-grid textarea,.login-card input{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);background:#fff;font:14px Manrope}.booking-form textarea,.form-grid textarea{min-height:85px;resize:vertical}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form small{display:block;color:var(--muted);font-size:10px;margin-top:15px}.testimonials{background:var(--ink);color:#fff}.testimonial-list blockquote{font:italic clamp(32px,4.5vw,62px)/1.1 "Playfair Display";max-width:1000px;margin:45px 0}.testimonial-list footer{font:10px Manrope;text-transform:uppercase;letter-spacing:.16em;color:#cbbdb5;margin-top:25px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact dl{border-top:1px solid var(--line);margin:0}.contact dl div{display:flex;justify-content:space-between;gap:30px;padding:19px 0;border-bottom:1px solid var(--line)}.contact dt{font-size:9px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase}.contact dd{margin:0;text-align:right}.site-footer{background:#171313;color:#aaa19c;padding:25px 5vw;display:flex;justify-content:space-between;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.site-footer b{font:25px "Playfair Display";color:#fff;letter-spacing:.16em}.whatsapp{position:fixed;z-index:5;right:24px;bottom:24px;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;font-size:29px;box-shadow:0 9px 24px #0003}.notice{position:fixed;z-index:8;top:20px;left:50%;transform:translateX(-50%);background:#fff;padding:14px 21px;box-shadow:0 8px 28px #0002}.admin-login{display:grid;place-items:center;min-height:100vh;background:var(--ink)}.login-card{width:min(440px,90vw);padding:38px;background:var(--paper)}.login-card h1{font-size:42px;line-height:1;margin:27px 0 14px}.login-card p{color:var(--muted);font-size:13px}.error{color:#9d3333}.admin{background:#f5f0e9}.admin-header{height:70px;background:var(--ink);color:#fff;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;font-size:11px}.admin-shell{display:grid;grid-template-columns:210px 1fr;max-width:1500px;margin:auto}.admin-shell aside{padding:35px 22px}.admin-shell aside a{display:block;padding:10px 0;font-size:11px;color:var(--muted)}.admin-content{padding:42px;max-width:1100px}.admin-content>h1{font-size:52px;margin:0 0 26px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats div{background:#fff;padding:22px;border:1px solid var(--line)}.stats small{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.stats b{display:block;font:38px "Playfair Display"}.panel{margin-top:25px}.panel h2{font-size:32px}.panel>p{color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 15px;align-items:end}.form-grid .button{align-self:end;margin-bottom:16px}.admin-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:20px}.admin-thumbs img{width:100%;aspect-ratio:1;object-fit:cover}.admin-thumbs span{display:block;font-size:10px;margin:4px 0}.text-button{border:0;background:transparent;padding:0;color:#9d3333;font-size:10px;cursor:pointer}.booking-list>div{display:grid;grid-template-columns:160px 1fr 130px;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.booking-list select{width:100%;padding:7px}.success{padding:13px;background:#e1efe4;color:#236435}@media(max-width:800px){.header nav{display:none}.menu-toggle{display:block}.hero{min-height:650px}.hero-number{display:none}.section{padding:80px 6vw}.intro,.story,.gift,.booking,.contact{grid-template-columns:1fr;gap:30px}.card-grid{grid-template-columns:1fr}.service-card{border-right:0!important;min-height:230px}.gallery{grid-template-columns:repeat(2,1fr)}.story-photo{min-height:440px}.site-footer{flex-direction:column;gap:13px;text-align:center}.admin-shell{grid-template-columns:1fr}.admin-shell aside{display:flex;overflow:auto;gap:14px;padding:14px 6vw}.admin-shell aside a{white-space:nowrap}.admin-content{padding:27px 6vw}.stats,.form-grid{grid-template-columns:1fr}.admin-thumbs{grid-template-columns:repeat(2,1fr)}.booking-list>div{grid-template-columns:1fr}.admin-header span{display:none}}
