:root{--ink:#251b22;--pink:#c77699;--light:#fff2f7;--muted:#766772;--line:#efdde5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}a{text-decoration:none;color:inherit}.container{max-width:1140px;margin:auto;padding:0 24px}.banner{text-align:center;background:var(--ink);color:#fff;font-size:10px;letter-spacing:.3em;padding:10px}header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:20px}.logo{font:700 29px Georgia,serif}.logo em,.logo span{color:var(--pink)}.navlinks{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:650}.pill{border:0;display:inline-block;padding:13px 25px;border-radius:30px;font-weight:700;cursor:pointer}.dark{background:var(--ink);color:#fff}.dark:hover{background:#a45b7a}.hero{background:linear-gradient(115deg,#fff9fb,#ffe4ef)}.hero-grid{min-height:550px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;padding-top:45px;padding-bottom:45px}.eyebrow{font-size:11px;letter-spacing:.23em;color:#a05c79;font-weight:800}.hero h1{font:normal clamp(45px,6vw,83px)/1.08 Georgia,serif;letter-spacing:-.05em;margin:18px 0}.hero h1 i,h2 i{color:var(--pink);font-weight:normal}.hero p{max-width:520px}.small{font-size:12px;color:var(--muted);margin-top:18px}.art{min-height:390px;background:radial-gradient(circle at 40% 40%,#fff 0,#f4bed3 55%,#e7a2bf 100%);border-radius:220px 220px 30px 30px;display:flex;align-items:center;justify-content:center;position:relative}.circle{width:250px;height:250px;border:1px solid #fff9;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font:45px/1.12 Georgia,serif;letter-spacing:-.04em}.circle i{color:#9b4f71}.artnote{position:absolute;bottom:24px;right:26px;font:italic 19px Georgia,serif}.section{padding-top:85px;padding-bottom:85px}h2{font:normal clamp(38px,4vw,58px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:12px 0 18px}.sub{color:var(--muted)}.tabs{display:flex;gap:10px;margin:30px 0}.tab{border:1px solid var(--line);background:#fff;border-radius:30px;padding:11px 20px;cursor:pointer}.tab.active{background:var(--ink);color:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;display:flex;flex-direction:column;gap:8px}.card h3{font:normal 23px Georgia,serif;margin:0}.card .price{font-weight:800;color:#ae6083;font-size:21px}.card p{color:var(--muted);font-size:13px;flex:1}.card button{background:var(--light);border:0;border-radius:20px;padding:10px;cursor:pointer}.blush{background:var(--light)}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.notice{background:#fff;border-left:3px solid var(--pink);padding:18px;border-radius:8px;margin:20px 0;font-size:13px}.notice p{margin:6px 0 0}.form{background:white;padding:30px;border-radius:18px;box-shadow:0 15px 55px #9a517a12;display:grid;gap:15px}.form label{display:grid;gap:6px;font-size:13px;font-weight:700}.form input,.form select{width:100%;border:1px solid #dfcfd6;border-radius:9px;padding:12px;background:#fff;min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cost{padding:14px;background:var(--light);border-radius:9px;font-size:14px}.check{display:flex!important;align-items:flex-start;gap:10px}.check input{width:auto;margin-top:5px}.full{width:100%}.feedback{margin:0;font-size:13px}.feedback.error{color:#a02c4a}.feedback.ok{color:#21734b}.policy{max-width:900px}.policy details{border-bottom:1px solid var(--line);padding:18px 0}.policy summary{cursor:pointer;font-weight:750}.policy p{color:var(--muted)}.contact{text-align:center;background:#fff8fb}footer{background:var(--ink);color:#fff}.foot{padding-top:30px;padding-bottom:30px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:13px}@media(max-width:780px){.navlinks a:not(.pill){display:none}.logo{font-size:23px}.hero-grid,.booking-grid{grid-template-columns:1fr}.hero-grid{padding-top:50px}.art{min-height:300px}.cards{grid-template-columns:1fr 1fr}.booking-grid{gap:20px}}@media(max-width:520px){.cards,.two{grid-template-columns:1fr}.section{padding-top:60px;padding-bottom:60px}.form{padding:20px}.circle{width:210px;height:210px;font-size:39px}}


/* Dark page backgrounds; original typography, cards, buttons and layout retained. */
body {
  background: #000000;
}

.hero,
.blush,
.contact {
  background: #000000;
  color: #f8f1f5;
}
/* Keep section copy legible on the dark page while preserving its wording and styling. */
body>.section,main>.section{color:#f8f1f5}
.section:not(.blush):not(.contact){color:#f8f1f5}
.section .sub,.hero .small,.policy p{color:#cbbcc6}
/* Light cards and booking controls retain their existing dark text. */
.card,.form,.notice,.cost{color:var(--ink)}
.card p{color:var(--muted)}
.form input,.form select{color:var(--ink)}
