:root{--blush:#F4E6E1;--blush2:#EBD3CB;--rose:#B5707A;--rose-d:#94535D;--char:#2A2527;--mut:#6F6366;--cream:#FBF7F5;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:300 18px/1.7 var(--sans);color:var(--char);background:var(--cream)}
img{max-width:100%;display:block;height:auto}a{color:var(--rose-d)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0 0 .45em}
h2{font-size:clamp(2.3rem,4.4vw,3.4rem)}h3{font-size:1.7rem}
em{font-style:italic;color:var(--rose)}
.wrap{width:min(100% - 40px,1160px);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:50px;background:#000;color:#fff;padding:8px 12px;z-index:100}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
.btn{display:inline-block;background:var(--char);color:#fff;text-decoration:none;font:500 .9rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:17px 30px;border:0;cursor:pointer;transition:.25s}
.btn:hover{background:var(--rose-d);color:#fff}.btn-sm{padding:12px 20px;font-size:.78rem}.full{width:100%}
.link{font:500 .88rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--char);text-decoration:none;border-bottom:1px solid var(--rose);padding-bottom:6px}
.link:hover{color:var(--rose-d)}
.kicker{font:500 .78rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--rose);margin:0 0 20px}.kicker.dark{color:var(--rose-d)}
.muted{color:var(--mut)}.center{text-align:center}
.hdr{position:sticky;top:0;z-index:40;background:rgba(251,247,245,.92);backdrop-filter:blur(10px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px}
.logo{font:500 1.9rem/1 var(--serif);color:var(--char);text-decoration:none}
.logo small{display:block;font:400 .66rem/1.8 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
nav{display:flex;align-items:center;gap:30px}nav a{color:var(--char);text-decoration:none;font-weight:400;font-size:.95rem;letter-spacing:.06em}nav a:not(.btn):hover{color:var(--rose-d)}nav .btn{color:#fff}
.burger{display:none;background:none;border:0;color:var(--char);cursor:pointer}
@media(max-width:860px){.burger{display:block}nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:stretch;padding:16px 20px 24px;gap:4px}nav.open{display:flex}nav a{padding:10px 0}}
.hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:82vh;background:var(--blush)}
.hero-txt{padding:80px 56px 80px max(20px,calc((100vw - 1160px)/2));display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:clamp(3rem,6vw,5.2rem)}
.sub{font-size:1.15rem;color:var(--mut);max-width:40ch}
.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:28px}
.hero-img{position:relative;min-height:420px}.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-txt{padding:64px 20px}.hero-img{min-height:380px}}
section{padding:110px 0}
.intro{text-align:center;max-width:860px}.big{font:500 italic clamp(1.7rem,3vw,2.4rem)/1.35 var(--serif);margin:0 0 16px}.sig{color:var(--mut);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem}
.services{background:#fff}.head{max-width:620px;margin-bottom:56px}.head.center{margin-inline:auto}
.svc-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.svc-col img{aspect-ratio:4/5;object-fit:cover;width:100%;margin-bottom:24px}
.price-list{list-style:none;padding:0;margin:0}
.price-list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--blush2)}
.price-list b{font-weight:500;white-space:nowrap}
@media(max-width:900px){.svc-cols{grid-template-columns:1fr}.svc-col img{aspect-ratio:16/10}}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
.avatar{width:150px;height:150px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;font:500 3.4rem var(--serif);color:#fff;background:linear-gradient(140deg,#C99096,#94535D)}
.a2{background:linear-gradient(140deg,#6E6466,#2A2527)}.a3{background:linear-gradient(140deg,#E3C1B4,#B5707A)}.a4{background:linear-gradient(140deg,#B9A08F,#7A5F57)}
.member h3{font-size:1.5rem;margin-bottom:2px}.member p{margin:0;color:var(--mut);font-size:.95rem}
@media(max-width:860px){.team-grid{grid-template-columns:1fr 1fr}}
.gallery{padding:0}.gal-grid{display:grid;grid-template-columns:repeat(4,1fr)}.gal-grid img{width:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:700px){.gal-grid{grid-template-columns:1fr 1fr}}
.book{background:var(--blush)}
.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.gift{margin-top:40px;padding:32px;background:var(--cream);border:1px solid var(--blush2)}.gift p{color:var(--mut)}
.form{background:#fff;padding:40px;display:grid;gap:6px}
label{font-weight:500;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-top:12px}
input,select{width:100%;font:inherit;font-weight:400;padding:13px 0;border:0;border-bottom:1px solid #CDB8B1;background:transparent;color:var(--char);border-radius:0}
input:focus,select:focus{outline:none;border-bottom-color:var(--rose-d)}
.form .btn{margin-top:24px}.demo-note{margin:10px 0 0;text-align:center;font-size:.82rem;color:var(--mut)}
@media(max-width:860px){.book-grid{grid-template-columns:1fr;gap:40px}.form{padding:28px}}
.visit{background:var(--char);color:#D8CCCF;padding:80px 0}.visit h3{color:#fff}.visit a{color:#F0C9CF}
.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.visit p{margin:0}
@media(max-width:760px){.visit-grid{grid-template-columns:1fr}}
.ftr{background:#1D191A;color:#9C8F92;padding:26px 0;font-size:.88rem}.ftr-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.ftr p{margin:0}.ftr a{color:#F0C9CF}
