
:root{
  --bg:#F0F0E9;
  --bg-soft:#f8f8f3;
  --ink:#13403D;
  --ink-2:#0f302e;
  --accent:#82BC48;
  --accent-2:#B0CA65;
  --muted:#58716d;
  --line:#d7ddd1;
  --white:#ffffff;
  --glass-dark:rgba(19,64,61,.66);
  --glass-dark-2:rgba(19,64,61,.5);
  --glass-light:rgba(255,255,255,.12);
  --shadow:0 18px 48px rgba(10,28,27,.16);
  --shadow-strong:0 28px 80px rgba(10,28,27,.25);
  --radius-xl:32px;
  --radius-lg:26px;
  --radius-md:20px;
  --radius-sm:16px;
  --calendar-cell:clamp(40px,8vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Poppins',system-ui,sans-serif;background:radial-gradient(circle at top,#f8faf5 0%, var(--bg) 36%, #edf3e7 100%);color:var(--ink)}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input{font:inherit}button{cursor:pointer}
.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.page-shell{min-height:100vh;display:flex;flex-direction:column}
.page-main{flex:1}
.section{padding:84px 0}
.section-compact{padding:68px 0}
.centered{text-align:center}
.section-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(130,188,72,.16);border:1px solid rgba(130,188,72,.26);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(14px)}
.section-title,.hero h1,.page-head h1{margin:14px 0 0;font:800 clamp(36px,4vw,60px)/1.02 'Parkinsans',sans-serif;letter-spacing:-.04em;color:var(--ink)}
.section-title span,.hero h1 em,.page-head h1 span{color:var(--accent);font-style:normal}
.section-copy,.page-head p{max-width:760px;margin:16px auto 0;color:var(--muted);line-height:1.8}
.page-head{padding-top:132px;padding-bottom:20px}
.glass-panel{position:relative;background:linear-gradient(135deg, rgba(255,255,255,.3), rgba(255,255,255,.1));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.32);box-shadow:var(--shadow);border-radius:var(--radius-xl)}
.glow::before{content:'';position:absolute;inset:-1px;background:linear-gradient(90deg, rgba(176,202,101,.08), rgba(130,188,72,.14), rgba(255,255,255,.08));border-radius:inherit;pointer-events:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:14px 22px;font-weight:700;transition:.2s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg, var(--ink), var(--ink-2));color:#fff;box-shadow:0 10px 26px rgba(19,64,61,.28)}
.btn-accent{background:linear-gradient(180deg, var(--accent), var(--accent-2));color:#16342e;box-shadow:0 10px 22px rgba(130,188,72,.28)}
.btn-ghost{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);color:#fff}
.btn-outline{background:#fff;border:1px solid rgba(19,64,61,.12);color:var(--ink)}
.btn-sm{padding:12px 16px;font-size:14px}

/* NAV */
.site-header{position:sticky;top:0;z-index:50;padding:12px 0 0}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;background:linear-gradient(180deg, rgba(19,64,61,.78), rgba(19,64,61,.66));border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:var(--shadow-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand img{height:42px;width:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.15))}
.brand small{display:block;color:rgba(255,255,255,.68);font-size:12px;margin-top:2px}
.nav{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}
.nav-link{position:relative;padding:12px 16px;border-radius:999px;color:rgba(255,255,255,.84);font-weight:500;background:transparent;transition:.2s ease}
.nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-link.active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.nav-cta{padding:12px 20px;border-radius:999px;background:linear-gradient(180deg, var(--ink), #0f3532);color:#fff;border:1px solid rgba(176,202,101,.24);box-shadow:0 8px 20px rgba(19,64,61,.25)}
.nav-cta:hover{transform:translateY(-1px)}
.nav-toggle{display:none;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12);width:44px;height:44px;border-radius:14px}

/* HERO */
.hero{padding:44px 0 34px}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:38px;align-items:center}
.hero-left{padding:34px;min-height:100%;background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.08))}
.hero-left.glass-panel{border-color:rgba(255,255,255,.4)}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(130,188,72,.18);border:1px solid rgba(130,188,72,.25);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hero .hero-lead{color:var(--muted);max-width:560px;line-height:1.85;font-size:16px;margin-top:18px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:var(--muted);font-size:14px}
.hero-visual{padding:18px;background:linear-gradient(180deg, rgba(19,64,61,.92), rgba(19,64,61,.78));border-radius:var(--radius-xl);box-shadow:var(--shadow-strong);position:relative;overflow:hidden}
.hero-visual::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 0%, rgba(130,188,72,.24), transparent 26%), radial-gradient(circle at 20% 100%, rgba(176,202,101,.18), transparent 28%);pointer-events:none}
.hero-image-frame{position:relative;padding:14px;border-radius:26px;border:1px solid rgba(255,255,255,.12)}
.hero-photo{aspect-ratio:1/1;object-fit:cover;border-radius:22px;width:100%}
.hero-outline{position:absolute;inset:18px;border:1.5px solid rgba(130,188,72,.65);border-radius:28px;pointer-events:none}
.dot{position:absolute;border-radius:50%;background:var(--accent)} .d1{top:18px;right:22px;width:18px;height:18px}.d2{left:26px;bottom:22px;width:10px;height:10px}
.float-card{position:absolute;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.92);padding:14px 16px;border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.18);max-width:250px}
.float-card strong{display:block;font-size:14px}.float-card small{display:block;color:#6e827e;font-size:12px;margin-top:4px;line-height:1.45}.float-card.top{left:-20px;top:22px}.float-card.bottom{right:-8px;bottom:24px}.float-icon{width:44px;height:44px;border-radius:14px;background:#eff5e7;display:grid;place-items:center;font-size:20px}
.feature-band{margin-top:18px;padding:16px 20px;display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(180deg, rgba(255,255,255,.46), rgba(255,255,255,.28));border:1px solid rgba(255,255,255,.45)}
.feature-band span,.feature-band div{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.feature-band div{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.feature-band i{width:1px;height:16px;background:rgba(19,64,61,.16)}

/* CARDS/GRIDS */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{background:linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,255,255,.46));border:1px solid rgba(255,255,255,.45);border-radius:var(--radius-lg);box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.card-body{padding:22px}
.service-card{overflow:hidden}
.service-image{position:relative;height:220px}.service-image img{width:100%;height:100%;object-fit:cover}.service-number{position:absolute;top:12px;right:12px;padding:8px 12px;border-radius:999px;background:rgba(19,64,61,.92);color:#fff;font-size:12px;font-weight:700}
.card h3{margin:0 0 10px;font:700 28px/1.05 'Parkinsans',sans-serif;color:var(--ink)}
.card p{margin:0;color:var(--muted);line-height:1.75}
.card .tags{display:block;margin:14px 0 16px;color:#69807b;font-size:14px}
.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;background:none;border:0;color:var(--ink);padding:0}
.step-card{padding:26px;position:relative}
.step-card h3{margin-top:14px;font-size:24px}.step-card p{margin-top:8px}.step-icon{width:58px;height:58px;border-radius:18px;background:#eff5e7;display:grid;place-items:center;font-size:28px}.step-index{position:absolute;top:18px;right:18px;color:#8ea09b;font-size:12px;font-weight:800}
.review-stars{font-size:22px;letter-spacing:.1em;color:var(--accent);margin-top:14px}.review-author{display:flex;align-items:center;gap:12px;margin-top:22px}.review-author span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eff5e7;font-weight:800}.review-author small{color:#79908a}
.pack-card.dark{background:linear-gradient(180deg, rgba(19,64,61,.95), rgba(19,64,61,.86));color:#fff;border-color:rgba(255,255,255,.08)}
.pack-card.dark h3,.pack-card.dark p,.pack-card.dark .tags{color:#fff}
.pill-note{display:inline-flex;padding:7px 12px;border-radius:999px;background:#ecf3e3;font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.pack-card.dark .pill-note{background:rgba(255,255,255,.12)}
.info-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.media-card{padding:18px;background:linear-gradient(180deg, rgba(19,64,61,.92), rgba(19,64,61,.76));overflow:hidden}.media-card img{border-radius:22px}
.bullet-list{display:grid;gap:12px;margin-top:18px}.bullet-list li{list-style:none;display:flex;gap:10px;align-items:flex-start;color:var(--muted);line-height:1.7}.bullet-list li::before{content:'✓';margin-top:2px;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#edf4e6;color:var(--ink);font-size:12px;font-weight:800;flex:0 0 auto}

/* BOOKING */
.booking-intro{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}
.prototype-chip{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,255,255,.45));border:1px solid rgba(255,255,255,.42);border-radius:18px;max-width:330px;box-shadow:var(--shadow)}
.prototype-chip span{display:block;color:#69807a;font-size:13px;margin-top:4px;line-height:1.5}
.booking-shell{background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.5));border:1px solid rgba(255,255,255,.45);border-radius:32px;box-shadow:var(--shadow-strong);overflow:hidden;backdrop-filter:blur(18px)}
.booking-topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(19,64,61,.08);background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.58))}.booking-topbar small{display:block;color:#7a8f89}
.settings-button{border:1px solid #d8e2d2;background:#fff;padding:12px 14px;border-radius:14px;color:var(--ink);font-weight:700}
.stepper{display:flex;gap:10px;padding:18px 24px;border-bottom:1px solid rgba(19,64,61,.08);overflow:auto}
.step-pill{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:999px;background:rgba(255,255,255,.62);color:#738983;white-space:nowrap;font-size:14px;font-weight:700;border:1px solid rgba(19,64,61,.06)}
.step-pill.active{background:#e8f3dd;color:var(--ink)}.step-pill.done{background:var(--ink);color:#fff}.step-number{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.72);font-size:12px}
.booking-content{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0}.booking-main{padding:28px 24px 24px;min-height:580px}.booking-sidebar{padding:28px 24px;background:rgba(248,250,245,.84);border-left:1px solid rgba(19,64,61,.08)}
.booking-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-top:1px solid rgba(19,64,61,.08);background:#fff}#booking-hint{margin:0;color:#6c837d;font-size:14px}
.wizard-title{font:800 clamp(28px,3vw,42px)/1.05 'Parkinsans';margin:0 0 8px}.wizard-text{margin:0 0 24px;color:var(--muted);line-height:1.75;max-width:680px}
.panel{background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.5));border:1px solid rgba(255,255,255,.48);border-radius:24px;padding:22px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.label{display:block;font-size:13px;font-weight:700;color:#5e7570;margin-bottom:10px}.text-input{width:100%;padding:16px 18px;border:1px solid #d5ddd0;border-radius:16px;background:#fff;color:var(--ink)}.helper{margin-top:10px;color:#819691;font-size:13px;line-height:1.6}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.option-card{position:relative;border:1px solid rgba(19,64,61,.08);background:rgba(255,255,255,.82);border-radius:22px;padding:18px;cursor:pointer;transition:.2s ease;min-height:100%;box-shadow:0 10px 22px rgba(19,64,61,.05)}.option-card:hover{transform:translateY(-2px)}.option-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(130,188,72,.18)}.option-card h4{margin:10px 0 8px;font:700 22px/1.05 'Parkinsans'}.option-card p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}.mini-icon{width:46px;height:46px;border-radius:14px;background:#eff5e7;display:grid;place-items:center;font-size:22px}
.toggle-row{display:flex;gap:12px;flex-wrap:wrap}.toggle-pill{border:1px solid #d6dfd3;background:#fff;border-radius:999px;padding:14px 18px;font-weight:700}.toggle-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.mode-card{border:1px solid rgba(19,64,61,.08);border-radius:24px;padding:20px;background:rgba(255,255,255,.82);cursor:pointer;box-shadow:0 10px 22px rgba(19,64,61,.05)}.mode-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(130,188,72,.18)}.mode-card .duration{display:inline-flex;margin-top:14px;padding:8px 12px;border-radius:999px;background:#edf4e6;font-size:12px;font-weight:700}
.schedule-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}.calendar-shell{border:1px solid rgba(255,255,255,.14);border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#1a5a4f 0%, #13403D 100%);color:#fff;box-shadow:0 18px 40px rgba(19,64,61,.18)}.calendar-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 10px}.calendar-head h3{margin:0;font:700 26px/1 'Parkinsans'}.month-switch{display:flex;gap:8px}.month-switch button{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:white}.dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:0 18px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.68)}.dow div,.calendar-grid button,.calendar-grid div{display:grid;place-items:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:0 18px 18px 18px}.calendar-grid button,.calendar-grid div{height:var(--calendar-cell);border-radius:16px;border:0;background:rgba(255,255,255,.08);color:#fff;font-weight:700}.calendar-grid div.empty{background:transparent}.calendar-grid button.muted{opacity:.35;pointer-events:none}.calendar-grid button.available{background:rgba(255,255,255,.11)}.calendar-grid button.selected{background:var(--accent);color:#113128}.calendar-grid button.has-bookings::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-2);margin-top:4px;display:block}.calendar-grid button.full{background:rgba(255,255,255,.06);opacity:.55}
.schedule-preview{background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.5));border:1px solid rgba(255,255,255,.45);border-radius:24px;padding:20px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.schedule-preview h4{margin:0 0 10px;font:700 24px/1 'Parkinsans'}.schedule-preview p{margin:0 0 14px;color:var(--muted);line-height:1.7}.status-list{display:grid;gap:10px}.status-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#f6f9f3}.legend-box{width:16px;height:16px;border-radius:6px;background:#13403D}.legend-box.l2{background:#82BC48}.legend-box.l3{background:#cbd5c4}.legend-box.l4{background:#e9efdf;border:1px solid #d4dfcb}
.summary-card{background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.5));border:1px solid rgba(255,255,255,.45);border-radius:24px;padding:20px;position:sticky;top:108px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.summary-card h3{margin:0 0 14px;font:700 28px/1 'Parkinsans'}.summary-list{display:grid;gap:10px}.summary-item{padding:12px 14px;border-radius:16px;background:#f5f8f2}.summary-item small{display:block;color:#6b817c;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.summary-item strong{display:block;margin-top:4px;font-size:15px;line-height:1.5}.empty-copy{color:#81958f;line-height:1.7}
.pay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pay-card{border:1px solid rgba(19,64,61,.08);border-radius:20px;padding:18px;background:#fff}.pay-card h4{margin:4px 0 8px;font:700 24px/1 'Parkinsans'}.pay-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:#eef5e6;font-size:12px;font-weight:700}.success-card{text-align:center;padding:40px 22px}.success-card .check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e9f3dc;font-size:30px;color:var(--ink)}.success-card h3{font:800 34px/1.05 'Parkinsans';margin:0 0 10px}.success-card p{margin:0 auto 18px;color:var(--muted);line-height:1.75;max-width:620px}
.modal{position:fixed;inset:0;background:rgba(19,64,61,.38);display:none;align-items:center;justify-content:center;padding:18px;z-index:60}.modal.open{display:flex}.modal-card{width:min(780px,100%);background:#fff;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.24);overflow:hidden}.modal-head{padding:20px 24px;border-bottom:1px solid #e5ece1;display:flex;justify-content:space-between;align-items:start;gap:16px;background:linear-gradient(180deg,#eff5e8 0%,#fff 100%)}.modal-head h3{margin:4px 0 6px;font:800 32px/1 'Parkinsans'}.modal-head p{margin:0;color:#6e837e}.close-modal{border:0;background:#fff;width:42px;height:42px;border-radius:12px;font-size:22px;color:var(--ink)}.modal-body{padding:22px 24px 24px}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.slot-btn{padding:16px 14px;border-radius:18px;border:1px solid #d6e1d3;background:#fff;text-align:left;font-weight:700;color:var(--ink)}.slot-btn small{display:block;font-size:12px;color:#728882;font-weight:600;margin-top:5px}.slot-btn.disabled{background:#f1f3ee;color:#9aa9a4;border-style:dashed;cursor:not-allowed}.slot-btn.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.slot-btn.preview{background:#e8f2db;border-color:#b6d48d}.slot-btn.occupied{background:#ecefe8;color:#90a09a}.slot-preview{margin-top:18px;padding:16px;border-radius:18px;background:#f6f9f3;border:1px solid #dee7da}.slot-preview strong{display:block;font-size:16px;margin-bottom:6px}.slot-preview span{color:#6c837d;line-height:1.6;font-size:14px}.modal-actions{display:flex;justify-content:space-between;gap:14px;margin-top:20px;align-items:center}
dialog{border:0;padding:0;background:transparent}.config-wrap{width:min(720px,100%);background:#fff;border-radius:28px;box-shadow:0 34px 80px rgba(0,0,0,.28);overflow:hidden}.config-head{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:22px 24px;border-bottom:1px solid #e5ece1}.config-head h3{margin:8px 0 6px;font:800 30px/1 'Parkinsans'}.config-head p{margin:0;color:#6e837e;line-height:1.6}.config-body{padding:24px;display:grid;gap:18px;max-height:70vh;overflow:auto}.config-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #edf1ea}.config-row label{font-weight:600}.config-row input{width:110px;padding:12px 14px;border-radius:12px;border:1px solid #d8e1d5}.config-actions{display:flex;justify-content:space-between;gap:12px;padding:18px 24px;border-top:1px solid #e5ece1}

/* Footer */
.site-footer{padding:42px 0 24px;background:linear-gradient(180deg, rgba(19,64,61,.97), rgba(15,48,46,.98));color:#eef7f2;margin-top:54px}
.footer-main{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.footer-main img{height:64px;background:#fff;border-radius:18px;padding:8px}.footer-main p{max-width:360px;color:rgba(255,255,255,.74);line-height:1.7}.footer-links{display:grid;gap:10px}.footer-links strong{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.56)}.footer-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:26px;color:rgba(255,255,255,.68);font-size:14px}

/* responsive */
@media (max-width: 1040px){
  .hero-grid,.info-split,.schedule-grid,.booking-content{grid-template-columns:1fr}
  .grid-3,.choice-grid{grid-template-columns:repeat(2,1fr)}
  .booking-sidebar{border-left:0;border-top:1px solid rgba(19,64,61,.08)}
  .summary-card{position:static}
  .float-card.top{left:10px;top:16px}.float-card.bottom{right:10px;bottom:16px}
  .nav{justify-content:flex-start}
}
@media (max-width: 820px){
  .site-header{padding-top:8px}
  .header-bar{padding:12px 14px}
  .nav{position:fixed;left:16px;right:16px;top:78px;display:none;flex-direction:column;align-items:stretch;background:linear-gradient(180deg, rgba(19,64,61,.92), rgba(19,64,61,.88));border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:12px;box-shadow:var(--shadow-strong)}
  .nav.open{display:flex}
  .nav-link,.nav-cta{width:100%;text-align:center}
  .nav-toggle{display:grid;place-items:center}
  .hero,.page-head{padding-top:26px}
  .booking-intro,.footer-main,.booking-footer{flex-direction:column;align-items:flex-start}
  .hero-actions{flex-direction:column;align-items:stretch}.hero .btn{width:100%}
}
@media (max-width: 720px){
  .grid-3,.grid-2,.mode-grid,.pay-grid,.slot-grid{grid-template-columns:1fr}
  .choice-grid{grid-template-columns:1fr}
  .section{padding:66px 0}
  .hero-left{padding:24px}
  .page-head{padding-top:120px}
  .booking-main,.booking-sidebar{padding:22px 16px}
  .stepper{padding-inline:16px}
  .booking-topbar{padding:18px 16px;align-items:flex-start;flex-direction:column}
  .calendar-grid button,.calendar-grid div{border-radius:12px}
}
/* CASA OK · actualización compacta, multipágina y accesible */
:root{--bg:#F0F0E9;--ink:#13403D;--accent:#82BC48;--accent-2:#B0CA65}
body{background:radial-gradient(ellipse at 45% -30%,#f8fcf2 0%,#f0f0e9 49%,#ebf1e7 100%)}
.icon{flex:0 0 auto;vertical-align:middle}
.section{padding:38px 0 52px}
.section-compact{padding:24px 0 40px}
.page-head{padding-top:48px!important;padding-bottom:12px!important}
.page-head h1{margin:0;font:800 clamp(34px,4vw,57px)/1.10 'Parkinsans',sans-serif;letter-spacing:-.045em}
.page-head h1 span{color:var(--accent)}
.tight-section{padding-top:22px;padding-bottom:50px}
.centered .section-title{max-width:860px;margin-inline:auto}
.home-summary{padding:42px 0 6px}
.home-summary .section-title{font-size:clamp(31px,3.6vw,50px)}
.home-services{padding:18px 0 42px}
.hero{padding-top:32px;padding-bottom:6px}
.hero-grid{gap:26px}
.hero-left{padding:clamp(24px,3vw,40px)}
.hero h1{font-size:clamp(40px,4.7vw,68px);margin:0 0 12px;line-height:1.04}
.hero-points .icon{color:var(--accent)}
.hero-points span{display:inline-flex;align-items:center;gap:7px}
.hero-visual{overflow:visible}
.hero-image-frame{overflow:hidden}
.hero-photo{aspect-ratio:1/1}
.float-card{z-index:3}
.float-card.top{top:24px;left:-14px}
.float-card.bottom{bottom:24px;right:-14px}
.float-icon{display:grid;place-items:center;color:var(--ink)}
.feature-band{margin-top:16px}
.site-header{padding-top:9px}
.header-bar{padding:11px 17px;border-radius:19px}
.brand img{height:45px;max-width:130px;object-fit:contain}
.nav-link{font-size:13px;padding:11px 12px}
.nav-cta{display:inline-flex;gap:8px;align-items:center;font-size:13px}
.nav-cta.active-cta{background:var(--accent);color:var(--ink)}
.nav-link.active{background:rgba(255,255,255,.15)}
.nav-toggle{display:none;align-items:center;justify-content:center}
.card{transition:transform .18s ease,box-shadow .18s ease}
.card.service-card:hover,.blog-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px rgba(19,64,61,.14)}
.service-image{height:218px;background:#dbe8d0;overflow:hidden}
.service-image img{width:100%;height:100%;object-fit:cover}
.card-body{padding:21px}
.card h3{font-size:clamp(22px,2vw,28px)}
.card p{font-size:14px;line-height:1.67}
.text-link{display:inline-flex;gap:8px;align-items:center}
.step-card{padding:23px 22px}
.step-icon{color:var(--ink);font-size:unset}
.step-card h3{font-size:22px}
.step-card p{margin:7px 0 0}
.grid-3{gap:16px}
.pack-card{min-height:232px}
.pack-card .tags{margin-top:20px}
.review-card .card-body{padding:24px}
.review-stars{display:flex;gap:2px;color:var(--accent);margin:15px 0}
.review-card p{margin:0}
.review-author strong{font-size:14px}
.review-author small{display:block;font-size:12px}
.demo-label{font-size:10px;font-weight:700;color:#667d72;letter-spacing:.04em;text-transform:uppercase}
.trust-strip{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.trust-item{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.72);border:1px solid rgba(19,64,61,.09);padding:10px 16px;border-radius:12px;font-weight:600;color:var(--ink);font-size:13px;backdrop-filter:blur(14px)}
.trust-item .icon{color:#408069}
.blog-section{padding:40px 0 58px}
.blog-heading{max-width:780px;margin:0 0 21px}
.blog-heading .section-title{font-size:clamp(28px,3vw,42px)}
.blog-heading p{max-width:640px;color:var(--muted);font-size:14px;line-height:1.7;margin:10px 0 0}
.blog-card .card-body{display:flex;flex-direction:column;min-height:242px}
.blog-card .text-link{margin-top:auto;padding-top:18px}
.blog-card h3{font-size:22px;margin:10px 0}
.blog-kicker{color:#648476;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.article-head{max-width:860px}
.article-head h1{margin:20px 0 8px;max-width:820px}
.article-head p{margin:0;text-align:left;max-width:820px}
.article-head .back-link{display:inline-flex;color:#54796a;font-weight:700;font-size:13px}
.article-card{padding:clamp(24px,4vw,48px);max-width:860px;margin:24px auto 44px}
.article-card h2{font:700 25px/1.25 'Parkinsans',sans-serif;margin:22px 0 9px}
.article-card p{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 18px}
.article-card .article-disclaimer{border-top:1px solid #e2e8da;padding-top:18px;color:#60756e;font-size:13px;margin-top:27px}
.footer-main>div:first-child p{margin-top:10px}
.site-footer{margin-top:24px;padding:32px 0 18px}
.footer-main img{height:62px}
.footer-main p{margin:8px 0}
.footer-bottom{margin-top:18px;padding-top:15px}

/* Reservas: compacto, seis etapas, sin panel lateral ni ventanas emergentes de horarios */
.booking-head{padding-top:38px!important;padding-bottom:0!important}
.booking-section{padding:16px 0 40px}
.booking-shell{max-width:1160px;margin:auto}
.booking-header-brand{display:flex;align-items:center;gap:18px}
.booking-header-brand img{width:76px;height:56px;object-fit:contain}
.booking-header-brand h2{margin:0;font:700 clamp(20px,2.4vw,27px)/1.15 'Parkinsans',sans-serif}
.booking-topbar{padding:15px 24px;align-items:center}
.settings-button{display:inline-flex;align-items:center;gap:9px;font-size:13px;white-space:nowrap}
.stepper{padding:12px 20px 14px;gap:8px;justify-content:center;scrollbar-width:thin}
.step-pill{padding:8px 11px;font-size:12px;gap:7px}
.step-number{width:24px;height:24px;font-size:11px}
.step-pill.done .step-number{color:var(--ink)}
.booking-main{padding:27px clamp(20px,4vw,52px) 30px;min-height:320px}
.booking-footer{padding:15px 24px;min-height:75px}
.booking-footer .btn{padding:12px 22px}
.wizard-title{font-size:clamp(25px,2.8vw,35px);margin:0 0 18px}
.wizard-text{margin:-6px 0 17px;font-size:14px}
.form-message{color:#a64534;font-size:13px;line-height:1.5;flex:1;text-align:center;min-height:18px}
.form-message:empty{display:none}
.panel{padding:20px}
.label{font-size:13px;margin-bottom:8px}
.helper{font-size:12px;margin-top:8px}
.details-form{display:grid;gap:22px}
.details-form h3{font:700 15px/1.3 'Parkinsans',sans-serif;margin:0 0 12px}
.compact-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.compact-choice.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.compact-option{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid #d7e1d2;border-radius:17px;background:rgba(255,255,255,.74);color:var(--ink);text-align:left;min-height:62px;transition:.16s ease}
.compact-option:hover{border-color:#97bd72}
.compact-option.selected{background:#edf6e2;border:1px solid #82bc48;box-shadow:inset 0 0 0 1px rgba(130,188,72,.2)}
.compact-option .icon{color:#4d8864}
.compact-option strong{font-size:14px;font-weight:700}
.compact-option .option-sub{display:block;font-size:11px;color:#708780;font-weight:400;margin-top:4px}
.mode-list{display:grid;gap:9px;max-width:780px}
.mode-option{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d7e1d2;border-radius:16px;padding:15px 18px;text-align:left;background:rgba(255,255,255,.82);color:var(--ink)}
.mode-option.selected{border-color:var(--accent);background:#edf6e2;box-shadow:0 0 0 2px rgba(130,188,72,.13)}
.mode-copy strong{display:block;font-size:15px}
.mode-copy small{display:block;color:var(--muted);margin-top:5px;line-height:1.5;font-size:12px}
.mode-duration{white-space:nowrap;color:var(--ink);background:#e8f0e2;padding:8px 11px;border-radius:999px;font-size:11px;font-weight:700}
.form-box{max-width:850px}
.location-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:20px}
.location-grid .text-input{background:#fff}
/* Calendar readability */
.schedule-grid{grid-template-columns:minmax(0,1.04fr) minmax(280px,.84fr);gap:18px;align-items:start}
.calendar-shell{background:linear-gradient(145deg,#1b5a50,#13403d);padding-bottom:1px}
.calendar-head h3{font:700 23px/1.2 'Parkinsans',sans-serif;text-transform:capitalize}
.month-switch button{width:36px;height:36px}
.dow,.calendar-grid{gap:7px}
.calendar-grid button,.calendar-grid div{height:clamp(46px,4.2vw,62px);border-radius:12px;font-size:14px}
.calendar-grid button.available{background:rgba(255,255,255,.105);border:1px solid rgba(255,255,255,.08)}
.calendar-grid button.selected{background:var(--accent)!important;color:#113128!important;opacity:1}
.calendar-grid button.full{opacity:.43;cursor:not-allowed}
.calendar-grid button.muted{opacity:.24}
.calendar-grid button.today{outline:2px solid var(--accent-2);outline-offset:-4px}
.calendar-grid button.has-bookings::after{margin:0;position:absolute;bottom:7px;background:var(--accent-2)}
.calendar-grid button{position:relative}
.inline-slot-panel{border:1px solid #dce5d5;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border-radius:24px;padding:18px;box-shadow:0 10px 24px rgba(19,64,61,.06)}
.inline-slot-panel h3{font:700 20px/1.2 'Parkinsans';margin:0 0 6px}
.inline-slot-panel p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 12px}
.slot-list{display:grid;grid-template-columns:1fr;gap:6px}
.inline-slot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;min-height:41px;border:1px solid #dce7d7;border-radius:10px;background:#fff;color:var(--ink);font-weight:700;font-size:13px;text-align:left;width:100%}
.inline-slot span.slot-caption{font-size:11px;font-weight:500;color:#688278}
.inline-slot.selected{background:var(--ink);color:#fff;border-color:var(--ink)}
.inline-slot.selected .slot-caption{color:#d8efd4}
.inline-slot.in-range:not(.selected){background:#e4f2d6;border-color:#b5d390}
.inline-slot.occupied{background:#e7ebe6;color:#788c82;border-color:#e0e6dd}
.inline-slot:disabled{opacity:.62;cursor:not-allowed}
.inline-slot:disabled .slot-caption{color:#95a49c}
.inline-slot:focus-visible,.calendar-grid button:focus-visible,.compact-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.inline-slot:not(:disabled):hover{border-color:#82bc48}
.inline-slot-placeholder{color:#647b72;font-size:14px;line-height:1.65;padding:18px 6px}
.slot-preview-inline{border-top:1px solid #e4ebdf;margin-top:12px;padding-top:12px;font-size:12px;line-height:1.5;color:#58756a}
.slot-confirm{display:flex;margin-top:16px;width:100%;border-radius:14px}
.slot-confirm:disabled{opacity:.5;cursor:not-allowed;transform:none}
.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;color:#e1ede4;font-size:11px;margin:3px 18px 16px}
.calendar-legend span{display:flex;align-items:center;gap:6px}
.legend-marker{width:10px;height:10px;border-radius:4px;background:var(--accent)}
.legend-marker.occupied-marker{background:#a0b2a7}
.booking-note{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:12px;line-height:1.55;margin:12px 0 0}
.booking-note .icon{margin-top:1px}
.summary-panel{max-width:900px}
.summary-panel .grid-2{gap:10px}
.summary-panel .summary-item{background:#f2f7ed}
.payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:900px}
.payment-option{display:flex;gap:13px;align-items:center;text-align:left;border:1px solid #d9e3d3;background:#fff;border-radius:18px;padding:20px;color:var(--ink)}
.payment-option.selected{background:#eff7e6;border-color:var(--accent);box-shadow:0 0 0 2px rgba(130,188,72,.14)}
.payment-option strong{display:block;font:700 19px/1.2 'Parkinsans'}
.payment-option small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.payment-option .icon{color:#4d8a67}
.payment-explanation{padding:12px 16px;background:#f0f5ea;border-radius:13px;color:#526f62;font-size:13px;line-height:1.7;margin-top:18px;max-width:900px}
.payment-action{margin-top:18px;max-width:900px}
.config-dialog{max-width:calc(100vw - 26px);border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.26)}
.config-dialog::backdrop{background:rgba(16,43,39,.54);backdrop-filter:blur(3px)}
.config-wrap{width:min(710px,calc(100vw - 28px))}
.config-head h3{font-size:25px}
.config-head .icon-button{border:0;display:grid;place-items:center;background:#eff3e9;color:var(--ink);width:39px;height:39px;border-radius:11px;cursor:pointer}
.config-body{max-height:min(50vh,480px);overflow:auto}
.config-right{display:flex;gap:10px}
.config-actions{align-items:center;flex-wrap:wrap}
.success-card h3{color:var(--ink)}
@media(max-width:1080px){
 .header-bar{gap:12px}
 .nav{gap:2px}
 .nav-link{padding:9px 10px;font-size:12px}
 .stepper{justify-content:flex-start}
 .schedule-grid{grid-template-columns:minmax(0,1fr) minmax(250px,.9fr)}
}
@media(max-width:820px){
 .nav-toggle{display:flex}
 .site-header{padding:9px 0 0}
 .nav{top:80px}
 .page-head{padding-top:35px!important}
 .hero{padding-top:18px}
 .hero-grid{grid-template-columns:1fr}
 .hero-visual{max-width:650px;margin:auto;width:100%}
 .booking-topbar{display:flex;flex-direction:row;align-items:center}
 .schedule-grid{grid-template-columns:1fr}
 .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .page-head{padding-top:26px!important;padding-bottom:6px!important}
 .page-head h1{font-size:clamp(29px,8vw,40px)}
 .grid-3{grid-template-columns:1fr}
 .home-summary{padding-top:33px}
 .home-services{padding-top:14px}
 .hero h1{font-size:clamp(38px,11vw,58px)}
 .float-card{max-width:225px;padding:10px}
 .float-card.top{left:5px;top:10px}
 .float-card.bottom{right:5px;bottom:10px}
 .feature-band{flex-direction:column;align-items:flex-start}
 .booking-main{padding:24px 16px}
 .booking-topbar{padding:14px 16px;gap:8px}
 .booking-header-brand img{width:60px;height:49px}
 .booking-header-brand h2{font-size:17px}
 .settings-button{padding:10px;font-size:0}
 .settings-button .icon{width:19px;height:19px}
 .location-grid,.compact-choice,.compact-choice.two,.payment-options,.summary-panel .grid-2{grid-template-columns:1fr}
 .slot-confirm{margin-top:10px}
 .stepper{padding:10px 13px;gap:6px}
 .step-pill{font-size:11px;padding:7px 9px}
 .booking-footer{gap:10px;padding:14px 16px;flex-wrap:wrap;flex-direction:row;align-items:center}
 .booking-footer .btn{width:auto;flex:1;padding:11px 12px}
 .form-message{flex-basis:100%;order:-1;text-align:left}
 .config-actions,.config-right{width:100%}
 .config-actions .btn{padding:11px 14px}
 .config-right .btn{flex:1}
 .mode-option{flex-wrap:wrap}
 .mode-duration{margin-left:auto}
 .calendar-grid button,.calendar-grid div{height:45px;font-size:13px}
 .calendar-grid,.dow{gap:5px;padding-left:13px;padding-right:13px}
 .site-footer{margin-top:12px}
}

/* Logo oficial de alto contraste sobre navegación oscura */
.header-bar .brand{display:inline-flex;align-items:center;justify-content:center;background:rgba(240,240,233,.97);padding:3px 9px;border-radius:13px;flex:0 0 auto}
.header-bar .brand img{height:42px;width:auto;object-fit:contain;max-width:130px;filter:none}
@media(max-width:650px){.header-bar .brand img{height:36px;max-width:105px}}

/* V6.1 · Botón Acceso de administradores y trabajadores */
.site-header .wrap{width:min(1380px,calc(100% - 32px))}
.nav-access{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;padding:11px 15px;border-radius:999px;border:1px solid rgba(176,202,101,.55);background:rgba(240,240,233,.09);color:#F0F0E9;font-weight:700;font-size:13px;transition:background .18s ease,border-color .18s ease,transform .18s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav-access:hover,.nav-access:focus-visible{background:rgba(130,188,72,.19);border-color:var(--accent-2);transform:translateY(-1px)}
.nav-access .icon{flex-shrink:0}
@media(max-width:1280px){
  .site-header .nav-toggle{display:flex;align-items:center;justify-content:center}
  .site-header .nav{position:fixed;left:16px;right:16px;top:80px;display:none;flex-direction:column;align-items:stretch;gap:5px;padding:14px;max-height:calc(100vh - 95px);overflow:auto;background:linear-gradient(180deg,rgba(19,64,61,.97),rgba(19,64,61,.92));border:1px solid rgba(255,255,255,.14);border-radius:22px;box-shadow:var(--shadow-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .site-header .nav.open{display:flex}
  .site-header .nav-link,.site-header .nav-cta,.site-header .nav-access{width:100%;justify-content:center;text-align:center}
  .site-header .nav-link{font-size:14px;padding:11px 14px}
}
@media(min-width:1281px){
  .site-header .nav{gap:5px;justify-content:flex-end}
  .site-header .nav-link{padding:11px 10px}
}

/* V6.3: contacto + preparación de pagos */
.contact-form{max-width:1000px}
.contact-grid{display:grid;grid-template-columns: minmax(180px,.65fr) minmax(260px,1.35fr);gap:22px;align-items:start}
.contact-additional{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}
.phone-combined{display:flex;align-items:stretch;min-width:0;gap:0}
.phone-prefix{display:flex;align-items:center;white-space:nowrap;padding:0 15px;border:1px solid #cbdacb;border-right:0;border-radius:15px 0 0 15px;background:#f1f7e9;color:#13403d;font-weight:800;font-size:15px}
.phone-combined .text-input{border-radius:0 15px 15px 0;min-width:0}
.payment-timer{max-width:900px;margin:22px 0 0;display:flex;gap:12px;align-items:center;border:1px solid #bfd9b2;border-radius:18px;background:#f4f9ef;padding:16px;color:#13403d}
.payment-timer strong{font:800 26px/1 'Parkinsans',sans-serif;min-width:84px}
.payment-timer span:last-child{font-size:12px;line-height:1.55;color:#58716d}
@media (max-width:700px){.contact-grid,.contact-additional{grid-template-columns:1fr}.payment-timer{flex-wrap:wrap}}
