:root{--green:#101d18;--green-soft:#1c2c22;--cream:#f2f0e5;--lime:#c4dd73;--muted:#b2bdac;--ink:#202e25;--line:#d6d8cb;--error:#943f2f;font-family:Arial,Helvetica,sans-serif;color:var(--cream);background:var(--green);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit}
button,input,textarea{font:inherit}
button,a,input,textarea{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
input,textarea{width:100%;border:1px solid #bdc5b6;background:#fffef8;color:var(--ink);border-radius:7px;padding:13px 12px;min-height:47px;font-size:14px}
textarea{resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:#7c8478}
label{display:block;font-size:12px;font-weight:700;line-height:1.5}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0;font-size:10px;font-weight:700;letter-spacing:1.7px;width:100%;margin-bottom:16px}
h1,h2,p,figure{margin:0}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}
em{font-family:Georgia,'Times New Roman',serif;font-weight:400}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #758c32;outline-offset:4px}
button{border:0}
.site-header{max-width:1440px;margin:auto;padding:28px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #354035}
.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:27px;letter-spacing:-1px}
.brand-dot{color:var(--lime);font-size:32px}
.header-note{font-size:9px;letter-spacing:2.3px;color:var(--muted)}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.07fr);max-width:1440px;margin:0 auto;padding:54px 6% 64px;gap:7%}
.eyebrow{display:block;font-size:9px;font-weight:700;letter-spacing:1.7px;line-height:1.6}
.story-panel>.eyebrow{color:var(--muted);display:flex;align-items:center;gap:10px}
.little-star{font-size:22px;color:var(--lime)}
h1{font-size:clamp(42px,4.4vw,66px);line-height:1.02;letter-spacing:-2.8px}
.story-panel h1{margin-top:20px}
.story-panel h1 em{color:var(--lime)}
.hero-intro{max-width:390px;font-size:13px;line-height:1.8;color:var(--muted);margin-top:22px}
.poster{margin-top:30px;max-width:480px}
.poster img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid #3d4934}
.poster figcaption{font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-top:12px}
.therapy-note{display:flex;gap:15px;background:#1e2e22;border:1px solid #3a4932;padding:19px;border-radius:8px;max-width:480px;margin-top:26px}
.therapy-note>span{color:var(--lime);font-size:28px}
.therapy-note strong{display:block;font-size:12px;margin-bottom:7px}
.therapy-note p{font-size:12px;line-height:1.7;color:#c1cbb8}
.request-panel{background:var(--cream);color:var(--ink);border-radius:16px;padding:30px;align-self:start;color-scheme:light}
.panel-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}
.panel-topline .eyebrow{font-size:8px;letter-spacing:1px}
.availability-pill{white-space:nowrap;background:#dde6c7;color:#40522c;padding:7px 9px;border-radius:30px;font-size:8px;font-weight:700;letter-spacing:1px}
.request-panel h2{font-size:44px;line-height:1.1;letter-spacing:-1.5px;margin:22px 0 10px}
.panel-intro{font-size:12px;line-height:1.7;color:#697262;margin-bottom:27px}
.step-number{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bdc5b0;border-radius:50%;width:23px;height:23px;letter-spacing:0;margin-right:9px;color:#5b6c49;font-size:9px}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.package-card{position:relative;border:1px solid #c7cdba;border-radius:9px;padding:14px 11px 11px;min-height:165px;cursor:pointer;display:flex;flex-direction:column;font-weight:400;transition:background .15s,border-color .15s}
.package-card input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;top:15px;right:15px}
.package-card:has(input:checked){background:#e0e9c7;border-color:#647f32;box-shadow:inset 0 0 0 1px #647f32}
.package-card:has(input:focus-visible){outline:3px solid #758c32;outline-offset:3px}
.package-check{position:absolute;right:10px;top:12px;width:13px;height:13px;border:1px solid #a2ae90;border-radius:50%}
.package-card:has(input:checked) .package-check{border:4px solid #617b36;background:var(--cream)}
.package-count{display:flex;flex-direction:column;font-family:Georgia,serif;font-size:30px;line-height:1}
.package-count>span{font-family:Arial,sans-serif;font-size:7px;letter-spacing:1.4px;margin-top:5px;color:#758167}
.package-card strong{font-family:Georgia,serif;font-weight:400;font-size:19px;margin-top:14px}
.package-description{font-size:9px;line-height:1.6;margin-top:5px;color:#6b745f}
.package-tag{font-size:6px;letter-spacing:.6px;color:#537035;font-weight:700;margin-top:9px}
.date-fieldset,.details-fieldset{margin-top:27px;padding-top:24px;border-top:1px solid var(--line)}
.calendar{border:1px solid #cbd1be;border-radius:9px;padding:12px;background:#f8f7ef}
.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:14px}
.calendar-heading strong{font-size:11px;text-align:center}
.calendar-heading button{background:none;color:#526641;padding:9px 2px;font-size:10px;font-weight:700;min-height:35px}
.calendar-heading button:disabled{color:#9fa794}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-day{display:flex;flex-direction:column;align-items:center;background:#e7eddb;color:#405731;border:1px solid transparent;border-radius:6px;padding:9px 2px 4px;gap:8px;min-width:0}
.calendar-day>span:first-child{font-size:8px;text-transform:uppercase;letter-spacing:.5px}
.calendar-day strong{font-size:17px;font-weight:400;font-family:Georgia,serif}
.calendar-day .day-mark{font-size:15px;line-height:.8}
.calendar-day:disabled{background:#eeeee5;color:#999f90}
.calendar-day[aria-pressed=true]{background:var(--green);color:var(--lime);border-color:var(--green)}
.calendar-note{font-size:9px;line-height:1.6;color:#727d64;margin:12px 2px 0}
.date-label{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin:13px 0 7px}
.date-label span{font-size:9px;font-weight:400;color:#707965}
.date-label+input{font-size:13px}
.field-help{display:block;color:#76806c;font-size:9px;line-height:1.6;margin-top:7px}
.details-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field>label{margin-bottom:7px}
.field>label>span{font-size:10px;font-weight:400;color:#7d8675;margin-left:4px}
.details-row input{font-size:11px}
.message-field{margin-top:16px}
.submit-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:17px 19px;border-radius:7px;background:var(--green);color:var(--cream);font-weight:700;font-size:13px;margin-top:22px;min-height:54px}
.submit-button>span:last-child{color:var(--lime);font-size:22px;line-height:1}
.submit-button:hover{background:#2a3f2e}
.submit-button:disabled{opacity:.7}
.request-disclaimer{text-align:center;font-size:9px;line-height:1.8;color:#78816d;margin-top:13px}
.panel-footnote{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-family:Georgia,serif;font-style:italic;border-top:1px solid var(--line);padding-top:19px;margin-top:21px;color:#6b765e}
.panel-footnote>span{font-size:18px;font-style:normal;color:#758c44}
.site-footer{max-width:1440px;margin:auto;border-top:1px solid #354035;padding:22px 6%;display:flex;justify-content:space-between;gap:12px;color:#8f9d88;font-size:9px}
.honeypot,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:absolute;top:-100px;left:15px;padding:14px;background:var(--lime);color:var(--green);z-index:10}
.skip-link:focus{top:12px}
.field-error{font-size:11px;color:var(--error);line-height:1.5;margin-top:7px}
.error-summary{background:#f6e7df;border:1px solid #dcb7a6;color:#7b3827;padding:15px;border-radius:7px;font-size:12px;line-height:1.6;margin:15px 0 24px}
.error-summary ul{margin:8px 0 0;padding-left:19px}
.simple-panel{max-width:610px;margin:60px auto 90px;padding:38px;background:var(--cream);color:var(--ink);border-radius:14px;color-scheme:light}
.simple-panel h1{margin:23px 0}
.simple-panel h1 em{color:#6e873c}
.simple-panel>p{font-size:14px;line-height:1.8;color:#697462}
.simple-panel .therapy-note{background:#e4ead5;border-color:#c4d0b1;max-width:none;margin-bottom:25px}
.simple-panel .therapy-note p{color:#50603f}
.simple-panel label{margin:28px 0 8px}
.success-mark{color:#748f3b;font-size:55px;margin-bottom:20px}
.text-link{display:inline-block;font-size:13px;font-weight:700;margin-top:8px}
.admin-panel{max-width:1100px;margin:45px auto;padding:0 30px}
.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}
.admin-heading h1{font-size:44px;margin:15px 0}
.admin-heading p{font-size:12px;color:var(--muted)}
.secondary-button{background:var(--lime);color:var(--ink);border-radius:6px;padding:12px 18px;font-size:12px}
.request-record{background:var(--cream);color:var(--ink);padding:24px;border-radius:10px;margin-bottom:16px;overflow-wrap:anywhere}
.record-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.record-heading h2{font-size:27px}
.record-heading>span{font-size:10px;color:#697461}
.request-record dl{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;margin-bottom:0}
.request-record dt{font-size:9px;color:#6c775e;margin-bottom:6px}
.request-record dd{font-size:13px;line-height:1.6;margin:0;white-space:pre-wrap}
.record-message{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;margin:25px 0}
.empty-state{padding:30px 0;color:var(--muted)}
@media(min-width:1500px){.booking-layout{gap:100px}
}
@media(max-width:1050px){.booking-layout{padding:38px 4% 45px;gap:4%}
.request-panel{padding:23px}
.site-header{padding-left:4%;padding-right:4%}
.package-card{padding-left:9px;padding-right:9px}
.details-row{grid-template-columns:1fr}
h1{letter-spacing:-2px}
}
@media(max-width:760px){.site-header{padding:20px 6%}
.header-note{font-size:7px;letter-spacing:1px}
.wordmark{font-size:25px}
.booking-layout{grid-template-columns:1fr;gap:32px;padding:32px 6% 38px}
.story-panel h1{font-size:53px;max-width:500px}
.hero-intro{max-width:490px}
.poster{max-width:100%;margin-top:25px}
.poster img{max-height:none}
.therapy-note{max-width:none;margin-top:20px}
.request-panel{padding:25px;border-radius:13px}
.request-panel h2{font-size:43px}
.details-row{grid-template-columns:1fr 1fr}
.site-footer{flex-direction:column;padding:22px 6%;font-size:8px}
.simple-panel{margin:32px 6% 55px;padding:27px}
.simple-panel h1{font-size:52px}
.admin-heading{align-items:flex-start}
.admin-heading h1{font-size:34px}
.request-record dl{grid-template-columns:1fr 1fr}
.record-heading{align-items:flex-start;flex-direction:column;gap:8px}
.record-message{grid-column:1/-1}
}
@media(max-width:400px){.booking-layout{padding-left:4%;padding-right:4%}
.request-panel{padding:21px 17px}
.story-panel h1{font-size:46px}
.package-card{min-height:168px;padding-left:8px;padding-right:8px}
.package-description{font-size:8px}
.details-row{grid-template-columns:1fr}
.calendar{padding:10px 8px}
.calendar-days{gap:3px}
.calendar-heading strong{font-size:10px}
.calendar-day>span:first-child{font-size:7px}
.header-note{max-width:110px;text-align:right}
.date-label{flex-direction:column;gap:3px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}
