.hero{align-items:center;background:var(--cosmo-white);display:grid;min-height:100vh;overflow:hidden;padding:112px 0 45px;position:relative}.hero:after{background:var(--hero-bg,none) center bottom/cover no-repeat;bottom:0;content:"";height:75%;left:0;pointer-events:none;position:absolute;right:0;z-index:0}.hero__image,.hero__wash{display:none}.hero__grid{align-items:center;display:grid;gap:clamp(2rem,8vw,10rem);grid-template-columns:minmax(300px,.83fr) minmax(400px,.75fr);position:relative;z-index:1}.hero__copy{padding-bottom:3rem}.hero__intro{color:var(--muted);font-size:clamp(1rem,.95rem + .4vw,1.2rem);font-weight:500;line-height:1.5;margin-bottom:1.65rem;max-width:24ch}.hero__proof{display:flex;flex-wrap:wrap;gap:.65rem;list-style:none;margin:0;padding:0}.hero__proof li{background:#fff;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:700;padding:.45rem .75rem}@media (max-width:900px){.hero{min-height:auto;padding-top:120px}.hero:after{bottom:0;height:42%;opacity:.35;width:100%}.hero__grid{grid-template-columns:1fr}.hero__copy{padding-bottom:1rem}}.how h2{font-size:clamp(2.7rem,5vw,4.9rem);line-height:.9;margin-bottom:0;max-width:13ch}.how{background:#fff;border-top:1px solid var(--line);color:var(--cosmo-ink);padding:6rem 0}.how__grid{display:grid;gap:clamp(3rem,10vw,12rem);grid-template-columns:.8fr 1.2fr}.how .eyebrow{color:var(--cosmo-red)}.steps{border-top:1px solid var(--line);list-style:none;margin:0;padding:0}.steps li{border-bottom:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:58px 1fr;padding:1.4rem 0}.steps span{color:var(--cosmo-red);font-size:.75rem;font-weight:800}.steps h3{font-size:1.25rem;margin-bottom:.3rem}.steps p{color:var(--muted);font-size:.9rem;line-height:1.5;margin:0}@media (max-width:900px){.how__grid{grid-template-columns:1fr}}@media (max-width:560px){.how{padding:4rem 0}}.benefits{background:#fff;padding:clamp(3rem,6vw,5rem) 0}.benefits__panel{color:#fff;display:grid;gap:0;margin-inline:auto;width:70%}.benefits__intro{align-items:center;background:var(--cosmo-red);border-radius:32px 32px 0 0;display:grid;min-height:340px;overflow:hidden;padding:clamp(2rem,4vw,3.5rem);position:relative}.benefits__copy{display:grid;gap:.8rem;max-width:48%;position:relative;z-index:1}.benefits__copy .eyebrow{color:hsla(0,0%,100%,.78);margin:0}.benefits__copy h2{color:#fff;font-size:clamp(2.5rem,4.8vw,4.5rem);letter-spacing:-.06em;line-height:.92;margin:0;max-width:11ch}.benefits__copy>p:last-child{color:hsla(0,0%,100%,.84);font-size:clamp(1rem,1rem + .3vw,1.25rem);font-weight:600;line-height:1.4;margin:0;max-width:31ch}.benefits__portrait{aspect-ratio:1;background:#111;border:22px solid rgba(15,15,16,.24);border-radius:50%;overflow:hidden;position:absolute;right:-1.5%;top:50%;transform:translateY(-50%);width:min(48%,440px);z-index:0}.benefits__portrait:after{border:24px solid rgba(15,15,16,.18);border-radius:50%;content:"";inset:-58px;pointer-events:none;position:absolute}.benefits__portrait img{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:44% center;object-position:44% center;width:100%}.benefit-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:-34px;padding:0 1rem;position:relative;z-index:2}.benefit-card{align-content:start;background:#fff;border:1px solid rgba(15,15,16,.06);border-radius:28px;box-shadow:0 16px 30px rgba(15,15,16,.06);color:var(--cosmo-ink);display:grid;gap:1rem;min-height:250px;padding:1.45rem 1.35rem 1.5rem}.benefit-card__icon{background:rgba(15,15,16,.035);border-radius:50%;display:grid;height:60px;margin:0;place-items:center;width:60px}.benefit-card__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;height:22px;width:22px}.benefit-card h3{font-size:1.45rem;font-weight:600;letter-spacing:-.04em;line-height:1.08;margin:0}.benefit-card p{color:var(--muted);font-size:.98rem;line-height:1.5;margin:0}@media (max-width:900px){.benefits__panel{width:84%}.benefit-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.benefit-grid{grid-template-columns:1fr}.benefits__panel{width:90%}.benefits__intro{align-items:end;min-height:420px}.benefits__copy{max-width:100%}.benefits__portrait{opacity:.45;right:-8%;top:0;transform:none;width:78%}.benefit-grid{margin-top:1.25rem;padding:0}.benefit-card{border-radius:28px;min-height:unset}}.locations h2{font-size:clamp(2.7rem,5vw,4.9rem);line-height:.9;margin-bottom:0;max-width:13ch}.locations{background:#fff;padding:clamp(4.5rem,7vw,7rem) 0}.locations .eyebrow{color:var(--cosmo-red)}.locations h2{font-size:clamp(3.3rem,6vw,6rem);line-height:.88;max-width:10ch}.locations__grid{display:grid;gap:clamp(1rem,1.6vw,1.5rem);grid-template-columns:1fr 1fr}.location-card{border-radius:28px;color:#fff;isolation:isolate;min-height:clamp(350px,31vw,510px);overflow:hidden;position:relative;text-decoration:none}.location-card img{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s cubic-bezier(.2,.75,.2,1);width:100%}.location-card:hover img{transform:scale(1.045)}.location-card__overlay{background:linear-gradient(180deg,rgba(15,15,16,.02) 30%,rgba(15,15,16,.78));inset:0;position:absolute;z-index:1}.location-card__content{inset:auto clamp(1.25rem,2vw,2rem) clamp(1.2rem,2vw,1.75rem);position:absolute;z-index:2}.location-card__number{align-items:center;background:var(--cosmo-red);border-radius:50%;color:#fff;display:inline-flex;font-size:.7rem;font-weight:800;height:32px;justify-content:center;width:32px}.location-card h3{color:#fff;font-size:clamp(2.8rem,4.8vw,5rem);font-weight:700;letter-spacing:-.07em;line-height:.88;margin:clamp(1.2rem,2vw,1.8rem) 0 .5rem}.location-card__footer{align-items:end;display:flex;gap:1rem;justify-content:space-between}.location-card p{color:#fff;font-size:.82rem;font-weight:700;line-height:1.4;margin:0}.location-card__arrow{background:#fff;border-radius:50%;color:var(--cosmo-red);display:grid;flex:0 0 auto;font-size:1.25rem;font-weight:800;height:38px;place-items:center;transition:transform .18s ease,background-color .18s ease,color .18s ease;width:38px}.location-card:hover .location-card__arrow{background:var(--cosmo-red);color:#fff;transform:translate(2px,-2px)}.location-card:focus-visible{outline:3px solid var(--cosmo-red);outline-offset:4px}.location-card--active{box-shadow:inset 0 0 0 3px var(--cosmo-red)}@media (max-width:560px){.locations__grid{grid-template-columns:1fr}.locations{padding:4rem 0}.location-card{min-height:350px}}.faq-section{background:#fff;padding:clamp(3rem,5vw,5rem) 0 0}.faq-section__inner{align-items:start;display:grid;gap:clamp(2rem,4vw,5rem);grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.faq-section__intro{display:grid;gap:.75rem;position:sticky;top:100px}.faq-section__intro p{color:var(--cosmo-red);font-size:.8rem;font-weight:800;letter-spacing:.12em;margin:0;text-transform:uppercase}.faq-section__intro h2{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.055em;line-height:.94;margin:0;max-width:10ch}.faq-list{display:grid}.faq-item{border-top:1px solid rgba(15,15,16,.1)}.faq-item:last-child{border-bottom:1px solid rgba(15,15,16,.1)}.faq-item summary{align-items:center;cursor:pointer;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) 42px;list-style:none;padding:1.5rem 0}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span:first-child{font-size:clamp(1.15rem,1.2vw,1.45rem);font-weight:600;letter-spacing:-.03em;line-height:1.25}.faq-item__mark{align-items:center;border:1px solid rgba(15,15,16,.12);border-radius:50%;color:var(--cosmo-red);display:inline-flex;font-size:1.7rem;height:42px;justify-content:center;line-height:1;transition:transform .22s ease,border-color .22s ease,color .22s ease,background-color .22s ease;width:42px}.faq-item__mark:before{content:"+";font-weight:400}.faq-item[open] .faq-item__mark{background:rgba(212,0,42,.04);border-color:rgba(212,0,42,.2);transform:rotate(45deg)}.faq-item__content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s ease}.faq-item[open] .faq-item__content{grid-template-rows:1fr}.faq-item__content p{color:var(--muted);font-size:1rem;line-height:1.6;margin:0 56px 1.5rem 0;max-width:64ch;opacity:0;overflow:hidden;transform:translateY(-6px);transition:opacity .22s ease,transform .22s ease}.faq-item[open] .faq-item__content p{opacity:1;transform:translateY(0)}@media (max-width:900px){.faq-section__inner{grid-template-columns:1fr}.faq-section__intro{position:static}}@media (max-width:560px){.faq-item summary{gap:1rem;grid-template-columns:minmax(0,1fr) 34px;padding:1.2rem 0}.faq-item__mark{font-size:1.35rem;height:34px;width:34px}.faq-item__content p{margin-right:0}}.booking-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:0 18px 45px rgba(15,15,16,.1);padding:1.65rem}.booking-panel__head{margin-bottom:1.25rem}.booking-panel__head h2{font-size:clamp(2rem,3.2vw,3.4rem);line-height:.92;margin-bottom:.55rem}.booking-panel__head p:last-child{color:var(--muted);font-size:.88rem;line-height:1.55;margin:0}.form-grid{display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-bottom:.75rem}.field--wide{grid-column:1/-1}.field{display:grid;gap:.45rem}.booking-panel__note{color:var(--muted);font-size:.7rem;margin:1rem 0 0}@media (max-width:900px){.booking-panel{max-width:620px}}@media (max-width:560px){.form-grid{grid-template-columns:1fr}}.booking-panel .button{width:100%}.location-select{position:relative}.location-select__trigger{align-items:center;background:#fff;border:1px solid rgba(15,15,16,.16);border-radius:16px;color:var(--cosmo-ink);display:flex;font-size:1rem;font-weight:600;gap:1rem;justify-content:space-between;min-height:56px;padding:.7rem 1rem;text-align:left;transition:border-color .18s ease,box-shadow .18s ease;width:100%}.location-select__trigger svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;height:20px;transition:transform .18s ease;width:20px}.location-select.is-open .location-select__trigger{border-color:var(--cosmo-red);box-shadow:0 0 0 3px rgba(212,0,42,.13)}.location-select.is-open .location-select__trigger svg{transform:rotate(180deg)}.location-select__menu{background:#fff;border:1px solid rgba(15,15,16,.12);border-radius:18px;box-shadow:0 16px 35px rgba(15,15,16,.14);display:grid;gap:.35rem;padding:.65rem;z-index:20}.location-select__menu p{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:.25rem .5rem .45rem;text-transform:uppercase}.location-select__option{align-items:center;background:transparent;border:0;border-radius:12px;color:var(--cosmo-ink);display:grid;gap:.15rem 1rem;grid-template-columns:minmax(0,1fr) auto;padding:.85rem .9rem;text-align:left;width:100%}.location-select__option:focus-visible,.location-select__option:hover{background:rgba(212,0,42,.06)}.location-select__option span{font-size:1rem;font-weight:800}.location-select__option small{color:var(--muted);font-size:.78rem;grid-column:1;line-height:1.35}.location-select__option b{background:var(--cosmo-red);border-radius:50%;color:#fff;display:grid;font-size:.78rem;grid-column:2;grid-row:1/span 2;height:28px;opacity:0;place-items:center;transform:scale(.8);transition:opacity .16s ease,transform .16s ease;width:28px}.location-select__option.is-selected{background:rgba(212,0,42,.06)}.location-select__option.is-selected b{opacity:1;transform:scale(1)}.location-select__trigger{padding-right:1.2rem}.location-select__trigger svg{margin-right:.15rem}.location-select__menu{left:0;margin-top:0;position:absolute;right:0;top:calc(100% + .5rem);z-index:30}.location-select__menu[hidden]{display:none}.location-select.is-open{z-index:10}.picker{position:relative}.picker__trigger{align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--cosmo-ink);display:flex;font-size:.95rem;font-weight:600;gap:1rem;justify-content:space-between;min-height:52px;padding:.65rem .9rem;text-align:left;transition:border-color .18s ease,box-shadow .18s ease;width:100%}.picker__trigger svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;height:18px;width:18px}.picker.is-open .picker__trigger{border-color:var(--cosmo-red);box-shadow:0 0 0 3px rgba(212,0,42,.13)}.picker__menu{background:#fff;border:1px solid rgba(15,15,16,.13);border-radius:16px;box-shadow:0 16px 35px rgba(15,15,16,.12);display:grid;gap:.65rem;left:0;padding:.75rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:30}.picker__menu[hidden]{display:none}.calendar-head{align-items:center;display:grid;grid-template-columns:34px 1fr 34px;text-align:center}.calendar-head strong{font-size:.82rem;letter-spacing:-.02em}.calendar-nav{background:#fff;border:1px solid rgba(15,15,16,.1);border-radius:50%;color:var(--cosmo-ink);display:grid;font-size:1.15rem;height:34px;line-height:1;place-items:center;width:34px}.calendar-nav:hover{border-color:var(--cosmo-red);color:var(--cosmo-red)}.calendar-days,.calendar-weekdays{display:grid;gap:.2rem;grid-template-columns:repeat(7,1fr);text-align:center}.calendar-weekdays{color:var(--muted);font-size:.62rem;font-weight:800}.calendar-day{background:transparent;border:0;border-radius:8px;color:var(--cosmo-ink);font-size:.72rem;font-weight:700;min-height:30px;padding:0}.calendar-day:focus-visible,.calendar-day:hover{background:rgba(212,0,42,.08)}.calendar-day.is-other-month{color:rgba(15,15,16,.34)}.calendar-day.is-selected{background:var(--cosmo-red);color:#fff}.picker__time-menu{max-height:260px;overflow:auto}.picker__time-menu p{color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.06em;margin:0 .2rem;text-transform:uppercase}.time-options{display:grid;gap:.35rem;grid-template-columns:repeat(4,1fr)}.time-option{background:#fff;border:1px solid rgba(15,15,16,.09);border-radius:9px;color:var(--cosmo-ink);font-size:.72rem;font-weight:700;min-height:34px}.time-option:focus-visible,.time-option:hover{border-color:var(--cosmo-red);color:var(--cosmo-red)}.time-option.is-selected{background:var(--cosmo-red);border-color:var(--cosmo-red);color:#fff}.picker.is-open{z-index:10}.numbers-strip{background:#fff;padding:clamp(3rem,5vw,4.75rem) 0}.numbers-strip__inner{align-items:end;display:grid;gap:clamp(2rem,6vw,7rem);grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr)}.numbers-strip__intro{display:grid;gap:.8rem}.numbers-strip__intro .eyebrow{margin:0}.numbers-strip__intro h2{font-size:clamp(2.15rem,3.8vw,4rem);line-height:.92;margin:0;max-width:10ch}.numbers-strip__list{display:grid;gap:clamp(1rem,2vw,2rem);grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.numbers-strip__list>div{align-content:start;border-top:1px solid rgba(15,15,16,.14);display:grid;gap:.65rem;min-height:128px;padding-top:1.05rem}.numbers-strip__list dt{color:var(--cosmo-red);font-size:clamp(2.5rem,4.6vw,4.4rem);font-weight:800;letter-spacing:-.07em;line-height:.82}.numbers-strip__list dd{color:var(--muted);font-size:.9rem;font-weight:600;line-height:1.4;margin:0;max-width:14ch}@media (max-width:900px){.numbers-strip__inner{gap:2.5rem;grid-template-columns:1fr}.numbers-strip__list{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.numbers-strip__list{gap:1.5rem;grid-template-columns:1fr}.numbers-strip__list>div{min-height:0}.numbers-strip__list dd{max-width:22ch}}
