:root{--ink:#123e43;--cream:#f4f8f7;--orange:#e37750}body{background:#f4f8f7;color:#163b40}h1,h2,h3{letter-spacing:-.03em}h1{font-family:Georgia,serif}button,input,select,textarea{border-radius:10px}button{transition:background .18s,transform .18s}button:hover{transform:translateY(-1px)}input:focus,select:focus,textarea:focus{outline:3px solid #9dd5cc;outline-offset:2px}main{max-width:none}main#admin,main#crm,main#guest{max-width:1280px}.panel,.booking,.hours{border-radius:20px;box-shadow:0 8px 35px #174b4610;border-color:#dce8e4}.banner{background:#e4f1ed;border-bottom:1px solid #c6dfd6}.primary,.btn{border-radius:10px}.primary{background:#17655d;border-color:#17655d}.types{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.types button{padding:17px 10px;background:#f3f7f5;border-color:#dce7e1}.types button.active{background:#17655d;color:#fff;border-color:#17655d;box-shadow:0 4px 15px #17655d25}.staffbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 5%;background:#123e43;color:#fff;font:14px system-ui;position:sticky;top:0;z-index:20;box-shadow:0 3px 20px #123e4320}.staffbar nav{display:flex;align-items:center;gap:23px}.staffbar a{color:#e8f6ef;text-decoration:none}.staffbar button{color:white;border:1px solid #6e9994;background:none;padding:8px 15px;font:inherit}.floormap{border-radius:14px;border-color:#d4e5df}.status{border-radius:10px}.layout{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr)}.account-card{max-width:460px;background:white;border:1px solid #dce8e4;border-radius:24px;padding:36px;margin:6vh auto;box-shadow:0 15px 70px #174b4615}.account-card label{display:block;margin:20px 0 7px;font-size:13px}.account-card input{width:100%;padding:14px;border:1px solid #cbded6;font:inherit}.account-card h1{font:42px Georgia;margin:15px 0}.account-card p{font-size:14px;line-height:1.7;color:#617975}.account-card button{width:100%;margin-top:25px;padding:15px;color:#fff;border:0;background:#17655d;font:inherit}.auth-brand{font:31px Georgia;letter-spacing:4px;color:#123e43;text-decoration:none}.label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#47887c}.dashboard-actions{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.dashboard-actions a{background:#17655d;color:white;padding:12px 18px;border-radius:10px;text-decoration:none}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.team-grid .panel{padding:28px;background:white}.team-grid input,.team-grid select{width:100%;padding:13px;border:1px solid #cbded6;font:inherit}.team-grid label{display:block;margin:17px 0 7px;font-size:13px}.audit-item{font-size:12px;line-height:1.8;padding:12px;border-bottom:1px solid #e2eae7}.person{padding:18px 0;border-bottom:1px solid #e2eae7}.person strong{display:block}.pill{display:inline-block;border-radius:30px;background:#e3f2eb;padding:5px 10px;font-size:11px}.muted{color:#758b84;font-size:13px}.invite-link{overflow-wrap:anywhere;background:#eaf4ef;border-radius:10px;padding:16px;font-size:13px}.timeline{border-radius:10px}th{background:#edf5f0}.booking{padding:24px}a:focus-visible,button:focus-visible{outline:3px solid #e9a66e;outline-offset:4px}@media(max-width:760px){.staffbar{padding:15px;flex-wrap:wrap}.staffbar nav{gap:15px;flex-wrap:wrap}.layout,.team-grid{grid-template-columns:1fr}.account-card{margin:30px 15px;padding:27px}.types{grid-template-columns:repeat(2,1fr)}main#admin,main#crm,main#guest{padding:0 16px}}

/* Shared readable typography; print receipts keep their dedicated sizing. */
@media screen{
body{font-size:17px;line-height:1.6}
p,li,td,th{font-size:17px;line-height:1.6}
input,select,textarea,button,.btn,.primary,.types button{font-size:16px!important;line-height:1.45}
label,.team-grid label,.account-card label{font-size:15px!important;line-height:1.5}
small,.small,.muted,.help,.audit-item,.pill,.label,.eyebrow,.notice,.banner,.account-card p,.info-note,.maplegend,#mail,.staffbar{font-size:15px!important;line-height:1.6}
.muted,.help,.account-card p{color:#526963}
.links,.nav nav,header nav,footer{font-size:16px}
.logo small{font-size:11px!important;line-height:1.3}
.timeline td,.timeline th{font-size:15px;line-height:1.4}
.booking p,.info-block p,.experiences p,.intro p{font-size:17px!important;line-height:1.7}
input,select,textarea{min-height:46px}
button,.btn{min-height:44px}
@media(max-width:1100px){.nav{gap:16px}.nav .links{gap:16px;font-size:16px}.nav .btn{padding:13px 16px}}
@media(max-width:760px){.info-block table{font-size:16px!important}td,th{font-size:16px}.wrap{padding-left:22px;padding-right:22px}.notice{padding:12px 16px}}
}

@media screen{.hours p{font-size:17px!important;line-height:1.75!important;color:#405951!important}.hours .renovation-message{font-size:19px!important;color:#163b40!important;margin:20px 0 26px}.hours .renovation-message strong{font-weight:650}.hours>div{font-size:17px;gap:16px}.hours h3{line-height:1.25}}

/* Keep enlarged navigation readable before the mobile menu takes over. */
@media(min-width:761px) and (max-width:1200px){.nav{height:auto;min-height:96px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.nav #nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:20px}.nav>.btn{margin-left:auto}.navdrop>div{z-index:30}}
@media(max-width:760px){.nav .links{font-size:17px}.navdrop>div>a{white-space:normal}.contact-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(40px,10vw,59px)}.info-block{overflow-wrap:anywhere}.info-block table{display:block;overflow-x:auto}.footer-links a{padding:5px 0}.rule-list summary{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media screen{.hero p{font-size:17px!important;line-height:1.7}.footer-links{font-size:15px}.rule-list summary{font-size:16px}}
