:root { --ink:#211d19; --muted:#6e655d; --paper:#f7f4ef; --sand:#e7ded2; --line:rgba(33,29,25,.14); --gold:#a17f55; --cream:#fffdfa; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:96px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; font-size:15px; line-height:1.5; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.skip { position:fixed; z-index:99; left:18px; top:12px; transform:translateY(-180%); padding:10px 14px; color:#fff; background:var(--ink); border-radius:8px; }
.skip:focus { transform:translateY(0); }
.page-progress { position:fixed; z-index:80; top:0; left:0; width:0; height:2px; background:linear-gradient(90deg,#d8b781,var(--gold)); pointer-events:none; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow::before { width:28px; height:1px; background:currentColor; content:""; }
.display { margin:0; font-family:"Playfair Display",serif; font-weight:500; letter-spacing:-.045em; line-height:1; }
.container { width:min(1160px, calc(100% - 48px)); margin:auto; }

.topline { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:11px max(24px, calc((100vw - 1160px)/2)); background:#1b1815; color:#ded5ca; font-size:10px; letter-spacing:.09em; }
.topline span:last-child { color:#e1bf8d; }
header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line); background:rgba(247,244,239,.92); backdrop-filter:blur(16px); }
header .nav { transition:height .25s ease; }
header.scrolled .nav { height:68px; }
.nav { height:82px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:grid; gap:3px; line-height:1; }
.brand strong { font-family:"Playfair Display",serif; font-size:22px; font-weight:600; letter-spacing:.095em; }
.brand small { color:var(--gold); font-size:8px; font-weight:700; letter-spacing:.42em; }
.links { display:flex; align-items:center; gap:28px; font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.links a { transition:color .2s; }
.links a:hover { color:var(--gold); }
.button { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:46px; padding:0 22px; border:1px solid transparent; border-radius:999px; font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; transition:transform .2s,background .2s,border-color .2s; }
.button:hover { transform:translateY(-2px); }
.button.dark { color:#fff; background:var(--ink); }
.button.dark:hover { background:var(--gold); }
.button.ghost { border-color:var(--line); color:var(--ink); background:transparent; }
.button.ghost:hover { border-color:var(--gold); }
.menu-toggle { display:none; padding:8px; color:var(--ink); background:transparent; border:0; font-size:22px; }

.hero { position:relative; overflow:hidden; padding:78px 0 88px; }
.hero::before { position:absolute; right:-180px; top:-220px; width:570px; aspect-ratio:1; border:1px solid rgba(161,127,85,.24); border-radius:50%; content:""; }
.hero-grid { display:grid; grid-template-columns:1.02fr .98fr; gap:70px; align-items:center; }
.hero-copy { position:relative; z-index:1; }
.hero h1 { max-width:630px; margin:19px 0 25px; font-size:clamp(48px,6.1vw,76px); }
.hero h1 em { color:var(--gold); font-weight:500; }
.hero .lead { max-width:500px; color:var(--muted); font-size:16px; line-height:1.8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:31px; }
.hero-metrics { display:grid; grid-template-columns:repeat(3,1fr); max-width:480px; margin-top:49px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hero-metrics div { padding:15px 10px 15px 0; }
.hero-metrics div+div { padding-left:18px; border-left:1px solid var(--line); }
.hero-metrics strong { display:block; font-family:"Playfair Display",serif; font-size:22px; font-weight:500; }
.hero-metrics small { display:block; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.hero-frame { position:relative; min-height:610px; padding:12px; background:var(--cream); box-shadow:24px 28px 0 var(--sand), 0 25px 65px rgba(33,29,25,.12); }
.hero-frame img { width:100%; height:586px; object-fit:cover; object-position:center; }
.hero-stamp { position:absolute; right:-27px; bottom:35px; display:grid; place-items:center; width:144px; aspect-ratio:1; padding:18px; color:#f8efe5; background:var(--ink); border:7px solid var(--paper); border-radius:50%; text-align:center; transform:rotate(9deg); }
.hero-stamp span { display:block; color:#d7b27e; font-family:"Playfair Display",serif; font-size:20px; font-style:italic; }
.hero-stamp small { font-size:8px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.ritual { position:relative; z-index:2; margin-top:-1px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--cream); }
.ritual-grid { display:grid; grid-template-columns:.78fr 1fr 1fr 1fr; }
.ritual-title,.ritual-step { min-height:116px; padding:27px 23px; }
.ritual-title { display:grid; align-content:center; background:#eee7de; }
.ritual-title strong { font-family:"Playfair Display",serif; font-size:21px; font-weight:500; line-height:1.1; }
.ritual-title span,.ritual-step span { display:block; color:var(--gold); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ritual-step { border-left:1px solid var(--line); }
.ritual-step b { display:block; margin:8px 0 3px; font-family:"Playfair Display",serif; font-size:19px; font-weight:500; }
.ritual-step p { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }

section { padding:100px 0; }
.section-heading { max-width:650px; margin-bottom:48px; }
.section-heading h2 { margin:14px 0 0; font-size:clamp(35px,4vw,54px); }
.section-heading p { margin:17px 0 0; color:var(--muted); line-height:1.8; }
.philosophy { color:#f6efe7; background:var(--ink); }
.philosophy-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.philosophy .display { font-size:clamp(36px,4vw,57px); }
.philosophy p { margin:0; color:#d7ccc0; font-size:17px; line-height:1.85; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:42px; }
.principle { padding:21px 0; border-top:1px solid rgba(255,255,255,.18); }
.principle b { color:#dbb882; font-family:"Playfair Display",serif; font-size:26px; font-weight:500; }
.principle span { display:block; margin-top:7px; color:#f6efe7; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }

.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.service { position:relative; min-height:280px; padding:27px; background:var(--cream); border:1px solid var(--line); transition:transform .25s,box-shadow .25s,border-color .25s; }
.service:hover { z-index:1; border-color:var(--gold); box-shadow:0 20px 38px rgba(33,29,25,.09); transform:translateY(-5px); }
.service-index { color:var(--gold); font-family:"Playfair Display",serif; font-size:15px; font-style:italic; }
.service h3 { margin:45px 0 9px; font-family:"Playfair Display",serif; font-size:25px; font-weight:500; }
.service p { min-height:72px; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.service-footer { display:flex; justify-content:space-between; align-items:center; margin-top:20px; padding-top:17px; border-top:1px solid var(--line); }
.service-footer span { color:var(--gold); font-size:11px; font-weight:700; }
.service-footer button { padding:0; color:var(--ink); background:transparent; border:0; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.service-footer button:hover { color:var(--gold); }

.transformation { background:#e9e1d7; }
.transformation-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:78px; align-items:center; }
.transformation-copy h2 { margin:15px 0 20px; font-size:clamp(38px,4.5vw,58px); }
.transformation-copy p { color:var(--muted); line-height:1.8; }
.transformation-notes { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }
.transformation-notes span { padding:8px 11px; color:#67503a; border:1px solid rgba(161,127,85,.35); border-radius:999px; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.compare { --position:50%; position:relative; overflow:hidden; width:100%; aspect-ratio:1; background:#d9cec2; box-shadow:0 30px 60px rgba(33,29,25,.15); touch-action:none; }
.compare img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; user-select:none; pointer-events:none; }
.compare-before { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--position)) 0 0); }
.compare-line { position:absolute; z-index:3; top:0; bottom:0; left:var(--position); width:2px; background:#fff; transform:translateX(-1px); pointer-events:none; }
.compare-knob { position:absolute; left:50%; top:50%; display:grid; place-items:center; width:46px; height:46px; color:var(--ink); background:#fff; border:1px solid var(--gold); border-radius:50%; box-shadow:0 8px 25px rgba(33,29,25,.2); transform:translate(-50%,-50%); font-size:16px; }
.compare-range { position:absolute; z-index:5; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.compare-label { position:absolute; z-index:4; top:16px; padding:7px 10px; color:#fff; background:rgba(27,24,21,.72); backdrop-filter:blur(8px); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; pointer-events:none; }
.compare-label.before { left:16px; }
.compare-label.after { right:16px; background:rgba(161,127,85,.84); }

.discovery { background:var(--cream); }
.discovery-shell { display:grid; grid-template-columns:.72fr 1.28fr; min-height:500px; overflow:hidden; border:1px solid var(--line); box-shadow:0 26px 56px rgba(33,29,25,.09); }
.discovery-intro { padding:52px 45px; color:#fff; background:linear-gradient(150deg,#342b24,#1b1815); }
.discovery-intro h2 { margin:17px 0; font-size:clamp(38px,4vw,52px); }
.discovery-intro p { color:#d4c7ba; line-height:1.75; }
.quiz-progress { display:flex; gap:6px; margin-top:40px; }
.quiz-progress span { flex:1; height:2px; background:rgba(255,255,255,.2); }
.quiz-progress span.active { background:#d7b27e; }
.quiz-panel { display:flex; flex-direction:column; justify-content:center; padding:52px; background:#f8f4ee; }
.quiz-step { display:none; }
.quiz-step.active { display:block; animation:quiz-in .35s ease; }
@keyframes quiz-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.quiz-count { color:var(--gold); font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.quiz-step h3 { max-width:590px; margin:10px 0 27px; font-family:"Playfair Display",serif; font-size:29px; font-weight:500; line-height:1.2; }
.quiz-options { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.quiz-option { min-height:72px; padding:14px 16px; color:#4d443c; background:#fff; border:1px solid var(--line); text-align:left; font-size:12px; font-weight:600; transition:border-color .2s,background .2s,transform .2s; }
.quiz-option:hover { border-color:var(--gold); background:#f3ece3; transform:translateY(-2px); }
.quiz-result { padding:22px; border-left:3px solid var(--gold); background:#eee5da; }
.quiz-result strong { display:block; font-family:"Playfair Display",serif; font-size:26px; font-weight:500; }
.quiz-result p { margin:9px 0 20px; color:var(--muted); font-size:13px; line-height:1.7; }
.quiz-result-actions { display:flex; flex-wrap:wrap; gap:9px; }

.gallery-section { background:#201c18; color:#fff; }
.gallery-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:28px; }
.gallery-heading h2 { max-width:650px; margin:14px 0 0; font-size:clamp(38px,4vw,55px); }
.gallery-heading p { max-width:380px; margin:0; color:#cbbeb1; line-height:1.75; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.gallery-item { position:relative; overflow:hidden; min-height:0; aspect-ratio:4 / 5; margin:0; background:#352e28; opacity:0; transform:translateY(18px) scale(.985); animation:gallery-arrive .62s cubic-bezier(.22,.75,.3,1) forwards; animation-delay:min(calc(var(--gallery-index) * 55ms),440ms); }
.gallery-open { width:100%; height:100%; padding:0; overflow:hidden; color:inherit; background:transparent; border:0; cursor:zoom-in; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease,filter .4s ease; }
.gallery-item:hover img { transform:scale(1.045); }
.gallery-open:focus-visible { outline:2px solid #e4bd85; outline-offset:-4px; }
.gallery-open:focus-visible img { filter:brightness(.8); }
.gallery-actions { display:flex; justify-content:center; margin-top:26px; }
.gallery-toggle { min-width:245px; color:#f7eee5; border-color:rgba(255,255,255,.28); background:transparent; }
.gallery-toggle:hover { color:var(--ink); background:#d7b27e; border-color:#d7b27e; }
@keyframes gallery-arrive { to { opacity:1; transform:none; } }

.gallery-lightbox { position:fixed; z-index:130; inset:0; display:none; grid-template-columns:80px minmax(0,1fr) 80px; align-items:center; gap:18px; padding:30px; color:#fff; background:rgba(12,10,9,.94); backdrop-filter:blur(15px); }
.gallery-lightbox.open { display:grid; animation:lightbox-fade .24s ease both; }
.gallery-lightbox-stage { position:relative; display:grid; place-items:center; min-width:0; height:calc(100vh - 60px); touch-action:pan-y; }
.gallery-lightbox-stage img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100vh - 90px); object-fit:contain; box-shadow:0 28px 80px rgba(0,0,0,.38); }
.gallery-lightbox-stage img.is-entering { animation:lightbox-image-in .38s cubic-bezier(.22,.75,.3,1) both; }
.gallery-lightbox-stage img.from-previous { --lightbox-shift:-24px; }
.gallery-lightbox-stage img.from-next { --lightbox-shift:24px; }
.gallery-lightbox-counter { position:absolute; left:50%; bottom:8px; transform:translateX(-50%); padding:7px 12px; color:#eee3d8; background:rgba(18,15,13,.68); border:1px solid rgba(255,255,255,.16); font-size:10px; font-weight:700; letter-spacing:.12em; }
.gallery-lightbox-close,.gallery-lightbox-nav { display:grid; place-items:center; color:#fff; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.24); border-radius:50%; transition:background .2s,border-color .2s,transform .2s; }
.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover { color:var(--ink); background:#d7b27e; border-color:#d7b27e; transform:scale(1.05); }
.gallery-lightbox-close { position:absolute; z-index:2; right:24px; top:22px; width:46px; height:46px; font-size:27px; }
.gallery-lightbox-nav { width:56px; height:56px; font-size:21px; }
@keyframes lightbox-fade { from { opacity:0; } }
@keyframes lightbox-image-in { from { opacity:0; transform:translateX(var(--lightbox-shift,0)) scale(.975); } }

.signature { padding:0; background:#ded5ca; }
.signature-grid { display:grid; grid-template-columns:1fr 1fr; }
.signature-image { min-height:560px; background:linear-gradient(rgba(33,29,25,.12),rgba(33,29,25,.12)),url('hero-lounge-v1.png') center/cover; }
.signature-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(38px,7vw,92px); }
.signature-copy h2 { margin:17px 0; font-size:clamp(38px,4.4vw,58px); }
.signature-copy p { color:#564c44; line-height:1.85; }
.signature-quote { margin-top:27px; padding-left:18px; border-left:2px solid var(--gold); color:#5a4530; font-family:"Playfair Display",serif; font-size:20px; font-style:italic; line-height:1.45; }

.booking { background:var(--paper); }
.booking-shell { display:grid; grid-template-columns:.78fr 1.22fr; overflow:hidden; background:var(--ink); box-shadow:0 25px 60px rgba(33,29,25,.12); }
.booking-intro { padding:56px 47px; color:#fff9f1; background:linear-gradient(155deg,#302821,#1b1815); }
.booking-intro .display { margin:18px 0; font-size:46px; }
.booking-intro p { color:#d6cabe; line-height:1.8; }
.booking-contact { display:grid; gap:15px; margin-top:44px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); }
.booking-contact a { color:#e4bd85; font-size:12px; font-weight:700; letter-spacing:.04em; }
.booking-form { padding:48px; background:var(--cream); }
.form-title { margin:0 0 27px; font-family:"Playfair Display",serif; font-size:29px; font-weight:500; }
.booking-steps { display:grid; grid-template-columns:repeat(3,1fr); margin:-5px 0 27px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.booking-steps span { padding:10px 8px; color:var(--muted); font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.booking-steps span+span { border-left:1px solid var(--line); }
.booking-steps b { color:var(--gold); margin-right:4px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label,.service-field,.date-field { display:grid; gap:7px; color:#514840; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
input, select, textarea { width:100%; padding:13px 14px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:0; outline:0; font-size:13px; text-transform:none; letter-spacing:normal; }
input:focus,select:focus,textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(161,127,85,.12); }
textarea { min-height:84px; resize:vertical; }
.service-picker { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:10px 0 17px; }
.service-option { position:relative; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px; color:#4f4640; border:1px solid var(--line); cursor:pointer; font-size:12px; text-transform:none; letter-spacing:normal; transition:border-color .2s,background .2s; }
.service-option input { position:absolute; opacity:0; pointer-events:none; }
.service-option:has(input:checked) { color:var(--ink); background:#f2ebe2; border-color:var(--gold); }
.service-option.conflict { opacity:.42; cursor:not-allowed; }
.service-option span:last-child { color:var(--gold); font-size:10px; font-weight:700; white-space:nowrap; }
.date-shortcuts { display:flex; flex-wrap:wrap; gap:7px; }
.date-shortcuts button,.date-suggestions button { min-height:42px; padding:0 13px; color:var(--ink); background:#fff; border:1px solid var(--line); font:700 10px/1 Arial,sans-serif; letter-spacing:.04em; cursor:pointer; }
.date-shortcuts button.active,.date-suggestions button.active { color:#fff; background:var(--ink); border-color:var(--ink); }
.date-suggestions { display:flex; gap:7px; overflow-x:auto; padding:2px 0 8px; scrollbar-width:thin; }
.date-suggestions button { flex:0 0 auto; display:grid; place-items:center; min-width:76px; min-height:58px; line-height:1.35; }
.date-suggestions button small { color:inherit; font-size:9px; font-weight:500; }
.custom-date { grid-template-columns:auto 1fr; align-items:center; padding-top:3px; font-size:10px; letter-spacing:0; text-transform:none; }
.loyalty-use { display:none; gap:10px; margin:14px 0 18px; padding:15px; background:#f4ede3; border:1px solid #ddccb5; }
.loyalty-use.show { display:grid; }
.loyalty-use label { display:flex; grid-template-columns:none; align-items:flex-start; gap:10px; font-size:12px; line-height:1.45; letter-spacing:0; text-transform:none; cursor:pointer; }
.loyalty-use input { width:auto; margin-top:2px; accent-color:var(--ink); }
.loyalty-use small { color:var(--muted); font-size:10px; }
.form-note { margin:15px 0 19px; color:var(--muted); font-size:11px; line-height:1.6; }
.form-message { display:none; margin-top:15px; padding:12px 14px; border-left:3px solid var(--gold); color:#554b43; background:#f0e9e1; font-size:12px; }
.form-message.show { display:block; }
.selection-summary { display:none; margin:3px 0 18px; padding:14px 15px; color:#4c4037; background:#f0e9df; border-left:3px solid var(--gold); }
.selection-summary.show { display:flex; justify-content:space-between; gap:18px; align-items:center; }
.selection-summary span { font-size:11px; line-height:1.45; }
.selection-summary b { color:var(--gold); font-family:"Playfair Display",serif; font-size:20px; font-weight:500; white-space:nowrap; }

.faq { background:#eee8df; }
.faq-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:85px; align-items:start; }
.faq-layout h2 { margin:15px 0 16px; font-size:clamp(36px,4vw,52px); }
.faq-layout > div:first-child p { color:var(--muted); line-height:1.8; }
.faq-list { border-top:1px solid rgba(33,29,25,.2); }
details { border-bottom:1px solid rgba(33,29,25,.2); }
summary { position:relative; padding:23px 48px 23px 0; list-style:none; cursor:pointer; font-family:"Playfair Display",serif; font-size:20px; }
summary::-webkit-details-marker { display:none; }
summary::after { position:absolute; right:2px; top:21px; content:'+'; color:var(--gold); font-family:"DM Sans",sans-serif; font-size:23px; font-weight:400; transition:transform .2s; }
details[open] summary::after { transform:rotate(45deg); }
details p { max-width:660px; margin:-5px 0 23px; color:var(--muted); font-size:13px; line-height:1.75; }
.mobile-booking { display:none; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }

.admin-modal { position:fixed; z-index:100; inset:0; display:none; overflow:auto; padding:24px; background:rgba(18,16,14,.88); backdrop-filter:blur(12px); }
.admin-modal.open { display:block; }
.admin-shell { width:min(1180px,100%); min-height:calc(100vh - 48px); margin:auto; overflow:hidden; background:#f7f4ef; box-shadow:0 30px 80px rgba(0,0,0,.34); }
.admin-head { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 25px; color:#fff; background:var(--ink); }
.admin-head strong { display:block; font-family:"Playfair Display",serif; font-size:22px; font-weight:500; }
.admin-head small { color:#c7b9ab; }
.admin-head-actions { display:flex; align-items:center; gap:9px; }
.admin-logout { display:none; min-height:38px; padding:0 15px; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.24); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.admin-logout.show { display:inline-flex; }
.admin-close { width:40px; height:40px; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.24); border-radius:50%; font-size:22px; }
.admin-gate { max-width:520px; margin:90px auto; padding:38px; text-align:center; background:#fff; border:1px solid var(--line); }
.admin-gate h3 { margin:12px 0; font-family:"Playfair Display",serif; font-size:30px; font-weight:500; }
.admin-gate p { color:var(--muted); font-size:13px; line-height:1.7; }
.admin-body { display:none; }
.admin-body.active { display:block; }
.admin-tabs { display:flex; overflow:auto; border-bottom:1px solid var(--line); background:#fff; }
.admin-system-message { display:none; margin:16px 24px 0; padding:12px 14px; border:1px solid #d7b2aa; background:#fff4f1; color:#7f3027; font-size:12px; line-height:1.55; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.admin-system-message.show { display:flex; }
.admin-tab { padding:17px 23px; color:var(--muted); background:transparent; border:0; border-bottom:2px solid transparent; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.admin-tab.active { color:var(--ink); border-bottom-color:var(--gold); }
.admin-panel { display:none; padding:28px; }
.admin-panel.active { display:block; }
.admin-panel h3 { margin:0 0 20px; font-family:"Playfair Display",serif; font-size:29px; font-weight:500; }
.admin-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.admin-grid .wide { grid-column:1/-1; }
.weekday-field { margin:0; padding:0; border:0; }
.weekday-field legend { margin-bottom:8px; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.weekday-picker { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; }
.weekday-picker label { display:flex; align-items:center; justify-content:center; min-height:42px; padding:7px 5px; border:1px solid var(--line); background:#faf8f4; cursor:pointer; }
.weekday-picker input { width:auto; margin:0 6px 0 0; accent-color:var(--ink); }
.admin-actions { display:flex; gap:10px; margin-top:20px; }
.admin-card { padding:21px; background:#fff; border:1px solid var(--line); }
.admin-card-title { margin:0 0 16px; font-family:"Playfair Display",serif; font-size:22px; font-weight:500; }
.admin-appointment-service-picker { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.admin-appointment-service-picker label { display:flex; align-items:center; gap:8px; padding:10px; background:#faf8f4; border:1px solid var(--line); cursor:pointer; }
.admin-appointment-service-picker label.conflict { opacity:.42; cursor:not-allowed; }
.admin-appointment-service-picker input { width:auto; accent-color:var(--ink); }
.admin-consent-check { display:flex!important; flex-direction:row!important; align-items:flex-start; gap:9px; }
.admin-consent-check input { width:auto; margin-top:2px; accent-color:var(--ink); }
.admin-service-layout { display:grid; grid-template-columns:340px 1fr; gap:22px; align-items:start; }
.admin-list { display:grid; gap:9px; }
.admin-row { display:grid; grid-template-columns:64px 1fr auto; gap:16px; align-items:center; padding:15px; background:#fff; border:1px solid var(--line); }
.admin-service-thumb { width:64px; height:52px; object-fit:cover; border-radius:4px; background:#eee5da; }
.admin-service-thumb.placeholder { display:grid; place-items:center; color:var(--gold); font-family:"Playfair Display",serif; }
.admin-row strong { display:block; font-size:13px; }
.admin-row small { color:var(--muted); }
.admin-row-actions { display:flex; gap:7px; }
.admin-mini { padding:7px 9px; color:var(--ink); background:#f1ebe3; border:1px solid var(--line); font-size:9px; font-weight:700; text-transform:uppercase; }
.admin-mini.danger { color:#8d3028; }
.admin-booking { padding:17px; background:#fff; border:1px solid var(--line); }
.admin-booking-top { display:flex; justify-content:space-between; gap:15px; align-items:start; }
.admin-booking h4 { margin:0; font-family:"Playfair Display",serif; font-size:20px; font-weight:500; }
.admin-booking p { margin:8px 0; color:var(--muted); font-size:12px; }
.admin-booking-controls { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.admin-booking select { width:auto; min-width:140px; padding:8px; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:16px; }
.admin-stat { padding:16px; background:#fff; border:1px solid var(--line); }
.admin-stat strong { display:block; font-family:"Playfair Display",serif; font-size:27px; font-weight:500; }
.admin-stat span { color:var(--muted); font-size:8px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.admin-toolbar { display:grid; grid-template-columns:1fr 170px 150px auto; gap:9px; margin-bottom:12px; }
.admin-customer { display:grid; grid-template-columns:1.2fr .9fr auto; gap:16px; align-items:center; padding:17px; background:#fff; border:1px solid var(--line); }
.admin-customer h4 { margin:0 0 5px; font-family:"Playfair Display",serif; font-size:19px; font-weight:500; }
.admin-customer p { margin:3px 0; color:var(--muted); font-size:11px; }
.admin-customer-metrics { display:flex; flex-wrap:wrap; gap:7px; }
.admin-customer-metrics span { padding:6px 8px; color:#6a5137; background:#eee3d4; font-size:8px; font-weight:700; text-transform:uppercase; }
.admin-empty { padding:30px; color:var(--muted); background:#fff; border:1px dashed var(--line); text-align:center; font-size:13px; }
.admin-launch { padding:0; color:#d7b27e; background:transparent; border:0; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.account-button { padding:9px 13px; color:var(--ink); background:transparent; border:1px solid var(--line); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.account-modal { position:fixed; z-index:90; inset:0; display:none; overflow:auto; padding:25px; background:rgba(18,16,14,.82); backdrop-filter:blur(10px); }
.account-modal.open { display:grid; place-items:center; }
.account-shell { position:relative; width:min(880px,100%); min-height:520px; background:#f7f4ef; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.account-close { position:absolute; z-index:2; right:17px; top:17px; width:39px; height:39px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:50%; font-size:21px; }
.account-auth { display:grid; grid-template-columns:.7fr 1.3fr; min-height:520px; }
.account-intro { padding:48px 38px; color:#fff; background:var(--ink); }
.account-intro h2 { margin:17px 0; font-size:37px; }
.account-intro p { color:#cbbeb1; font-size:13px; line-height:1.75; }
.account-forms { padding:48px; }
.account-switch { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:25px; }
.account-switch button { padding:9px 12px; color:var(--muted); background:transparent; border:0; border-bottom:2px solid transparent; font-size:10px; font-weight:700; text-transform:uppercase; }
.account-switch button.active { color:var(--ink); border-bottom-color:var(--gold); }
.account-form { display:none; gap:13px; }
.account-form.active { display:grid; }
.account-form > form { display:grid; gap:13px; }
[hidden] { display:none!important; }
.recovery-copy { margin:0 0 4px; color:var(--muted); font-size:11px; line-height:1.65; }
.account-message { min-height:18px; color:#8d3028; font-size:11px; }
.account-dashboard { display:none; padding:48px; }
.account-dashboard.active { display:block; }
.account-dashboard-head { display:flex; justify-content:space-between; align-items:start; gap:20px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.account-dashboard h2 { margin:0; font-family:"Playfair Display",serif; font-size:34px; font-weight:500; }
.account-dashboard-head p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.account-columns { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-top:28px; }
.account-columns h3 { margin:0 0 12px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.account-loyalty { margin-top:25px; padding:20px; background:#f5efe7; border:1px solid var(--line); }
.account-loyalty h3 { margin:0 0 12px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.loyalty-movement { display:grid; grid-template-columns:1fr auto; gap:5px 14px; padding:11px 0; border-top:1px solid var(--line); }
.loyalty-movement:first-child { border-top:0; }
.loyalty-movement strong { font-size:13px; }
.loyalty-movement strong.positive { color:#55704c; }
.loyalty-movement strong.negative { color:#8d3028; }
.loyalty-movement small { grid-column:1 / -1; color:var(--muted); font-size:10px; }
.customer-appointment { padding:15px; background:#fff; border:1px solid var(--line); }
.customer-appointment + .customer-appointment { margin-top:9px; }
.customer-appointment strong { display:flex; justify-content:space-between; gap:10px; font-family:"Playfair Display",serif; font-size:18px; font-weight:500; }
.customer-appointment p { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.55; }
.customer-appointment-actions { display:flex; justify-content:flex-end; margin-top:12px; }
.account-settings { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.account-settings > h3 { margin:0 0 15px; font-family:"Playfair Display",serif; font-size:24px; font-weight:500; }
.account-settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.account-settings form { display:grid; gap:10px; padding:17px; background:#fff; border:1px solid var(--line); }
.account-settings form h4 { margin:0 0 3px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.account-settings .button { justify-self:start; min-height:40px; padding:0 16px; }
.privacy-note { margin:13px 0; color:var(--muted); font-size:10px; line-height:1.65; }
.inline-link { display:inline; padding:0; color:var(--gold); background:transparent; border:0; font:inherit; text-decoration:underline; text-underline-offset:3px; }
.privacy-modal { position:fixed; z-index:110; inset:0; display:none; overflow:auto; padding:25px; background:rgba(18,16,14,.86); backdrop-filter:blur(10px); }
.privacy-modal.open { display:grid; place-items:center; }
.privacy-shell { position:relative; width:min(820px,100%); max-height:min(860px,calc(100vh - 50px)); overflow:auto; padding:48px; background:#f7f4ef; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.privacy-shell h2 { margin:12px 0 20px; font-family:"Playfair Display",serif; font-size:38px; font-weight:500; }
.privacy-shell h3 { margin:25px 0 8px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.privacy-shell p,.privacy-shell li { color:var(--muted); font-size:12px; line-height:1.75; }
.privacy-shell ul { padding-left:20px; }
.privacy-close { position:absolute; right:16px; top:16px; width:40px; height:40px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:50%; font-size:21px; }
.danger-zone { border-color:rgba(141,48,40,.3)!important; background:#fff9f7!important; }
.danger-zone .button { color:#fff; background:#8d3028; }
.status-chip { padding:4px 7px; color:#6a5137; background:#eee3d4; font-family:"DM Sans",sans-serif; font-size:8px; font-weight:700; text-transform:uppercase; }
.admin-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; }
.admin-gallery-item { position:relative; overflow:hidden; min-height:210px; background:#ddd2c5; }
.admin-gallery-item img { width:100%; height:210px; object-fit:cover; }
.admin-gallery-copy { display:grid; gap:8px; padding:10px; background:#fff; }
.admin-gallery-copy input { padding:9px; font-size:11px; }
.admin-gallery-controls { display:flex; flex-wrap:wrap; gap:5px; }
.admin-upload-selection { display:grid; gap:7px; margin-top:14px; }
.admin-upload-file { display:grid; grid-template-columns:minmax(130px,1fr) 90px minmax(180px,1.5fr); align-items:center; gap:10px; padding:10px 12px; background:#f7f4ef; border:1px solid var(--line); }
.admin-upload-file strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.admin-upload-file span { color:var(--muted); font-size:9px; }
.admin-upload-file input { min-width:0; padding:8px; font-size:10px; }
.audit-row { display:grid; grid-template-columns:150px 150px 1fr auto; align-items:center; gap:14px; padding:14px 16px; background:#fff; border:1px solid var(--line); }
.audit-row + .audit-row { border-top:0; }
.audit-row time,.audit-row small { color:var(--muted); font-size:10px; }
.audit-row strong { font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.audit-row p { margin:0; color:var(--muted); font-size:11px; }

footer { padding:57px 0 26px; color:#d7ccc0; background:var(--ink); }
.footer-top { display:flex; justify-content:space-between; gap:38px; align-items:flex-start; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.15); }
.footer-title { margin:0; color:#fff9f1; font-family:"Playfair Display",serif; font-size:32px; font-weight:500; }
.footer-links { display:flex; gap:27px; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.footer-links a:hover { color:#e4bd85; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:22px; color:#a99f94; font-size:10px; }

@media (max-width:900px) { .links { display:none; } .nav > .button { display:none; } .menu-toggle { display:block; } .nav-open .links { position:absolute; top:82px; left:0; right:0; display:grid; gap:0; padding:12px 24px 20px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 16px 35px rgba(33,29,25,.08); } .nav-open .links a { padding:12px 0; } header.scrolled .nav-open .links { top:68px; } .hero-grid,.philosophy-grid,.booking-shell,.faq-layout,.transformation-grid,.discovery-shell { grid-template-columns:1fr; } .hero { padding-top:58px; } .hero-frame { max-width:580px; min-height:auto; margin:0 auto; } .hero-frame img { height:min(120vw,590px); } .hero-stamp { right:14px; } .philosophy-grid,.faq-layout,.transformation-grid { gap:35px; } .compare { max-width:680px; margin:auto; } .services-grid { grid-template-columns:repeat(2,1fr); } .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .signature-grid { grid-template-columns:1fr; } .signature-image { min-height:430px; } .ritual-grid { grid-template-columns:repeat(2,1fr); } .ritual-title { grid-column:span 2; } .ritual-step:nth-child(2) { border-left:0; } .admin-service-layout { grid-template-columns:1fr; } .account-auth { grid-template-columns:1fr; } .account-intro { padding:34px; } .account-columns,.account-settings-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { body { padding-bottom:68px; } .container { width:min(100% - 32px,1160px); } .topline { padding:10px 16px; } .topline span:first-child { display:none; } .nav { height:72px; } .brand strong { font-size:18px; } .nav-open .links { top:72px; } header.scrolled .nav-open .links { top:68px; } section { padding:72px 0; } .hero h1 { font-size:48px; } .hero-metrics { margin-top:36px; } .hero-metrics div+div { padding-left:11px; } .hero-metrics strong { font-size:18px; } .hero-metrics small { font-size:8px; letter-spacing:.04em; } .hero-frame { padding:8px; box-shadow:14px 17px 0 var(--sand); } .hero-stamp { width:116px; bottom:18px; border-width:5px; } .hero-stamp span { font-size:16px; } .ritual-grid { grid-template-columns:1fr; } .ritual-title { grid-column:auto; } .ritual-step,.ritual-step:nth-child(2) { min-height:94px; border-top:1px solid var(--line); border-left:0; } .services-grid,.field-grid,.service-picker,.quiz-options { grid-template-columns:1fr; } .service { min-height:auto; } .service p { min-height:0; } .principles { grid-template-columns:1fr; gap:0; } .signature-image { min-height:320px; } .discovery-intro,.quiz-panel { padding:34px 23px; } .booking-intro,.booking-form { padding:34px 23px; } .booking-intro .display { font-size:39px; } .booking-steps span { font-size:7px; padding:9px 5px; } .date-field { grid-column:1 / -1; } .date-shortcuts { display:grid; grid-template-columns:repeat(2,1fr); } .date-shortcuts button { width:100%; } .footer-top,.footer-bottom { display:grid; } .footer-links { flex-wrap:wrap; gap:16px; } .mobile-booking { position:fixed; z-index:40; left:0; right:0; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 16px; color:#fff; background:rgba(27,24,21,.96); backdrop-filter:blur(12px); box-shadow:0 -10px 28px rgba(33,29,25,.16); } .mobile-booking span { color:#d8cbbd; font-size:10px; line-height:1.35; } .mobile-booking a { flex:none; min-height:43px; padding:0 17px; color:var(--ink); background:#d7b27e; } }
@media (max-width:600px) { .admin-modal,.account-modal,.privacy-modal { padding:0; } .admin-shell,.account-shell,.privacy-shell { min-height:100vh; max-height:none; } .privacy-shell { padding:55px 20px 30px; } .admin-panel,.account-dashboard,.account-forms { padding:20px 15px; } .admin-grid { grid-template-columns:1fr; } .admin-grid .wide { grid-column:auto; } .weekday-picker,.admin-appointment-service-picker { grid-template-columns:repeat(2,1fr); } .admin-row,.admin-customer,.audit-row { grid-template-columns:1fr; } .admin-booking-top { display:grid; } .admin-stats { grid-template-columns:repeat(2,1fr); } .admin-toolbar { grid-template-columns:1fr; } .gallery-heading { display:grid; margin-bottom:22px; } .gallery-heading p { display:none; } .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; } .gallery-item { aspect-ratio:4 / 5; } .gallery-actions { margin-top:20px; } .gallery-toggle { width:100%; min-width:0; } .admin-gallery-grid { grid-template-columns:1fr; } .admin-upload-file { grid-template-columns:1fr auto; } .admin-upload-file input { grid-column:1 / -1; } }
@media (max-width:600px) { .gallery-lightbox { grid-template-columns:1fr 1fr; grid-template-rows:1fr auto; gap:12px; padding:18px 14px 15px; } .gallery-lightbox-stage { grid-column:1 / -1; grid-row:1; height:calc(100vh - 92px); } .gallery-lightbox-stage img { max-height:calc(100vh - 120px); } .gallery-lightbox-nav { grid-row:2; width:100%; height:46px; border-radius:0; } .gallery-lightbox-nav.previous { grid-column:1; } .gallery-lightbox-nav.next { grid-column:2; } .gallery-lightbox-close { right:14px; top:14px; width:42px; height:42px; background:rgba(12,10,9,.68); } .gallery-lightbox-counter { bottom:5px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }

/* Editorial luxury art direction — v25 */
.design-v25 { --ink:#181512; --muted:#746a61; --paper:#f4efe8; --sand:#ded2c3; --line:rgba(30,25,21,.15); --gold:#b58a52; --cream:#fbf8f3; background:var(--paper); }
.design-v25::before { position:fixed; z-index:200; inset:0; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); content:""; pointer-events:none; }
.design-v25 ::selection { color:#fff; background:#9a6f3d; }
.design-v25 .display,.design-v25 .brand strong { font-family:"Cormorant Garamond",serif; }
.design-v25 .display { letter-spacing:-.035em; line-height:.91; }
.design-v25 .eyebrow { gap:13px; letter-spacing:.24em; }
.design-v25 .eyebrow::before { width:38px; }
.design-v25 .container { width:min(1240px,calc(100% - 72px)); }
.design-v25 section { padding:124px 0; }
.design-v25 .button { min-height:50px; padding:0 27px; border-radius:2px; letter-spacing:.16em; box-shadow:none; }
.design-v25 .button.dark { background:#1a1714; }
.design-v25 .button.dark:hover { color:#1a1714; background:#c69a61; }
.design-v25 .button.ghost { border-color:rgba(30,25,21,.22); }

.design-v25 .topline { padding-block:9px; color:#c9bbaa; background:#15120f; letter-spacing:.16em; }
.design-v25 header { border-color:rgba(30,25,21,.1); background:rgba(244,239,232,.88); backdrop-filter:blur(22px) saturate(1.2); }
.design-v25 .nav { height:88px; }
.design-v25 .brand { gap:1px; }
.design-v25 .brand strong { font-size:28px; font-weight:600; letter-spacing:.105em; }
.design-v25 .brand small { padding-left:2px; color:#9c713e; letter-spacing:.5em; }
.design-v25 .links { gap:31px; font-size:9px; letter-spacing:.16em; }
.design-v25 .links a { position:relative; padding:10px 0; }
.design-v25 .links a::after { position:absolute; left:0; right:100%; bottom:3px; height:1px; background:var(--gold); content:""; transition:right .3s ease; }
.design-v25 .links a:hover::after { right:0; }
.design-v25 .account-button { padding:11px 15px; border-color:rgba(30,25,21,.18); letter-spacing:.14em; }

.design-v25 .hero { min-height:calc(100svh - 124px); padding:74px 0 112px; background:radial-gradient(circle at 12% 14%,rgba(181,138,82,.11),transparent 26%),linear-gradient(115deg,#f6f1ea 0%,#eee5d9 100%); }
.design-v25 .hero::before { right:-10vw; top:-38vw; width:72vw; border-color:rgba(181,138,82,.2); }
.design-v25 .hero::after { position:absolute; left:-.035em; bottom:-.17em; color:rgba(30,25,21,.035); content:"AK"; font:600 min(34vw,520px)/.75 "Cormorant Garamond",serif; letter-spacing:-.09em; pointer-events:none; }
.design-v25 .hero-grid { position:relative; grid-template-columns:1.08fr .92fr; gap:clamp(55px,7vw,110px); }
.design-v25 .hero-copy { padding-left:clamp(0px,2vw,28px); }
.design-v25 .hero h1 { max-width:700px; margin:23px 0 29px; font-size:clamp(66px,7.3vw,106px); }
.design-v25 .hero h1 em { color:#a27643; }
.design-v25 .hero .lead { max-width:540px; color:#5f574f; font-size:15px; line-height:1.9; }
.design-v25 .hero-actions { margin-top:36px; }
.design-v25 .hero-metrics { max-width:540px; margin-top:55px; border-color:rgba(30,25,21,.18); }
.design-v25 .hero-metrics div { padding:19px 14px 19px 0; }
.design-v25 .hero-metrics strong { font:600 26px/1 "Cormorant Garamond",serif; }
.design-v25 .hero-frame { min-height:0; padding:0; background:transparent; box-shadow:32px 32px 0 #d9ccbc,0 35px 80px rgba(30,25,21,.18); }
.design-v25 .hero-frame::before { position:absolute; z-index:2; inset:16px; border:1px solid rgba(255,255,255,.46); content:""; pointer-events:none; }
.design-v25 .hero-frame img { height:min(68vh,690px); min-height:580px; filter:saturate(.88) contrast(1.03); }
.design-v25 .hero-edition { position:absolute; z-index:3; left:-46px; top:50%; color:#6e5a43; font-size:8px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; transform:translateY(-50%) rotate(-90deg); }
.design-v25 .hero-stamp { right:-38px; bottom:44px; width:152px; background:#181512; border-color:#eee5d9; box-shadow:0 16px 35px rgba(24,21,18,.22); }
.design-v25 .hero-stamp span { color:#d4aa76; font-family:"Cormorant Garamond",serif; font-size:24px; line-height:.82; }

.design-v25 .ritual { z-index:3; width:min(1320px,calc(100% - 42px)); margin:-42px auto 0; border:0; background:#fbf8f3; box-shadow:0 24px 70px rgba(32,26,21,.12); }
.design-v25 .ritual .container { width:100%; }
.design-v25 .ritual-grid { grid-template-columns:.9fr repeat(3,1fr); }
.design-v25 .ritual-title,.design-v25 .ritual-step { min-height:138px; padding:31px 30px; }
.design-v25 .ritual-title { color:#f9f2e9; background:#1c1814; }
.design-v25 .ritual-title strong { font:500 25px/.95 "Cormorant Garamond",serif; }
.design-v25 .ritual-step { position:relative; display:grid; align-content:center; padding-left:62px; }
.design-v25 .ritual-step > span { position:absolute; left:23px; top:29px; display:grid; place-items:center; width:26px; height:26px; border:1px solid rgba(181,138,82,.45); border-radius:50%; }
.design-v25 .ritual-step b { font:600 23px/1 "Cormorant Garamond",serif; }

.design-v25 .philosophy { position:relative; overflow:hidden; padding:150px 0; background:linear-gradient(135deg,#171411,#24201b); }
.design-v25 .philosophy::after { position:absolute; right:-20px; top:-115px; color:rgba(255,255,255,.035); content:"“"; font:600 500px/1 "Cormorant Garamond",serif; }
.design-v25 .philosophy-grid { position:relative; z-index:1; grid-template-columns:.92fr 1.08fr; gap:clamp(70px,9vw,150px); }
.design-v25 .philosophy .display { max-width:630px; font-size:clamp(49px,5.2vw,74px); }
.design-v25 .philosophy p { max-width:660px; font-size:18px; line-height:2; }
.design-v25 .principles { gap:28px; margin-top:54px; }
.design-v25 .principle { padding-top:25px; }
.design-v25 .principle b { font:500 36px/1 "Cormorant Garamond",serif; }

.design-v25 #hizmetler { position:relative; overflow:hidden; background:#f7f2eb; }
.design-v25 #hizmetler::after { position:absolute; right:-.03em; top:.02em; color:rgba(30,25,21,.035); content:"SERVICES"; font:600 clamp(80px,12vw,190px)/1 "Cormorant Garamond",serif; letter-spacing:-.055em; pointer-events:none; }
.design-v25 .section-heading { position:relative; z-index:1; max-width:820px; margin-bottom:70px; }
.design-v25 .section-heading h2 { max-width:780px; font-size:clamp(50px,5.7vw,76px); }
.design-v25 .section-heading p { max-width:650px; margin-top:24px; }
.design-v25 .services-grid { position:relative; z-index:1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; }
.design-v25 .service { min-height:0; padding:27px 0 25px; background:transparent; border:0; border-top:1px solid rgba(30,25,21,.19); transition:padding .3s ease,border-color .3s ease; }
.design-v25 .service:has(.service-visual) { display:grid; grid-template-columns:148px minmax(0,1fr); gap:22px; align-items:start; }
.design-v25 .service-visual { position:relative; aspect-ratio:4 / 3; overflow:hidden; background:#ddd0c1; }
.design-v25 .service-visual::after { position:absolute; inset:0; background:linear-gradient(135deg,transparent 45%,rgba(25,20,16,.28)); content:""; pointer-events:none; }
.design-v25 .service-visual img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.design-v25 .service:hover .service-visual img { transform:scale(1.055); }
.design-v25 .service-visual .service-index { position:absolute; z-index:1; right:10px; bottom:9px; color:#fff; text-shadow:0 1px 8px rgba(0,0,0,.4); }
.design-v25 .service:hover { z-index:auto; padding-left:15px; border-color:#aa7b43; box-shadow:none; transform:none; }
.design-v25 .service-index { float:right; color:#ad895e; font:italic 500 18px/1 "Cormorant Garamond",serif; }
.design-v25 .service h3 { max-width:80%; margin:0 0 8px; font:600 29px/1.05 "Cormorant Garamond",serif; }
.design-v25 .service p { min-height:0; max-width:86%; font-size:12px; line-height:1.65; }
.design-v25 .service-footer { margin-top:16px; padding-top:0; border:0; }
.design-v25 .service-footer span { color:#9b6f3d; }
.design-v25 .service-footer button { transition:letter-spacing .25s,color .25s; }
.design-v25 .service-footer button:hover { letter-spacing:.16em; }

.design-v25 .transformation { position:relative; overflow:hidden; background:#ded2c4; }
.design-v25 .transformation::before { position:absolute; left:0; top:0; bottom:0; width:35%; background:#d5c5b3; content:""; }
.design-v25 .transformation-grid { position:relative; grid-template-columns:.78fr 1.22fr; gap:clamp(55px,8vw,120px); }
.design-v25 .transformation-copy { padding-left:clamp(0px,3vw,45px); }
.design-v25 .transformation-copy h2 { font-size:clamp(52px,5.7vw,78px); }
.design-v25 .compare { aspect-ratio:1.16; box-shadow:38px 38px 0 rgba(251,248,243,.64),0 35px 80px rgba(30,25,21,.2); }
.design-v25 .compare-knob { width:54px; height:54px; border:0; }

.design-v25 .signature { background:#191613; }
.design-v25 .signature-grid { grid-template-columns:1.15fr .85fr; max-width:1600px; margin:auto; }
.design-v25 .signature-image { min-height:720px; background-position:center 28%; filter:saturate(.78) contrast(1.06); }
.design-v25 .signature-copy { position:relative; padding:clamp(60px,7vw,110px); color:#f8f0e6; background:radial-gradient(circle at 85% 10%,rgba(181,138,82,.18),transparent 28%),#1d1916; }
.design-v25 .signature-copy::before { position:absolute; left:clamp(30px,4vw,64px); top:55px; width:1px; height:110px; background:#b58a52; content:""; }
.design-v25 .signature-copy h2 { font-size:clamp(52px,5.2vw,74px); }
.design-v25 .signature-copy p { color:#cfc1b3; }
.design-v25 .signature-quote { color:#d9b27d; border-left:0; font-family:"Cormorant Garamond",serif; font-size:25px; }

.design-v25 .gallery-section { position:relative; padding:140px 0; background:#12100e; }
.design-v25 .gallery-heading { margin-bottom:44px; }
.design-v25 .gallery-heading h2 { max-width:760px; font-size:clamp(53px,5.5vw,78px); }
.design-v25 .gallery-grid { gap:14px; }
.design-v25 .gallery-item { background:#28221d; }
.design-v25 .gallery-item::after { position:absolute; inset:0; border:1px solid rgba(255,255,255,.12); content:""; pointer-events:none; }
.design-v25 .gallery-item:hover img { transform:scale(1.065); filter:saturate(1.05); }
.design-v25 .gallery-toggle { min-width:300px; border-radius:2px; }

.design-v25 .discovery { position:relative; background:linear-gradient(120deg,#f5efe7,#e8ddd0); }
.design-v25 .discovery-shell { min-height:600px; border:0; box-shadow:0 38px 90px rgba(30,25,21,.15); }
.design-v25 .discovery-intro { padding:72px 60px; background:radial-gradient(circle at 90% 10%,rgba(181,138,82,.28),transparent 27%),linear-gradient(145deg,#211c18,#12100e); }
.design-v25 .discovery-intro h2 { font-size:clamp(52px,5vw,70px); }
.design-v25 .quiz-panel { padding:70px; background:#fbf8f3; }
.design-v25 .quiz-step h3 { font:600 36px/1.05 "Cormorant Garamond",serif; }
.design-v25 .quiz-options { gap:12px; }
.design-v25 .quiz-option { position:relative; min-height:86px; padding:18px 52px 18px 20px; background:transparent; }
.design-v25 .quiz-option::after { position:absolute; right:20px; content:"→"; color:#ae7e47; font-size:17px; transition:transform .25s; }
.design-v25 .quiz-option:hover::after { transform:translateX(5px); }

.design-v25 .booking { background:#efe7dc; }
.design-v25 .booking-shell { grid-template-columns:.72fr 1.28fr; box-shadow:0 40px 95px rgba(30,25,21,.18); }
.design-v25 .booking-intro { padding:72px 58px; background:radial-gradient(circle at 15% 10%,rgba(181,138,82,.22),transparent 28%),linear-gradient(155deg,#29231e,#13110f); }
.design-v25 .booking-intro .display { font-size:clamp(52px,5vw,70px); }
.design-v25 .booking-form { padding:65px; }
.design-v25 .form-title { font:600 38px/1 "Cormorant Garamond",serif; }
.design-v25 input,.design-v25 select,.design-v25 textarea { padding:15px 16px; border-color:rgba(30,25,21,.17); }
.design-v25 .service-option { min-height:52px; padding:14px; background:#fff; }

.design-v25 .faq { background:#1b1815; color:#f7eee4; }
.design-v25 .faq-layout { grid-template-columns:.78fr 1.22fr; gap:clamp(70px,9vw,145px); }
.design-v25 .faq-layout h2 { font-size:clamp(52px,5vw,72px); }
.design-v25 .faq-layout > div:first-child p,.design-v25 details p { color:#c9bcaf; }
.design-v25 .faq-list,.design-v25 details { border-color:rgba(255,255,255,.16); }
.design-v25 summary { padding-block:28px; font:500 25px/1.2 "Cormorant Garamond",serif; }
.design-v25 footer { padding-top:76px; background:#100e0c; }
.design-v25 .footer-title { font-family:"Cormorant Garamond",serif; font-size:40px; }

@media (max-width:1100px) {
  .design-v25 .container { width:min(calc(100% - 48px),1240px); }
  .design-v25 .links { gap:18px; }
  .design-v25 .hero h1 { font-size:clamp(61px,8vw,85px); }
  .design-v25 .hero-frame img { min-height:520px; }
  .design-v25 .ritual-step { padding-left:50px; }
  .design-v25 .ritual-step > span { left:17px; }
}
@media (max-width:900px) {
  .design-v25 section { padding:96px 0; }
  .design-v25 .hero { min-height:0; padding:72px 0 115px; }
  .design-v25 .hero-grid { grid-template-columns:1fr; gap:70px; }
  .design-v25 .hero-copy { padding:0; }
  .design-v25 .hero h1 { max-width:760px; }
  .design-v25 .hero-frame { width:min(620px,92%); }
  .design-v25 .hero-frame img { height:min(112vw,680px); }
  .design-v25 .hero-edition { left:-48px; }
  .design-v25 .ritual-grid { grid-template-columns:repeat(2,1fr); }
  .design-v25 .ritual-title { grid-column:span 2; }
  .design-v25 .philosophy-grid,.design-v25 .transformation-grid,.design-v25 .faq-layout { grid-template-columns:1fr; }
  .design-v25 .philosophy-grid { gap:55px; }
  .design-v25 .services-grid { gap:0 34px; }
  .design-v25 .transformation::before { width:100%; height:34%; bottom:auto; }
  .design-v25 .transformation-copy { padding:0; }
  .design-v25 .compare { aspect-ratio:1; }
  .design-v25 .signature-grid { grid-template-columns:1fr; }
  .design-v25 .signature-image { min-height:560px; }
  .design-v25 .discovery-shell,.design-v25 .booking-shell { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .design-v25 .container { width:min(calc(100% - 34px),1240px); }
  .design-v25 section { padding:78px 0; }
  .design-v25 .topline { letter-spacing:.08em; }
  .design-v25 .brand strong { font-size:22px; }
  .design-v25 .hero { padding:53px 0 96px; }
  .design-v25 .hero h1 { font-size:clamp(54px,16.7vw,72px); }
  .design-v25 .hero .lead { font-size:14px; }
  .design-v25 .hero-actions { display:grid; }
  .design-v25 .hero-actions .button { width:100%; }
  .design-v25 .hero-metrics { grid-template-columns:1fr; }
  .design-v25 .hero-metrics div,.design-v25 .hero-metrics div+div { padding:14px 0; border-left:0; border-top:1px solid var(--line); }
  .design-v25 .hero-metrics div:first-child { border-top:0; }
  .design-v25 .hero-frame { width:calc(100% - 18px); }
  .design-v25 .hero-frame img { min-height:0; height:125vw; max-height:590px; }
  .design-v25 .hero-edition { display:none; }
  .design-v25 .hero-stamp { right:-15px; width:118px; }
  .design-v25 .ritual { width:calc(100% - 22px); margin-top:-35px; }
  .design-v25 .ritual-grid { grid-template-columns:1fr; }
  .design-v25 .ritual-title { grid-column:auto; }
  .design-v25 .ritual-title,.design-v25 .ritual-step { min-height:112px; padding:24px; }
  .design-v25 .ritual-step { padding-left:58px; }
  .design-v25 .ritual-step > span { left:20px; top:24px; }
  .design-v25 .philosophy { padding:92px 0; }
  .design-v25 .philosophy .display,.design-v25 .section-heading h2,.design-v25 .transformation-copy h2,.design-v25 .gallery-heading h2,.design-v25 .faq-layout h2 { font-size:48px; }
  .design-v25 .philosophy p { font-size:15px; }
  .design-v25 .principles { grid-template-columns:1fr; }
  .design-v25 .section-heading { margin-bottom:48px; }
  .design-v25 .services-grid { grid-template-columns:1fr; }
  .design-v25 .service h3 { font-size:27px; }
  .design-v25 .compare { box-shadow:15px 15px 0 rgba(251,248,243,.64),0 25px 55px rgba(30,25,21,.16); }
  .design-v25 .signature-image { min-height:400px; }
  .design-v25 .signature-copy { padding:64px 28px; }
  .design-v25 .signature-copy::before { display:none; }
  .design-v25 .gallery-section { padding:88px 0; }
  .design-v25 .gallery-grid { gap:8px; }
  .design-v25 .discovery-intro,.design-v25 .quiz-panel,.design-v25 .booking-intro,.design-v25 .booking-form { padding:43px 25px; }
  .design-v25 .discovery-intro h2,.design-v25 .booking-intro .display { font-size:49px; }
  .design-v25 .quiz-options { grid-template-columns:1fr; }
  .design-v25 .quiz-option { min-height:74px; }
  .design-v25 summary { font-size:22px; }
}

/* Build-free reactive micro interactions — v26 */
.design-v25 .links a.is-active { color:#956a39; }
.design-v25 .links a.is-active::after { right:0; }
.design-v25 .button.micro-reactive { position:relative; overflow:hidden; isolation:isolate; transform:translate3d(var(--magnetic-x,0px),var(--magnetic-y,0px),0); }
.design-v25 .button.micro-reactive:hover { transform:translate3d(var(--magnetic-x,0px),calc(var(--magnetic-y,0px) - 2px),0); }
.design-v25 .micro-ripple { position:absolute; z-index:-1; width:14px; height:14px; margin:-7px 0 0 -7px; background:rgba(255,255,255,.25); border-radius:50%; pointer-events:none; animation:micro-ripple .55s ease-out forwards; }
.design-v25 .button.ghost .micro-ripple,.design-v25 .gallery-toggle .micro-ripple { background:rgba(181,138,82,.22); }
.design-v25 .hero-frame.micro-parallax { transform:perspective(1200px) translate3d(var(--hero-shift-x,0px),var(--hero-shift-y,0px),0) rotateX(var(--hero-rotate-x,0deg)) rotateY(var(--hero-rotate-y,0deg)); transform-style:preserve-3d; transition:transform .18s ease-out; }
.design-v25 .hero-frame.micro-parallax .hero-stamp { transform:translateZ(28px) rotate(9deg); }
.design-v25 .service { background-image:radial-gradient(260px circle at var(--spot-x,-100px) var(--spot-y,-100px),rgba(181,138,82,.12),transparent 72%); }
.design-v25 .service::after { position:absolute; left:0; bottom:-1px; width:0; height:1px; background:#b58a52; content:""; transition:width .38s ease; }
.design-v25 .service:hover::after { width:100%; }
@media (max-width:600px) {
  .design-v25 .service:has(.service-visual) { grid-template-columns:108px minmax(0,1fr); gap:15px; }
  .design-v25 .service h3 { max-width:100%; font-size:23px; }
  .design-v25 .service-footer { align-items:flex-start; gap:8px; }
  .design-v25 .service-footer button { max-width:92px; text-align:right; }
  .admin-row { grid-template-columns:56px 1fr; }
  .admin-service-thumb { width:56px; height:48px; }
  .admin-row-actions { grid-column:1 / -1; justify-content:flex-end; }
}
.design-v25 .gallery-open::after { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:34px; height:34px; color:#191512; background:rgba(248,241,233,.88); content:"+"; font:500 20px/1 "Cormorant Garamond",serif; opacity:0; transform:translateY(7px); transition:opacity .25s,transform .25s; }
.design-v25 .gallery-item:hover .gallery-open::after,.design-v25 .gallery-open:focus-visible::after { opacity:1; transform:none; }
@keyframes micro-ripple { to { opacity:0; transform:scale(18); } }
@media (pointer:coarse) { .design-v25 .gallery-open::after { display:none; } }
