:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#233c33;background:#f6f8f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}[hidden]{display:none!important}a:focus-visible{outline:3px solid #8fb29b;outline-offset:4px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#fff;border-right:1px solid #e2e9e3;display:flex;flex-direction:column;padding:32px 23px;z-index:2}.brand{font-size:30px;font-weight:850;letter-spacing:-2px;display:flex;align-items:center;gap:10px}.brand>span{width:35px;height:35px;display:grid;place-items:center;background:#214d3d;color:#dbeda8;border-radius:10px;letter-spacing:0}.brand i{width:6px;height:6px;background:#9fb680;border-radius:50%;margin:17px 0 0 -6px}.tagline{font-size:11px;color:#8c9a90;margin:15px 0 48px}.nav-caption{font-size:9px;letter-spacing:2px;color:#98a49b;margin:0 12px 15px}nav{display:grid;gap:7px}nav a{display:flex;gap:11px;align-items:center;font-size:12px;padding:15px 12px;border-radius:8px;color:#7b8c81}nav a>span{width:19px;font-size:20px}nav a.active{background:#edf4ed;color:#265b41;font-weight:700}nav a:hover{background:#f1f5ef}nav small{margin-left:auto;font-size:8px;font-weight:500;color:#779469}.sidebar-foot{margin-top:auto;border-top:1px solid #e7ece6;padding-top:22px}.sidebar-foot b{font-size:12px}.sidebar-foot small{display:block;font-size:10px;color:#98a597;margin-top:8px}.workspace{margin-left:230px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fff;border-bottom:1px solid #e4eae4}.breadcrumbs{display:flex;align-items:center;gap:16px;font-size:12px;color:#8b9b8f}.breadcrumbs a{color:#536e5d}.breadcrumbs strong{font-size:12px;font-weight:500}.test-badge{font-size:10px;border:1px solid #d9e3d6;padding:7px 11px;border-radius:20px;color:#7d9674}#homeView{max-width:1220px;padding:38px 36px;margin:auto}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#8ca080}h1{font-size:40px;letter-spacing:-2px;margin:10px 0 0}.intro{font-size:13px;color:#8a9a8e;margin:13px 0 28px}.hero{position:relative;overflow:hidden;background:#1c4637;border-radius:15px;padding:32px 35px;color:#fff}.hero>p:first-child{font-size:10px;color:#bfd0a9;letter-spacing:1px}.hero h2{font-size:29px;line-height:1.5;letter-spacing:-1px;margin:16px 0;font-weight:650}.hero-description{font-size:12px;line-height:1.9;color:#b6cbb9;margin-bottom:25px}.primary{display:inline-flex;align-items:center;gap:25px;background:#d9ebaa;color:#35513b;font-size:12px;padding:13px 19px;border-radius:7px;font-weight:650}.hero-symbol{position:absolute;right:9%;top:24px;font-size:230px;color:#81a76d24;line-height:1;pointer-events:none}.services{margin-top:32px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-size:18px}.section-heading>span{font-size:10px;color:#91a08f}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{padding:23px 22px 0;border:1px solid #e2e9df;border-radius:12px;background:#fff}.card .icon{display:inline-grid;place-items:center;width:42px;height:42px;background:#f0f3ee;color:#8a9a83;border-radius:12px;font-size:24px}.card.available .icon{background:#e9f1e2;color:#678855}.card small{float:right;font-size:10px;color:#99a58f;padding-top:17px}.card h3{font-size:20px;letter-spacing:-.5px;margin:18px 0 12px}.card p{font-size:11px;color:#98a08e;line-height:1.9;margin-bottom:24px}.card>a{display:flex;justify-content:space-between;border-top:1px solid #eaf0e6;padding:19px 0;font-size:11px;color:#66815b;font-weight:600}.notice{margin-top:25px;padding:19px 22px;border:1px solid #e3e9df;border-radius:10px;background:#f0f4eb}.notice b{font-size:12px}.notice p{font-size:11px;line-height:1.8;color:#87977f;margin:8px 0 0}footer{font-size:10px;color:#9ea997;margin-top:30px}.service-toolbar{height:64px;background:#fff;border-bottom:1px solid #dfe7df;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.service-toolbar>div{display:flex;align-items:center;gap:15px}.service-toolbar b{font-size:14px}.service-toolbar span{font-size:10px;color:#84977b}.service-toolbar a{font-size:11px;color:#617d56;border:1px solid #dce5d7;padding:9px 12px;border-radius:6px}#frameHost{height:calc(100dvh - 136px)}#bookingFrame{display:block;border:0;width:100%;height:100%;background:#f5f7f6}.loading{position:absolute;padding:15px 25px;font-size:13px;color:#8a9981}.upcoming{padding:90px 35px;max-width:800px;margin:auto}.upcoming-icon{font-size:55px;color:#90a47b}.upcoming p:not(.eyebrow){font-size:14px;line-height:1.9;color:#8b9d7d;margin:25px 0}.back-home{display:block;font-size:12px;color:#849c73;margin-top:25px}@media(max-width:900px){.sidebar{width:195px;padding:27px 17px}.workspace{margin-left:195px}#homeView{padding:28px 24px}.card{padding:20px 16px 0}.card p br{display:none}.cards{gap:11px}.topbar{padding:0 25px}.hero-symbol{right:3%;opacity:.6}.service-toolbar{padding:0 20px}}@media(max-width:680px){.sidebar{position:sticky;top:0;width:100%;height:auto;padding:14px 18px 10px;border-right:0;border-bottom:1px solid #e2e8dc}.brand{font-size:24px}.brand>span{height:29px;width:29px;font-size:26px}.tagline,.nav-caption,.sidebar-foot{display:none}nav{display:flex;gap:5px;margin-top:14px;overflow-x:auto}nav a{padding:9px 10px;font-size:10px;white-space:nowrap;gap:6px;flex-shrink:0}nav a>span{width:auto;font-size:14px}nav small{display:none}.workspace{margin-left:0}.topbar{height:49px;padding:0 18px}.breadcrumbs{font-size:10px;gap:9px}.breadcrumbs strong{font-size:10px}.test-badge{font-size:8px;padding:6px 9px}#homeView{padding:26px 18px}.intro{font-size:11px;line-height:1.7}h1{font-size:34px}.hero{padding:25px 22px}.hero h2{font-size:25px}.hero-symbol{font-size:180px;top:56px;right:-9px}.hero-description{font-size:11px}.cards{grid-template-columns:1fr;gap:14px}.card{padding:22px 23px 0}.card p{font-size:12px}.card>a{font-size:12px}.service-toolbar{height:59px;padding:0 16px}.service-toolbar>div{display:grid;gap:5px}.service-toolbar b{font-size:12px}.service-toolbar span{font-size:9px}.service-toolbar a{font-size:10px;padding:8px}#frameHost{height:calc(100dvh - 217px)}.section-heading>span{font-size:8px}.upcoming{padding:45px 23px}.upcoming p:not(.eyebrow){font-size:12px}}
:root{--shell-ready:1}body{height:100dvh;overflow:hidden}.workspace{height:100dvh;display:flex;flex-direction:column;min-height:0}.topbar,.service-toolbar{flex-shrink:0}#homeView{flex:1;overflow:auto;width:100%}.service-view{flex:1;display:flex;flex-direction:column;min-height:0}#frameHost{height:auto;flex:1;min-height:0}.upcoming{overflow:auto;flex:1;width:100%}@media(max-width:680px){body{display:flex;flex-direction:column}.sidebar{position:relative;flex-shrink:0}nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:4px}nav a{display:block;text-align:center;font-size:10px;padding:10px 4px}nav a>span{display:none}.workspace{height:auto;flex:1;min-height:0;width:100%}#frameHost{height:auto}}

