:root{--navy:#193746;--ink:#243d48;--muted:#647279;--paper:#f6f4ef;--warm:#b69368;--line:#d9dfdc;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN','Meiryo',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.9;background:#fff;font-size:15px}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b57836;outline-offset:5px}img{max-width:100%;display:block;height:auto}figure,p,h1,h2,h3,h4{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:.09em}h2{font-size:clamp(29px,3vw,42px);line-height:1.65}h3{font-size:30px;line-height:1.7}p{letter-spacing:.025em}section[id]{scroll-margin-top:25px}.draft{height:28px;background:var(--navy);color:#e5e9e8;text-align:center;font-size:10px;letter-spacing:.12em;line-height:28px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8ece8}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand small{display:block;font-size:10px;letter-spacing:.1em;line-height:1.5}.brand strong{display:block;font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:.18em;line-height:1.55}nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600;letter-spacing:.04em}.nav-contact{background:var(--navy);color:#fff;padding:13px 21px;border-radius:3px}.nav-contact span{margin-left:18px}.menu-button{display:none}.hero{position:relative;max-width:1600px;margin:auto;padding:45px 5.5% 0;display:grid;grid-template-columns:43% 57%;background:linear-gradient(90deg,var(--paper) 0 72%,#fff 72%)}.hero-copy{padding:48px 10px 55px 0;position:relative;z-index:2}.eyebrow{font-family:Arial,sans-serif;letter-spacing:.22em;font-size:11px;color:var(--warm);font-weight:600;margin-bottom:20px}.hero h1{font-size:clamp(34px,3.65vw,55px);line-height:1.65;white-space:nowrap}.hero-lead{margin-top:24px;font-size:14px;line-height:2.2}.button{display:inline-flex;gap:36px;align-items:center;background:var(--navy);color:#fff;font-size:12px;letter-spacing:.06em;padding:16px 24px;margin-top:30px;border-radius:2px}.button:hover,.nav-contact:hover{background:#2c5262}.hero-location{display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:.15em;margin-top:38px}.small-line{width:35px;height:1px;background:var(--warm)}.hero-photo{position:relative;align-self:center;margin:0 -2% 0 0}.hero-photo img{width:100%;aspect-ratio:1.27;object-fit:cover;border-radius:140px 0 0 0}.hero-photo figcaption{position:absolute;bottom:17px;left:20px;color:#fff;font-size:10px;background:#173846b3;padding:3px 12px;letter-spacing:.12em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:23px 0 28px;font-size:10px;letter-spacing:.15em}.hero-bottom b{font-size:18px;margin-left:14px;font-weight:400}.section{max-width:1140px;margin:0 auto;padding-left:30px;padding-right:30px}.about{display:grid;grid-template-columns:43% 57%;padding-top:110px;padding-bottom:85px}.about-body{padding:6px 0 0 30px}.about-body p{font-size:14px;line-height:2.3;margin-bottom:20px}.building-art{width:360px;margin:0 0 0 auto;mix-blend-mode:multiply}.spaces{background:var(--paper);padding:75px 0 80px}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:35px}.section-intro>p{font-size:13px;line-height:2.1;color:var(--muted);padding-bottom:7px}.section-intro .eyebrow{margin-bottom:10px}.feature{display:grid;grid-template-columns:61% 39%;align-items:center;margin-top:55px}.image-button{display:block;position:relative;padding:0;border:0;background:transparent;text-align:left;overflow:hidden;width:100%}.image-button img{transition:transform .45s}.image-button:hover img{transform:scale(1.02)}.feature-image img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:4px}.feature-copy{padding:10px 0 10px 58px}.number{display:block;color:var(--warm);font-family:var(--serif);font-size:40px;line-height:1.4;letter-spacing:.04em;margin-bottom:14px}.feature-copy .eyebrow,.rooms-copy .eyebrow,.equipment-title .eyebrow{font-size:10px;margin-bottom:15px}.feature-copy p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:23px;line-height:2.15}.caption-rule{display:block;margin-top:28px;border-top:1px solid var(--line);padding-top:13px;font-size:11px;letter-spacing:.1em}.zoom{position:absolute;bottom:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#ffffffeb;font-size:21px;line-height:1;color:var(--navy)}.rooms{display:grid;grid-template-columns:34% 28% 38%;gap:0;align-items:center;margin-top:100px}.rooms-copy{padding-right:40px}.rooms-copy>p:not(.eyebrow){font-size:13px;line-height:2.1;color:var(--muted);margin-top:20px}.rooms-copy .note{font-size:11px!important}.room-warm{z-index:2}.room-warm img{width:100%;aspect-ratio:.78;object-fit:cover}.room-gray{margin-top:80px;padding-left:20px}.room-gray img{width:100%;aspect-ratio:.94;object-fit:cover}.equipment{display:grid;grid-template-columns:25% 1fr 1fr;gap:28px;margin-top:95px}.equipment-title{padding-top:10px}.equipment .image-button img{width:100%;aspect-ratio:1.45;object-fit:cover}.equipment h4{font-size:15px;font-weight:500;margin-top:17px}.equipment figcaption p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.9}.floorplan{padding-top:90px;padding-bottom:90px}.plan-image{background:#faf9f6;border:1px solid #e7e7df;padding:32px 25px 70px;margin-top:38px}.plan-image img{width:100%;mix-blend-mode:multiply}.plan-label{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;letter-spacing:.08em;border-bottom:1px solid var(--navy);padding-bottom:3px}.access-wrap{background:#edf1ef;padding:85px 0}.access{display:grid;grid-template-columns:40% 60%;gap:0;align-items:center}.access-copy{padding-right:35px}.access h2{font-size:34px}.access dl{font-size:12px;margin:25px 0}.access dl>div{display:grid;grid-template-columns:75px 1fr;gap:10px;border-bottom:1px solid #d4ddd7;padding:12px 0}.access dt{color:var(--muted)}.access dd{margin:0}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid var(--navy);font-size:12px;padding-bottom:5px}.map-image{border:9px solid #fff;border-radius:3px}.map-image img{width:100%}.contact{display:grid;grid-template-columns:45% 55%;padding-top:100px;padding-bottom:90px;align-items:center}.contact h2{font-size:42px}.contact>div>p:not(.eyebrow){font-size:13px;line-height:2.2;margin-top:22px}.contact-panel{padding:34px;background:var(--paper);text-align:center;border-top:3px solid var(--warm)}.contact-panel>span{font-size:12px;letter-spacing:.1em}.phone{display:block;font-family:Georgia,serif;font-size:37px;line-height:1.9;white-space:nowrap}.phone span{font-size:25px}.contact-panel>p{font-size:12px!important;margin-top:0!important}.contact-notes{margin-top:24px;padding-top:19px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.faq{max-width:860px;padding-bottom:100px}.faq h2{font-size:29px;margin-bottom:28px}.faq .eyebrow{margin-bottom:8px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:20px;color:var(--warm)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin:15px 30px 5px 0;font-size:13px;color:var(--muted);line-height:2}footer{background:var(--navy);color:#fff;padding:45px 6% 22px}.footer-inner{max-width:1080px;margin:auto;display:flex;align-items:center;gap:70px}.footer-inner p{font-size:11px;color:#c2ced1;line-height:2.2}.back-top{margin-left:auto;border:1px solid #81939b;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:23px}.footer-bottom{max-width:1080px;margin:35px auto 0;padding-top:18px;border-top:1px solid #435b66;display:flex;justify-content:space-between;gap:16px;color:#bdcbd0}.footer-bottom small{font-size:9px;letter-spacing:.05em}.mobile,.mobile-contact{display:none}.skip{position:fixed;top:-100px;left:20px;padding:10px 20px;z-index:200;background:#fff}.skip:focus{top:10px}dialog{border:0;border-radius:5px;width:min(1200px,95vw);max-height:94dvh;padding:0;color:var(--ink);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#12232bd9}.dialog-bar{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--line);background:#fff}.dialog-bar h2{font-family:var(--sans);font-size:14px;letter-spacing:.02em;flex:1}.dialog-close{border:0;background:var(--navy);color:#fff;font-size:26px;width:38px;height:38px;border-radius:50%;line-height:1}.dialog-zoom{padding:5px 12px;font-size:11px;border:1px solid var(--line);background:var(--paper);border-radius:3px}.dialog-image-wrap{overflow:auto;max-height:73dvh;padding:15px;background:var(--paper)}.dialog-image-wrap img{width:auto;max-width:100%;max-height:69dvh;object-fit:contain;margin:auto}.dialog-image-wrap.full img{max-width:none;max-height:none}.dialog-hint{font-size:10px;padding:10px 18px;color:var(--muted)}
@media(min-width:1450px){.hero-photo img{aspect-ratio:1.4}.hero-copy{padding-top:70px}}
@media(max-width:1050px){nav{gap:16px;font-size:11px}.header{padding:0 4%}.nav-contact{padding:12px}.hero h1{font-size:36px}.hero-copy{padding-top:25px}.hero-photo img{aspect-ratio:1.12}.feature-copy{padding-left:35px}.feature h3,.rooms h3{font-size:26px}.phone{font-size:30px}.contact-panel{padding:28px 18px}.rooms-copy{padding-right:25px}.section{padding-left:25px;padding-right:25px}}
@media(max-width:900px){html{scroll-padding-top:85px}.draft{height:25px;line-height:25px;font-size:9px}.header{height:78px;padding:0 22px}.brand{gap:11px}.brand strong{font-size:23px}.brand small{font-size:8px}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:7px;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:50%;padding:11px}.menu-button span{display:block;width:18px;height:1px;background:var(--navy)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:22px;box-shadow:0 12px 18px #1937460a}nav.open{display:flex;align-items:stretch;gap:0;flex-direction:column}nav a{padding:14px;font-size:13px}.nav-contact{margin-top:10px;text-align:center}.hero{display:flex;flex-direction:column;padding:0 22px;background:var(--paper)}.hero-copy{padding:35px 0 25px}.hero .eyebrow{margin-bottom:16px;font-size:10px}.hero h1{font-size:clamp(30px,7.6vw,43px);line-height:1.7;white-space:normal;letter-spacing:.06em}.hero-lead{font-size:12px;margin-top:17px;line-height:2}.button{margin-top:20px;padding:12px 19px;font-size:11px;gap:27px}.hero-location{display:none}.hero-photo{width:100%;margin:0}.hero-photo img{aspect-ratio:1.4;border-radius:75px 0 0 0}.hero-photo figcaption{bottom:12px;left:12px;font-size:8px}.hero-bottom{width:100%;padding:18px 0;font-size:8px}.hero-bottom b{font-size:16px}.section{padding-left:24px;padding-right:24px}.about{grid-template-columns:1fr;padding-top:65px;padding-bottom:45px}.about h2{font-size:30px}.eyebrow{font-size:10px;margin-bottom:14px}.about-body{padding:25px 0 0}.about-body p{font-size:13px;line-height:2.2}.building-art{width:280px;margin-top:5px}.spaces{padding:50px 0}.section-intro{display:block}.section-intro>p{margin-top:20px;font-size:12px}.section-intro h2{font-size:29px}.feature{display:flex;flex-direction:column;margin-top:32px;gap:25px}.feature-image img{aspect-ratio:1.4}.feature-copy{padding:0;width:100%;position:relative}.number{font-size:31px;margin-bottom:8px}.feature-copy h3 br{display:none}.feature-copy h3{font-size:25px}.feature-copy .eyebrow{margin-bottom:9px}.feature-copy>p:not(.eyebrow){margin-top:13px;font-size:12px}.caption-rule{display:none}.rooms{margin-top:55px;grid-template-columns:1fr 1fr;column-gap:12px}.rooms-copy{grid-column:1/-1;padding:0 0 25px}.rooms-copy h3{font-size:25px}.rooms-copy h3 br{display:none}.rooms-copy>p:not(.eyebrow){font-size:12px;margin-top:12px}.rooms-copy .note{margin-top:10px;font-size:10px!important}.room-warm img{aspect-ratio:.78}.room-gray{padding-left:0;margin-top:40px}.room-gray img{aspect-ratio:.78}.equipment{grid-template-columns:1fr 1fr;gap:20px 14px;margin-top:55px}.equipment-title{grid-column:1/-1;padding:0}.equipment-title h3{font-size:25px}.equipment .image-button img{aspect-ratio:1.05}.equipment figcaption h4{font-size:14px;margin-top:12px}.equipment figcaption p{font-size:11px}.floorplan{padding-top:55px;padding-bottom:55px}.plan-image{padding:20px 10px 55px;margin-top:23px}.plan-label{font-size:10px;bottom:15px}.access-wrap{padding:50px 0}.access{grid-template-columns:1fr}.access-copy{padding:0}.access h2{font-size:29px}.access h2 br{display:none}.access dl{margin:20px 0;font-size:12px}.map-image{margin-top:30px;border-width:5px}.contact{padding-top:55px;padding-bottom:50px;grid-template-columns:1fr;gap:28px}.contact h2{font-size:32px}.contact h2 br{display:none}.contact>div>p:not(.eyebrow){font-size:12px;margin-top:15px}.contact-panel{padding:26px 15px}.phone{font-size:32px}.contact-panel>span{font-size:11px}.contact-notes{font-size:10px}.faq{padding-bottom:60px}.faq h2{font-size:25px}.faq summary{font-size:12px;gap:12px}.faq details p{font-size:12px;margin-right:10px}.footer-inner{flex-wrap:wrap;gap:25px}.footer-inner p{flex-basis:70%;order:3}.back-top{order:2}.footer-bottom{flex-direction:column;gap:7px;margin-top:25px}footer{padding:35px 24px 90px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;height:58px;background:#fff;box-shadow:0 -3px 18px #19374615;z-index:19;padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:25px;font-size:12px;flex:1;border-top:1px solid var(--line)}.mobile-contact a:last-child{background:var(--navy);color:#fff;flex:0 0 32%}.desktop{display:none}.mobile{display:block}.dialog-bar{padding:10px;gap:7px}.dialog-bar h2{font-size:11px}.dialog-zoom{font-size:10px;padding:5px 8px}.dialog-close{width:32px;height:32px;flex-shrink:0}.dialog-image-wrap{padding:8px}.dialog-hint{font-size:9px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* User-confirmed values: visiting, broad medical care, and family outings. */
.hero h1{font-size:clamp(31px,3.25vw,48px)}
.hero-lead{max-width:31em}
.about .section-heading h2{font-size:clamp(28px,2.8vw,39px)}
.values{padding-top:0;padding-bottom:90px}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}
.value-card{border-top:2px solid var(--warm);padding:25px 23px 26px;background:var(--paper)}
.value-number{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.16em;color:#8a6d48;display:block;margin-bottom:18px}
.value-card h3{font-size:24px;line-height:1.65;letter-spacing:.05em;margin-bottom:20px}
.value-card p{font-size:13px;line-height:2;color:#435963;margin-top:15px}
.value-card .value-note{font-size:12px;line-height:1.95;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}
@media(max-width:1050px){.values-grid{gap:16px}.value-card{padding:22px 18px}.value-card h3{font-size:22px}.hero h1{font-size:clamp(28px,3.4vw,36px)}}
@media(max-width:900px){.hero h1{font-size:clamp(27px,7.2vw,40px);white-space:normal}.hero-lead{max-width:100%;padding-right:5px}.hero-lead br{display:none}.about .section-heading h2{font-size:29px}.values{padding-bottom:55px}.values-grid{grid-template-columns:1fr;gap:20px;margin-top:28px}.value-card{padding:24px}.value-card h3{font-size:24px}.value-card h3 br{display:none}.value-card p{font-size:13px}.values .section-intro h2{font-size:28px}}

/* User-confirmed fees: tax-inclusive prices, non-taxable residential rent. */
.fees{padding-top:0;padding-bottom:90px}.fees-draft{margin:30px 0 36px;border-left:4px solid var(--warm);padding:18px 22px;background:#faf3e8}.fees-draft strong{font-size:14px}.fees-draft p{font-size:12px;margin-top:5px;line-height:1.9}.fees-subtitle{font-size:23px;margin-bottom:20px}.fees-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fee-card{border:1px solid var(--line);padding:25px 23px;background:#fff;min-width:0}.fee-category{font-size:16px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.fee-category span,.extra-fee-list dd span{font-size:10px;font-weight:400;background:var(--paper);padding:2px 7px;white-space:nowrap}.fee-price,.rent-options dd{font-size:12px;line-height:1.7;white-space:nowrap}.fee-price{margin-top:26px}.fee-price strong,.rent-options dd strong{font-family:Georgia,serif;font-weight:400;font-size:34px;letter-spacing:.01em;margin-right:4px}.rent-options{margin:18px 0 0}.rent-options>div+div{margin-top:15px}.rent-options dt{font-size:12px;color:var(--muted)}.rent-options dd{margin:2px 0 0}.fee-note{font-size:11px;line-height:1.9;color:var(--muted);margin-top:21px}.fees-extras{display:grid;grid-template-columns:32% minmax(0,1fr);gap:35px;margin-top:45px;background:var(--paper);padding:30px}.fees-extras .eyebrow{font-size:10px;margin-bottom:10px}.fees-extras h3{font-size:23px}.fees-extras>div>p:not(.eyebrow){font-size:11px;line-height:2;margin-top:14px;color:var(--muted)}.extra-fee-list{margin:0;font-size:12px}.extra-fee-list>div{display:grid;grid-template-columns:42% minmax(0,1fr);gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.extra-fee-list>div:first-child{padding-top:0}.extra-fee-list>div:last-child{border-bottom:0;padding-bottom:0}.extra-fee-list dt small{display:block;color:var(--muted);font-size:10px}.extra-fee-list dd{margin:0}.extra-fee-list dd span{background:#fff;margin-left:3px}.fees-footnote{font-size:11px;line-height:2;color:var(--muted);margin:22px 0}.contact-fees-link{text-decoration:underline;text-underline-offset:3px}
@media(min-width:901px) and (max-width:1150px){nav{gap:14px}.nav-contact{padding:12px}.fee-card{padding:22px 18px}.fee-price strong,.rent-options dd strong{font-size:30px}}
@media(max-width:900px){.fees{padding-bottom:55px}.fees-draft{padding:16px;margin:25px 0 30px}.fees-draft strong{font-size:13px}.fees-draft p{font-size:11px}.fees-cards{grid-template-columns:1fr;gap:16px}.fee-card{padding:22px}.fee-price{margin-top:18px}.fee-note{margin-top:15px}.fees-extras{grid-template-columns:1fr;gap:25px;margin-top:30px;padding:23px 18px}.extra-fee-list>div{grid-template-columns:40% minmax(0,1fr);gap:12px;font-size:11px}.extra-fee-list dd span{display:inline-block}.fees-subtitle,.fees-extras h3{font-size:22px}}

.fees-tax-note{font-size:12px;color:var(--muted);margin:26px 0 30px;padding:14px 18px;background:var(--paper)}.fee-base{font-size:10px;line-height:1.9;color:var(--muted);margin-top:8px}.fees-subtotal{margin-top:24px;border-top:2px solid var(--warm);background:var(--paper);padding:25px 28px;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}.fees-subtotal>div>p{font-size:12px}.fees-subtotal strong{font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.8;display:block}.fees-subtotal strong span{font-family:var(--sans);font-size:12px;margin-left:6px}.fees-subtotal>p{font-size:11px;line-height:2;color:var(--muted)}.fees-subtotal b{font-weight:500;color:var(--ink)}.extra-fee-list dd small{display:block;font-size:10px;line-height:1.9;color:var(--muted);margin-top:4px}
@media(max-width:900px){.fees-subtotal{grid-template-columns:1fr;gap:12px;padding:20px}.fees-subtotal strong{font-size:29px}.fees-subtotal>div>p{font-size:11px}.fees-tax-note{font-size:11px;padding:13px 15px}.fees-subtotal strong span{font-size:11px}}

/* The supplied company logo is kept on its original white background. */
.operator-brand{display:flex;flex-direction:column;align-items:center;gap:14px;background:#fff;padding:32px 24px 42px;border-top:1px solid var(--line)}.operator-brand p{font-size:12px;color:var(--muted);letter-spacing:.08em}.operator-brand img{display:block;width:300px;max-width:100%;height:auto}@media(max-width:900px){.operator-brand{padding:28px 24px 34px}.operator-brand img{width:260px}}

/* Final readability and narrow-screen accessibility pass. */
body{font-size:16px}
.hero-copy,.about>*,.feature>*,.rooms>*,.equipment>*,.access>*,.contact>*,.fees-subtotal>*{min-width:0}
.hero h1{white-space:normal;overflow-wrap:normal;line-break:strict}
.hero-lead,.about-body p,.section-intro>p,.feature-copy p:not(.eyebrow),.rooms-copy>p:not(.eyebrow),.equipment figcaption p,.contact>div>p:not(.eyebrow),.value-card p,.faq details p{font-size:15px;line-height:2}
.value-card .value-note,.rooms-copy .note,.fee-note,.fees-footnote,.fees-extras>div>p:not(.eyebrow),.contact-notes{font-size:14px!important;line-height:1.95}
.access dl,.extra-fee-list,.fees-tax-note,.fees-subtotal>p,.fees-subtotal>div>p,.faq summary,.contact-panel>span{font-size:14px}
.fee-base,.extra-fee-list dd small,.extra-fee-list dt small,.rent-options dt{font-size:13px}
.contact-panel>p{font-size:14px!important}
nav{font-size:13px}
.text-link{font-size:14px;min-height:44px;padding-top:8px;padding-bottom:8px}
.back-top{flex-shrink:0}
.faq summary{min-height:44px;line-height:1.8}
.faq summary span{flex-shrink:0}
.dialog-bar h2{min-width:0;line-height:1.6;font-size:14px}
.dialog-close{width:44px;height:44px;flex-shrink:0}
.dialog-zoom{min-height:44px;font-size:12px;flex-shrink:0}
.dialog-hint{font-size:12px;line-height:1.7}
.dialog-image-wrap:focus-visible{outline:3px solid #b57836;outline-offset:-3px}
@media(min-width:901px) and (max-width:1100px){nav{gap:10px;font-size:12px}.nav-contact{padding:12px 10px}.nav-contact span{margin-left:8px}.brand strong{font-size:25px}}
@media(max-width:900px){
 .menu-button{width:44px;height:44px}
 nav{max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain}
 nav a{font-size:15px;min-height:48px}
 .hero h1{font-size:clamp(29px,6.8vw,40px);line-height:1.65}
 .hero-lead,.about-body p,.section-intro>p,.feature-copy p:not(.eyebrow),.rooms-copy>p:not(.eyebrow),.equipment figcaption p,.contact>div>p:not(.eyebrow),.value-card p,.faq details p{font-size:15px;line-height:2}
 .button{font-size:14px;min-height:48px}
 .brand small{font-size:10px}
 .equipment{grid-template-columns:1fr;gap:24px}
 .equipment .image-button img{aspect-ratio:1.45}
 .equipment figcaption h4{font-size:16px}
 .access dl,.extra-fee-list>div,.faq summary{font-size:14px}
 .extra-fee-list>div{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
 .fees-subtotal strong{font-size:clamp(22px,6vw,29px);line-height:1.65}
 .fees-subtotal strong span{font-size:13px}
 .fees-tax-note,.fees-subtotal>div>p{font-size:14px}
 .fee-category span,.extra-fee-list dd span{font-size:12px}
 .plan-label{font-size:13px}
 .mobile-contact a{font-size:14px;gap:12px}
 footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 .footer-inner p{font-size:13px}
 .footer-bottom small{font-size:11px}
 .dialog-bar{flex-wrap:wrap}
 .dialog-bar h2{flex-basis:calc(100% - 60px);order:0}
 .dialog-close{order:1}
 .dialog-zoom{order:2}
 .dialog-image-wrap{max-height:65dvh}
 .dialog-image-wrap img{max-height:61dvh}
 .dialog-hint{font-size:12px}
}
@media(max-width:420px){.fees-subtotal strong span{display:block;margin-left:0}.extra-fee-list>div{grid-template-columns:1fr;gap:5px}.fee-price strong,.rent-options dd strong{font-size:32px}}
/* Section labels retain the warm palette with readable text contrast. */
.eyebrow{color:#80623d}
@media(max-width:900px){.hero-photo figcaption{font-size:11px}.hero-bottom{font-size:10px}.operator-brand p{font-size:14px}}
/* Balance short Japanese headings to avoid stranded closing phrases. */
.value-card h3,.about .section-heading h2{text-wrap:balance}
.access h2{text-wrap:balance}
/* Preserve phrase boundaries rather than splitting Japanese verbs on phones. */
@media(max-width:900px){.value-card h3 br,.contact h2 br{display:block}.value-card h3{text-wrap:wrap}}
@media(max-width:900px){.access h2 br{display:block}.access h2{text-wrap:wrap}}

/* Minimal-data inquiry form: disabled until its verified endpoint is configured. */
.inquiry{padding-top:0;padding-bottom:90px;max-width:940px}.inquiry-heading h2{font-size:clamp(25px,3vw,36px);text-wrap:balance}.inquiry-heading>p:not(.eyebrow){font-size:15px;line-height:2;margin-top:20px}.inquiry-notice{background:var(--paper);border-left:3px solid var(--warm);padding:20px 24px;margin:28px 0}.inquiry-notice strong{font-size:16px}.inquiry-notice p{font-size:14px;line-height:1.95;margin-top:7px}.inquiry-notice a,.inquiry-data-note a{text-decoration:underline;text-underline-offset:3px}.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}.form-field{min-width:0}.form-field label{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:600;margin-bottom:9px}.form-field label span,.required-text{font-size:12px;font-weight:400;background:var(--navy);color:#fff;padding:1px 7px;border-radius:2px;white-space:nowrap}.form-field label .optional{background:var(--paper);color:var(--muted)}.form-field input,.form-field select{width:100%;min-height:50px;font:inherit;font-size:16px;line-height:1.5;padding:11px 13px;background:#fff;color:var(--ink);border:1px solid #879a9f;border-radius:3px}.form-field input:focus-visible,.form-field select:focus-visible,.inquiry-consent input:focus-visible{outline:3px solid #b57836;outline-offset:3px}.field-note{font-size:13px;line-height:1.8;color:var(--muted);margin-top:8px}.inquiry-data-note{margin-top:30px;border-top:1px solid var(--line);padding-top:24px;font-size:14px;line-height:1.95}.inquiry-data-note a{display:inline-block;margin-top:10px;overflow-wrap:anywhere}.inquiry-consent{display:flex;align-items:flex-start;gap:12px;cursor:pointer;min-height:44px;margin-top:22px;padding:8px 0;font-size:15px;line-height:1.9}.inquiry-consent input{width:22px;height:22px;flex:0 0 22px;margin:3px 0;accent-color:var(--navy)}.required-text{display:inline-block;margin-left:9px}.inquiry-status{font-size:14px;line-height:1.95;margin:22px 0;padding:17px 20px;background:var(--paper);border-radius:3px}.inquiry-status:focus{outline:2px solid var(--warm);outline-offset:3px}.inquiry-status.is-error{border-left:3px solid #9a3434;color:#7c2626;background:#fff4f1}.inquiry-submit{display:block;min-height:50px;padding:13px 34px;border:0;border-radius:3px;background:var(--navy);color:#fff;font-size:16px;margin:0 auto;max-width:100%}.inquiry-submit:disabled{background:#e1e6e4;color:#526366;cursor:not-allowed}.inquiry-noscript{font-size:14px;margin-top:18px}@media(max-width:900px){.inquiry{padding-bottom:55px}.inquiry-grid{grid-template-columns:1fr;gap:23px}.inquiry-notice{padding:18px}.inquiry-status{padding:16px}.inquiry-submit{width:100%}}
/* Access: clear, accessible Google Maps action. */
.map-link-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--navy);border-radius:5px;background:var(--navy);color:#fff;font-size:16px;font-weight:600;line-height:1.6;text-decoration:none}.map-link-button:hover{background:#2c5262;border-color:#2c5262}.map-link-pin{width:22px;height:22px;flex:0 0 22px}.map-link-button>span:not(.map-link-arrow){min-width:0}.map-link-arrow{flex:0 0 auto;font-size:21px;line-height:1}.map-link-note{margin:8px 0 0;font-size:13px;line-height:1.7;color:var(--muted)}@media(max-width:900px){.map-link-button{width:100%}}
