
:root{
  --black:#0b0b0c; --white:#fff; --cream:#fbf8f6; --blush:#ead0d6;
  --teal:#b7ddda; --gold:#b49452; --text:#242225;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--text);line-height:1.65}
img{display:block;max-width:100%}
a{color:inherit}
.serif{font-family:Georgia,'Times New Roman',serif}
.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:.74rem;font-weight:700}
.section{padding:92px 7vw}
.title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,6vw,5.7rem);line-height:.95;margin:.2em 0}
.rule{width:74px;height:1px;background:var(--gold);margin:22px 0 30px}
.btn{display:inline-block;padding:15px 24px;border-radius:999px;text-decoration:none;font-weight:700}
.btn-dark{background:var(--black);color:#fff}
.btn-light{background:#fff;color:#111}
.btn-teal{background:var(--teal);color:#111}

.hero{min-height:100vh;background:url('assets/hero.jpg') center/cover no-repeat;position:relative;color:#fff;display:flex;align-items:flex-end}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.72))}
.hero-inner{position:relative;padding:90px 7vw;max-width:1050px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(4rem,10vw,8.6rem);line-height:.84;margin:0}
.hero p{font-size:clamp(1rem,2vw,1.28rem);max-width:690px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

.mission{background:linear-gradient(90deg,var(--blush),#f7e8ec,var(--teal));padding:27px 7vw;text-align:center;font-family:Georgia,serif;font-size:clamp(1.25rem,3vw,2.1rem)}

.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.split img{width:100%;height:100%;min-height:650px;object-fit:cover}
.copy{padding:88px 7vw;display:flex;flex-direction:column;justify-content:center;background:#fff}
.copy.dark{background:var(--black);color:#fff}
.copy p{max-width:650px}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:35px}
.gallery img{width:100%;height:420px;object-fit:cover}
.gallery img:first-child{grid-column:span 2}

.values{background:var(--black);color:#fff}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.value{background:#fff;color:var(--text);padding:28px;border-top:3px solid var(--gold)}
.value h3{font-family:Georgia,serif;font-size:1.55rem;margin:0 0 10px}

.hours{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.card{background:#fff;padding:34px;border:1px solid #e3dcda}
.hours-list{display:grid;grid-template-columns:1fr auto;gap:10px 24px}
.socials a{display:inline-block;margin:5px 12px 5px 0;font-weight:700;text-decoration:none}

.faq details{background:#fff;padding:20px 24px;border-bottom:1px solid #ddd}
.faq summary{cursor:pointer;font-weight:700}

.booking{display:grid;grid-template-columns:1fr 1fr}
.booking > div{padding:75px 7vw;min-height:470px;display:flex;flex-direction:column;justify-content:center}
.booking .seniya{background:linear-gradient(145deg,#f5dfe5,#fff)}
.booking .tiffany{background:linear-gradient(145deg,#d8efed,#fff)}
.booking h3{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.8rem);margin:0 0 12px}

.footer{background:#080809;color:#fff;text-align:center;padding:55px 7vw 90px}
.footer .brand{font-family:Georgia,serif;font-size:2rem;letter-spacing:.08em}

.sticky{position:fixed;z-index:20;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;background:rgba(11,11,12,.94);padding:8px;border-radius:999px;box-shadow:0 12px 35px rgba(0,0,0,.25)}
.sticky a{padding:11px 18px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.88rem}
.sticky .s{background:var(--blush)}
.sticky .t{background:var(--teal)}

@media(max-width:900px){
  .section{padding:68px 22px}
  .split,.booking,.hours{grid-template-columns:1fr}
  .split img{min-height:520px}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery img:first-child{grid-column:span 2}
  .value-grid{grid-template-columns:1fr 1fr}
  .sticky{width:calc(100% - 24px)}
  .sticky a{flex:1;text-align:center}
}
@media(max-width:560px){
  .gallery,.value-grid{grid-template-columns:1fr}
  .gallery img:first-child{grid-column:auto}
  .gallery img{height:430px}
}
