:root{--purple:#6338c6;--purple-dark:#43228f;--teal:#087f8c;--ink:#182033;--muted:#667085;--line:#e5e8ef;--soft:#f5f6fa;--white:#fff;--success:#157f55;--danger:#b42335;--shadow:0 18px 55px rgba(26,33,62,.10);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}h1,h2,h3,h4{font-family:"Manrope",sans-serif;line-height:1.15;margin-top:0}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:11px;font-family:"Manrope";font-weight:800}.logo-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--purple);color:#fff;font-size:14px;letter-spacing:.5px}.main-nav{display:flex;align-items:center;gap:28px;font-weight:600}.main-nav a:hover{color:var(--purple)}.nav-book{padding:11px 16px;background:var(--purple);color:#fff!important;border-radius:11px}.nav-toggle{display:none;background:none;border:0;font-size:22px}.hero{padding:88px 0;background:linear-gradient(135deg,#f6f2ff 0%,#f9fbff 48%,#eefafa 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:13px;text-transform:uppercase;letter-spacing:1.4px;font-weight:800}.hero h1{font-size:clamp(46px,6.3vw,78px);letter-spacing:-3px;margin:16px 0 22px;max-width:800px}.hero-copy>p{font-size:20px;color:var(--muted);max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:0;border-radius:12px;padding:14px 20px;font:700 15px "DM Sans";cursor:pointer}.btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-dark)}.btn-light{background:#fff;border:1px solid var(--line)}.btn-block{width:100%}.trust-row{display:flex;flex-wrap:wrap;gap:20px;color:#445064;font-size:14px}.trust-row i{color:var(--teal)}.hero-card,.form-card,.summary-card,.info-panel,.quote-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:28px;transform:rotate(1deg)}.hero-card-head{display:flex;justify-content:space-between;font-family:"Manrope";font-weight:800;font-size:20px;margin-bottom:24px}.hero-card-head i{color:var(--purple)}.step{display:flex;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.step b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0ebff;color:var(--purple)}.step small,.quote-card small{display:block;color:var(--muted)}.hero-card .btn{margin-top:22px}.section{padding:82px 0}.soft{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading h2,.split h2,.cta h2{font-size:clamp(30px,4vw,48px);margin:10px 0}.section-heading>a{color:var(--purple);font-weight:700}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-icon{width:54px;height:54px;border-radius:15px;background:#f1ecff;color:var(--purple);display:grid;place-items:center;font-size:22px;margin-bottom:20px}.service-card p{color:var(--muted)}.service-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.service-card-foot strong{font-size:20px}.service-card-foot small{font-size:12px;color:var(--muted)}.service-card-foot a{color:var(--purple);font-weight:700}.service-card-large ul{list-style:none;padding:0}.service-card-large li{margin:8px 0;color:var(--muted)}.service-card-large li i{color:var(--teal);margin-right:7px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.feature-list>div{display:flex;gap:15px;margin:22px 0}.feature-list i{width:42px;height:42px;border-radius:12px;background:#e8f7f8;color:var(--teal);display:grid;place-items:center}.feature-list span{display:grid}.feature-list small{color:var(--muted)}.quote-card{padding:34px}.quote-card>i{font-size:38px;color:#dcd2fa}.quote-card blockquote{font:700 24px/1.5 "Manrope";margin:20px 0 28px}.quote-card>div{display:flex;gap:12px;align-items:center}.avatar{width:44px;height:44px;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;font-weight:800}.cta{display:flex;justify-content:space-between;align-items:center;background:#1d2436;color:#fff;padding:48px;border-radius:24px}.page-hero{padding:70px 0;background:var(--soft);text-align:center}.page-hero.compact{padding:48px 0}.page-hero h1{font-size:clamp(38px,5vw,64px);margin:12px 0}.page-hero p{max-width:720px;margin:auto;color:var(--muted);font-size:18px}.booking-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start}.form-card,.summary-card{padding:28px}.form-section{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.form-section h2{font-size:21px;display:flex;align-items:center;gap:10px}.form-section h2 span{width:30px;height:30px;border-radius:50%;background:#f1ecff;color:var(--purple);display:grid;place-items:center;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{font-weight:700;font-size:14px}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;margin-top:7px;border:1px solid #d9dee8;border-radius:11px;padding:13px 14px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:120px;resize:vertical}.sticky{position:sticky;top:102px}.summary-line,.summary-total{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.summary-line span{color:var(--muted)}.summary-total{font-size:19px;border:0}.small-note{font-size:13px;color:var(--muted);background:var(--soft);padding:13px;border-radius:10px}.alert{padding:14px 16px;border-radius:11px;margin:18px auto}.alert.success{background:#eaf8f1;color:var(--success);border:1px solid #bde8d2}.alert.error{background:#fff0f1;color:var(--danger);border:1px solid #ffc9cf}.info-panel{padding:30px}.prose{max-width:800px}.site-footer{background:#151b2b;color:#cbd2df;padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr .7fr;gap:40px}.footer-grid h4{color:#fff}.footer-grid>div>a{display:block;margin:9px 0}.footer-logo{color:#fff}.socials{display:flex;gap:10px}.socials a{width:40px;height:40px;border-radius:10px;background:#242c40;display:grid;place-items:center}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #2b3346;margin-top:40px;padding-top:20px;font-size:13px}.floating-whatsapp{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:var(--shadow);z-index:60}
@media(max-width:900px){.hero-grid,.split,.booking-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero-card{transform:none}.sticky{position:static}.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}}
@media(max-width:620px){.hero{padding:58px 0}.hero h1{font-size:46px;letter-spacing:-1.8px}.service-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.section{padding:58px 0}.section-heading,.cta,.footer-bottom{align-items:flex-start;flex-direction:column;gap:18px}.cta{padding:30px}.trust-row{display:grid;gap:8px}.page-hero{padding:52px 0}}

