:root{
  --bg:#fff8f6;
  --paper:#fffdfb;
  --text:#2a2022;
  --muted:#7a686b;
  --line:rgba(122,86,91,.16);
  --dark:#2f2226;
  --accent:#d8a6aa;
  --accent-dark:#b06f78;
  --radius:28px;
  --shadow:0 22px 70px rgba(36,24,18,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;justify-content:space-between;padding:14px 28px;background:rgba(250,247,242,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em}.brand img{width:54px;height:54px;border-radius:999px;object-fit:cover;background:white;border:1px solid var(--line)}.nav{display:flex;gap:24px;color:var(--muted);font-size:14px;font-weight:700}.nav a:hover{color:var(--text)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;background:var(--text);color:white;font-weight:800;box-shadow:0 14px 34px rgba(23,19,19,.18);transition:.2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 20px 45px rgba(23,19,19,.25)}.btn-small{min-height:42px;padding:0 18px;font-size:14px}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn-light{background:white;color:var(--text)}
.hero{position:relative;overflow:hidden;padding:92px 0 72px;background:radial-gradient(circle at top left,#ffdfe4 0,#fff8f6 38%,#f7eadf 100%)}.hero-bg{position:absolute;inset:auto -10% -35% auto;width:62vw;height:62vw;border-radius:50%;background:rgba(196,153,118,.23);filter:blur(10px)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900;color:var(--accent-dark);margin:0 0 12px}.hero h1,.section h2{font-family:"Playfair Display",serif;line-height:1.03;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(48px,7vw,86px);max-width:760px}.lead{font-size:19px;max-width:670px;color:var(--muted);margin:24px 0 0}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.trust-row span{border:1px solid var(--line);background:rgba(255,255,255,.55);padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800;color:#4a3d38}.hero-card{position:relative;border-radius:38px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(1.5deg);background:white}.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.22),transparent 48%)}.hero-card img{width:100%;height:min(650px,72vh);object-fit:cover;object-position:center top}.section{padding:88px 0}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:62px;align-items:center}.image-stack{position:relative}.main-photo{border-radius:var(--radius);box-shadow:var(--shadow);height:620px;width:100%;object-fit:cover;object-position:center top}.floating-logo{position:absolute;right:-28px;bottom:-28px;width:190px;border-radius:999px;background:white;padding:8px;border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.16)}.content-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:46px;box-shadow:0 18px 55px rgba(80,50,30,.08)}.content-card h2,.section-head h2,.booking-card h2,.contact h2{font-size:clamp(34px,5vw,58px)}.content-card p,.section-head p,.booking-card p,.contact p,.service-card p,.contact-cta p{color:var(--muted)}.text-link{font-weight:900;color:var(--accent-dark)}.section-head{text-align:center;max-width:720px;margin:0 auto 42px}.services{background:#fffdfb}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:28px;border-radius:24px;background:var(--bg);border:1px solid var(--line);min-height:245px}.service-card span{font-size:13px;color:var(--accent-dark);font-weight:900}.service-card h3{font-size:22px;line-height:1.15;margin:18px 0 10px}.quote-section{padding:44px 0;background:var(--dark)}.quote-card{text-align:center;color:white}.quote-card p{font-family:"Playfair Display",serif;font-size:clamp(32px,5vw,58px);line-height:1.12;margin:0}.quote-card span{display:block;margin-top:14px;color:rgba(255,255,255,.68);font-weight:700}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:20px;box-shadow:0 12px 34px rgba(34,24,20,.12);background:white}.gallery-grid img:nth-child(3n+1){transform:translateY(16px)}.gallery-cta{margin:42px auto 0;max-width:680px;text-align:center;background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:26px;padding:26px}.gallery-cta p{margin:0 0 18px;color:var(--muted);font-weight:600}.gallery-cta .btn{background:white}
.booking{padding-top:32px}.booking-card{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(135deg,#3a262b,#b06f78);color:white;padding:50px;border-radius:34px;box-shadow:var(--shadow)}.booking-card p{color:rgba(255,255,255,.72);max-width:720px}.contact{background:white}.contact-grid{display:grid;grid-template-columns:1fr .9fr .9fr;gap:20px}.contact-grid>div{background:var(--bg);border:1px solid var(--line);border-radius:26px;padding:30px}.opening-hours h3,.contact-cta h3{margin:0 0 15px;font-size:24px}.opening-hours ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.opening-hours li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:12px}.opening-hours span{color:var(--muted)}.footer{background:var(--dark);color:white;padding:24px 0}.footer-inner{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.footer p{margin:0;color:rgba(255,255,255,.72)}.footer a{font-weight:800;margin-left:14px}
@media (max-width:920px){.nav{display:none}.hero{padding-top:62px}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.hero-card{transform:none}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.booking-card{display:block}.booking-card .btn{margin-top:18px}.main-photo{height:auto}.floating-logo{right:18px;bottom:18px;width:135px}.site-header{padding:12px 18px}.brand span{font-size:15px}}
@media (max-width:600px){.container{width:min(100% - 28px,1160px)}.hero h1{font-size:43px}.lead{font-size:17px}.section{padding:62px 0}.content-card,.booking-card{padding:28px}.service-grid,.gallery-grid{grid-template-columns:1fr 1fr}.service-card{min-height:auto}.gallery-grid img:nth-child(3n+1){transform:none}.trust-row span{font-size:12px}.footer-inner{display:block}.footer a{display:inline-block;margin-top:8px}}
