@font-face{font-family:'Alesia Script';src:url('/assets/alesia-script.otf') format('opentype');font-style:italic;font-weight:400;font-display:swap}
:root{
  --paper:#fffdfb;
  --white:#ffffff;
  --ink:#0c0b0c;
  --muted:#665f62;
  --rose:#f2bfd0;
  --rose-dark:#a85a78;
  --aqua:#dff7f8;
  --aqua-strong:#74d7dc;
  --blue:#bfe8f7;
  --gold:#c79a4a;
  --gold-light:#f0d99d;
  --line:#eee2d7;
  --serif:Didot,'Bodoni 72','Bodoni MT',Georgia,serif;
  --script:'Alesia Script','Snell Roundhand','Brush Script MT','Segoe Script',cursive;
}

body{
  background:
    radial-gradient(circle at 7% 19%,rgba(217,248,249,.55),transparent 22rem),
    radial-gradient(circle at 93% 40%,rgba(250,218,232,.44),transparent 25rem),
    var(--paper);
}

.topline{
  background:#0b0a0b;
  color:#fff;
  border:0;
  letter-spacing:.08em;
}
.topline span{color:var(--gold-light)}

header{
  background:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(199,154,74,.28);
  box-shadow:0 8px 30px rgba(44,28,22,.05);
}
.nav{height:84px}
.brand{gap:10px}
.brand-logo-official{width:110px;height:72px;object-fit:contain;mix-blend-mode:multiply}
.brand-logo-full{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(156,110,35,.12))}
.brand-logo{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(156,110,35,.12))}
.brand-name{display:flex;flex-direction:column;line-height:.86}
.brand-name strong{font:400 1.55rem var(--script);letter-spacing:-.03em}
.brand-name small{margin-left:29px;font:500 .62rem/1.1 var(--serif);letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.nav-links a{color:#292427;font-weight:650}
.nav-links a:hover{color:var(--rose-dark)}
.nav-cta,.button{
  color:#fff;
  background:#0b0a0b;
  border:1px solid #0b0a0b;
  box-shadow:0 8px 18px rgba(0,0,0,.09);
}
.nav-cta:hover,.button:hover{background:var(--gold);border-color:var(--gold);color:#111}
.menu-button{background:#fff;border-color:rgba(199,154,74,.38)}

.eyebrow{color:#9f6d27;letter-spacing:.22em}
.hero{padding:58px 0 74px;position:relative}
.hero:before{
  content:"";position:absolute;left:-11rem;top:2rem;width:29rem;height:29rem;border-radius:50%;
  background:radial-gradient(circle at 65% 40%,rgba(160,232,237,.38),rgba(226,248,249,.32) 45%,transparent 70%);filter:blur(2px);pointer-events:none
}
.hero-grid{grid-template-columns:.94fr 1.06fr;gap:5%;position:relative}
.hero h1{font-size:clamp(3.6rem,7.1vw,6.8rem);letter-spacing:-.065em;color:#0a090a}
.hero h1 em{color:#0a090a;position:relative;white-space:nowrap}
.hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:.05em;height:.11em;border-radius:999px;background:linear-gradient(90deg,var(--rose),var(--aqua-strong),var(--gold-light));opacity:.8;z-index:-1}
.hero-copy>p{color:#5f585b;font-size:1.07rem}
.text-link{border-color:var(--gold)}
.mini-stars{color:var(--gold)}

.hero-brand{
  position:relative;min-height:540px;display:grid;place-items:center;isolation:isolate;
}
.hero-brand:before,.hero-brand:after{content:"";position:absolute;border-radius:50%;z-index:-2;filter:blur(1px)}
.hero-brand:before{width:86%;aspect-ratio:1;background:radial-gradient(circle at 36% 34%,rgba(250,206,225,.82),rgba(213,246,248,.7) 49%,rgba(190,231,248,.34) 67%,transparent 70%)}
.hero-brand:after{width:73%;aspect-ratio:1;border:1px solid rgba(199,154,74,.42);box-shadow:0 0 0 10px rgba(255,255,255,.52),0 0 0 11px rgba(199,154,74,.18)}
.hero-official-logo{width:min(100%,660px);height:auto;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 20px 35px rgba(74,44,35,.08))}
.hero-emblem{position:absolute;width:min(96%,590px);height:auto;z-index:-1;filter:drop-shadow(0 20px 35px rgba(74,44,35,.10))}
.hero-wordmark{text-align:center;transform:translateY(42px);width:100%;color:#070607;text-shadow:0 2px 0 rgba(255,255,255,.22)}
.hero-wordmark span{display:block;font:400 clamp(4.1rem,8vw,7rem)/.73 var(--script);letter-spacing:-.07em;white-space:nowrap}
.hero-wordmark small{display:block;margin-top:28px;font:400 clamp(1.6rem,3vw,2.4rem)/1 var(--serif);letter-spacing:.02em}
.hero-sparkle{position:absolute;right:8%;top:19%;color:var(--gold);font-size:2rem;text-shadow:0 0 18px #fff}

.trust{background:linear-gradient(90deg,#fff 0%,#fff8fb 48%,#f5ffff 100%);border-color:rgba(199,154,74,.22)}
.trust-item{border-color:rgba(199,154,74,.22)}
.trust-item strong{font-family:var(--serif)}

.google-rating{padding:28px 0 6px;background:#fff}
.google-rating-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:34px;padding:21px 25px;border:1px solid rgba(199,154,74,.28);border-radius:18px;background:linear-gradient(105deg,#fff 0%,#fff8fb 48%,#effcfd 100%);box-shadow:0 16px 40px rgba(82,53,58,.06);text-decoration:none;transition:.2s ease}
.google-rating-card:hover{transform:translateY(-2px);box-shadow:0 20px 48px rgba(82,53,58,.10);border-color:rgba(199,154,74,.48)}
.google-name{display:flex;align-items:center;gap:14px}
.google-g{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #ece5df;box-shadow:0 5px 15px rgba(0,0,0,.06);font:800 1.45rem Arial,sans-serif;color:#4285f4}
.google-name span:last-child{display:flex;flex-direction:column}
.google-name small,.rating-score small{font-size:.7rem;color:var(--muted);letter-spacing:.04em}
.google-name strong{font:500 1.12rem var(--serif)}
.rating-score{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px}
.rating-score>strong{font:500 2rem/1 var(--serif)}
.rating-score small{grid-column:1/-1;margin-top:4px}
.rating-stars{color:#d4a340;letter-spacing:.08em;font-size:1.05rem}
.rating-link{font-size:.82rem;font-weight:800;border-bottom:1px solid var(--gold);padding-bottom:3px;white-space:nowrap}
.featured-review{position:relative;margin:20px 0 0;padding:29px 34px 27px;border:1px solid rgba(199,154,74,.24);border-radius:18px;background:#fff;box-shadow:0 16px 42px rgba(82,53,58,.06);overflow:hidden}
.featured-review:before{content:"“";position:absolute;right:24px;top:-23px;font:400 7.5rem/1 var(--serif);color:rgba(116,215,220,.22);pointer-events:none}
.review-stars{color:#d4a340;letter-spacing:.12em;font-size:1rem;margin-bottom:10px}
.featured-review blockquote{position:relative;max-width:900px;margin:0;font:400 clamp(1.2rem,2.25vw,1.68rem)/1.42 var(--serif);color:#211d1f}
.featured-review figcaption{display:flex;align-items:baseline;gap:10px;margin-top:17px;font-size:.78rem;color:var(--muted)}
.featured-review figcaption strong{font-size:.9rem;color:#1b1819}
.featured-review figcaption span:before{content:"·";margin-right:10px;color:var(--gold)}

.section-heading h2,.service h3,.about-copy h2,.step h3,.experience-aside h3,.faq-list summary,.booking-panel h3,.contact h2{font-family:var(--serif)}
.services{gap:21px}
.service{border-color:rgba(199,154,74,.22);border-radius:20px;box-shadow:0 18px 45px rgba(82,53,58,.07);overflow:hidden;position:relative}
.service:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--rose),var(--gold-light),var(--aqua-strong))}
.service:nth-child(2):before{background:linear-gradient(90deg,var(--aqua-strong),var(--blue),var(--gold-light))}
.service:nth-child(3):before{background:linear-gradient(90deg,var(--gold-light),var(--rose),var(--aqua))}
.service-number{color:#9f6d27}
.price-list strong{color:#111}
.promo-inline,.promo-note,.deposit-check{background:linear-gradient(100deg,#fff4f8,#f1ffff);border:1px solid rgba(199,154,74,.22)}

.about{background:linear-gradient(135deg,#fce9f0 0%,#f9f8f4 42%,#ddf7f8 100%);border-block:1px solid rgba(199,154,74,.18)}
.about-card{min-height:440px;border-radius:48% 48% 22px 22px;background:rgba(255,255,255,.62);border:1px solid rgba(199,154,74,.30);box-shadow:0 22px 65px rgba(67,46,52,.09);display:grid;place-items:center}
.about-card:before{inset:10%;width:auto;height:auto;left:10%;bottom:10%;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(249,191,211,.74),rgba(218,247,249,.8) 52%,rgba(191,231,248,.42) 70%,transparent 72%);border:1px solid rgba(199,154,74,.35)}
.about-card:after{content:"A";z-index:2;top:52%;font:400 11rem/1 var(--script);color:#090709;opacity:.93}
.about-ornament{border-color:rgba(199,154,74,.55);color:var(--gold);background:#fff9}
.about-copy p{color:#5f565a}
.about-copy .signature{font-family:var(--script);font-size:1.9rem;color:#111}
.pill{border-color:rgba(199,154,74,.42);color:#2e282a;background:#fff9}

.experience{background:#fff}
.step-num,.quote-mark{color:var(--gold)}
.experience-aside{background:linear-gradient(145deg,#fff8fb,#edfbfc);border:1px solid rgba(199,154,74,.22);border-radius:20px}

.areas{background:#090809;color:#fff}
.areas .eyebrow{color:var(--gold-light)}
.areas .section-heading p,.area-note{color:#d8d1d4}
.area-chip{border-color:rgba(240,217,157,.55);background:rgba(255,255,255,.04)}
.map-art{border-color:rgba(240,217,157,.38);background:radial-gradient(circle at 63% 38%,rgba(116,215,220,.65),transparent 23%),radial-gradient(circle at 38% 64%,rgba(242,191,208,.55),transparent 28%),#171416;box-shadow:inset 0 0 80px rgba(0,0,0,.5),0 20px 50px rgba(0,0,0,.25)}
.map-art:before,.map-art:after{border-color:rgba(240,217,157,.48)}
.map-label{color:#fff}
.map-pin{background:var(--gold-light);box-shadow:0 0 0 7px rgba(240,217,157,.2)}

.faq{background:linear-gradient(180deg,#fff,#fff9fb)}
.faq-list summary:after{color:var(--gold)}
.contact{background:linear-gradient(135deg,#f8dce8 0%,#fff 46%,#d9f6f7 100%);border-top:1px solid rgba(199,154,74,.22)}
.booking-panel{border-color:rgba(199,154,74,.30);border-radius:24px;box-shadow:0 25px 70px rgba(82,53,58,.10)}
.field input,.field select,.field textarea{border-color:#e6d8cc;border-radius:11px;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline-color:var(--aqua-strong);box-shadow:0 0 0 4px rgba(116,215,220,.16)}
.deposit-check input{accent-color:#111}
.contact-detail{border-color:rgba(199,154,74,.32)}
.contact-detail a{color:#8c4b69}

footer{background:#090809;color:#d6cfd2;border:0}
.footer-brand{color:#fff;font-family:var(--script);font-size:1.5rem}
footer a{color:var(--gold-light)}

@media(max-width:680px){
  .nav{height:76px}.brand-logo-official{width:92px;height:64px}.brand-logo-full{width:68px;height:68px}.brand-logo{width:44px;height:44px}.brand-name strong{font-size:1.25rem}.brand-name small{font-size:.52rem;margin-left:22px}
  .nav-links{top:72px;background:rgba(255,255,255,.97);border-color:rgba(199,154,74,.24)}
  .hero{padding-top:34px}.hero h1{font-size:clamp(3.45rem,16vw,5.2rem)}
  .hero-brand{min-height:390px}.hero-official-logo{width:min(100%,470px)}.hero-emblem{width:min(100%,430px)}.hero-wordmark{transform:translateY(33px)}.hero-wordmark span{font-size:clamp(3.8rem,18vw,5.8rem)}.hero-wordmark small{font-size:1.55rem;margin-top:22px}
  .about-card{min-height:330px}.about-card:after{font-size:8.5rem}
  .google-rating{padding-top:20px}.google-rating-card{grid-template-columns:1fr auto;gap:17px;padding:19px 18px}.rating-score{justify-self:end}.rating-link{grid-column:1/-1;justify-self:start;margin-left:59px}.featured-review{padding:24px 21px 22px}.featured-review:before{right:12px}.featured-review blockquote{font-size:1.18rem}.featured-review figcaption{flex-wrap:wrap;gap:6px}
}
