:root{--pink:#f6b7c6;--pink-deep:#d96f8b;--green:#dcebdc;--green-deep:#7ea57e;--cream:#fff9f5;--text:#4c3b3d;--muted:#7d6c70;--card:rgba(255,255,255,0.78)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 10% 10%,rgba(246,183,198,.38),transparent 28rem),radial-gradient(circle at 92% 20%,rgba(220,235,220,.8),transparent 26rem),linear-gradient(180deg,#fff9f5,#fff 52%,#f7fbf3)}a{color:inherit;text-decoration:none}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1.4rem;padding:.9rem clamp(1rem,4vw,3rem);background:rgba(255,249,245,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(217,111,139,.16)}.brand{display:inline-flex;align-items:center;gap:.75rem;min-width:max-content;position:relative;z-index:1}.brand-mark,.sun{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:999px;background:linear-gradient(135deg,var(--pink),#fff,var(--green));color:var(--pink-deep);font-weight:800;box-shadow:0 12px 30px rgba(217,111,139,.18)}.brand small{display:block;color:var(--green-deep);font-weight:700}.main-nav{display:flex;gap:1rem;flex:1 1;justify-content:center;font-size:.92rem}.main-nav a{color:var(--muted)}.header-actions{display:flex;gap:.7rem;align-items:center}.business-link,.primary-button,.reserve-mini{background:linear-gradient(135deg,var(--pink-deep),#ef9aaf);color:white;border-radius:999px;font-weight:800;box-shadow:0 16px 30px rgba(217,111,139,.26)}.business-link,.reserve-mini{padding:.65rem 1rem}.business-link{background:var(--green-deep);box-shadow:0 16px 30px rgba(126,165,126,.22)}.ghost-link{color:var(--green-deep);font-weight:700}.section-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:clamp(3rem,7vw,6rem) 0}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.86fr);grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:center;min-height:78vh}.eyebrow,.section-label{color:var(--pink-deep);font-weight:900;letter-spacing:.18em}h1{font-size:clamp(3.2rem,9vw,6.8rem);line-height:.95;margin:.5rem 0 1.3rem}h1 span{color:var(--green-deep)}h2{font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.25;margin:.2rem 0 1.4rem}h3{margin:.2rem 0 .5rem}.lead{font-size:clamp(1.15rem,2.4vw,1.55rem);line-height:1.9;color:var(--muted);max-width:38rem}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.95rem 1.45rem}.secondary-button{border-radius:999px;background:white;border:1px solid rgba(126,165,126,.28);color:var(--green-deep);font-weight:800}.map-card,.visual-card{min-height:30rem;border-radius:2rem;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(246,183,198,.22),rgba(220,235,220,.55));display:grid;place-items:center;text-align:center;padding:2rem;position:relative;overflow:hidden;box-shadow:0 24px 70px rgba(76,59,61,.12);border:1px solid rgba(255,255,255,.7)}.visual-card .sun{width:8rem;height:8rem;font-size:2rem}.visual-badges{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;display:grid;grid-gap:.7rem;gap:.7rem}.visual-badges span{background:rgba(255,255,255,.82);border-radius:999px;padding:.8rem;font-weight:800}.card-grid,.news-list,.steps,.text-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.floor-card,.news-list article,.photo-card,.steps article,.text-grid p,.treatment,dl{background:var(--card);border:1px solid rgba(217,111,139,.14);border-radius:1.5rem;padding:1.4rem;box-shadow:0 12px 36px rgba(76,59,61,.06)}dd,p{line-height:1.85}.muted,time{color:var(--muted)}.section-heading,.split{display:grid;grid-template-columns:1fr .9fr;grid-gap:2rem;gap:2rem;align-items:start}.section-heading{align-items:end}.photo{height:13rem;border-radius:1rem;display:grid;place-items:center;color:white;font-weight:900;margin-bottom:1rem;background:linear-gradient(135deg,var(--pink),var(--green))}.ph-2{background:linear-gradient(135deg,#b9d7b9,#fff1f5)}.ph-3{background:linear-gradient(135deg,#f3a9ba,#fff3d8)}.steps{grid-template-columns:repeat(4,1fr)}.steps span{color:var(--pink-deep);font-weight:900}dl{display:grid;grid-template-columns:7rem 1fr;grid-gap:.45rem 1rem;gap:.45rem 1rem}dt{font-weight:900}dd{margin:0}.site-footer{padding:3rem clamp(1rem,4vw,3rem);background:#4c3b3d;color:#fff9f5;display:grid;grid-gap:1.2rem;gap:1.2rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:1rem;color:#f6dbe2}@media (max-width:900px){.site-header{align-items:flex-start;flex-wrap:wrap}.main-nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.3rem}.card-grid,.hero,.news-list,.section-heading,.split,.steps,.text-grid{grid-template-columns:1fr}.hero{min-height:auto;padding-top:2rem}.visual-card{min-height:24rem}}@media (max-width:560px){.header-actions{width:100%;justify-content:space-between}.hero-buttons a{width:100%}dl{grid-template-columns:1fr}}.reservation-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.82fr);grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:center;min-height:54vh}.check-card,.reservation-cta,.reservation-note-card,.reservation-way-card{background:var(--card);border:1px solid rgba(217,111,139,.14);border-radius:1.5rem;box-shadow:0 12px 36px rgba(76,59,61,.06)}.reservation-note-card{padding:clamp(1.5rem,4vw,2.4rem)}.reservation-note-card h2{font-size:clamp(1.6rem,3vw,2.35rem)}.availability-notice{margin-top:1.2rem;padding:1rem 1.1rem;border:1px solid rgba(126,165,126,.28);border-radius:1rem;background:rgba(255,255,255,.72)}.availability-notice p{margin:.35rem 0 0}.reservation-privacy-note{font-size:.9rem}.legal-contact a,.reservation-privacy-note a{color:var(--pink-deep);font-weight:800;text-decoration:underline;text-underline-offset:.2em}.legal-page{min-height:100vh}.legal-header{position:static}.legal-content{max-width:52rem}.legal-content h1{font-size:clamp(2.1rem,7vw,3.8rem);line-height:1.2}.legal-section{margin-top:1.5rem;padding:clamp(1.2rem,4vw,1.8rem);border:1px solid rgba(217,111,139,.14);border-radius:1.25rem;background:var(--card)}.legal-section h2{font-size:clamp(1.25rem,3vw,1.65rem)}.legal-section ul{padding-left:1.3rem;line-height:1.9}.narrow-text{max-width:48rem}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.9rem;gap:.9rem;margin-top:1.6rem}.check-card{display:flex;align-items:center;gap:.7rem;padding:1rem;font-weight:800;line-height:1.65;overflow-wrap:anywhere}.check-card span{display:inline-grid;flex:0 0 2rem;place-items:center;width:2rem;height:2rem;border-radius:999px;background:rgba(220,235,220,.9);color:var(--green-deep)}.reservation-way-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.reservation-way-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.4rem}.reservation-way-card p{color:var(--muted);flex:1 1}.reservation-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);grid-gap:2rem;gap:2rem;align-items:center;padding:clamp(2rem,5vw,3rem);margin-bottom:clamp(3rem,7vw,6rem);background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(246,183,198,.2),rgba(220,235,220,.58))}.cta-buttons{display:grid;grid-gap:.9rem;gap:.9rem}.cta-buttons a{width:100%}@media (max-width:900px){.check-grid,.reservation-cta,.reservation-hero,.reservation-way-grid{grid-template-columns:1fr}}@media (max-width:560px){.check-card{align-items:flex-start}}.disabled-button{cursor:not-allowed;opacity:.72;text-align:center;box-shadow:none}.frontImagePage{width:100%;min-height:100vh;margin:0;padding:0;background:#f7f1e8;display:flex;justify-content:center;align-items:flex-start}.frontImage{height:auto;display:block}.frontImage,.frontStage{width:100%;max-width:1440px}.frontStage{--front-reservation-top-y:.74%;--front-reservation-top-x:73.4%;--front-reservation-bottom-y:94.82%;--front-reservation-bottom-x:35.6%;position:relative;overflow:hidden}.frontReservationButton{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:clamp(7.8rem,11.4vw,10.4rem);padding:clamp(.42rem,.68vw,.56rem) clamp(.92rem,1.45vw,1.22rem);border-radius:999px;background:#ea6f8d;color:#fff;box-shadow:0 10px 24px rgba(174,78,104,.22);font-size:clamp(.72rem,.92vw,.86rem);font-weight:700;letter-spacing:.04em;line-height:1.25;text-align:center;text-decoration:none;white-space:nowrap;transform:translate(-50%,-50%);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.frontReservationButton:focus-visible,.frontReservationButton:hover{transform:translate(-50%,calc(-50% - 1px));background:#ef7894;box-shadow:0 14px 30px rgba(174,78,104,.27)}.frontReservationButton:focus-visible{outline:3px solid rgba(217,111,139,.38);outline-offset:4px}.frontReservationButtonTop{top:var(--front-reservation-top-y);left:var(--front-reservation-top-x)}.frontReservationButtonBottom{top:var(--front-reservation-bottom-y);left:var(--front-reservation-bottom-x)}.frontHamburgerButton{position:absolute;top:clamp(1.15rem,2.35vw,2.15rem);right:clamp(1.15rem,2.5vw,2.45rem);z-index:3;display:inline-flex;flex-direction:column;justify-content:center;gap:clamp(.28rem,.55vw,.42rem);width:clamp(2.65rem,4.25vw,3.8rem);height:clamp(2.25rem,3.55vw,3.2rem);padding:0 clamp(.45rem,.8vw,.7rem);border:0;border-radius:999px;background:rgba(255,249,245,.76);box-shadow:0 12px 32px rgba(76,59,61,.12);cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.frontHamburgerButton:focus-visible,.frontHamburgerButton:hover{transform:translateY(-1px);background:rgba(255,249,245,.94);box-shadow:0 16px 38px rgba(76,59,61,.17)}.frontHamburgerButton:focus-visible,.frontMenuBackdrop:focus-visible,.frontSideMenuClose:focus-visible,.frontSideMenuNav a:focus-visible{outline:3px solid rgba(217,111,139,.38);outline-offset:4px}.frontHamburgerButton span{display:block;width:100%;height:2px;border-radius:999px;background:#7b6860}.frontMenuBackdrop{position:fixed;inset:0;z-index:20;border:0;padding:0;background:rgba(76,59,61,.18);opacity:0;pointer-events:none;transition:opacity .32s ease}.frontMenuBackdrop.isOpen{opacity:1;pointer-events:auto}.frontSideMenu{position:fixed;top:0;right:0;z-index:21;width:min(86vw,22rem);min-height:100vh;display:flex;align-items:center;padding:clamp(4.6rem,10vw,6.4rem) clamp(1.55rem,4vw,2.35rem) clamp(2.2rem,6vw,3rem);background:#f8f5ec;box-shadow:-18px 0 46px rgba(76,59,61,.12);transform:translateX(105%);transition:transform .42s cubic-bezier(.22,1,.36,1);pointer-events:none}.frontSideMenu.isOpen{transform:translateX(0);pointer-events:auto}.frontSideMenuClose{position:absolute;top:1rem;right:1rem;display:inline-grid;place-items:center;width:2.7rem;height:2.7rem;border:0;border-radius:999px;background:rgba(255,255,255,.42);color:#2f2a27;font-size:1.9rem;line-height:1;cursor:pointer}.frontSideMenuNav{display:grid;width:100%;grid-gap:clamp(.72rem,1.6vw,.98rem);gap:clamp(.72rem,1.6vw,.98rem)}.frontSideMenuNav a{display:grid;grid-template-columns:1.55rem 1fr;grid-gap:.78rem;gap:.78rem;align-items:center;padding:.42rem 0;color:#2f2a27;font-size:clamp(.95rem,1.45vw,1.04rem);font-weight:600;letter-spacing:.04em;line-height:1.6}.frontSideMenuNav a:before{content:"";display:block;width:1.55rem;height:1px;background:rgba(47,42,39,.62)}.frontMenuIsOpen{overflow:hidden}@media (max-width:560px){.frontStage{--front-reservation-top-y:.76%;--front-reservation-top-x:68%;--front-reservation-bottom-y:94.78%;--front-reservation-bottom-x:36.8%}.frontReservationButton{min-width:auto;padding:.42rem .86rem;font-size:clamp(.62rem,2.7vw,.78rem);box-shadow:0 7px 18px rgba(174,78,104,.2)}.frontHamburgerButton{top:.82rem;right:.82rem}}@media (max-width:380px){.frontStage{--front-reservation-top-x:66.2%;--front-reservation-bottom-x:37.8%}.frontReservationButton{padding:.36rem .68rem;font-size:.6rem;letter-spacing:.02em}}.staticImagePage{width:100%;min-height:100vh;margin:0;padding:0;background:#fbf7ef;display:flex;justify-content:center;align-items:flex-start;overflow-x:hidden}.staticPageImage{display:block;width:100%;max-width:1440px;height:auto;object-fit:contain}.faqImagePage{width:100%;min-height:100vh;margin:0;padding:0;background:#fbf7ef;display:flex;justify-content:center;align-items:flex-start;overflow-x:hidden}.faqImageStage{position:relative;width:100%;max-width:1440px;overflow:hidden}.faqPageImage{display:block;width:100%;height:auto;object-fit:contain}.faqHamburgerButton{position:absolute;top:clamp(1rem,4.7vw,4rem);right:clamp(1.1rem,12vw,10.8rem);z-index:3;display:inline-flex;flex-direction:column;justify-content:center;gap:clamp(.28rem,.55vw,.42rem);width:clamp(2.7rem,4.1vw,3.75rem);height:clamp(2.35rem,3.45vw,3.15rem);padding:0 clamp(.48rem,.78vw,.68rem);border:0;border-radius:999px;background:rgba(255,255,255,.38);box-shadow:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.faqHamburgerButton:focus-visible,.faqHamburgerButton:hover{transform:translateY(-1px);background:rgba(255,255,255,.72);box-shadow:0 10px 26px rgba(76,59,61,.1)}.faqHamburgerButton:focus-visible{outline:3px solid rgba(217,111,139,.38);outline-offset:4px}.faqHamburgerButton span{display:block;width:100%;height:2px;border-radius:999px;background:#7b6860}@media (max-width:560px){.faqHamburgerButton{top:clamp(.72rem,4.3vw,1.45rem);right:clamp(.72rem,10.5vw,2.4rem);width:clamp(2.35rem,9vw,2.7rem);height:clamp(2.05rem,7.8vw,2.35rem);gap:.25rem}}.staticImageStage{position:relative;width:100%;max-width:1440px;overflow:hidden}.scheduleImagePage{background:#fbf7ef}.scheduleImageStage{max-width:1440px}.schedulePageImage{width:100%;height:auto;object-fit:contain}.scheduleHamburgerButton{position:absolute;top:clamp(.95rem,3.45vw,3.25rem);right:clamp(1rem,11.5vw,10.35rem);z-index:3;display:inline-flex;flex-direction:column;justify-content:center;gap:clamp(.28rem,.55vw,.42rem);width:clamp(2.7rem,4.1vw,3.75rem);height:clamp(2.35rem,3.45vw,3.15rem);padding:0 clamp(.48rem,.78vw,.68rem);border:0;border-radius:999px;background:rgba(255,255,255,.42);box-shadow:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.scheduleHamburgerButton:focus-visible,.scheduleHamburgerButton:hover{transform:translateY(-1px);background:rgba(255,255,255,.76);box-shadow:0 10px 26px rgba(76,59,61,.1)}.scheduleHamburgerButton:focus-visible{outline:3px solid rgba(217,111,139,.38);outline-offset:4px}.scheduleHamburgerButton span{display:block;width:100%;height:2px;border-radius:999px;background:#7b6860}@media (max-width:560px){.scheduleHamburgerButton{top:clamp(.72rem,3.8vw,1.35rem);right:clamp(.72rem,9.5vw,2.3rem);width:clamp(2.35rem,9vw,2.7rem);height:clamp(2.05rem,7.8vw,2.35rem);gap:.25rem}}.scheduleImagePlaceholder{display:grid;place-items:center;min-height:100vh;padding:clamp(7rem,18vw,12rem) clamp(1.5rem,5vw,4rem);text-align:center;background:radial-gradient(circle at 18% 16%,rgba(246,183,198,.34),transparent 22rem),radial-gradient(circle at 82% 18%,rgba(220,235,220,.55),transparent 24rem),linear-gradient(180deg,#fffaf5,#fbf7ef);color:#4c3b3d}.scheduleImagePlaceholder>*{max-width:34rem}.scheduleImagePlaceholderLabel{margin:0 0 .75rem;color:var(--pink-deep);font-weight:900;letter-spacing:.16em}.scheduleImagePlaceholder h1{margin:0 0 1rem;font-size:clamp(2.1rem,7vw,4.4rem);line-height:1.1}.scheduleImagePlaceholder p:last-child{margin:0;color:var(--muted);font-weight:700}