:root{--rn-font-family:ui-rounded, "Avenir Next", "Nunito Sans", ui-sans-serif, system-ui, sans-serif;--rn-color-canvas:#f7fbf6;--rn-color-surface:#fff;--rn-color-surface-raised:#f2faf4;--rn-color-surface-subtle:#eef6ee;--rn-color-text-primary:#183329;--rn-color-text-secondary:#365044;--rn-color-text-muted:#5d7264;--rn-color-text-inverse:#fff;--rn-color-border-subtle:#d7e5d9;--rn-color-border-strong:#176b4b;--rn-color-action-primary:#176b4b;--rn-color-action-primary-hover:#12563c;--rn-color-focus:#006864;--rn-color-info-bg:#e0f0fa;--rn-color-info-text:#155e86;--rn-color-success-bg:#ddf3e3;--rn-color-success-text:#12563c;--rn-color-warning-bg:#fff2cc;--rn-color-warning-text:#785000;--rn-color-danger-bg:#fde8e5;--rn-color-danger-text:#a33b32;--rn-color-reserved-bg:#d8f3f0;--rn-color-reserved-text:#006864;--rn-space-1:4px;--rn-space-2:8px;--rn-space-3:12px;--rn-space-4:16px;--rn-space-5:20px;--rn-space-6:24px;--rn-space-8:32px;--rn-space-10:40px;--rn-space-12:48px;--rn-radius-field:8px;--rn-radius-button:12px;--rn-radius-card:16px;--rn-shadow-raised:0 8px 24px #18332917}*{box-sizing:border-box}html{background:var(--rn-color-canvas)}body{min-width:320px;color:var(--rn-color-text-primary);font:16px/1.5 var(--rn-font-family);overflow-wrap:break-word;margin:0}button,input,select{font:inherit}a,button,input,select{outline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--rn-color-focus)}a{color:var(--rn-color-action-primary);text-underline-offset:3px}.skip-link{top:-60px;left:var(--rn-space-4);z-index:10;padding:var(--rn-space-2) var(--rn-space-3);border-radius:var(--rn-radius-field);background:var(--rn-color-action-primary);color:var(--rn-color-text-inverse);position:fixed}.skip-link:focus{top:var(--rn-space-4)}.site-header{border-bottom:1px solid var(--rn-color-border-subtle);background:var(--rn-color-surface);align-items:center;min-height:64px;padding:0 clamp(16px,5vw,64px);display:flex}.brand{min-height:44px;color:var(--rn-color-text-primary);align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--rn-color-action-primary);width:32px;height:32px;color:var(--rn-color-text-inverse);border-radius:10px;place-items:center;display:grid}.layout{max-width:1200px;margin:0 auto}.flow-nav{padding:var(--rn-space-6) var(--rn-space-4);border-bottom:1px solid var(--rn-color-border-subtle)}.flow-title{margin:var(--rn-space-2) 0;font-size:24px;font-weight:800;line-height:1.2}.flow-copy{color:var(--rn-color-text-muted);display:none}.eyebrow{color:var(--rn-color-text-muted);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.step-list{gap:var(--rn-space-2);margin:var(--rn-space-4) 0 0;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;display:grid}.step{padding:var(--rn-space-2);border-radius:var(--rn-radius-button);color:var(--rn-color-text-secondary);font-size:13px;font-weight:700}.step span{border:1px solid var(--rn-color-border-subtle);border-radius:50%;place-items:center;width:28px;height:28px;margin-bottom:6px;display:grid}.step.is-current{background:var(--rn-color-surface-raised);color:var(--rn-color-action-primary)}.step.is-current span{border-color:var(--rn-color-action-primary);background:var(--rn-color-action-primary);color:var(--rn-color-text-inverse)}.screen-area{padding:36px var(--rn-space-4) var(--rn-space-12);justify-items:center;display:grid}.screen-area:focus{outline:none}.screen{width:min(100%,580px)}.screen h1{margin:6px 0 10px;font-size:28px;line-height:1.25}.lead{color:var(--rn-color-text-muted)}form{margin:0}.field-row{gap:0 var(--rn-space-4);display:grid}.field{gap:6px;margin:22px 0;display:grid}.field label,.consent legend{font-size:14px;font-weight:750}.field input,.field select{border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-field);background:var(--rn-color-surface);width:100%;min-height:46px;color:var(--rn-color-text-primary);padding:10px 12px}.field input[aria-invalid=true],.field select[aria-invalid=true],.consent input[aria-invalid=true]{border-color:var(--rn-color-danger-text);outline:2px solid var(--rn-color-danger-text);outline-offset:1px}.code-input{letter-spacing:.3em;max-width:14ch;font-size:22px}.field-help,.field-error{margin:0;font-size:14px}.field-help{color:var(--rn-color-text-muted)}.field-error{color:var(--rn-color-danger-text);font-weight:650}.consent{margin:var(--rn-space-6) 0;padding:var(--rn-space-4);border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-button);gap:10px;display:grid}.check{grid-template-columns:24px 1fr;align-items:start;gap:2px 9px;min-height:44px;display:grid}.check input{width:20px;height:20px;accent-color:var(--rn-color-action-primary);margin:2px 0 0}.check .field-error{grid-column:2}.button{width:100%;min-height:44px;padding:10px var(--rn-space-4);border-radius:var(--rn-radius-button);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;margin:6px 0;font-weight:750;text-decoration:none;display:inline-flex}.button.primary{background:var(--rn-color-action-primary);color:var(--rn-color-text-inverse)}.button.primary:hover{background:var(--rn-color-action-primary-hover)}.button.secondary{border-color:var(--rn-color-border-subtle);background:var(--rn-color-surface);color:var(--rn-color-text-primary)}.secondary-action{margin-top:var(--rn-space-6);color:var(--rn-color-text-muted)}.inline-link{min-height:24px;font-weight:700;display:inline-block}.notice{margin:var(--rn-space-6) 0;padding:var(--rn-space-4);border-radius:var(--rn-radius-button);gap:3px;display:grid}.notice p{margin:0}.notice.info{background:var(--rn-color-info-bg);color:var(--rn-color-info-text)}.notice.success{background:var(--rn-color-success-bg);color:var(--rn-color-success-text)}.notice.warning{background:var(--rn-color-warning-bg);color:var(--rn-color-warning-text)}.notice.error{background:var(--rn-color-danger-bg);color:var(--rn-color-danger-text)}.success-icon{background:var(--rn-color-action-primary);width:48px;height:48px;color:var(--rn-color-text-inverse);border-radius:50%;place-items:center;font-size:26px;font-weight:800;display:grid}.community-card{padding:var(--rn-space-4);border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-card);background:var(--rn-color-surface-raised);align-items:center;gap:14px;margin:26px 0;display:flex}.community-card strong,.community-card span{display:block}.community-card .muted{color:var(--rn-color-text-muted)}.community-actions{margin:var(--rn-space-6) 0}.listing-filters{gap:0 var(--rn-space-4);margin:var(--rn-space-8) 0 var(--rn-space-6);padding:var(--rn-space-4);border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-card);background:var(--rn-color-surface-raised);display:grid}.listing-filters .field{margin:0 0 var(--rn-space-3)}.listing-filters .button{align-self:end}.filter-reset{align-self:center;min-height:44px;padding:10px 0}.listing-heading h2{margin-bottom:0;font-size:22px}.listing-heading p{margin-top:var(--rn-space-2);color:var(--rn-color-text-muted)}.listing-grid{gap:var(--rn-space-4);margin:var(--rn-space-5) 0;padding:0;list-style:none;display:grid}.listing-card{border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-card);background:var(--rn-color-surface);overflow:hidden}.listing-card img,.listing-photo-placeholder{aspect-ratio:16/9;background:var(--rn-color-surface-raised);object-fit:cover;place-items:center;width:100%;display:grid}.listing-card-copy{padding:var(--rn-space-4)}.listing-card-copy h3{margin:var(--rn-space-1) 0;font-size:20px}.listing-card-copy p:last-child{margin-bottom:0}.availability{font-weight:750}.card-link{align-items:center;min-height:44px;font-weight:750;display:inline-flex}.listing-detail-photo{object-fit:cover;border-radius:var(--rn-radius-card);width:100%;max-height:360px}.listing-details,.reservation-list{gap:var(--rn-space-3);padding:0;list-style:none;display:grid}.reservation-proposal{margin-block:var(--rn-space-4);padding:var(--rn-space-4);border-inline-start:.35rem solid var(--rn-color-warning,#a85f00);background:var(--rn-color-surface-subtle,#fff8e8)}.reservation-proposal h2{margin-block:0 var(--rn-space-3);font-size:1.1rem}.reservation-proposal dl{gap:var(--rn-space-3);display:grid}.reservation-proposal dt{font-weight:750}.reservation-proposal dd{margin:0}.listing-details div,.reservation-list li{padding:var(--rn-space-4);border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-card)}.listing-details dt{color:var(--rn-color-text-muted)}.listing-details dd{margin:0;font-weight:750}.reservation-actions{gap:var(--rn-space-2);display:grid}.school-icon{background:var(--rn-color-surface);border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.button.danger{border-color:var(--rn-color-danger-text);background:var(--rn-color-danger-text);color:var(--rn-color-text-inverse)}.danger-text{color:var(--rn-color-danger-text)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.profile-card{margin:26px 0 var(--rn-space-4);padding:var(--rn-space-4);border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-card);background:var(--rn-color-surface-raised);align-items:center;gap:14px;display:flex}.profile-card strong,.profile-card span{display:block}.profile-card .muted{color:var(--rn-color-text-muted)}.avatar{background:var(--rn-color-action-primary);width:48px;height:48px;color:var(--rn-color-text-inverse);border-radius:50%;flex:0 0 48px;place-items:center;font-size:20px;font-weight:800;display:grid}.privacy-note{color:var(--rn-color-text-muted)}.profile-section{margin:var(--rn-space-8) 0;padding-top:var(--rn-space-6);border-top:1px solid var(--rn-color-border-subtle)}.profile-section h2{margin:0 0 var(--rn-space-2);font-size:20px}.status-list{gap:2px;margin:0;display:grid}.status-list dt{color:var(--rn-color-text-muted)}.status-list dd{margin:0;font-weight:800}.family-dialog{width:min(520px,100% - 32px);max-height:calc(100% - 32px);padding:var(--rn-space-6);border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-card);background:var(--rn-color-surface);color:var(--rn-color-text-primary);overflow-y:auto;box-shadow:0 22px 64px #18332940}.family-dialog:not(:modal){width:auto;margin:var(--rn-space-6) 0;position:static}.family-dialog::backdrop{background:#18332959}.dialog-head{justify-content:space-between;gap:12px;display:flex}.dialog-head h2{margin:0;font-size:22px}.icon-button{background:var(--rn-color-surface-raised);width:44px;height:44px;color:var(--rn-color-text-primary);border-radius:50%;flex:none;place-items:center;font-size:24px;text-decoration:none;display:inline-grid}.dialog-actions{gap:var(--rn-space-2);display:grid}.choice-group{gap:var(--rn-space-3);margin:var(--rn-space-4) 0;padding:var(--rn-space-4);border:1px solid var(--rn-color-border-subtle);border-radius:var(--rn-radius-button);display:grid}.choice-group legend{padding:0 4px;font-weight:750}.field textarea{border:1px solid var(--rn-color-border-strong);border-radius:var(--rn-radius-field);background:var(--rn-color-surface);width:100%;min-height:96px;color:var(--rn-color-text-primary);font:inherit;resize:vertical;padding:10px 12px}.field textarea[aria-invalid=true],.choice-group input[aria-invalid=true]{border-color:var(--rn-color-danger-text);outline:2px solid var(--rn-color-danger-text)}textarea:focus-visible{outline:3px solid var(--rn-color-focus)}@media (width>=768px){.dialog-actions{grid-template-columns:1fr 1fr}.site-header{min-height:72px}.layout.has-steps{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);min-height:calc(100vh - 72px);display:grid}.flow-nav{border-right:1px solid var(--rn-color-border-subtle);border-bottom:0;padding:56px clamp(24px,4vw,56px)}.flow-title{max-width:280px;font-size:32px}.flow-copy{display:block}.step-list{margin:var(--rn-space-8) 0;grid-template-columns:1fr}.step{align-items:center;gap:var(--rn-space-3);padding:10px;font-size:16px;display:flex}.step span{margin:0}.screen-area{padding:var(--rn-space-10) clamp(16px, 6vw, 96px)}.field-row{grid-template-columns:1fr 1fr}.listing-filters{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.listing-filters .button{grid-column:1/2}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button{width:auto;margin:4px 8px 4px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
