@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--bg:#171719;--panel:#202023;--panel2:#262629;--text:#f4f0f3;--muted:#aaa5ad;--line:#39363c;--accent:#bd79c6;--accent2:#e0b5e5;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.topline{height:4px;background:linear-gradient(90deg,#73447c,var(--accent),#e0b5e5,#73447c)}header{position:sticky;top:0;z-index:10;background:#171719ed;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff13}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-family:'Playfair Display',serif;font-size:23px;line-height:1.05;white-space:nowrap}.brand img{width:49px;height:49px;object-fit:cover;border-radius:50%;border:1px solid #7d5981}.brand small{display:block;color:var(--accent2);font:10px 'DM Sans',sans-serif;letter-spacing:.22em;text-transform:uppercase;margin-top:5px}.links{display:flex;gap:27px;align-items:center}.links a{font-size:14px;color:#d2cdd4;transition:color .25s}.links a:hover,.links a.active{color:var(--accent2)}.pill,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:999px;padding:12px 21px;color:white;font-weight:600;transition:background .25s,transform .25s}.pill:hover,.button:hover{background:#ad65b6;transform:translateY(-2px)}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{padding:66px 0 74px;background:radial-gradient(ellipse at 15% 30%,#633c6529,transparent 48%)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:55px}.eyebrow{color:var(--accent2);font-size:12px;letter-spacing:.22em;text-transform:uppercase}.hero h1,.page-head h1{font:600 clamp(42px,6vw,76px)/1.04 'Playfair Display',serif;letter-spacing:-.03em;margin:18px 0}.hero h1 span{color:var(--accent2)}.lead{color:#c1bbc4;font-size:18px;max-width:530px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:29px}.button.primary{background:var(--accent);color:#1c1520;border-color:var(--accent)}.button.ghost{border-color:#625b65}.hero-image{height:450px;border:1px solid #ffffff20;border-radius:5px;overflow:hidden;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.78)}.image-note{position:absolute;bottom:18px;left:18px;background:#171719dc;padding:9px 14px;border-left:2px solid var(--accent);font-size:13px}.section{padding:78px 0}.section.alt{background:#1d1d20}.section-title{font:600 clamp(30px,4vw,46px)/1.15 'Playfair Display',serif;margin:8px 0 14px}.sub{color:var(--muted);max-width:650px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:31px}.feature{padding:25px;background:var(--panel);border:1px solid var(--line);min-height:190px}.feature .num{font:24px 'Playfair Display';color:var(--accent2)}.feature h3{margin:11px 0 6px;font-size:18px}.feature p{color:var(--muted);margin:0;font-size:14px}.quote{margin-top:34px;padding:27px 30px;background:linear-gradient(100deg,#3d2d40,#252328);border-left:3px solid var(--accent);font:italic 22px 'Playfair Display';color:#eee2ef}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;margin-top:30px}.contact-card,.map{background:var(--panel);border:1px solid var(--line)}.contact-card{padding:28px}.contact-row{padding:15px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border:0}.contact-row strong{display:block;color:var(--accent2);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.map{min-height:350px;overflow:hidden}.map iframe{width:100%;height:100%;min-height:350px;border:0;filter:grayscale(.75) invert(.9) contrast(.83)}.page-head{padding:75px 0 36px;background:radial-gradient(ellipse at 80% 20%,#653d6728,transparent 45%)}.page-head h1{font-size:clamp(43px,6vw,68px)}.price-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding-bottom:75px}.price-card{background:var(--panel);border:1px solid var(--line);padding:24px}.price-card h2{font:600 25px 'Playfair Display';margin:0 0 16px;color:var(--accent2)}.price-card h3{font-size:15px;color:#eee;margin:20px 0 8px}.price-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #ffffff10;font-size:14px}.price-row:last-child{border-bottom:0}.price-row span:last-child{white-space:nowrap;color:#e5c3e7}.note{color:var(--muted);font-size:12px}.stub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:80px}.stub{background:var(--panel);border:1px solid var(--line);padding:27px;min-height:185px}.stub .tag{font-size:11px;color:var(--accent2);letter-spacing:.14em;text-transform:uppercase}.stub h2{font:24px 'Playfair Display';margin:10px 0}.stub p{color:var(--muted);margin:0}.review-stars{color:var(--accent2);letter-spacing:.15em}footer{border-top:1px solid var(--line);padding:27px 0;color:var(--muted);font-size:13px}.foot{display:flex;justify-content:space-between;gap:18px;align-items:center}.foot a{color:#dbc0de}@media(max-width:820px){.links{gap:15px}.nav>.pill{display:none}.hero-grid{gap:30px}.hero-image{height:380px}}@media(max-width:650px){.wrap{width:min(100% - 32px,var(--max))}.nav{height:68px}.menu{display:block}.links{display:none;position:absolute;top:68px;left:0;right:0;background:#1b1a1d;padding:18px 24px 22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.links.open{display:flex}.hero{padding:46px 0}.hero-grid,.contact-grid{grid-template-columns:1fr}.hero-image{height:320px;grid-row:1}.hero h1{font-size:53px}.feature-grid,.stub-grid,.price-groups{grid-template-columns:1fr}.section{padding:56px 0}.page-head{padding:55px 0 26px}.map iframe{min-height:310px}.foot{align-items:flex-start;flex-direction:column}.feature{min-height:auto}}
.booking-wrap{max-width:760px;padding-bottom:80px}.booking-card{padding:clamp(22px,5vw,42px);background:var(--panel);border:1px solid var(--line)}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field label{color:#e4dfe6;font-size:13px}.field input,.field select,.field textarea{width:100%;background:#171719;border:1px solid #49434b;color:var(--text);border-radius:4px;padding:13px 14px;font:inherit}.field select option{background:#202023}.field input:focus,.field select:focus{outline:1px solid var(--accent)}.booking-help{font-size:13px;color:var(--muted);margin:20px 0}.booking-result{display:none;padding:13px 16px;margin-top:16px;color:#e8c7eb;background:#392b3b;border-left:2px solid var(--accent)}@media(max-width:600px){.booking-form{grid-template-columns:1fr}.field.wide{grid-column:auto}}.service-field{border:0;padding:0;margin:0}.service-field legend{font-size:13px;color:#e4dfe6;margin-bottom:9px}.service-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;max-height:400px;overflow:auto;padding:14px;background:#171719;border:1px solid #49434b}.service-checks label{display:flex;align-items:flex-start;gap:9px;color:#d2cdd4;font-size:13px;line-height:1.4;cursor:pointer;padding:4px}.service-checks input{accent-color:var(--accent);margin:2px 0 0;flex:none}.booking-error{display:none;color:#e0b5e5;font-size:13px;margin:8px 0 0}@media(max-width:600px){.service-checks{grid-template-columns:1fr;max-height:340px}}