@charset "UTF-8";
/* One coherent theme; previous prototypes remain available but are not loaded. */
:root{--ink:#184653;--text:#35535b;--muted:#586c70;--aqua:#118899;--deep:#086578;--sea:#def2f1;--ivory:#fcfbf6;--sand:#ead8b7;--line:#d7e6e5;--header:100px;--shadow:0 14px 38px #265a6214;--font:"Noto Sans JP","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.9;color:var(--text);background:#e0f3f3;overflow-x:clip}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{color:var(--ink);font-weight:700;line-height:1.55}h2{font-size:clamp(1.7rem,2.8vw,2.5rem);letter-spacing:.04em}h3{font-size:1.2rem}p+p{margin-top:1.15em}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c48521;outline-offset:5px}a:hover{color:var(--deep)}[hidden]{display:none!important}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:.875rem;letter-spacing:.19em;color:var(--deep);font-weight:600;margin-bottom:12px}.fineprint{font-size:.875rem;color:var(--muted);line-height:1.85}.solid{background:#fff;position:relative}.site-shell{position:relative;z-index:1}.scenery-layer{position:fixed;inset:0;z-index:0;height:100vh;height:100lvh;overflow:hidden;pointer-events:none;background:#6fc5e6}.scenery-layer img{width:100%;height:calc(100% + 140px);max-width:none;object-fit:cover;object-position:42% 50%;position:absolute;top:-70px;transform:translate3d(0,var(--scene-y,0px),0);will-change:transform}.skip{position:fixed;z-index:200;top:12px;left:12px;padding:12px 20px;background:white;transform:translateY(-200%)}.skip:focus{transform:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.preview-note{background:#eaf5f4;text-align:center;font-size:.875rem;padding:6px 16px;color:#37636c}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);box-shadow:0 2px 18px #144d5910;backdrop-filter:blur(12px)}.header-inner{max-width:1480px;margin:auto;min-height:100px;padding:12px 34px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:66px;height:66px;object-fit:contain}.brand strong{display:block;font-size:clamp(1.1rem,1.65vw,1.5rem);letter-spacing:.08em;line-height:1.65;white-space:nowrap}.brand small{display:block;font-size:.75rem;letter-spacing:.065em}.primary-nav{display:flex;gap:clamp(12px,1.6vw,24px);align-items:center;justify-content:center;margin-left:auto}.primary-nav a{font-weight:700;font-size:.875rem;white-space:nowrap;padding:13px 0;position:relative}.primary-nav a:after{content:"";position:absolute;height:2px;bottom:5px;left:0;right:0;background:var(--aqua);transform:scaleX(0);transition:transform .2s}.primary-nav a:hover:after,.primary-nav a[aria-current="location"]:after{transform:scaleX(1)}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:13px 25px;border-radius:999px;background:linear-gradient(115deg,#159aaa,#08748c);border:1px solid transparent;color:white;font-weight:700;line-height:1.6;min-height:50px;box-shadow:0 5px 16px #08748c1c;transition:box-shadow .2s,background .2s}.button:hover{color:white;background:var(--deep);box-shadow:0 8px 20px #08748c30}.status{font-size:.75rem;font-weight:500;white-space:nowrap;border-left:1px solid #ffffff70;padding-left:10px}.header-cta{padding:12px 20px;font-size:.875rem;white-space:nowrap}.menu-toggle{display:none}.button-white{background:#fffffff2;color:var(--ink);border:1px solid #d8c29b;box-shadow:none}.button-white:hover{background:white;color:var(--deep)}.text-link{display:inline-block;color:var(--deep);font-weight:700;font-size:.9375rem;border-bottom:1px solid #86b7bb;padding-bottom:3px}.text-link:hover{border-color:var(--deep)}
.hero{position:relative;min-height:550px;isolation:isolate;overflow:hidden;background:#eaf7f7}.hero-scenery{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:-2}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffffffbc 0%,#ffffffe0 17%,#ffffffb0 40%,#ffffff10 66%,transparent 100%)}.hero:after{content:"";position:absolute;bottom:-37px;left:-4%;width:110%;height:75px;background:var(--ivory);border-radius:50% 65% 0 0 / 60% 90% 0 0;border-top:10px solid #d6eeee;transform:rotate(.6deg)}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:center;min-height:550px;padding-block:60px 76px}.hero-location{font-size:.9375rem;font-weight:600;letter-spacing:.08em;margin-bottom:16px}.hero h1{font-size:clamp(2rem,3.2vw,3.2rem);font-weight:800;letter-spacing:.065em;line-height:1.5;white-space:nowrap;margin-bottom:18px}.hero-message{font-size:1.625rem;font-weight:700;letter-spacing:.07em;line-height:1.75;color:var(--ink)}.hero-description{font-size:1rem;line-height:1.9;margin-top:16px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.hero-actions .button{font-size:.9375rem}.hero-caption{position:absolute;right:20px;bottom:45px;color:#33545b;background:#ffffffd9;padding:2px 10px;border-radius:4px;font-size:.75rem}.hours-card{padding:26px 26px 20px;background:#ffffffdf;border:1px solid #fff;border-radius:22px;backdrop-filter:blur(10px);box-shadow:0 12px 42px #2363711b;align-self:center;margin-top:20px}.hours-card h2{font-size:1.125rem;letter-spacing:.12em;margin-bottom:12px}.hours-card dl{margin:0}.hours-card dl>div{display:flex;gap:20px;border-top:1px solid #c7d9d9;padding:12px 0}.hours-card dt{font-weight:700;min-width:3.5em}.hours-card dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.75}.hours-card dd span{display:block}.closed-label{background:#f4e3be;border-radius:20px;text-align:center;font-weight:700;font-size:.9375rem;margin:8px auto 10px!important;padding:3px 16px;max-width:170px}.hours-card>a{display:block;text-align:center;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}.first-panel{background:var(--ivory);padding-bottom:62px;border-radius:0 0 48% 4% / 0 0 32px 10px}.hero-foot{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;padding:18px 0 25px;font-size:.875rem;font-weight:600;color:#476668}.hero-foot span+span{border-left:1px solid #cfded9;padding-left:34px}.notice{display:grid;grid-template-columns:145px 1fr auto;gap:24px;align-items:center;border-block:1px solid #d8e5df;padding-block:22px}.notice h2{font-size:1.05rem;letter-spacing:.04em}.notice .eyebrow{font-size:.75rem;margin:0}.notice p{font-size:.9375rem}.notice .text-link{white-space:nowrap}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding-block:78px 32px}.welcome h2{margin-bottom:24px}.welcome p:not(.eyebrow){margin-bottom:24px;line-height:2}.room-photo{position:relative;isolation:isolate;margin:10px 0 0}.room-photo>img:first-child{width:100%;aspect-ratio:1.42;object-fit:cover;border:8px solid white;border-radius:70px 24px 60px 24px;filter:brightness(1.13) contrast(.96);box-shadow:var(--shadow)}.room-photo:before{content:"";position:absolute;inset:22px -16px -8px 24px;border-radius:70px 24px 60px 24px;background:#dceeed;z-index:-1;transform:rotate(3deg)}.room-photo figcaption{font-size:.875rem;padding:14px 20px;color:#456567}.room-photo figcaption span{font-size:.75rem;margin-left:12px;color:var(--muted)}.photo-botanical{position:absolute;width:135px;bottom:-2px;left:-42px;pointer-events:none}.section{padding-block:74px}.section-heading{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-bottom:36px}.section-heading>p{font-size:.9375rem}.section-heading h2{line-height:1.5}.mobile-break{display:none}#first{padding-block:40px 0}#first .section-heading{margin-bottom:24px}#first h2{font-size:1.65rem}.first-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.first-grid article{padding:8px 24px 8px 0}.first-grid article+article{border-left:1px solid #d5dfd6;padding-left:30px}.small-label{display:inline-block;font-size:.8125rem;color:#326e73;border-radius:20px;padding:0 12px;background:#e1eeea;margin-bottom:8px}.first-grid h3{font-size:1.0625rem;margin-bottom:10px}.first-grid p{font-size:.9375rem}.time-note{display:flex;gap:30px;background:white;border-radius:12px;border:1px solid #e0e9e5;padding:20px 26px;margin-top:28px;font-size:.9375rem}.time-note strong{white-space:nowrap;color:var(--ink)}.time-note p{margin:0}.scenery-window{height:280px;position:relative;background:transparent;pointer-events:none}.scenery-caption{position:absolute;right:24px;bottom:14px;background:#ffffffe0;padding:2px 10px;font-size:.75rem;color:#365c62;border-radius:3px}.window-ocean{height:370px}.window-shore{height:300px}.care-panel{background:linear-gradient(#f3fbfa,#fff 60%);padding-bottom:65px;border-radius:4% 45% 0 0 / 10px 28px 0 0;margin-top:-20px}.care-panel>#care{padding-bottom:42px}.care-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.care-card{display:flex;flex-direction:column;border-top:3px solid #79c4c6;border-radius:22px;padding:24px 22px;background:#fff;box-shadow:0 8px 28px #2159650c;transition:box-shadow .2s;min-width:0}.care-card:nth-child(2){border-color:#96c8ad}.care-card:nth-child(3){border-color:#dec494}.care-card:nth-child(4){border-color:#a8ccd8}.care-card:hover{box-shadow:0 10px 30px #205b6528}.care-number{font-size:.75rem;letter-spacing:.055em;color:#43767d;margin-bottom:30px;line-height:1.6}.care-card h3{font-size:1.16rem;line-height:1.7;margin-bottom:16px}.care-card p{font-size:.9375rem;line-height:1.9;margin-bottom:26px}.card-link{font-size:.875rem;font-weight:700;margin-top:auto;color:var(--deep);border-top:1px solid var(--line);padding-top:15px}.care-grid+.fineprint{margin-top:24px}.details-section{padding-top:10px}.details-section h2{font-size:1.375rem;margin-bottom:8px}.details-section>.fineprint{margin-bottom:22px}details{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header) + 25px)}summary{padding:17px 44px 17px 8px;font-size:1rem;color:var(--ink);font-weight:700;cursor:pointer;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:12px;top:16px;color:var(--aqua);font-weight:400;font-size:1.25rem}details[open] summary:after{content:"−"}details[open]{background:#f3f9f8;border-radius:12px}details>div{padding:6px 24px 24px;max-width:960px}.approach-panel{border-radius:40% 3% 0 0 / 28px 8px 0 0;margin-top:-20px}.philosophy{padding:80px 0 65px}.philosophy-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px}.philosophy h2{margin-bottom:22px}.philosophy-inner>div>p:last-child{line-height:2.1}.steps{list-style:none;padding:0;margin:4px 0 0}.steps li{display:flex;gap:22px;padding-block:24px;border-bottom:1px solid var(--line)}.steps li:first-child{padding-top:0}.steps li:last-child{border:0}.steps li>span{font-size:2.2rem;line-height:1.3;color:#5daab0;font-weight:300;font-variant-numeric:tabular-nums}.steps h3{font-size:1.125rem;margin-bottom:10px}.steps p{font-size:.9375rem}.story{display:grid;grid-template-columns:1fr 1.6fr;gap:95px;border-top:1px solid var(--line);padding-block:58px 74px}.story h2{font-size:1.875rem}.signature{margin-top:28px}.signature span,.signature small{display:block;font-size:.875rem}.signature strong{display:block;font-size:1.3rem;letter-spacing:.14em;color:var(--ink);margin-block:4px}.story-text{max-width:680px}.story-emphasis{font-weight:700;color:var(--deep)}.space-panel{background:var(--ivory);padding:64px 0 78px;border-radius:0 0 5% 42% / 0 0 10px 32px}.space-section{width:min(1160px,calc(100% - 96px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.space-photo-wrap{position:relative;padding:18px;isolation:isolate}.space-photo-wrap:before{content:"";position:absolute;inset:0;background:#dcece7;z-index:-1;border-radius:24px 70px 24px 60px;transform:rotate(-3deg)}.space-image img{width:100%;aspect-ratio:1.28;object-fit:cover;border:8px solid #fff;border-radius:18px 52px 18px 46px;box-shadow:var(--shadow)}.kids-flower{position:absolute;width:145px;left:-34px;bottom:-10px;pointer-events:none}.kids-flower-top{display:none}.kids-label{position:absolute;right:24px;bottom:3px;border-radius:20px;background:white;padding:4px 18px;font-size:.75rem;letter-spacing:.17em;color:var(--deep);box-shadow:0 3px 10px #1f546515}.space-copy h2{margin-bottom:24px}.space-copy p{font-size:.9375rem}.space-copy .fineprint{font-size:.875rem}.access-panel{border-radius:5% 42% 0 0 / 10px 30px 0 0;margin-top:-20px}.access-section{padding-top:76px;padding-bottom:82px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.exterior{width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:24px}.access-grid>div>.fineprint{margin:12px 0 22px}.access-grid h3{margin-bottom:12px}.access-grid>div>p:not(.fineprint){margin-bottom:16px}.hours{padding:28px 30px;background:#f3f9f8;border:1px solid #e0eeee;border-radius:22px}.hours h3{font-size:1.25rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9375rem;white-space:nowrap;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #d1e2e1}thead th{font-size:.875rem;font-weight:500;color:#536e70}tbody th{font-weight:700}.parking{border-top:1px solid var(--line);padding-top:16px}.parking h4{font-size:1rem;margin:14px 0 6px}.parking p{font-size:.9375rem}.parking .fineprint{font-size:.875rem}.parking p+p{margin-top:8px}.booking{height:auto;min-height:480px;display:grid;place-items:center;padding:55px 24px;pointer-events:auto}.booking-card{width:min(580px,100%);padding:34px 45px;background:#fffffff0;border:1px solid white;border-radius:28px;text-align:center;box-shadow:0 16px 50px #163e5924;backdrop-filter:blur(8px)}.booking-card h2{font-size:2rem;margin-bottom:12px}.booking-card .button{margin-top:24px}.booking-status{font-size:.875rem;margin-top:24px}.booking-status span{font-size:1rem;font-weight:700;color:var(--ink)}.booking-card .fineprint{margin-top:15px}.contact-band{padding:50px 0;border-bottom:1px solid var(--line)}.contact-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:34px}.contact-band h2{font-size:1.5rem}.contact-links{display:flex;gap:30px}.contact-links a{display:block;padding-left:24px;border-left:1px solid var(--line)}.contact-links strong{font-size:1rem;display:block;color:var(--deep)}.contact-links span{display:block;font-size:.875rem}.footer{padding:30px 0}.footer-inner{display:flex;align-items:center;gap:35px;flex-wrap:wrap}.footer .brand img{width:58px;height:58px}.footer .brand strong{font-size:1.125rem}.footer small{font-size:.75rem}.back-top{font-size:.875rem;margin-left:auto}.mobile-dock{display:none}
@media(min-width:1650px){.hero-inner{min-height:590px;grid-template-columns:minmax(0,1fr) 380px}.hero h1{font-size:3.25rem}.hours-card dd span{display:inline;margin-left:10px}.hours-card{padding-inline:22px}.hero .wrap{width:min(1360px,calc(100% - 120px))}}
@media(max-width:1200px){:root{--header:88px}.header-inner{min-height:88px;padding-inline:24px;gap:16px}.brand img{width:56px;height:56px}.brand strong{font-size:1.15rem}.brand small{font-size:.75rem}.primary-nav{gap:16px}.primary-nav a{font-size:.8125rem}.header-cta{padding:10px 15px}.header-cta .status{display:none}.hero-inner{grid-template-columns:minmax(0,1fr) 310px;gap:25px}.hero h1{font-size:2.5rem}.care-grid{gap:16px}.care-card{padding:22px 18px}.care-card h3{font-size:1.075rem}.welcome{gap:45px}.space-section{gap:45px}.contact-links{gap:18px}.contact-links a{padding-left:18px}}
@media(max-width:980px){:root{--header:82px}.wrap,.space-section{width:calc(100% - 56px)}.header-inner{min-height:82px}.primary-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #c6dfdd;border-radius:8px;background:white;font-size:.875rem;padding:8px 12px;min-height:44px;color:var(--ink)}.menu-toggle span{font-size:1.1rem}.mobile-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:10px 28px 24px;background:white;box-shadow:0 14px 18px #13485310}.mobile-menu a{padding:10px;border-bottom:1px solid var(--line);font-size:.9375rem}.hero-inner{grid-template-columns:1fr 280px;min-height:550px;padding-block:45px 75px}.hero h1{font-size:2.15rem;letter-spacing:.02em}.hero-message{font-size:1.4rem}.hero-description{font-size:.9375rem}.hero-location{font-size:.8125rem}.hero-actions{gap:10px}.hero-actions .button{padding:11px 18px;font-size:.875rem}.hero-actions .status{display:none}.hours-card{padding:22px}.hero-foot{gap:14px;font-size:.8125rem}.hero-foot span+span{padding-left:14px}.notice{grid-template-columns:125px 1fr;gap:16px}.notice .text-link{grid-column:2;justify-self:start}.welcome{gap:32px}.welcome h2{font-size:1.65rem}.welcome p:not(.eyebrow){font-size:.9375rem}.first-grid{gap:18px}.first-grid article{padding-right:10px}.first-grid article+article{padding-left:18px}.care-grid{grid-template-columns:repeat(2,1fr);gap:22px}.care-number{margin-bottom:18px}.care-card h3{font-size:1.25rem}.philosophy-inner{gap:40px}.story{gap:50px;grid-template-columns:1fr 1.4fr}.access-grid{gap:32px}.hours{padding:22px 20px}.contact-band>.wrap{display:block}.contact-links{margin-top:24px;gap:28px}.contact-links a:first-child{border:0;padding-left:0}.footer-inner{gap:20px}.footer-inner>small{width:100%}.scenery-layer img{object-position:32% 50%}}
@media(max-width:700px){:root{--header:76px}.wrap,.space-section{width:calc(100% - 40px)}.preview-note{font-size:.75rem;line-height:1.6;padding:6px 20px}.header-inner{min-height:76px;padding:10px 15px;gap:10px}.brand{gap:8px;min-width:0}.brand img{width:44px;height:44px}.brand strong{font-size:1rem;letter-spacing:.02em}.brand small{font-size:.65rem;letter-spacing:0}.header-cta{display:none}.menu-toggle{margin-left:auto;padding:7px 9px;font-size:.75rem;gap:5px}.mobile-menu{max-height:calc(100svh - 140px);overflow-y:auto;padding:8px 20px 20px;gap:0 16px}.mobile-menu a{font-size:.875rem}.hero{min-height:0}.hero-scenery{object-position:66% center}.hero:before{background:linear-gradient(90deg,#ffffffce,#ffffffab 65%,#ffffff30)}.hero-inner{display:block;min-height:0;padding:34px 0 62px}.hero-location{font-size:.75rem;letter-spacing:.02em;margin-bottom:14px}.hero h1{font-size:clamp(1.55rem,6.2vw,2.2rem);letter-spacing:.025em;margin-bottom:14px}.hero-message{font-size:1.32rem;line-height:1.75}.hero-description{font-size:.875rem;line-height:1.9;max-width:28em}.hero-actions{margin-top:22px;gap:10px}.hero-actions .button{font-size:.875rem;min-height:46px;padding:10px 16px}.hours-card{margin:28px 0 0 auto;max-width:350px;padding:16px 20px;border-radius:18px}.hours-card h2{font-size:1rem;margin-bottom:8px}.hours-card dl>div{padding:8px 0;gap:12px;font-size:.875rem}.hours-card dd span{display:inline;margin-left:12px}.hours-card dd{white-space:nowrap}.closed-label{font-size:.8125rem;padding:2px 16px;margin-block:5px!important}.hours-card>a{font-size:.8125rem}.hero-caption{bottom:35px;font-size:.6875rem;right:20px}.hero:after{height:50px;bottom:-30px;border-top-width:6px}.hero-foot{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;justify-items:center;padding:10px 0 24px;font-size:.8125rem}.hero-foot span:first-child{grid-column:1/-1}.hero-foot span+span{border:0;padding:0}.notice{display:block;padding-block:20px}.notice>div{display:flex;align-items:center;gap:16px;margin-bottom:10px}.notice h2{font-size:1rem}.notice p{font-size:.875rem;line-height:1.8}.notice .text-link{font-size:.875rem;margin-top:12px}.welcome{display:flex;flex-direction:column;padding-block:48px 20px;gap:28px;align-items:stretch}.welcome h2{font-size:1.65rem}.welcome h2+p br{display:none}.welcome .room-photo{margin:0 12px 0 8px}.room-photo>img:first-child{aspect-ratio:1.48;border-width:6px;border-radius:45px 18px 45px 18px}.room-photo figcaption{font-size:.8125rem;padding-inline:4px}.room-photo figcaption span{margin-left:8px}.photo-botanical{width:100px;left:-24px;bottom:8px}.eyebrow{font-size:.75rem;letter-spacing:.15em}.section{padding-block:48px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:16px;font-size:.9375rem}h2{font-size:1.75rem}.first-panel{padding-bottom:48px;border-radius:0 0 32% 2% / 0 0 18px 5px}#first{padding-top:28px}.first-grid{display:block}.first-grid article,.first-grid article+article{border:0;border-bottom:1px solid #dde5df;padding:20px 0}.first-grid article:first-child{padding-top:0}.first-grid article:last-child{border:0;padding-bottom:0}.first-grid h3{font-size:1.0625rem}.small-label{font-size:.8125rem}.time-note{display:block;padding:18px;margin-top:24px;font-size:.875rem}.time-note strong{display:block;margin-bottom:8px}.scenery-window{height:210px}.window-ocean{height:290px}.window-shore{height:230px}.scenery-layer img{object-position:29% center;will-change:auto;transform:none!important}.scenery-caption{font-size:.6875rem;right:14px;bottom:12px}.care-panel{padding-bottom:45px;border-radius:4% 45% 0 0 / 5px 18px 0 0;margin-top:-12px}.care-grid{gap:16px;grid-template-columns:1fr}.care-card{padding:22px 24px;box-shadow:0 5px 20px #24515b08}.care-number{margin-bottom:12px}.care-card h3{font-size:1.25rem;margin-bottom:12px}.care-card p{font-size:.9375rem;margin-bottom:18px}.card-link{padding-top:12px}.care-panel>#care{padding-bottom:34px}.details-section h2{font-size:1.25rem}.details-section>.fineprint{margin-bottom:12px}.details-section .eyebrow{margin-bottom:10px}summary{font-size:.9375rem;padding-block:18px}details>div{padding-inline:16px;font-size:.9375rem}.philosophy{padding:52px 0 28px}.philosophy-inner{display:block}.philosophy h2{font-size:1.75rem}.philosophy-inner>div>p:last-child{font-size:.9375rem}.steps{margin-top:30px}.steps li{gap:18px}.steps li>span{font-size:1.8rem}.steps h3{font-size:1.0625rem}.story{display:block;padding-block:34px 48px}.story h2{font-size:1.55rem}.story h2 br{display:none}.signature{margin-top:18px;display:flex;flex-wrap:wrap;gap:2px 16px;align-items:baseline}.signature strong{font-size:1.2rem}.signature small{width:100%}.story-text{font-size:.9375rem;margin-top:25px}.space-panel{padding:38px 0 50px}.space-section{display:flex;flex-direction:column;gap:35px}.space-photo-wrap{width:100%;padding:10px 12px}.space-image img{aspect-ratio:1.4;border-width:6px}.kids-flower{width:112px;left:-15px;bottom:-10px}.kids-label{font-size:.6875rem;right:15px;bottom:-6px}.space-copy h2{font-size:1.65rem;margin-bottom:20px}.access-section{padding-block:50px}.access-section h2{font-size:1.7rem}.access-grid{display:block}.access-grid .hours{margin-top:30px}.exterior{border-radius:18px}.access-grid h3{font-size:1.15rem}.hours{padding:22px 16px}th,td{padding:10px 4px;font-size:.8125rem}.booking{min-height:0;height:auto;padding:42px 20px}.booking-card{padding:28px 20px;border-radius:24px}.booking-card h2{font-size:1.65rem}.booking-card p{font-size:.9375rem}.booking-card .fineprint,.booking-status{font-size:.8125rem}.booking-card .button{font-size:.875rem;width:100%;padding-inline:14px}.booking .scenery-caption{bottom:8px}.contact-band{padding:34px 0}.contact-band h2{font-size:1.4rem}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.contact-links a{border:0;padding:0}.contact-links span{font-size:.8125rem}.footer{padding-block:22px 95px}.footer .brand img{width:42px;height:42px}.footer .brand strong{font-size:1rem}.footer .brand small{font-size:.6875rem}.back-top{margin-left:0}.footer-inner{gap:18px}.mobile-dock{display:grid;position:fixed;z-index:45;bottom:0;left:0;right:0;grid-template-columns:1fr 1.4fr 1fr;background:white;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 18px #194a5315;border-top:1px solid #deebe8}.mobile-dock a{display:flex;align-items:center;justify-content:center;min-height:56px;font-size:.8125rem;font-weight:700;padding:8px}.mobile-dock a:nth-child(2){color:white;background:#138494}.mobile-break{display:block}}
@media(max-width:370px){.header-inner{padding-inline:10px;gap:5px}.brand strong{font-size:.875rem}.brand small{font-size:.5625rem}.brand img{width:36px;height:36px}.menu-toggle{font-size:.6875rem;padding:6px}.hero-actions{gap:8px}.hero-actions .button{font-size:.8125rem;padding-inline:12px}.hours-card{padding-inline:15px}.hours-card dd span{margin-left:8px}.wrap,.space-section{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scenery-layer img{transform:none!important;will-change:auto}}
body{font-size:1rem}.header-inner{flex-wrap:wrap}.wrap>*{min-width:0}.hero h1{white-space:normal}.hero h1 span{display:inline-block}.brand span{min-width:0}.brand strong{white-space:normal}.hero-actions .status{display:inline-block}.hours-card dd{white-space:normal}.hours-card dl>div{flex-wrap:wrap;column-gap:16px;row-gap:2px}
@media(max-width:700px){.brand small{font-size:.75rem;line-height:1.55}.brand img{flex-shrink:0}.menu-toggle{font-size:.875rem;flex-shrink:0}.brand{flex-shrink:1}.brand strong{font-size:1rem;line-height:1.55}.header-inner{padding-block:12px}.hero-actions .button{padding-inline:14px}.hero-actions .status{font-size:.75rem;padding-left:8px}.hero-actions{gap:10px}.mobile-dock a{font-size:.875rem}.hours-card dd span{display:inline-block}.room-photo figcaption span{display:inline-block}.hours-card>a{font-size:.875rem}}
@media print{.scenery-layer,.scenery-window,.site-header,.mobile-dock,.preview-note,.hero-scenery,.hero-caption{display:none}.site-shell{position:static}.hero{min-height:0}.hero-inner{min-height:0;padding:20px 0;display:block}.hero:before,.hero:after{display:none}.hours-card{max-width:450px}.solid{border-radius:0}.wrap,.space-section{width:100%}.section{padding-block:25px}.footer{padding:20px 0}details>div{display:block}.skip{display:none}}
/* v6 — follow the supplied lush resort reference, not a minimal clinic template. */
.site-shell{overflow-x:clip}
:root{--header:78px}
.preview-note{padding:3px 16px;font-size:.75rem;line-height:1.5}
.header-inner{min-height:78px;padding:7px 30px;gap:22px}
.site-header{background:#fffffff5}
.brand img{width:58px;height:58px}
.brand strong{font-size:1.3rem;letter-spacing:.08em}
.brand small{font-size:.75rem}
.primary-nav{gap:23px}
.primary-nav a{padding:8px 0}
.header-cta{padding:10px 23px;min-height:44px}
.hero{min-height:430px}
.hero-inner{width:min(1340px,calc(100% - 96px));min-height:430px;grid-template-columns:minmax(0,1fr) 405px;gap:34px;padding-block:30px 55px}
.hero-copy{position:relative;padding-left:105px}
.hero-brand-mark{position:absolute;left:-5px;top:7px;width:92px;height:100px;object-fit:contain}
.hero-location{font-size:.875rem;margin-bottom:8px}
.hero h1{font-size:clamp(2rem,3.3vw,3.2rem);letter-spacing:.055em;margin-bottom:10px;line-height:1.4}
.hero-message{font-size:1.5rem;line-height:1.65}
.hero-description{margin-top:10px;font-size:.9375rem;line-height:1.8}
.hero-actions{margin-top:18px}
.hero-actions .button{padding-block:10px}
.hero:before{background:linear-gradient(90deg,transparent 0%,#fff9 13%,#ffffffe0 21%,#ffffff8c 48%,transparent 73%)}
.hero:after{display:none}
.hero-scenery{object-position:center center}
.hero-caption{bottom:57px;font-size:.6875rem;background:#ffffffe3}
.hours-card{padding:19px 23px 14px;border-radius:18px;margin-top:15px;background:#ffffffe3}
.hours-card h2{font-size:1.0625rem;margin-bottom:8px}
.hours-card dl>div{padding:8px 0;gap:12px;flex-wrap:nowrap;font-size:.9375rem}
.hours-card dd{display:flex;gap:12px;flex-wrap:wrap}
.hours-card dd span{display:inline;margin:0}
.hours-card .closed-label{margin-block:6px!important;font-size:.875rem;padding-block:2px}
.hours-card>a{font-size:.8125rem}
.wave-divider{position:absolute;left:0;bottom:-1px;width:100%;height:64px;z-index:3;pointer-events:none;overflow:visible}
.wave-tint{fill:#ceeae7}
.wave-surface{fill:var(--ivory)}
.hero-wave{height:62px}
.first-panel{border-radius:0;padding-bottom:58px;isolation:isolate}
.first-wave{bottom:-48px;height:66px;transform:scaleY(-1);z-index:4}
.panel-top{top:-50px;bottom:auto;height:68px}
.care-wave .wave-surface{fill:#f3fbfa}
.approach-wave .wave-surface{fill:#fff}
.hero-foot{padding-block:5px 15px;gap:28px;font-size:.8125rem}
.hero-foot span+span{padding-left:28px}
.welcome{padding-block:34px 36px;gap:65px}
.welcome h2{font-size:2rem;margin-bottom:18px}
.welcome p:not(.eyebrow){margin-bottom:18px}
.welcome>.room-photo{margin-top:0}
.room-photo>img:first-child{aspect-ratio:1.55;border-radius:66px 20px 64px 20px}
.welcome>div{padding-left:32px}
.notice{padding-block:15px}
.notice .eyebrow{display:none}
.notice h2{font-size:1rem}
.notice p{font-size:.875rem}
#first{padding-top:32px}
.section{padding-block:60px}
.edge-botanical{position:absolute;pointer-events:none;z-index:2;object-fit:contain;height:auto;max-width:none}
.welcome-leaves{left:-40px;top:70px;width:190px}
.care-leaves{right:-36px;top:14px;width:195px;transform:scaleX(-1)}
.approach-leaves{left:-38px;top:25px;width:175px}
.access-leaves{right:-34px;top:25px;width:180px;transform:scaleX(-1)}
.welcome,.section,.philosophy-inner,.story,.details-section,.space-section{position:relative;z-index:3}
.care-panel,.approach-panel,.access-panel{margin-top:0;border-radius:0}
.care-panel{padding-bottom:54px}
.care-panel .section-heading{padding-right:70px}
.care-card{border-top-width:0;border:1px solid #d0e6df;background:linear-gradient(145deg,#fff,#fbfcf7);border-radius:30px 30px 24px 24px;box-shadow:0 8px 25px #1d686717}
.care-number{padding-bottom:12px;border-bottom:2px solid #c8e2d5;margin-bottom:20px;color:#327f79}
.care-card:nth-child(2) .care-number{border-color:#dbe7c7}
.care-card:nth-child(3) .care-number{border-color:#ecddbc}
.care-card:nth-child(4) .care-number{border-color:#cce7eb}
.philosophy{padding-block:64px 45px}
.story{padding-block:40px 58px}
.space-panel{padding-block:52px 64px;border-radius:0 0 28% 42% / 0 0 32px 52px;z-index:2;margin-bottom:-24px}
.space-photo-wrap:before{background:#dfebe0}
.kids-flower{width:175px;left:-45px;bottom:-12px}
.access-panel{border-radius:38% 4% 0 0 / 42px 12px 0 0;margin-top:-28px;z-index:2}
.access-section{padding-top:60px;padding-bottom:60px}
.scenery-window{isolation:isolate;height:280px;pointer-events:none;background:#b3dbe4}
.window-ocean{height:350px}
.window-shore{height:295px}
/* Each clipped viewport exposes its own fixed image; not ordinary in-flow banners. */
.window-viewport{position:absolute;inset:0;clip-path:inset(0);z-index:-1;overflow:hidden;pointer-events:none}
.window-viewport img{position:fixed;left:0;top:-50px;width:100%;height:calc(100vh + 100px);height:calc(100lvh + 100px);max-width:none;object-fit:cover;object-position:center;transform:translate3d(0,var(--scene-y,0px),0);will-change:transform}
.scenery-caption{z-index:4}
.window-palms .window-viewport img{object-position:50% 45%}
.window-ocean .window-viewport img{object-position:center}
.window-shore .window-viewport img{object-position:45% 50%}
.booking{height:auto;min-height:415px;padding:38px 24px;pointer-events:auto}
.booking-card{position:relative;z-index:2;padding:26px 38px;border-radius:24px;max-width:545px;background:#ffffffe3}
.booking-card h2{font-size:1.8rem}
.booking-card .button{margin-top:16px}
.booking-status{margin-top:17px}
.booking-card .fineprint{margin-top:9px}
@media(min-width:1600px){.hero-inner{min-height:440px;grid-template-columns:minmax(0,1fr) 440px}.hero h1{font-size:3.4rem}.hero-copy{padding-left:120px}.hero-brand-mark{width:105px}.hours-card dl>div{font-size:1rem}.welcome-leaves{width:240px}.care-leaves{width:245px}.approach-leaves,.access-leaves{width:220px}}
@media(max-width:1200px){.header-inner{gap:15px;padding-inline:22px}.brand strong{font-size:1.1rem}.primary-nav{gap:15px}.hero-inner{width:calc(100% - 64px);grid-template-columns:minmax(0,1fr) 350px;gap:25px}.hero-copy{padding-left:70px}.hero-brand-mark{width:62px}.hero h1{font-size:2.2rem}.hero-message{font-size:1.3rem}.hero-description{font-size:.875rem}.hours-card{padding-inline:18px}.hours-card dl>div{font-size:.8125rem;gap:10px}.hours-card dd{gap:8px}.welcome-leaves{width:140px;left:-42px}.care-leaves{width:145px}.approach-leaves,.access-leaves{width:140px}.welcome>div{padding-left:15px}}
@media(max-width:980px){.header-inner{min-height:76px}.brand strong{font-size:1.15rem}.hero-inner{grid-template-columns:minmax(0,1fr) 300px;padding-block:30px 60px;min-height:425px}.hero-copy{padding-left:0}.hero-brand-mark{display:none}.hero h1{font-size:2rem}.hero-message{font-size:1.3rem}.hero-location{font-size:.75rem}.hours-card dd{display:block}.hours-card dd span{display:block}.welcome{gap:35px}.welcome h2{font-size:1.7rem}.welcome-leaves{width:110px;left:-48px}.care-leaves{width:120px;right:-40px}.approach-leaves,.access-leaves{width:105px}.window-viewport img{transform:none;will-change:auto}.care-panel .section-heading{padding-right:45px}}
@media(max-width:700px){:root{--header:78px}.header-inner{min-height:76px;padding:9px 14px;gap:8px}.brand img{width:43px;height:43px}.brand strong{font-size:1rem;letter-spacing:0}.brand small{font-size:.6875rem;line-height:1.5}.menu-toggle{font-size:.8125rem}.hero{min-height:0}.hero-inner{width:calc(100% - 40px);display:block;min-height:0;padding:28px 0 53px}.hero-scenery{object-position:50% center}.hero:before{background:linear-gradient(90deg,#ffffffe8,#ffffffd9 68%,#ffffff70)}.hero h1{font-size:clamp(1.5rem,6.15vw,2.2rem);margin-bottom:10px}.hero-message{font-size:1.2rem}.hero-description{font-size:.875rem}.hero-actions{margin-top:16px}.hero-actions .button{font-size:.8125rem;padding:9px 12px;min-height:43px}.hero-location{margin-bottom:12px}.hours-card{max-width:none;margin-top:20px;padding:14px 18px 10px;background:#ffffffe8}.hours-card h2{font-size:1rem}.hours-card dl>div{font-size:.8125rem;flex-wrap:wrap;gap:6px 12px;padding:7px 0}.hours-card dd{display:flex;gap:10px}.hours-card dd span{display:inline}.hours-card>a{font-size:.8125rem}.hero-caption{bottom:39px;font-size:.625rem;right:16px}.hero-wave{height:42px}.hero-foot{padding:4px 0 14px;gap:3px 12px;font-size:.75rem}.hero-foot span+span{padding-left:0}.welcome{padding-block:28px;gap:24px}.welcome>div{padding-left:0}.welcome h2{font-size:1.6rem}.welcome-leaves{top:100px;left:-32px;width:100px;opacity:.85}.welcome>div,.welcome>.room-photo{z-index:3}.welcome>div{position:relative;padding-left:20px}.room-photo>img:first-child{border-radius:45px 18px 44px 18px}.notice{padding-block:17px}.notice p{font-size:.875rem}.first-panel{padding-bottom:38px}.first-wave{height:42px;bottom:-32px}.care-panel{padding-bottom:38px}.care-panel .section-heading{padding-right:20px}.care-leaves{width:110px;top:-10px;right:-38px;opacity:.8}.approach-leaves{left:-45px;width:105px;top:25px;opacity:.65}.access-leaves{right:-38px;width:95px;top:5px;opacity:.75}.panel-top{height:44px;top:-32px}.section{padding-block:42px}.philosophy{padding-block:44px 26px}.story{padding-block:32px 40px}.space-panel{padding-block:36px 45px}.kids-flower{width:125px;left:-19px;bottom:-12px}.access-section{padding-block:45px}.scenery-window{height:230px}.window-ocean{height:280px}.window-shore{height:240px}.booking{height:auto;min-height:0;padding:36px 20px}.booking-card{padding:26px 20px}.booking-card h2{font-size:1.65rem}.window-viewport img{transform:none!important;object-position:center}.window-ocean .window-viewport img{object-position:35% 50%}.window-shore .window-viewport img{object-position:43% 50%}}
@media(prefers-reduced-motion:reduce){.window-viewport img{transform:none!important;will-change:auto}}
@media(max-width:700px){.hero-scenery{object-position:100% center}}
@media print{.edge-botanical,.wave-divider,.window-viewport{display:none}}

/* v7 — asymmetric botanical accents and continuous soft window edges. */
.hero-copy{padding-left:76px}
.space-panel,.access-panel{border-radius:0;margin-top:0;margin-bottom:0}
.window-edge{position:absolute;left:0;width:100%;height:72px;z-index:3;pointer-events:none}
.window-edge-top{top:-1px}
.window-edge-bottom{bottom:-1px}
.edge-tint{fill:#d5eeeb}
.window-edge-top .edge-surface{fill:var(--window-above,#fff)}
.window-edge-bottom .edge-surface{fill:var(--window-below,#fff)}
.window-palms{--window-above:var(--ivory);--window-below:#f3fbfa;height:320px}
.window-ocean{height:390px}
.window-ocean .window-edge-top{transform:scaleX(-1);height:61px}
.window-ocean .window-edge-bottom{height:82px}
.window-shore{--window-above:var(--ivory);height:320px}
.window-shore .window-edge-bottom{transform:scaleX(-1);height:62px}
.scenery-caption{bottom:70px}
.booking{padding-block:78px}
.booking .window-edge-top{height:62px;transform:scaleX(-1)}
.booking .window-edge-bottom{height:58px}
.booking .scenery-caption{bottom:55px}
@media(min-width:1600px){.hero-copy{padding-left:100px}}
@media(max-width:1200px){.hero-copy{padding-left:46px}}
@media(max-width:980px){.hero-copy{padding-left:0}}
@media(max-width:700px){
  .window-edge{height:40px}
  .window-palms{height:250px}
  .window-ocean{height:310px}
  .window-ocean .window-edge-top{height:40px}
  .window-ocean .window-edge-bottom{height:48px}
  .window-shore{height:270px}
  .window-shore .window-edge-bottom{height:38px}
  .scenery-caption{bottom:44px}
  .booking{padding:58px 20px 62px}
  .booking .window-edge-top,.booking .window-edge-bottom{height:40px}
  .booking .scenery-caption{bottom:35px}
}
@media print{.window-edge{display:none}}

/* v8 — reference-led composition: flowers, layered edges and photo-led care. */
.botanical{position:absolute;z-index:4;pointer-events:none;height:auto;max-width:none;object-fit:contain}
.first-panel,.care-panel,.approach-panel,.space-panel,.access-panel{isolation:isolate}
.welcome-monstera{width:290px;left:-125px;top:24px;transform:rotate(-8deg)}
.welcome-blooms{width:290px;right:-75px;top:245px;transform:rotate(-18deg)}
.first-fern{width:225px;left:-102px;bottom:-34px;transform:rotate(20deg)}
.care-blooms{width:260px;right:-78px;top:48px;transform:scaleX(-1) rotate(-6deg)}
.care-fern{width:265px;left:-125px;top:210px;transform:rotate(12deg)}
.care-monstera{width:145px;right:-63px;bottom:-48px;transform:rotate(155deg)}
.approach-flora{width:245px;right:-70px;top:-18px;transform:rotate(-28deg)}
.story-fern{width:215px;left:-101px;bottom:-20px;transform:rotate(28deg)}
.space-monstera{width:225px;right:-122px;top:40px;transform:scaleX(-1) rotate(8deg)}
.access-flora{width:270px;left:-95px;top:105px;transform:rotate(8deg)}
.access-fern{width:255px;right:-102px;bottom:3px;transform:rotate(-24deg)}
.booking-flowers{width:300px;left:-20px;bottom:18px;z-index:4}
.welcome{padding:28px 24px 32px;grid-template-columns:1fr 1.08fr;gap:62px}
.welcome>div{padding-left:14px}
.eyebrow{font-size:1.05rem;letter-spacing:.08em;color:#3b959a;font-weight:500}
.welcome h2{font-size:2.15rem;margin-bottom:16px;letter-spacing:.08em}
.welcome-subtitle{font-size:1.12rem;line-height:1.85;margin-bottom:13px}
.welcome p:not(.eyebrow){font-size:1rem;line-height:1.95;margin-bottom:18px}
.welcome .text-link{padding:9px 25px;border:1px solid #80bcb9;border-radius:999px;background:white}
.room-photo>img:first-child{aspect-ratio:1.5;border-radius:65px 22px 58px 22px}
.photo-botanical{width:190px;left:-48px;bottom:-8px}
.first-panel{padding-bottom:34px}
.hero-foot{font-size:.875rem}
.notice{background:#ffffffb8;border-radius:16px;padding:14px 22px}
.arrival-guide,.care-guide,.director-story{position:relative;z-index:5;border:1px solid #cde2dd;border-radius:18px;background:#ffffffdc;margin-top:20px}
.arrival-guide>summary,.care-guide>summary,.director-story>summary{padding:15px 48px 15px 22px}
.arrival-guide>div,.care-guide>.details-section{max-width:none;padding:18px 24px 24px}
.arrival-guide[open],.care-guide[open],.director-story[open]{background:#fff;border-radius:18px}
.first-grid article p,.care-card p,.steps p,.space-copy p{font-size:1rem}
.care-panel{padding-bottom:34px;background:linear-gradient(135deg,#edf9f8,#fff 65%,#fcfbf6)}
.care-panel>#care{padding-top:28px;padding-bottom:10px}
.care-panel .section-heading{padding-right:55px;margin-bottom:24px}
.care-grid{gap:22px}
.care-card{padding:0 0 20px;border-radius:24px;overflow:hidden;text-align:center;border:1px solid #d9e8e1;background:#fffffff5}
.care-photo{height:156px;width:100%;overflow:hidden}
.care-photo img{width:100%;height:100%;object-fit:cover}
.care-card:nth-child(4) .care-photo img{height:190%;max-width:none;object-position:65% bottom;transform:translateY(-44%)}
.care-number{font-size:.75rem;letter-spacing:.035em;border:0!important;margin:0;padding:15px 12px 6px;color:#448183}
.care-card h3{font-size:1.12rem;padding:0 14px;margin-bottom:10px}
.care-card p{font-size:.9375rem;line-height:1.8;margin-bottom:16px;padding:0 18px;text-align:left}
.care-card .card-link{align-self:center;border:1px solid #a7ceca;border-radius:25px;padding:4px 23px;background:#fff;font-size:.875rem}
.care-grid+.fineprint{margin-top:17px}
.care-guide{margin-top:12px}
.window-palms,.window-ocean,.window-shore{height:360px}
.window-ocean .window-viewport img{object-position:55% 50%}
.philosophy{padding:35px 0 22px}
.philosophy-inner{display:block}
.philosophy h2{font-size:2rem;margin-bottom:10px}
.philosophy-inner>div>p:last-child{font-size:1rem;line-height:1.9;max-width:900px}
.philosophy-inner>div>p:last-child br{display:none}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}
.steps li,.steps li:first-child{display:block;padding:4px 22px 4px 0;border:0}
.steps li+li{border-left:1px solid #b9d7d1;padding-left:26px}
.steps li>span{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(140deg,#e7f2e9,#faf7e8);font-size:1.5rem;color:#39959a;margin-bottom:12px}
.steps h3{font-size:1.1rem}
.director-story{margin-top:4px;margin-bottom:30px}
.story{width:auto;margin:0 26px;padding:28px 0;border:0}
.space-panel{padding-block:48px 40px}
.space-section{gap:65px}
.space-image img{aspect-ratio:1.6}
.kids-flower{width:220px;left:-56px;bottom:-23px}
.kids-flower-top{display:block;width:125px;left:auto;bottom:auto;right:-8px;top:-27px;transform:rotate(170deg)}
.access-panel{background:linear-gradient(125deg,#f2fbfb,#fff 57%,#f5faf3)}
.access-section{padding-block:30px 42px}
.access-grid{gap:44px}
.exterior{aspect-ratio:1.8;border:7px solid white;box-shadow:var(--shadow)}
.access-grid .hours{background:#fffffff0;box-shadow:var(--shadow);padding:20px 25px}
.booking-card{max-width:740px;padding:25px 42px;background:#ffffffe8}
.booking-card .eyebrow{display:none}
.booking{padding-block:65px}
.booking-status{margin-top:12px}
.contact-band{padding-block:28px}
@media(min-width:1600px){
  .welcome-monstera{width:350px;left:-105px}
  .welcome-blooms{width:360px;right:-40px}
  .care-blooms{width:320px;right:-40px}
  .care-fern{width:340px;left:-105px}
  .approach-flora{width:320px;right:-45px}
  .story-fern{width:280px;left:-90px}
  .access-flora{width:335px;left:-65px}
  .access-fern{width:310px;right:-75px}
}
@media(min-width:981px) and (max-width:1250px){
  .wrap,.space-section{width:calc(100% - 160px)}
  .hero-inner{width:calc(100% - 64px)}
  .welcome{gap:35px;padding-inline:0}
  .welcome-monstera{width:240px;left:-145px}
  .welcome-blooms{width:230px;right:-135px}
  .care-blooms{width:215px;right:-112px}
  .care-fern{width:210px;left:-130px}
  .approach-flora{right:-132px}
  .story-fern{left:-137px}
  .access-flora{width:230px;left:-137px}
  .access-fern{right:-160px}
  .care-grid{gap:14px}
  .care-card p{padding-inline:14px}
}
@media(max-width:980px){
  .botanical{max-width:230px}
  .welcome-monstera{left:-160px}
  .welcome-blooms{right:-145px}
  .care-blooms{right:-140px}
  .care-fern{left:-160px}
  .approach-flora{right:-155px}
  .story-fern{left:-155px}
  .access-flora{left:-160px}
  .access-fern{right:-175px}
  .steps{gap:16px}
  .steps li+li{padding-left:18px}
  .steps h3{font-size:1rem}
  .booking-flowers{max-width:185px;left:-40px;bottom:4px}
}
@media(max-width:700px){
  .welcome{padding:28px 0 18px}
  .welcome>div{padding-left:20px;padding-right:12px}
  .welcome h2{font-size:1.85rem;margin-bottom:12px}
  .welcome-subtitle{font-size:1.02rem}
  .welcome-monstera{width:145px;left:-96px;top:45px}
  .welcome-blooms{width:160px;right:-66px;top:295px}
  .first-fern{width:135px;left:-88px;bottom:-15px}
  .photo-botanical{width:150px;left:-28px;bottom:-5px}
  .notice{padding:17px}
  .notice p,.notice .text-link{font-size:.9375rem}
  .arrival-guide>summary,.care-guide>summary,.director-story>summary{font-size:.9375rem;padding:13px 42px 13px 16px}
  .arrival-guide>div,.care-guide>.details-section{padding:14px 18px}
  .care-panel>#care{padding-top:25px}
  .care-panel .section-heading{padding-right:15px}
  .care-panel h2,.philosophy h2{font-size:1.7rem}
  .care-blooms{width:175px;right:-76px;top:32px;transform:scaleX(-1) rotate(5deg)}
  .care-fern{width:165px;left:-105px;top:550px}
  .care-monstera{width:135px;right:-85px;bottom:40px}
  .care-grid{gap:24px}
  .care-photo{height:180px}
  .care-card p{font-size:1rem}
  .care-number{font-size:.8125rem}
  .care-card h3{font-size:1.2rem}
  .window-palms,.window-ocean,.window-shore{height:300px}
  .window-ocean .window-viewport img{object-position:56% 50%}
  .approach-flora{width:165px;right:-79px;top:0}
  .story-fern{width:140px;left:-100px;bottom:60px}
  .philosophy-inner>div{padding-right:22px}
  .steps{display:block;margin-top:22px}
  .steps li,.steps li:first-child,.steps li+li{display:grid;grid-template-columns:44px 1fr;gap:14px;border:0;padding:17px 0}
  .steps li+li{border-top:1px solid var(--line)}
  .steps li>span{width:42px;height:42px;font-size:1.2rem}
  .steps h3{font-size:1.1rem}
  .director-story{margin-bottom:28px}
  .story{margin:0 18px;padding:20px 0}
  .space-panel{padding-block:32px 30px}
  .space-monstera{width:145px;right:-95px;top:210px}
  .kids-flower{width:165px;left:-26px;bottom:-13px}
  .kids-flower-top{width:95px;left:auto;right:-5px;bottom:auto;top:-17px}
  .access-flora{width:175px;left:-103px;top:40px}
  .access-fern{width:150px;right:-98px;bottom:3px}
  .access-section h2{font-size:1.65rem}
  .access-section{padding-top:26px}
  .booking-card{padding:25px 20px}
  .booking-flowers{width:170px;left:-52px;bottom:-2px}
}
@media print{.botanical{display:none}}
@media(max-width:700px){.care-panel .section-heading>p{padding-right:85px}}

/* Use the same viewport-anchored scenery layer in every window.
   The curved opening moves across the scene, rather than carrying a photo with it. */
.window-ocean .window-viewport img{object-position:55% 60%}
.care-blooms{right:-170px;top:130px;width:300px;transform:rotate(-7deg)}
@media(min-width:1600px){.care-blooms{right:-60px;width:340px}}
@media(min-width:981px) and (max-width:1250px){.care-blooms{right:-160px;width:250px}}
@media(max-width:980px){.care-blooms{right:-120px;width:230px}}
@media(max-width:700px){.care-blooms{right:-68px;top:110px;width:185px;transform:rotate(-8deg)}}

/* Reference-led edge foliage. The original decorative images stay in the
   markup for now, but only the supplied transparent clusters are rendered. */
.first-panel>.botanical,
.care-panel>.botanical,
.approach-panel>.botanical,
.space-panel>.botanical,
.access-panel>.botanical,
.booking>.botanical{display:none}
.first-panel,.care-panel,.approach-panel,.space-panel,.access-panel,.booking{position:relative;isolation:isolate}
.first-panel::before,.first-panel::after,
.care-panel::before,.care-panel::after,
.approach-panel::before,.approach-panel::after,
.space-panel::before,
.access-panel::before,.access-panel::after,
.booking::before,.booking::after{
  content:"";position:absolute;z-index:1;pointer-events:none;
  width:var(--foliage-size);height:var(--foliage-size);
  background:var(--foliage-image) center/contain no-repeat;
}
.first-panel::before{--foliage-image:url('assets/foliage-left-upper.webp');--foliage-size:560px;left:-210px;top:-8px}
.first-panel::after{--foliage-image:url('assets/foliage-right-upper.webp');--foliage-size:330px;right:-70px;top:18px}
.care-panel::before{--foliage-image:url('assets/foliage-left-mid.webp');--foliage-size:340px;left:-55px;top:285px}
.care-panel::after{--foliage-image:url('assets/foliage-right-lower.webp');--foliage-size:530px;right:-60px;top:-22px}
.approach-panel::before{--foliage-image:url('assets/foliage-left-mid.webp');--foliage-size:430px;left:-60px;bottom:-35px}
.approach-panel::after{--foliage-image:url('assets/foliage-right-upper.webp');--foliage-size:270px;right:-80px;top:22px}
.space-panel::before{--foliage-image:url('assets/foliage-left-upper.webp');--foliage-size:460px;left:-60px;top:-25px}
.access-panel::before{--foliage-image:url('assets/foliage-left-mid.webp');--foliage-size:260px;left:-75px;bottom:20px}
.access-panel::after{--foliage-image:url('assets/foliage-right-lower.webp');--foliage-size:520px;right:-65px;top:-15px}
.booking::before{--foliage-image:url('assets/foliage-left-upper.webp');--foliage-size:470px;left:-45px;bottom:-100px}
.booking::after{--foliage-image:url('assets/foliage-right-lower.webp');--foliage-size:390px;right:-75px;bottom:-80px}
.first-panel>*:not(.botanical),.care-panel>*:not(.botanical),
.approach-panel>*:not(.botanical),.space-panel>*:not(.botanical),
.access-panel>*:not(.botanical){position:relative;z-index:2}
.booking>.booking-card{position:relative;z-index:3}
@media(max-width:1200px){
  .first-panel::before{--foliage-size:420px;left:-160px}
  .first-panel::after{--foliage-size:260px;right:-70px}
  .care-panel::before{--foliage-size:270px;left:-65px}
  .care-panel::after{--foliage-size:420px;right:-85px}
  .approach-panel::before{--foliage-size:340px;left:-75px}
  .approach-panel::after{--foliage-size:230px;right:-80px}
  .space-panel::before{--foliage-size:360px;left:-80px}
  .access-panel::before{--foliage-size:230px;left:-85px}
  .access-panel::after{--foliage-size:410px;right:-85px}
  .booking::before{--foliage-size:370px;left:-70px}
  .booking::after{--foliage-size:320px;right:-85px}
}
@media(max-width:700px){
  /* Small screens use the photo accents and ocean windows, not page-edge foliage. */
  .first-panel::before,.first-panel::after,
  .care-panel::before,.care-panel::after,
  .approach-panel::before,.approach-panel::after,
  .space-panel::before,
  .access-panel::before,.access-panel::after,
  .booking::before,.booking::after{display:none}
  .care-panel>#care{padding-top:25px}
  .approach-panel .philosophy{padding-top:35px}
  .space-panel{padding-top:32px}
  .access-panel .access-section{padding-top:26px}
  .booking{padding-bottom:65px}
}
@media print{.first-panel::before,.first-panel::after,.care-panel::before,.care-panel::after,
  .approach-panel::before,.approach-panel::after,.space-panel::before,
  .access-panel::before,.access-panel::after,.booking::before,.booking::after{display:none}}
/* Parking entrance and current bus-stop information, grouped with TOP access. */
.arrival-guide{padding:0 0 55px;background:linear-gradient(125deg,#fff,#f5faf7)}
.arrival-guide-inner{border-top:1px solid var(--line);padding-top:34px}
.arrival-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:45px;align-items:start}
.arrival-grid figure{margin:0}.arrival-grid figure img{width:100%;aspect-ratio:1.38;object-fit:cover;object-position:center 54%;border:7px solid #fff;border-radius:24px;box-shadow:var(--shadow)}
.arrival-grid figcaption{padding:8px 10px;color:var(--muted);font-size:.8125rem}
.arrival-grid h3{font-size:1.45rem;margin:0 0 11px}.arrival-grid>.eyebrow{margin-bottom:6px}
.arrival-grid .text-link{margin-top:13px}.arrival-bus{margin-top:25px;padding-top:21px;border-top:1px solid var(--line)}
.arrival-bus h4{font-size:1.1rem;margin-bottom:10px}.arrival-bus ul{list-style:none;display:grid;gap:10px;margin:0 0 13px;padding:0}
.arrival-bus li{display:flex;gap:8px 17px;flex-wrap:wrap}.arrival-bus li strong{color:var(--ink);min-width:13em}.arrival-bus .fineprint a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.arrival-guide{padding-bottom:43px}.arrival-guide-inner{padding-top:25px}.arrival-grid{grid-template-columns:1fr;gap:23px}.arrival-grid figure img{border-width:5px;border-radius:18px}.arrival-grid h3{font-size:1.25rem}.arrival-bus{margin-top:22px}.arrival-bus li{display:block}.arrival-bus li span{display:block;font-size:.9375rem}}
@media print{.arrival-guide{padding:15px 0}.arrival-grid{gap:20px}.arrival-grid figure img{max-width:260px}}
/* Insurance information sits between the clinic identity and navigation. */
.header-insurance{display:grid;gap:2px;flex:0 0 auto;padding-left:14px;border-left:1px solid #c8dedb;color:#376268;font-size:.6875rem;font-weight:700;line-height:1.4;white-space:nowrap}
@media(min-width:981px) and (max-width:1450px){.header-inner{gap:12px;padding-inline:20px}.primary-nav{gap:11px}.primary-nav a{font-size:.8rem}.header-insurance{font-size:.625rem;padding-left:10px}}
@media(min-width:981px) and (max-width:1250px){.primary-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #c6dfdd;border-radius:8px;background:white;padding:8px 11px}.header-cta{margin-left:auto}}
@media(max-width:980px){.header-insurance{order:5;flex-basis:100%;display:flex;justify-content:center;gap:16px;border-left:0;border-top:1px solid #e0ebe8;padding:5px 0 1px;font-size:.6875rem}.header-inner{row-gap:3px}}
@media(max-width:700px){:root{--header:112px}.header-insurance{gap:12px;font-size:.625rem}.header-inner{padding-block:8px}}
@media(max-width:370px){.header-insurance{gap:7px;font-size:.5625rem}}
/* The third column must keep the same divider as the second. */
@media(min-width:701px){.steps li:last-child{border-left:1px solid #b9d7d1}}
/* City voucher highlight; the voucher image is supplied by the clinic. */
.voucher-highlight{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:28px;margin-top:22px;margin-bottom:12px;padding:15px 24px;border:1px solid #cde4df;border-radius:24px;background:linear-gradient(110deg,#f1faf6,#fffdf8);box-shadow:0 8px 25px #195b6510}
.voucher-highlight>img{width:100%;aspect-ratio:1.67;object-fit:cover;border-radius:15px}
.voucher-highlight .eyebrow{margin-bottom:3px}.voucher-highlight h2{font-size:1.32rem;line-height:1.45}.voucher-highlight p:not(.eyebrow){font-size:.9rem;line-height:1.7;margin-top:7px}.voucher-highlight .text-link{display:inline-block;margin-top:7px;font-size:.875rem}
@media(max-width:700px){.voucher-highlight{grid-template-columns:1fr;gap:13px;width:calc(100% - 40px);padding:16px;margin-top:14px}.voucher-highlight>img{width:min(100%,260px)}.voucher-highlight h2{font-size:1.12rem}}
@media print{.header-insurance{display:none}}