#stayFrameHost{flex:1;min-height:0}#stayFrame{border:0;display:block;width:100%;height:100%;background:#f4f7f4}
/* The service menu already provides Home and the current service name. */
body[data-route=stay] .topbar{display:none}
body[data-route=stay] #stayView>.service-toolbar{height:46px}
@media(max-width:680px){body[data-route=stay] #stayView>.service-toolbar{display:none}body[data-route=stay] nav a{font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 2px}body[data-route=stay] .sidebar{padding:10px 12px 6px}body[data-route=stay] nav{margin-top:8px}}
/* Brand promise: readable emphasis without enlarging the service screens. */
.tagline{font-size:14px;font-weight:650;line-height:1.6;color:#3c6351;letter-spacing:-.4px;margin-bottom:36px}
#homeView .intro{font-size:22px;line-height:1.5;font-weight:650;letter-spacing:-.5px;color:#315747;margin:12px 0 26px}
#homeView .intro strong{font-weight:850;color:#176653}
#homeView .hero h2{font-size:32px;line-height:1.5;word-break:keep-all;position:relative;z-index:1}
#homeView .hero-description{font-size:14px;line-height:1.8;color:#d1dfd3;position:relative;z-index:1}
@media(max-width:680px){#homeView .intro{font-size:18px;margin:10px 0 22px}#homeView .hero h2{font-size:clamp(22px,6.2vw,26px);letter-spacing:-.7px}#homeView .hero-description{font-size:14px}}
.brand-name{display:inline-flex;align-items:baseline;gap:7px;font-size:inherit;font-weight:inherit;white-space:nowrap}
.brand-name small{font-size:11px;letter-spacing:1.3px;color:#587b68;font-weight:750}
#homeView .brand-latin{font-size:19px;letter-spacing:2px;color:#527561;font-weight:750;vertical-align:baseline;margin-left:4px}
@media(max-width:680px){.brand-name small{font-size:10px;letter-spacing:1px}#homeView .brand-latin{font-size:16px;letter-spacing:1.5px}}
#homeView .hero-compact{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px}
#homeView .hero-compact .hero-description{font-size:16px;font-weight:600;line-height:1.6;letter-spacing:0;color:#edf5ee;margin:0}
#homeView .hero-compact .primary{position:relative;z-index:1;min-height:44px;flex-shrink:0}
#homeView .hero-compact .hero-symbol{font-size:100px;top:-9px;right:28%;opacity:.5}
@media(max-width:680px){#homeView .hero-compact{flex-direction:column;align-items:flex-start;padding:18px 20px;gap:14px}#homeView .hero-compact .hero-description{font-size:15px}#homeView .hero-compact .hero-symbol{right:18px;top:0}}
#homeView .services{margin-top:20px}
#homeView .brand-story{margin:24px 0 0;padding:18px 0 0;border-top:1px solid #dce5df}
#homeView .brand-story p{margin:0;text-align:center;color:#526f60;font-size:14px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
#mainNav a{min-height:48px;font-size:14px;font-weight:650;border-radius:9px}
#mainNav a.home-link{display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:0;flex-shrink:0}
#mainNav a.home-link svg{display:block;width:24px;height:24px}
@media(max-width:680px){#mainNav{grid-template-columns:48px repeat(3,minmax(0,1fr));align-items:stretch}#mainNav a:not(.home-link){display:flex;align-items:center;justify-content:center;min-width:0;padding:10px 4px;font-size:14px}}
#homeView .card{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;align-content:start}
#homeView .card>.icon{grid-column:1;grid-row:1}
#homeView .card>small{grid-column:2;grid-row:1;align-self:center;justify-self:end;float:none;padding:0;font-size:12px;color:#526f60}
#homeView .card>h3,#homeView .card>p,#homeView .card>a{grid-column:1/-1}
#homeView .card>p{font-size:14px;line-height:1.75;color:#52665b;margin:0 0 20px;word-break:keep-all;overflow-wrap:anywhere}
#homeView .card>p strong{font-weight:700;color:#315747}
#homeView .card>.coming-soon{background:#f4edda;color:#725b27;border-radius:20px;padding:5px 10px;font-weight:650}
body[data-route=booking] .topbar{display:none}
body[data-route=booking] #bookingView>.service-toolbar{height:46px}
@media(max-width:680px){body[data-route=booking] #bookingView>.service-toolbar{display:none}}

#cmsFrameHost{flex:1;min-height:0}#cmsFrame{border:0;display:block;width:100%;height:100%;background:#f4f7f4}body[data-route=cms] .topbar{display:none}body[data-route=cms] #cmsView>.service-toolbar{height:46px}@media(max-width:680px){body[data-route=cms] #cmsView>.service-toolbar{display:none}body[data-route=cms] .sidebar{padding:10px 12px 6px}body[data-route=cms] nav{margin-top:8px}}

:root{--hachi-auth-ready:1}body:not([data-authenticated=true])>.sidebar,body:not([data-authenticated=true])>.workspace{display:none!important}
.hachi-account-picker{display:grid;gap:6px;width:100%;font-size:11px;color:#61776a}.hachi-account-picker select{width:100%;min-width:0;min-height:44px;padding:9px 26px 9px 10px;border:1px solid #91b49f;border-radius:8px;background:#edf5ef;color:#24563d;font:inherit;font-size:14px;font-weight:650;text-overflow:ellipsis}.hachi-account-picker select:disabled{opacity:.8}.hachi-account-tools .hachi-switch-state{font-size:11px;line-height:1.5;color:#35674d}.hachi-switch-state:empty{display:none}.sidebar .tagline{margin-bottom:20px}
@media(max-width:680px){.sidebar .hachi-account-tools{position:static;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin:10px 0 0}.hachi-account-tools #hachiAccountName{display:none}.hachi-account-picker{font-size:10px;gap:3px}.hachi-account-picker select{font-size:13px;min-height:40px;max-width:100%}.hachi-account-tools>a,.hachi-account-tools>button{align-self:end;min-height:40px}.hachi-account-tools .hachi-switch-state{grid-column:1/-1;text-align:left}}
.hachi-login{width:100%;height:100dvh;display:grid;place-items:center;overflow:auto;padding:24px;background:#f4f7f4}.hachi-login-card{width:min(420px,100%);border:1px solid #dce5dc;border-radius:20px;background:#fff;padding:32px;box-shadow:0 10px 40px #163b2810}.hachi-mark{font-size:25px;font-weight:800;color:#245940;margin:0 0 24px}.hachi-mark span{font-size:13px;letter-spacing:2px;margin-left:8px}.hachi-login h1{font-size:27px;line-height:1.4;letter-spacing:-.8px;margin:0}.hachi-login-card>p{line-height:1.7;color:#60766a;font-size:14px}.hachi-login form{display:flex;flex-direction:column;margin-top:24px}.hachi-login label{font-size:14px;margin:12px 0 7px;font-weight:650}.hachi-login input:not([type=checkbox]){width:100%;height:48px;border:1px solid #cad9ce;border-radius:8px;padding:10px 12px;font:inherit;font-size:16px}.hachi-login .hachi-remember{display:flex;align-items:center;gap:8px;font-weight:400;margin-top:18px}.hachi-remember input{width:18px;height:18px;accent-color:#27664e}.hachi-login small{font-size:12px;color:#7a8a80}.hachi-login button[type=submit]{height:48px;background:#24664c;border:0;color:white;border-radius:8px;margin-top:22px;font-size:16px;font-weight:700}.hachi-login button:disabled{opacity:.6}.hachi-text-button{border:0;background:none;color:#466d59;padding:10px 0;font-size:13px}.hachi-login-note{border-top:1px solid #e2e9e3;padding-top:18px;font-size:12px!important;margin-bottom:0}#hachiLoginError{font-size:13px;color:#a44e36;min-height:18px;margin:10px 0 0}
.hachi-account-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0}.hachi-account-tools span{width:100%;font-size:13px;overflow-wrap:anywhere;color:#42624e}.hachi-account-tools a,.hachi-account-tools button{font:inherit;font-size:12px;border:1px solid #d5e1d7;background:#fff;border-radius:6px;padding:9px;color:#365f49;cursor:pointer}.hachi-connections{overflow:auto;flex:1;padding:32px;min-height:0}.hachi-connections h1{font-size:27px;letter-spacing:-1px}.hachi-connections>p{font-size:14px;line-height:1.8;color:#526a5c}.hachi-secure-note{font-size:12px!important;color:#76877a!important}.hachi-connections>button{background:#27674d;color:#fff;border:0;border-radius:8px;font:inherit;font-size:14px;min-height:44px;padding:10px 18px}.hachi-connection-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.hachi-connection-card{background:white;border:1px solid #dae5db;border-radius:12px;padding:22px;min-width:0}.hachi-connection-card h2{font-size:20px;margin:0 0 10px}.hachi-connection-card p{font-size:13px;color:#5f7567;line-height:1.7;overflow-wrap:anywhere}.hachi-connection-card strong{display:block;font-size:14px;color:#816a38}.hachi-connection-card strong[data-state=connected]{color:#27664a}.hachi-connection-card a{display:inline-block;color:#27664a;margin-top:15px;font-size:14px;font-weight:650}.hachi-connection-detail{margin:8px 0}.hachi-connection-card .hachi-connection-detail{font-size:12px}
@media(max-width:680px){.hachi-login{padding:20px 16px}.hachi-login-card{padding:26px 22px}.hachi-login h1{font-size:25px}.hachi-account-tools{position:absolute;right:12px;top:4px;margin:0;gap:5px;max-width:180px;justify-content:flex-end}.hachi-account-tools span{font-size:11px;text-align:right}.hachi-account-tools a,.hachi-account-tools button{font-size:11px;padding:6px;min-height:32px}.hachi-connections{padding:22px 18px}.hachi-connections h1{font-size:25px}.hachi-connection-cards{grid-template-columns:1fr;gap:12px}.hachi-connection-card{padding:18px}.hachi-connection-card h2{font-size:18px}.hachi-connection-card a{min-height:36px}.hachi-mark{margin-bottom:22px}}
/* Account controls stay outside every scrolling service frame. */
.workspace>.hachi-account-tools{position:relative;inset:auto;z-index:5;flex-shrink:0;display:grid;grid-template-columns:minmax(100px,1fr) minmax(180px,300px) auto auto;align-items:center;gap:10px;max-width:none;margin:0;padding:12px 28px;background:#fff;border-bottom:1px solid #dce7df;box-shadow:0 2px 8px #214d3d08}
.workspace>.hachi-account-tools #hachiAccountName{width:auto;font-size:13px;min-width:0}
.workspace>.hachi-account-tools .hachi-account-picker{display:flex;align-items:center;gap:8px;white-space:nowrap;width:100%;font-size:12px}
.workspace>.hachi-account-tools select{flex:1;min-width:0;font-size:14px;min-height:44px}
.workspace>.hachi-account-tools>a,.workspace>.hachi-account-tools>button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;font-size:13px;white-space:nowrap;border-radius:8px}
.workspace>.hachi-account-tools #hachiLogout{border-color:#88a394;background:#f0f5f1;color:#254b38;font-weight:750;cursor:pointer}
.workspace>.hachi-account-tools #hachiLogout:hover{background:#e2eee5}
.workspace>.hachi-account-tools #hachiLogout:disabled{opacity:.65;cursor:wait}
.workspace>.hachi-account-tools .hachi-switch-state{grid-column:1/-1;width:auto;text-align:right;font-size:12px}
@media(max-width:680px){.workspace>.hachi-account-tools{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:9px 12px}.workspace>.hachi-account-tools #hachiAccountName{display:none}.workspace>.hachi-account-tools .hachi-account-picker{display:grid;gap:3px;font-size:10px}.workspace>.hachi-account-tools select{width:100%;font-size:14px;min-height:44px}.workspace>.hachi-account-tools>a,.workspace>.hachi-account-tools>button{align-self:end;font-size:12px;padding:9px 10px;min-height:44px}.workspace>.hachi-account-tools .hachi-switch-state{text-align:left;font-size:11px}}

.brand>.hachi-brand-icon{width:46px;height:46px;flex:0 0 46px;overflow:hidden;background:#fffaf0;border-radius:12px}.hachi-brand-icon img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.22)}.hachi-mark{display:flex;align-items:center;gap:9px}.hachi-mark>img{width:46px;height:46px;object-fit:cover;border-radius:12px}.hachi-mark span{margin-left:0}@media(max-width:680px){.brand>.hachi-brand-icon{width:42px;height:42px;flex-basis:42px}}
