/* CHARME 11 — high legibility, modern mobile-native touch interactions */
:root {--v11-green:#163d34;--v11-gold:#a67b42;--v11-line:#dedfd7;--v11-tint:#f8faf6;}
html {scroll-padding-top:90px} body{ -webkit-text-size-adjust:100%; } :focus-visible{outline:3px solid #b98848;outline-offset:3px}
.form input:not([type=checkbox]):not([type=radio]):not([type=file]),.form select,.form textarea{min-height:50px;font-size:16px;line-height:1.5;border-radius:11px}
.form textarea {min-height:132px;resize:vertical}
.form label {line-height:1.65;}
.form .btn{min-height:52px}
.schedule-group{padding:20px 20px 15px;border:1px solid #d9dfd6;background:#f7faf7;border-radius:17px;margin:20px 0}
.schedule-group-heading{display:flex;gap:8px 12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}
.schedule-group-heading strong{font-size:17px;color:var(--v11-green)}.schedule-group-heading small{font-size:12px;color:#8d7149;font-weight:500}.schedule-group-heading span{font-size:13px;color:#50665d;line-height:1.6}
.schedule-group .pair{margin:0!important}.schedule-group input,.schedule-group select {background:#fff!important}
.calendar-trigger{min-height:50px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #cbd8ce;border-radius:11px;background:#fff;color:#163b32;font:inherit;font-size:16px;text-align:left;cursor:pointer}
.calendar-trigger:after{content:'▦';font-size:22px;color:#9a7645}.calendar-trigger[data-empty="true"]{color:#657a6f}
.calendar-enhanced{display:none!important}
.calendar-backdrop{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(11,29,25,.64);backdrop-filter:blur(5px)}
.calendar-panel{width:min(100%,420px);max-height:min(750px,92dvh);overflow-y:auto;border-radius:24px;padding:24px;background:#fff;box-shadow:0 25px 90px #0004;color:#1b322b}
.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-eyebrow{font-size:11px;letter-spacing:.14em;color:#91764f;font-weight:700}
.calendar-top h2{font-size:24px;margin:3px 0 14px;color:#143b30;line-height:1.4}
.calendar-nav{display:flex;align-items:center;gap:7px;justify-content:space-between;background:#f2f5f0;padding:9px;border-radius:13px;margin-bottom:16px}
.calendar-nav button{border:0;background:#fff;border-radius:10px;width:44px;height:44px;color:#18392f;font-size:22px;cursor:pointer}.calendar-nav button:disabled{opacity:.25;cursor:not-allowed}
.calendar-nav strong{font-size:18px;font-weight:750;letter-spacing:-.03em}
.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week{margin:0 0 8px}
.calendar-week span{text-align:center;font-size:12px;color:#62766c;font-weight:700}.calendar-week span:first-child{color:#b04d48}.calendar-week span:last-child{color:#4275aa}
.calendar-days button{aspect-ratio:1;border:1px solid transparent;border-radius:12px;background:#fff;color:#23382f;font:inherit;font-size:15px;cursor:pointer}
.calendar-days button:not(:disabled):hover{background:#edf2ec;border-color:#dbe5d8}.calendar-days button:disabled{color:#b5c0b7;cursor:default}.calendar-days button[data-today="true"]{border-color:#b19a72}
.calendar-days button[aria-pressed="true"]{background:#174a3c;color:white;font-weight:800;box-shadow:0 4px 10px #174a3c36}
.calendar-days button[data-weekend="sun"]:not([aria-pressed=true]):not(:disabled){color:#bc5047}
.calendar-days button[data-weekend="sat"]:not([aria-pressed=true]):not(:disabled){color:#3777a9}
.calendar-note{font-size:13px;line-height:1.6;color:#57675e;margin:15px 0 16px}
.calendar-actions{display:flex;gap:9px}.calendar-actions button{flex:1;min-height:47px;border-radius:11px;border:1px solid #c8d8cc;background:white;font-size:14px;font-weight:650;color:#254136;cursor:pointer}.calendar-actions button:last-child{background:#18483b;color:white;border-color:#18483b}
.app-install-bar{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:8000;background:#143d32;color:#fff;padding:14px 16px;border:1px solid #54735f;box-shadow:0 14px 40px #10281b57;border-radius:18px;width:min(95%,580px);display:flex;align-items:center;gap:12px}
.app-install-bar[hidden]{display:none!important}.app-install-bar>div{min-width:0;flex:1}.app-install-bar strong{display:block;font-size:14px;line-height:1.5}.app-install-bar span{display:block;font-size:12px;opacity:.82;line-height:1.5}.app-install-bar button{font-weight:700;border:0;border-radius:9px;background:#eed4a4;padding:10px 12px;white-space:nowrap;color:#183728;font-size:12px;cursor:pointer}.app-install-bar button.app-install-dismiss{font-size:20px;color:white;background:transparent;padding:0 4px}
@media(max-width:600px){.schedule-group{padding:15px 13px}.calendar-backdrop{align-items:flex-end;padding:0}.calendar-panel{width:100%;max-width:none;border-radius:23px 23px 0 0;padding:23px 19px calc(18px + env(safe-area-inset-bottom));max-height:92dvh}.calendar-days button{min-height:40px}.app-install-bar{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 22px)}}
@media(prefers-reduced-motion:reduce){.calendar-panel,.calendar-backdrop{animation:none!important}}

/* Shared readability and mobile polish throughout every public page */
main p, main li {overflow-wrap:break-word}
.section-heading>div>h2,.application-copy h1,.request-copy h2 {text-wrap:balance;letter-spacing:-.045em;line-height:1.34}
.section-heading>p,.about-copy>p,.application-copy>p,.request-copy>p {line-height:1.87}
.site-footer a:focus-visible,.nav a:focus-visible,.btn:focus-visible {outline:3px solid #c49c61;outline-offset:3px}
.form input::placeholder,.form textarea::placeholder{color:#738078;opacity:1}
.form input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.form select:focus,.form textarea:focus{border-color:#53866e;box-shadow:0 0 0 3px #53866e22;outline:0}
button,a,input,select {touch-action:manipulation}
@media(max-width:640px){main{overflow-x:clip}.form{max-width:100%}.form label{font-size:14px}.form input,.form select,.form textarea{font-size:16px}.form .btn,.form button[type=submit]{width:100%;min-height:53px}.site-footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}}
