:root{--accent: #a36c8b;--ink: #5d4a55;--ink-deep: #4a3340;--muted: #6a5560;--cream: #f7f2ea;--header-bg: rgba(247, 242, 234, .85);--header-border: #ece1e2;--hero-gradient: linear-gradient(120deg, #f5dce1 0%, #f4ecdb 26%, #dbe8dc 52%, #ddd7ec 78%, #f3dee7 100%);--booking-gradient: linear-gradient(120deg, #f5dce1 0%, #f4ecdb 30%, #dbe8dc 60%, #ddd7ec 100%);--shadow-rgb: 120, 80, 105;--ghost-color: #7a4f66;--ghost-border: #c79db1;--slot-border: #d8b9c8;--slot-color: #7a4f66;--footer-bg: #3a2832;--footer-mark: #f3dde7;--media-a: #e9e1ea;--media-a-2: #f3edf2;--media-a-text: #a994a5;--media-b: #e6ebe2;--media-b-2: #f1f4ee;--media-b-text: #99a994;--media-c: #eee2e6;--media-c-2: #f6eef1;--media-c-text: #b094a1}body.theme-blue{--accent: #2b3a8f;--ink: #3a4663;--ink-deep: #18204d;--muted: #56607d;--cream: #f2f5fb;--header-bg: rgba(242, 245, 251, .85);--header-border: #dde3f0;--hero-gradient: linear-gradient(120deg, #dfe7fb 0%, #eef2fc 26%, #d6e6f5 52%, #e0e4fa 78%, #dce9fb 100%);--booking-gradient: linear-gradient(120deg, #dfe7fb 0%, #eef2fc 30%, #d6e6f5 60%, #e0e4fa 100%);--shadow-rgb: 40, 60, 120;--ghost-color: #2b3a8f;--ghost-border: #9fb0e0;--slot-border: #b9c6e8;--slot-color: #2b3a8f;--footer-bg: #141d40;--footer-mark: #c9d6f5;--media-a: #dfe4f3;--media-a-2: #eef1fa;--media-a-text: #8e9cc4;--media-b: #dce8f1;--media-b-2: #eaf2f8;--media-b-text: #87a3bf;--media-c: #e0e2f4;--media-c-2: #eeeffb;--media-c-text: #9094c4}body.theme-emerald{--accent: #2e7d5b;--ink: #36473f;--ink-deep: #14352a;--muted: #51635a;--cream: #f3f7f2;--header-bg: rgba(243, 247, 242, .85);--header-border: #dde8e1;--hero-gradient: linear-gradient(120deg, #d9efe2 0%, #eef6ed 26%, #d6ebe0 52%, #e2f0e6 78%, #dcf0e4 100%);--booking-gradient: linear-gradient(120deg, #d9efe2 0%, #eef6ed 30%, #d6ebe0 60%, #e2f0e6 100%);--shadow-rgb: 30, 90, 65;--ghost-color: #2e7d5b;--ghost-border: #9fc9b3;--slot-border: #b6d8c5;--slot-color: #2e7d5b;--footer-bg: #122c22;--footer-mark: #cfe8da;--media-a: #dfeee6;--media-a-2: #eef6f1;--media-a-text: #8fb7a1;--media-b: #e2eddf;--media-b-2: #eff5ed;--media-b-text: #93b18c;--media-c: #dceee7;--media-c-2: #ecf6f2;--media-c-text: #8ab6a4}body.theme-plum{--accent: #7d5468}body.theme-rose{--accent: #bf7d97}body.theme-sage{--accent: #8a9d83}*{box-sizing:border-box}html,body{margin:0;padding:0}::selection{background:var(--accent);color:#fff}body{font-family:Jost,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.wrap{max-width:1180px;margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:Jost,sans-serif;font-weight:500;text-transform:uppercase;text-decoration:none;transition:filter .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn-solid{background:var(--accent);color:#fff}.btn-solid:hover{filter:brightness(.93)}.btn-ghost{background:transparent;color:var(--ghost-color);border:1.5px solid var(--ghost-border)}.btn-ghost:hover{background:#fff6}.site-header{display:flex;align-items:center;justify-content:space-between;padding:24px 56px;background:var(--header-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--header-border);flex-wrap:wrap;gap:18px;position:sticky;top:0;z-index:20}.brand{font-family:Cormorant Garamond,serif;font-weight:600;font-size:30px;letter-spacing:.02em;color:var(--accent);text-decoration:none;line-height:1;display:inline-flex;align-items:center}.brand-logo{height:42px;width:auto;display:block;color:var(--accent)}.nav{display:flex;align-items:center;gap:34px;flex-wrap:wrap}.nav-link{font-family:Jost,sans-serif;font-weight:500;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:color .2s ease}.nav-link:hover{color:var(--accent)}.nav .btn{padding:12px 24px;font-size:12px;letter-spacing:.16em}.theme-toggle{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;cursor:pointer;background:transparent;border:1.5px solid var(--ghost-border);border-radius:999px;color:var(--ink);font-family:Jost,sans-serif;font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:border-color .2s ease,color .2s ease,background .2s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(var(--shadow-rgb),.18)}.hero{background:var(--hero-gradient);padding:92px 56px 100px}.hero-inner{display:flex;flex-wrap:wrap;align-items:center;gap:64px}.hero-copy{flex:1 1 420px}.eyebrow{margin:0 0 20px;font-family:Jost,sans-serif;font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.hero h1{margin:0;font-family:Cormorant Garamond,serif;font-weight:600;font-size:68px;line-height:1.04;color:var(--ink-deep)}.hero h1 em{font-style:italic;color:var(--accent)}.hero-lede{margin:26px 0 0;font-size:18px;line-height:1.7;max-width:480px;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}.hero-actions .btn{padding:16px 30px;font-size:13px;letter-spacing:.14em}.hero-media{flex:1 1 360px;display:flex;justify-content:center}.frame-shell{position:relative;width:100%;max-width:430px}.spark{position:absolute;color:var(--accent);pointer-events:none}.spark-tr{top:-18px;right:6px;font-size:26px;opacity:.7}.spark-bl{bottom:24px;left:-16px;font-size:18px;opacity:.6}.frame{background:#fff;padding:16px;box-shadow:0 28px 60px rgba(var(--shadow-rgb),.18)}.placeholder{aspect-ratio:4 / 5;background:repeating-linear-gradient(45deg,var(--media-c),var(--media-c) 16px,var(--media-c-2) 16px,var(--media-c-2) 32px);display:flex;align-items:center;justify-content:center}.placeholder span{font-family:IBM Plex Mono,monospace;font-size:13px;letter-spacing:.05em;color:var(--media-c-text);text-transform:uppercase;background:#ffffffbf;padding:10px 16px;text-align:center}.work{background:var(--cream);padding:96px 56px}.section-eyebrow{margin:0 0 12px;text-align:center;font-family:Jost,sans-serif;font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.section-title{margin:0 0 56px;text-align:center;font-family:Cormorant Garamond,serif;font-weight:600;font-size:46px;color:var(--ink-deep)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:34px}.card{background:#fff;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(var(--shadow-rgb),.1)}.card-media{height:230px;display:flex;align-items:center;justify-content:center}.card-media span{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.card-media.media-mauve{background:repeating-linear-gradient(45deg,var(--media-a),var(--media-a) 14px,var(--media-a-2) 14px,var(--media-a-2) 28px)}.card-media.media-mauve span{color:var(--media-a-text)}.card-media.media-sage{background:repeating-linear-gradient(45deg,var(--media-b),var(--media-b) 14px,var(--media-b-2) 14px,var(--media-b-2) 28px)}.card-media.media-sage span{color:var(--media-b-text)}.card-media.media-rose{background:repeating-linear-gradient(45deg,var(--media-c),var(--media-c) 14px,var(--media-c-2) 14px,var(--media-c-2) 28px)}.card-media.media-rose span{color:var(--media-c-text)}.card-body{padding:36px 32px 40px;display:flex;flex-direction:column;flex:1}.card-body h3{margin:0 0 14px;font-family:Cormorant Garamond,serif;font-weight:600;font-size:32px;color:var(--ink-deep);text-align:center}.card-body p{margin:0 0 28px;text-align:center;color:var(--muted);font-size:16px;flex:1}.card-body .btn{align-self:center;padding:14px 28px;font-size:12px;letter-spacing:.14em}.announce{background:var(--accent);color:#fff;padding:22px 56px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;text-align:center}.announce .star{font-size:16px;opacity:.85}.announce-text{font-family:Cormorant Garamond,serif;font-weight:600;font-size:22px;letter-spacing:.01em}.announce a{font-family:Jost,sans-serif;font-size:13px;letter-spacing:.06em;color:#ffffffe6;text-decoration:underline;text-underline-offset:3px}.announce a:hover{color:#fff}.about{background:#fff;padding:94px 56px}.about-inner{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:64px}.about-copy{flex:1 1 360px}.about-copy .eyebrow{margin-bottom:14px}.about-copy h2{margin:0 0 24px;font-family:Cormorant Garamond,serif;font-weight:600;font-size:50px;color:var(--ink-deep);line-height:1.05}.about-copy p{margin:0 0 20px;font-size:18px;line-height:1.7;color:var(--muted)}.about-copy .btn{margin-top:12px;padding:15px 32px;font-size:13px;letter-spacing:.14em}.about-media{flex:1 1 360px;position:relative;display:flex;justify-content:center}.about-media .spark-tr{top:-22px;left:8px;right:auto;font-size:30px;opacity:.6;z-index:2}.about-media .spark-bl{bottom:30px;right:0;left:auto;font-size:20px;opacity:.5;z-index:2}.about-media .frame{position:relative;width:100%;max-width:430px;padding:14px;box-shadow:0 26px 56px rgba(var(--shadow-rgb),.16)}.booking{background:var(--booking-gradient);padding:94px 56px}.booking-inner{max-width:1020px;margin:0 auto}.booking-lede{margin:0 auto 48px;text-align:center;max-width:560px;font-size:18px;color:var(--muted)}.booking-card{background:#fff;display:flex;flex-wrap:wrap;overflow:hidden;box-shadow:0 28px 60px rgba(var(--shadow-rgb),.16)}.booking-detail{flex:1 1 300px;padding:42px 40px;border-right:1px solid #f0e6ea}.booking-host{display:flex;align-items:center;gap:14px;margin-bottom:26px}.booking-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f0d4dd,#d8e4dc)}.booking-host span{font-family:Cormorant Garamond,serif;font-weight:600;font-size:22px;color:var(--ink-deep)}.booking-detail h3{margin:0 0 20px;font-family:Cormorant Garamond,serif;font-weight:600;font-size:28px;color:var(--ink-deep)}.booking-facts{display:flex;flex-direction:column;gap:12px;color:var(--muted);font-size:15px}.booking-facts div{display:flex;align-items:center;gap:10px}.booking-facts .ic{color:var(--accent)}.booking-note{margin:30px 0 0;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.6;color:#b3a3ab}.booking-slots{flex:1 1 320px;padding:42px 40px}.booking-slots h4{margin:0 0 22px;font-family:Cormorant Garamond,serif;font-weight:600;font-size:20px;color:var(--ink-deep)}.booking-slots-lede{margin:0 0 26px;color:var(--muted);font-size:15px;line-height:1.7}.booking-slots .btn{width:100%;border:0;cursor:pointer;padding:16px 30px;font-size:13px;letter-spacing:.14em}.slot-list{display:flex;flex-direction:column;gap:12px}.slot{text-align:center;padding:14px;border:1.5px solid var(--slot-border);color:var(--slot-color);font-family:Jost,sans-serif;font-weight:500;font-size:14px;letter-spacing:.08em;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.slot:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.contact{background:var(--accent);color:#fff;padding:88px 56px;text-align:center}.contact .eyebrow{color:#fffc}.contact h2{margin:0 0 16px;font-family:Cormorant Garamond,serif;font-weight:600;font-size:48px}.contact p{margin:0 auto 34px;max-width:540px;font-size:18px;color:#ffffffe0}.contact .btn{padding:17px 40px;background:#fff;color:var(--ghost-color);font-size:14px;letter-spacing:.12em}.contact .btn:hover{background:var(--cream);filter:none}.site-footer{background:var(--footer-bg);color:#fff;padding:64px 56px 40px}.footer-inner{max-width:1120px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:48px}.footer-brand{flex:1 1 280px}.footer-brand .mark{font-family:Cormorant Garamond,serif;font-weight:600;font-size:30px;margin-bottom:16px;color:var(--footer-mark)}.footer-brand p{margin:0;max-width:300px;font-size:15px;color:#ffffffa6;line-height:1.65}.footer-col{flex:0 1 auto}.footer-col .label{margin:0 0 16px;font-family:Jost,sans-serif;font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff80}.footer-links{display:flex;flex-direction:column;gap:11px}.footer-links a{color:#ffffffd9;text-decoration:none;font-size:15px;transition:color .2s ease}.footer-links a:hover{color:var(--footer-mark)}.footer-bottom{max-width:1120px;margin:48px auto 0;padding-top:28px;border-top:1px solid rgba(255,255,255,.14);text-align:center;font-size:13px;color:#ffffff80}@media(max-width:720px){.site-header{padding:18px 24px}.hero{padding:60px 24px 70px}.hero h1{font-size:46px}.work,.about,.booking,.contact{padding:64px 24px}.section-title{font-size:36px}.booking-detail{border-right:none;border-bottom:1px solid #f0e6ea}.site-footer{padding:48px 24px 32px}}
