:root { --gold:#d6aa55; --glow-rose:rgba(205,112,95,.45); --glow-gold:rgba(214,170,85,.38); }

body.intro-active { overflow:hidden; }
.founder-intro { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at center,#fffaf7 0,#f6e8e2 52%,#111a37 140%); opacity:1; visibility:visible; transition:opacity .55s ease,visibility .55s ease; }
.founder-intro.is-complete { opacity:0; visibility:hidden; pointer-events:none; }
.founder-intro-inner { display:grid; max-width:680px; justify-items:center; text-align:center; animation:founder-breathe 3s ease-in-out both; }
.founder-intro img { width:min(330px,62vw); aspect-ratio:1; object-fit:cover; border-radius:32px; box-shadow:0 25px 70px rgba(17,26,55,.26),0 0 45px var(--glow-gold); }
.founder-intro p { margin:22px 0 6px; color:#a34838; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.founder-intro strong { font:clamp(25px,4vw,46px)/1.08 Georgia,serif; color:#111a37; }
.founder-intro span { margin-top:12px; color:#655e6b; }
@keyframes founder-breathe { 0%{transform:scale(.86);opacity:0} 42%{transform:scale(1.04);opacity:1} 72%{transform:scale(.98)} 100%{transform:scale(1)} }

.glow-action { box-shadow:0 10px 28px var(--glow-rose),0 0 0 1px rgba(255,255,255,.25) inset; }
.glow-action:hover,.glow-action:focus-visible { box-shadow:0 15px 38px var(--glow-rose),0 0 24px var(--glow-gold); }
.booking-cta { align-items:center; }
.cta-panel { display:grid; gap:14px; padding:34px; border:1px solid var(--line); border-radius:28px; background:rgba(255,255,255,.86); box-shadow:0 22px 52px rgba(17,26,55,.12),0 0 35px rgba(214,170,85,.13); }

.promise-carousel .carousel-viewport { overflow:visible; box-shadow:none; }
.promise-carousel { overflow:hidden; padding:20px 8% 48px; }
.promise-carousel .gallery.carousel-track { gap:22px; }
.promise-carousel .gallery.carousel-track > .carousel-slide { flex-basis:84%; min-width:84%; border:1px solid rgba(255,255,255,.8); border-radius:28px; box-shadow:0 20px 45px rgba(17,26,55,.14); opacity:.48; transform:scale(.94); transition:opacity .45s ease,transform .45s ease,box-shadow .45s ease; }
.promise-carousel .gallery.carousel-track > .carousel-slide.is-active { opacity:1; transform:scale(1); box-shadow:0 24px 55px rgba(17,26,55,.17),0 0 30px var(--glow-rose); }
.promise-carousel .slide-soft { background:linear-gradient(135deg,#e7d6cc,#f1e6df); }
.promise-carousel .slide-rose { background:linear-gradient(135deg,#dcaea4,#f5dcd5); }
.promise-carousel .slide-light { background:linear-gradient(135deg,#fffdfb,#d9cbc2); }
.promise-carousel .slide-quote { background:linear-gradient(135deg,#f2cfc4,#fbeae4); }
.mission-carousel .slide-soft { background:linear-gradient(135deg,#d9d2df,#f3edf5); }
.mission-carousel .slide-rose { background:linear-gradient(135deg,#e7b7a5,#f7e7de); }
.mission-carousel .slide-light { background:linear-gradient(135deg,#fff4d8,#f2e2b5); }
.mission-carousel .slide-quote { background:linear-gradient(135deg,#dce5ef,#f7d8dc); }
.promise-carousel .carousel-button { top:142px; }
.success-glow { color:#9c3f2e; text-shadow:0 0 16px rgba(205,121,102,.48); animation:successPulse .8s ease both; }
@keyframes successPulse { 50% { transform:scale(1.02); } }

body > header:not(.nav) { min-height:92px; display:flex; align-items:center; gap:28px; padding:10px 6vw; background:rgba(255,250,246,.94); position:sticky; top:0; z-index:10; box-shadow:0 8px 30px rgba(30,20,15,.06); backdrop-filter:blur(14px); }
body > header:not(.nav) .brand { flex:0 1 330px; min-width:210px; }
body > header:not(.nav) .brand img { display:block; width:100%; height:70px; object-fit:contain; object-position:left center; }
body > header:not(.nav) nav { display:flex; flex:1; justify-content:center; gap:22px; }
body > header:not(.nav) a { color:var(--navy); text-decoration:none; }
body > header:not(.nav) nav a { text-transform:uppercase; font-size:13px; letter-spacing:.05em; }
body > header:not(.nav) .cta { flex:0 0 auto; border-radius:999px; padding:15px 22px; background:linear-gradient(135deg,var(--rose2),var(--rose)); color:#fff; font-weight:800; }
.page-hero { display:block; padding:72px max(6vw,28px); background:linear-gradient(125deg,#fffaf7,#ead7cb); }
.page-hero h1 { margin:10px 0 18px; font:clamp(50px,7vw,92px)/.95 Georgia,serif; color:#111a37; }
.page-hero p:not(.eyebrow) { max-width:720px; color:#5f5865; font-size:18px; line-height:1.7; }
.page-hero img { width:100%; max-height:430px; object-fit:cover; border-radius:32px; box-shadow:0 24px 55px rgba(17,26,55,.16),0 0 35px var(--glow-gold); }
.page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; padding:60px max(6vw,28px); background:#fffaf7; }
.page-card { padding:30px; border:1px solid var(--line); border-radius:26px; background:#fff; box-shadow:0 12px 30px rgba(17,26,55,.07); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.page-card h2,.page-card h3 { margin-top:0; color:#111a37; font-family:Georgia,serif; }
.page-card li,.page-card p { color:#5f5865; line-height:1.65; }
.page-card ul { padding-left:20px; }
.faq-list { display:grid; gap:14px; padding:60px max(12vw,28px); background:#fffaf7; }
.faq-list details { border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 10px 24px rgba(17,26,55,.06); }
.faq-list summary { cursor:pointer; padding:22px 26px; color:#111a37; font-weight:900; }
.faq-list details p { padding:0 26px 24px; margin:0; color:#5f5865; line-height:1.65; }
.request-page { display:grid; grid-template-columns:.82fr 1.18fr; gap:36px; align-items:start; padding:62px max(6vw,24px); }
.request-page .booking { padding:0; }
.request-page form button { border:0; border-radius:999px; padding:16px 24px; background:linear-gradient(135deg,var(--rose2),var(--rose)); color:#fff; font:800 16px/1 Inter,system-ui,sans-serif; cursor:pointer; }
.request-page aside { margin-top:24px; padding:20px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.72); color:#5f5865; line-height:1.65; }
.home-booking-cta { text-align:center; padding:62px max(8vw,28px); background:linear-gradient(135deg,#f8e9e2,#fffaf7); }
.home-booking-cta img { display:block; width:min(230px,60vw); aspect-ratio:1; object-fit:cover; margin:0 auto 24px; border-radius:28px; box-shadow:0 20px 44px rgba(17,26,55,.14),0 0 28px var(--glow-gold); }
.home-booking-cta .button { display:inline-flex; margin-top:14px; border-radius:999px; padding:16px 26px; background:linear-gradient(135deg,var(--rose2),var(--rose)); color:#fff; font-weight:800; text-decoration:none; }
footer a { color:#fff; text-decoration:none; }
footer a:hover,footer a:focus-visible { color:#f1c8bc; text-shadow:0 0 14px rgba(241,200,188,.45); }

@media (hover:hover) and (pointer:fine) {
  .page-card:hover,.page-card:focus-within { transform:translateY(-7px); border-color:rgba(214,170,85,.72); box-shadow:0 22px 44px rgba(17,26,55,.13),0 0 26px rgba(214,170,85,.18); }
}
@media (max-width:760px) {
  .page-grid,.request-page { grid-template-columns:1fr; }
  .page-hero { padding:48px 24px; }
  .page-hero img { max-height:300px; }
  .promise-carousel { padding-inline:5%; }
  .promise-carousel .gallery.carousel-track > .carousel-slide { flex-basis:90%; min-width:90%; }
  .founder-intro img { width:min(250px,66vw); }
  body > header:not(.nav) { position:static; flex-wrap:wrap; padding:14px 20px; }
  body > header:not(.nav) .brand { flex-basis:100%; }
  body > header:not(.nav) .brand img { width:min(330px,100%); }
  body > header:not(.nav) nav { order:3; justify-content:flex-start; overflow-x:auto; padding-bottom:4px; }
  body > header:not(.nav) nav a { white-space:nowrap; }
  body > header:not(.nav) .cta { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .founder-intro-inner { animation:none; }
  .founder-intro,.promise-carousel .carousel-slide { transition:none; }
}
