:root{--sun:var(--brand,#ffb800);--ink:#1a1a2e;--blush:#ff6b6b;--surf:#00c9a7;--cream:#fff9f0;--mist:#f0f4ff;--white:#fff;--line:#e8e0d5;--muted:#6b7280;--shadow-sm:0 2px 8px rgba(26,26,46,.08);--shadow-md:0 8px 32px rgba(26,26,46,.12);--shadow-lg:0 24px 64px rgba(26,26,46,.18);--r-sm:12px;--r-md:20px;--r-lg:28px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Poppins,Inter,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:96px 0}.cream{background:var(--cream)}.mist{background:var(--mist)}.display{font-family:"Playfair Display",Georgia,serif;font-weight:900;line-height:.98;letter-spacing:-.025em}.eyebrow{font-family:"Space Mono",monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--sun)}.reveal,.reveal-left,.reveal-right{opacity:0;transition:opacity .65s ease,transform .65s ease}.reveal{transform:translateY(32px)}.reveal-left{transform:translateX(-32px)}.reveal-right{transform:translateX(32px)}.visible{opacity:1;transform:none}.nav{position:sticky;top:0;z-index:50;background:#fffffff0;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-in{min-height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;font-weight:800;font-size:19px}.brand img,.brand-icon{width:46px;height:46px;border-radius:12px;object-fit:contain;background:var(--ink);color:var(--sun);display:grid;place-items:center}.nav-links{display:flex;align-items:center;gap:22px}.nav-links>a:not(.btn){font-size:14px;font-weight:600;color:var(--muted);transition:.2s}.nav-links>a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border:0;border-radius:999px;font-weight:700;font-size:14px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-sun{position:relative;overflow:hidden;background:var(--sun);color:var(--ink)}.btn-sun:after{content:"";position:absolute;inset:0 auto 0 -60%;width:40%;background:linear-gradient(90deg,transparent,#ffffff8c,transparent);animation:shimmer 2.4s infinite}.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}@keyframes shimmer{to{left:120%}}.demo-strip{padding:10px 17px;background:#fff4ce;color:#684b00;text-align:center;font-size:13px;font-weight:800;border-bottom:1px solid #ebd889}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffbf0,#f0f4ff 55%,#fff0f0);padding:100px 0 80px;background-size:cover;background-position:center}.hero:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:var(--sun);opacity:.12;right:-80px;top:-120px}.hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--surf);opacity:.1;left:5%;bottom:-100px}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.hero h1{font-size:clamp(48px,6.5vw,86px);margin:16px 0 22px}.hero h1 em{display:block;color:var(--blush);font-weight:700}.hero-sub{font-size:17px;line-height:1.75;color:var(--muted);max-width:610px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-card{background:var(--ink);color:#fff;padding:32px;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:slideCard .9s cubic-bezier(.22,1,.36,1) both .35s}.hero-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.hero-card h3{font-size:23px}.offer-badge{padding:7px 10px;border-radius:999px;background:#ff6b6b22;color:#ffc1c1;font-size:11px;font-weight:800}.hero-card-copy{margin:15px 0;color:#ced0dc;line-height:1.65}.offer-text{padding:14px 16px;border-radius:12px;background:#ffffff12;border:1px solid #ffffff20;color:#f8e8b3;line-height:1.5}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}.stat{padding:13px;border-radius:11px;background:#ffffff0c}.stat-val{display:block;color:var(--sun);font:700 17px "Space Mono",monospace}.stat-label{font-size:11px;color:#bfc2d0}.hero-book-btn{width:100%;padding:14px;border:0;border-radius:12px;background:var(--sun);font-weight:800;color:var(--ink)}@keyframes slideCard{from{opacity:0;transform:translateX(60px) rotate(2deg)}to{opacity:1;transform:none}}.section-head{max-width:650px;margin-bottom:36px}.section-head.center{margin-inline:auto;text-align:center}.section h2{font-size:clamp(34px,4.5vw,52px);margin:10px 0 12px}.section-desc,.prose{color:var(--muted);font-size:15px;line-height:1.75}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-pill{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:9px 15px;font-weight:700}.filter-pill:hover,.filter-pill.active{background:var(--ink);border-color:var(--ink);color:#fff}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;padding:24px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;overflow:hidden;transition:.25s}.service-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--sun);transform:scaleX(0);transform-origin:left;transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.service-card:hover:before{transform:scaleX(1)}.service-cat{font:700 10px "Space Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--surf)}.service-card h3{font-size:19px;margin:9px 0}.service-desc{color:var(--muted);line-height:1.6;min-height:48px;font-size:13px}.service-foot{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.service-price{font:700 19px "Space Mono",monospace}.service-duration{font-size:11px;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.about-prose{color:var(--muted);line-height:1.8}.pills-wrap{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.amenity-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700}.check{color:var(--surf)}.about-image-box{position:relative;min-height:430px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--ink),#383855);overflow:hidden;box-shadow:var(--shadow-lg)}.about-image-box img{width:100%;height:100%;min-height:430px;object-fit:cover}.about-image-placeholder{min-height:430px;display:grid;place-items:center;color:#ffffff26;font-size:110px}.about-accent-card{position:absolute;right:20px;bottom:20px;padding:18px 22px;border-radius:16px;background:var(--sun);color:var(--ink);font-size:12px;font-weight:700}.about-accent-card strong{display:block;font:900 31px "Playfair Display",Georgia,serif}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.team-card{text-align:center;padding:24px 18px;border-radius:20px;background:#fff;border:1px solid var(--line);transition:.25s}.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.team-avatar{width:96px;height:96px;margin:0 auto 15px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--sun),#e07900);display:grid;place-items:center;color:#fff;font-size:32px;font-weight:900}.team-card h3{font-size:17px}.team-card p{color:var(--muted);font-size:12px;margin:5px}.team-badge{display:inline-block;margin-top:8px;padding:5px 9px;border-radius:999px;background:var(--mist);font-size:10px;font-weight:700}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:210px 210px;gap:12px}.gallery-item{position:relative;overflow:hidden;border-radius:18px;background:var(--ink)}.gallery-item:first-child{grid-row:1/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.07)}.gallery-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#ffffff3d;font-size:50px;background:linear-gradient(135deg,#24243d,#474766)}.gallery-overlay{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;color:#fff;font-weight:700;font-size:12px;background:linear-gradient(transparent,#000b)}.testimonials-wrap{overflow:hidden}.testimonials-track{display:flex;gap:18px;transition:transform .45s ease}.quote-card{flex:0 0 calc(33.333% - 12px);padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}.quote-mark{font:900 50px Georgia;color:var(--sun);height:36px}.quote-text{color:#44475d;line-height:1.75;min-height:115px}.quote-author{display:flex;align-items:center;gap:11px;margin-top:18px}.quote-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:800}.quote-name{font-weight:800}.quote-stars{color:var(--sun);font-size:12px}.carousel-controls{display:flex;gap:8px}.carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:20px}.carousel-dots button{width:8px;height:8px;border:0;border-radius:50%;background:#d4d6de}.carousel-dots button.active{width:22px;border-radius:9px;background:var(--sun)}.hours-contact-grid,.booking-grid,.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.hours-list{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}.hour-row{display:flex;justify-content:space-between;gap:20px;padding:13px 17px;border-bottom:1px solid var(--line);font-size:13px}.hour-row:last-child{border:0}.hour-row.today{background:#fff7df}.hour-status-open{color:#008b72;font-weight:700}.hour-status-closed{color:#e14b58}.contact-links{display:grid;gap:11px}.contact-link{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.2s}.contact-link:hover{transform:translateX(5px);border-color:var(--sun)}.contact-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--mist)}.steps{display:grid;gap:16px;margin-top:28px}.step{display:flex;gap:13px}.step-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--ink);color:var(--sun);font-weight:800}.step-text strong,.step-text span{display:block}.step-text span{color:var(--muted);font-size:12px;margin-top:3px}.form-card{padding:27px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-md)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#54566c}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #d8dce7;border-radius:10px;background:#fff;color:var(--ink);outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sun);box-shadow:0 0 0 3px color-mix(in srgb,var(--sun) 20%,transparent)}.consent-row{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap}.consent{display:flex;gap:7px;align-items:flex-start;color:var(--muted);font-size:11px}.submit-btn{grid-column:1/-1;padding:14px;border:0;border-radius:11px;background:var(--ink);color:#fff;font-weight:800}.submit-btn:hover{background:var(--sun);color:var(--ink)}.form-notice{padding:13px;border-radius:10px;margin-bottom:14px;background:#e5f8f1;color:#087154;font-weight:700}.form-notice.error{background:#fff0f1;color:#ad3042}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-item{padding:17px 19px;border:1px solid var(--line);border-radius:14px;background:#fff}.faq-item summary{cursor:pointer;font-weight:800}.faq-answer{padding-top:11px;color:var(--muted);line-height:1.65;font-size:13px}.social-section{text-align:center}.social-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.social-btn{padding:13px 20px;border-radius:999px;color:#fff;font-weight:800;transition:.2s}.social-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.social-btn-ig{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.social-btn-fb{background:#1877f2}.footer{background:var(--ink);color:#c9cad4;padding:62px 0 20px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:42px}.footer-logo{display:flex;align-items:center;gap:11px;color:#fff;font-size:20px;font-weight:800}.footer-logo img{width:42px;height:42px;object-fit:contain;border-radius:10px}.footer-tagline{margin-top:14px;max-width:390px;line-height:1.7;color:#9ea0b0}.footer-col h4{color:#fff;margin-bottom:13px}.footer-col a,.footer-col p{display:block;margin:7px 0;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding-top:18px;border-top:1px solid #ffffff18;font-size:11px}.powered a{color:var(--sun)}.floating-cta{position:fixed;right:18px;bottom:18px;z-index:40;box-shadow:var(--shadow-md)}.hp{position:absolute!important;left:-9999px!important}.menu-hero{text-align:center;padding:60px 0;background:var(--mist)}.menu-hero h1{font-size:clamp(38px,6vw,62px);margin:10px}.empty{padding:24px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}@media(max-width:900px){.section{padding:72px 0}.nav-links>a:not(.btn){display:none}.hero-grid,.about-grid,.hours-contact-grid,.booking-grid,.lead-grid{grid-template-columns:1fr}.hero{padding:72px 0}.team-grid{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr 1fr}.quote-card{flex-basis:calc(50% - 9px)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:620px){.wrap{width:min(100% - 28px,1160px)}.section{padding:58px 0}.brand{font-size:15px}.brand img{width:40px;height:40px}.nav-in{min-height:64px}.nav-links{gap:8px}.nav-links .btn{padding:10px 13px;font-size:12px}.hero{padding:58px 0}.hero h1{font-size:48px}.hero-card{padding:22px}.services-grid,.team-grid,.faq-grid,.footer-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 160px 160px}.gallery-item:first-child{grid-column:1/-1;grid-row:auto}.quote-card{flex-basis:100%}.fields{grid-template-columns:1fr}.field.full,.consent-row,.submit-btn{grid-column:auto}.footer-bottom{display:grid}.floating-cta{right:12px;bottom:12px}.about-image-box,.about-image-box img,.about-image-placeholder{min-height:340px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal,.reveal-left,.reveal-right{opacity:1;transform:none}}
/* 2.8 interaction refinements */
.testimonials-wrap{padding-top:10px;margin-top:-10px;padding-bottom:10px}
.hero-card{background:linear-gradient(145deg,#252c4c,#13172e);border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 75px rgba(17,23,46,.3)}
.hero-card .stat,.hero-card .offer-text,.hero-card .offer-badge,.hero-card .hero-book-btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease,filter .22s ease}
.hero-card .stat:hover{transform:translateY(-5px) scale(1.025);background:rgba(255,255,255,.13);box-shadow:0 10px 25px rgba(0,0,0,.2)}
.hero-card .offer-text:hover,.hero-card .offer-badge:hover{transform:translateY(-3px);filter:brightness(1.22)}
.hero-card .hero-book-btn:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 12px 28px color-mix(in srgb,var(--sun) 42%,transparent);filter:brightness(1.08)}