.slot-field>label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.slot-legend{display:flex;flex-wrap:wrap;gap:15px;margin:8px 0 14px;color:var(--muted);font-size:13px}
.slot-legend span{display:flex;align-items:center;gap:6px}
.slot-dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.slot-dot.available{background:#1f9d63}.slot-dot.unavailable{background:#dc4b5b}.slot-dot.selected{background:var(--purple)}
.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:14px;min-height:82px;transition:.2s}
.slot-grid.slot-error{box-shadow:0 0 0 3px rgba(180,35,53,.16);border-color:#dc4b5b}
.slot-capsule{appearance:none;border:1px solid transparent;border-radius:999px;padding:11px 12px;font-family:"DM Sans",sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}
.slot-capsule span{font-weight:800;font-size:15px}.slot-capsule small{font-size:10px;opacity:.82}
.slot-capsule.available{background:#e8f7ef;color:#126c49;border-color:#b7e6cf}
.slot-capsule.available:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(21,127,85,.15);background:#ddf4e8}
.slot-capsule.unavailable{background:#fff0f1;color:#b42335;border-color:#ffc7ce;cursor:not-allowed;opacity:.82}
.slot-capsule.selected{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:0 8px 20px rgba(99,56,198,.25)}
.slot-message{grid-column:1/-1;margin:auto;text-align:center;color:var(--muted);padding:12px}
.unavailable-message{color:var(--danger)}
@media(max-width:700px){.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:470px){.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-capsule{padding:10px 8px}}

/* Rotating professional theme presets: selected server-side, never user supplied. */
.theme-violet{--primary:#6338c6;--primary-dark:#452399;--secondary:#0f9fae}
.theme-indigo{--primary:#4056b5;--primary-dark:#293b8d;--secondary:#008f82}
.theme-plum{--primary:#823b79;--primary-dark:#5e2858;--secondary:#177f8d}
.theme-teal{--primary:#137f7a;--primary-dark:#0b5f5b;--secondary:#6d4fc2}
.theme-royal{--primary:#2857a4;--primary-dark:#183b75;--secondary:#9b4d78}
.theme-violet,.theme-indigo,.theme-plum,.theme-teal,.theme-royal{--purple:var(--primary);--purple-dark:var(--primary-dark)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.page-skeleton{position:fixed;inset:0;background:#f7f8fb;z-index:9999;padding:18px;transition:opacity .22s,visibility .22s}.is-loading>*:not(.page-skeleton){visibility:hidden}.is-loading .page-skeleton{visibility:visible}.page-skeleton{visibility:hidden;opacity:0}.is-loading .page-skeleton{opacity:1}.sk-head,.sk-hero,.sk-lines{max-width:1180px;margin:0 auto 18px;border-radius:18px;background:linear-gradient(90deg,#e9ebf1 25%,#f5f6f9 50%,#e9ebf1 75%);background-size:200% 100%;animation:saeShimmer 1.15s infinite}.sk-head{height:70px}.sk-hero{height:280px}.sk-lines{height:180px}@keyframes saeShimmer{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.sk-head,.sk-hero,.sk-lines{animation:none}}

.slot-capsule.selected,.slot-capsule.selected:hover{background:var(--primary)!important;border:2px solid var(--primary-dark)!important;color:#fff!important;box-shadow:0 10px 24px rgba(25,20,60,.24)!important}
.slot-capsule.selected span,.slot-capsule.selected small{color:#fff!important;opacity:1!important;font-weight:800!important;text-shadow:0 1px 2px rgba(0,0,0,.28)}

.legal-consent{border:1px solid color-mix(in srgb,var(--primary) 22%,#e7e9ef);background:linear-gradient(180deg,#fff,#faf9ff)}
.consent-notice{padding:15px 17px;border-radius:14px;background:#f3efff;border-left:4px solid var(--primary);margin-bottom:16px}.consent-notice p{margin:5px 0 0;color:#4f5565;line-height:1.6}
.check-row{display:flex!important;align-items:flex-start;gap:11px;padding:13px 0;border-bottom:1px solid #eceef3;font-weight:500!important;line-height:1.55}.check-row input{width:19px!important;height:19px;margin-top:3px;flex:0 0 auto;accent-color:var(--primary)}.check-row a{color:var(--primary-dark);font-weight:800}.check-row.optional{color:#535b6b}.consent-version{font-size:12px;color:#737b8c;margin:14px 0 0}
.cookie-banner{position:fixed;z-index:9999;left:18px;right:18px;bottom:18px;max-width:1050px;margin:auto;background:#111827;color:#fff;padding:18px 20px;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:4px 0 0;color:#d3d8e3;line-height:1.5;font-size:14px}.cookie-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}.cookie-actions .btn{white-space:nowrap}
.legal-page{max-width:900px}.legal-page h1{font-size:clamp(34px,6vw,56px);margin-bottom:8px}.legal-page h2{margin-top:34px;font-size:24px}.legal-page h3{margin-top:24px}.legal-page p,.legal-page li{line-height:1.75;color:#4a5262}.legal-page .legal-meta{padding:14px 16px;background:#f5f1ff;border-radius:12px;color:#4f3b83}.legal-page .legal-warning{padding:16px;border-left:4px solid #d99614;background:#fff8e6;border-radius:10px}
@media(max-width:760px){.cookie-banner{display:block;left:10px;right:10px;bottom:10px}.cookie-actions{margin-top:13px}.cookie-actions .btn{flex:1}.legal-page{padding-left:4px;padding-right:4px}}
