:root{--background:#f7f2ec;--surface:#fffcf8;--text:#30271f;--muted:#6e6258;--gold-dark:#8b6421;--gold-mid:#c9a24c;--gold-light:#e6d184;--border:#c8a75a;--shadow:0 24px 70px #30271f1f;--serif:"Cormorant Garamond", "Georgia", serif;--sans:"Inter", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);font-family:var(--sans);margin:0;line-height:1.6}a{color:inherit}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffcf8eb;border-bottom:1px solid #c8a75a47;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:18px clamp(18px,4vw,56px);display:grid;position:sticky;top:0}.brand{font-family:var(--serif);align-items:center;gap:12px;font-size:1.45rem;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--border);width:42px;height:42px;color:var(--gold-dark);letter-spacing:.08em;border-radius:999px;place-items:center;font-size:.95rem;display:grid}.site-nav{color:var(--muted);justify-content:center;gap:clamp(14px,2vw,30px);font-size:.9rem;display:flex}.site-nav a,.site-footer a{text-decoration:none}.site-nav a:hover,.site-footer a:hover{color:var(--gold-dark)}.menu-button{display:none}.header-cta,.button{white-space:nowrap;border:1px solid #8b642147;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:12px 22px;font-weight:700;text-decoration:none;display:inline-flex}.header-cta,.button-gold{color:#241b12;background:linear-gradient(135deg, var(--gold-light), var(--gold-mid) 48%, #b2842e);box-shadow:0 10px 28px #8b642133}.button-soft{color:var(--gold-dark);background:#fffcf8b8}.section,.hero{padding:clamp(72px,8vw,126px) clamp(20px,5vw,72px)}.section-band{background:radial-gradient(circle at 15% 20%, #e6d18438, transparent 28%), linear-gradient(180deg, #fff9f1, var(--background))}.hero{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center;gap:clamp(32px,5vw,72px);min-height:calc(100vh - 80px);display:grid}.eyebrow{color:var(--gold-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:800}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:500;line-height:1}h1{max-width:760px;font-size:clamp(4rem,13vw,9.6rem)}h2{max-width:860px;font-size:clamp(2.4rem,6vw,5.2rem)}h3{font-size:clamp(1.65rem,3vw,2.3rem)}.lead{max-width:600px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.35rem)}.actions{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.hero-gallery,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.image-frame,.portrait-frame{min-height:250px;box-shadow:var(--shadow);background:linear-gradient(145deg,#fffcf833,#8b64211f),repeating-linear-gradient(135deg,#c8a75a1f,#c8a75a1f 1px,#0000 1px 13px),#efe5d9;border:1px solid #c8a75a6b;border-radius:18px;place-items:end start;display:grid;position:relative;overflow:hidden}.image-frame.large{grid-row:span 2;min-height:540px}.image-frame span,.portrait-frame span{color:var(--muted);background:#fffcf8cc;border-radius:999px;margin:18px;padding:9px 13px;font-size:.82rem;font-weight:700}.intro-strip{background:linear-gradient(180deg, var(--surface), #f0e3cb);color:var(--gold-dark);flex-wrap:wrap;justify-content:center;gap:12px;padding:24px clamp(18px,5vw,72px);display:flex}.intro-strip span{text-align:center;background:#fffcf8b8;border:1px solid #c8a75a61;border-radius:999px;min-height:44px;padding:11px 18px;font-size:.9rem;font-weight:700;box-shadow:0 10px 24px #30271f0d}.section-heading{gap:18px;margin-bottom:42px;display:grid}.section-heading p{max-width:760px;color:var(--muted)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.service-panel,.hyper-grid article,.booking-card{background:var(--surface);border:1px solid #c8a75a57;border-radius:18px;padding:clamp(22px,4vw,38px);box-shadow:0 18px 46px #30271f14}.service-panel.wide{grid-column:1/-1}.price-list{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.price-list li{border-bottom:1px solid #c8a75a3d;grid-template-columns:1fr auto;gap:4px 16px;padding-bottom:12px;display:grid}.price-list small{color:var(--muted);grid-column:1/-1}.muted-band{background:#fff7ee}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:var(--surface);border:1px solid #c8a75a4d;width:100%;min-width:620px}th,td{text-align:left;border-bottom:1px solid #c8a75a33;padding:16px 18px}th{color:var(--gold-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}.hyper-section{background:var(--text);color:var(--surface)}.hyper-section .eyebrow,.hyper-grid span{color:var(--gold-light)}.hyper-section p{color:#dfd2c7}.hyper-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.hyper-grid article{background:#fffcf812}.hyper-grid strong{color:var(--gold-light);margin-top:20px;font-size:1.4rem;display:block}.about,.booking{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(30px,6vw,78px);display:grid}.portrait-frame{min-height:620px}.booking{background:linear-gradient(180deg, var(--background), #fff9f1)}.booking-details{gap:12px;margin-top:26px;display:grid}.booking-details p{margin:0}.booking-details strong{color:var(--gold-dark);display:block}.booking-card{gap:14px;display:grid}.booking-card p{color:var(--muted);margin:0}.page-hero h1{font-size:clamp(3.6rem,9vw,7.8rem)}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.promo-featured{background:var(--surface);box-shadow:var(--shadow);border:1px solid #c8a75a57;border-radius:18px;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(30px,6vw,78px);padding:clamp(22px,4vw,48px);display:grid}.promo-featured-media{background:linear-gradient(145deg,#fffcf833,#8b64211f),repeating-linear-gradient(135deg,#c8a75a1f,#c8a75a1f 1px,#0000 1px 13px),#efe5d9;border:1px solid #c8a75a6b;border-radius:18px;place-items:end start;min-height:360px;display:grid;position:relative;overflow:hidden}.promo-featured-media span{color:var(--muted);background:#fffcf8cc;border-radius:999px;margin:18px;padding:9px 13px;font-size:.82rem;font-weight:700}.promo-deal{color:var(--gold-dark);font-family:var(--serif);margin:14px 0 10px;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2}.promo-featured-body>p:not(.promo-deal):not(.eyebrow){color:var(--muted)}.promo-terms{color:var(--muted);gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.promo-terms li{border-bottom:1px solid #c8a75a3d;padding-bottom:8px}.promo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.promo-grid p:not(.promo-deal){color:var(--muted)}.promo-fineprint{color:var(--muted);margin:28px 0 0;font-size:.85rem}.site-footer{color:var(--surface);background:#241b12;grid-template-columns:1.2fr 1fr 1fr;gap:24px;padding:46px clamp(20px,5vw,72px);display:grid}.site-footer h2{font-size:2.3rem}.site-footer address,.site-footer p{color:#ddcec1;font-style:normal}.site-footer div:last-child{gap:8px;display:grid}@media (width<=920px){.site-header{grid-template-columns:1fr auto}.menu-button{background:var(--surface);min-height:42px;color:var(--gold-dark);font:inherit;border:1px solid #c8a75a6b;border-radius:999px;justify-content:center;align-items:center;padding:9px 15px;font-weight:700;display:inline-flex}.site-nav,.header-cta{display:none}.site-nav.is-open{grid-column:1/-1;justify-content:stretch;gap:10px;display:grid}.hero,.about,.booking{grid-template-columns:1fr}.hero{min-height:auto}.hyper-grid{grid-template-columns:repeat(2,1fr)}.promo-featured,.promo-grid,.site-footer,.contact-grid{grid-template-columns:1fr}}@media (width<=640px){.section,.hero{padding:58px 18px}.hero-gallery,.portfolio-grid,.service-grid,.hyper-grid{grid-template-columns:1fr}.image-frame.large,.portrait-frame{min-height:380px}h1{font-size:4rem}.table-wrap{overflow:visible}table,tbody,tr,td{width:100%;display:block}table{background:0 0;border:0;min-width:0}thead{display:none}tbody{gap:12px;display:grid}tr{background:var(--surface);border:1px solid #c8a75a4d;border-radius:14px;padding:16px}td{text-align:right;border-bottom:1px solid #c8a75a29;justify-content:space-between;gap:16px;padding:8px 0;font-weight:700;display:flex}td:first-child{color:var(--text);font-family:var(--serif);text-align:left;font-size:1.45rem;font-weight:500}td:last-child{border-bottom:0}td:before{content:attr(data-label);color:var(--gold-dark);font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;text-align:left;font-size:.72rem;font-weight:800}}
