.announcement{background:var(--gold);color:var(--ink);font-size:13px;font-weight:700;line-height:1.45}.announcement .container{display:flex;gap:10px 18px;min-height:42px;padding-block:8px;text-align:center}.announcement .container,.announcement p{align-items:center;justify-content:center;flex-wrap:wrap}.announcement p{margin:0;max-width:none;display:inline-flex;gap:4px 12px}.announcement-dot{flex:0 0 9px;margin-right:-2px;width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #ffffff8c}.announcement-link{display:inline-flex;align-items:center;gap:8px;min-height:32px;border-bottom:1.5px solid;font-weight:800;white-space:nowrap}.announcement-link svg{width:16px;height:16px;transition:transform .16s var(--ease)}@media(hover:hover) and (pointer:fine){.announcement-link:hover svg{transform:translateX(3px)}}.vacancy-band{background:var(--teal);color:#fff;overflow:clip;position:relative}.vacancy-band-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:62px}.vacancy-band .round-tag{background:var(--gold);color:var(--ink)}.vacancy-band h2{font-size:clamp(2.2rem,3.1vw,3.3rem)}.vacancy-band h2 span{color:var(--gold)}.vacancy-band-copy>p{font-size:17px}.vacancy-rooms{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:12px}.vacancy-rooms li{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:14px 18px;background:#ffffff1a;border:1px solid #ffffff40;border-radius:14px}.vacancy-rooms strong{font-family:var(--font-display),sans-serif;font-weight:500;font-size:22px;line-height:1.2;margin-right:4px}.day-chip{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:4px 13px;border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:800}.day-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal)}.day-chip.limited:before{background:#c98a1d}.vacancy-band .button{margin-top:26px;background:var(--gold);color:var(--ink)}.vacancy-band .vacancy-empty{margin-top:22px}.vacancy-circle{position:absolute;width:300px;height:300px;right:-110px;bottom:-150px;opacity:.35;pointer-events:none}@media(hover:hover) and (pointer:fine){.vacancy-band .button:hover{background:#ffd76e}}.vacancy-full-top{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:42px}.vacancy-full-top h2{margin:0}.vacancy-full-top p{font-size:16px}.room-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px}.room-card{background:#fff;border:1px solid #d3dfd1;border-radius:14px;padding:30px;container-type:inline-size}@container (min-width:720px){.room-card-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:50px;align-items:start}.room-card-grid .room-days{margin-top:0}}.room-card h3{font-size:30px;margin-bottom:4px}.room-card .room-ages{font-size:14px;font-weight:700;color:var(--muted)}.room-card .room-note{font-size:15px;margin-top:12px}.room-days{width:100%;border-collapse:collapse;margin-top:20px;font-size:15px}.room-days td,.room-days th{padding:12px 0;border-top:1px solid #dce4db;text-align:left;vertical-align:middle}.room-days th{font-weight:800;width:42%}.status{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:800}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.status-available{background:#d8ece4;color:#12574f}.status-limited{background:#fbe8b8;color:#7a4f06}.status-waitlist{background:var(--lavender);color:#523b6e}.status-ask{background:#eef1ec;color:#4f655b}.vacancy-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 30px;margin-top:34px}.vacancy-foot p{font-size:14px;color:var(--muted);margin:0}.doc-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end;margin-bottom:46px}.doc-top h2{margin:0}.doc-top p{font-size:16px}.doc-group+.doc-group{margin-top:44px}.doc-group h3{font-family:var(--font-body),sans-serif;font-size:14px;font-weight:800;letter-spacing:.02em;margin-bottom:14px;color:var(--muted)}.doc-list{list-style:none;padding:0;margin:0;border-top:1px solid #b6c7b6}.doc-list li{border-bottom:1px solid #b6c7b6}.doc-link{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:22px 4px}.doc-icon{width:48px;height:58px;border-radius:6px 16px 6px 6px;background:var(--mint);border:1px solid #a7bea8;display:flex;align-items:flex-end;justify-content:center;padding-bottom:9px;font-size:11px;font-weight:800;letter-spacing:.04em}.doc-title{font-family:var(--font-display),sans-serif;font-size:22px;line-height:1.25;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.doc-badge{font-family:var(--font-body),sans-serif;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--gold);color:var(--ink)}.doc-desc{font-size:15px}.doc-desc,.doc-meta{margin-top:6px!important}.doc-meta{font-size:13px;color:var(--muted)}.doc-open{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:800;border-bottom:1px solid;padding-bottom:2px;white-space:nowrap}.doc-empty{font-size:16px}@media(hover:hover) and (pointer:fine){.doc-link:hover .doc-title{color:var(--teal)}.doc-link:hover .doc-open svg{transform:translateX(3px)}}.doc-open svg{transition:transform .16s var(--ease)}.callout-panel{position:relative;overflow:clip;border-radius:18px;padding:clamp(34px,5vw,62px);display:grid;grid-template-columns:1.1fr .9fr;gap:40px 70px;align-items:center}.callout-panel.gold{background:#f5cd65}.callout-panel.mint{background:var(--mint)}.callout-panel.lavender{background:var(--lavender)}.callout-panel.peach{background:var(--peach)}.callout-panel .round-tag{background:#ffffffa6}.callout-panel h2{font-size:clamp(2.1rem,3vw,3.1rem)}.callout-panel h2 span{color:var(--teal)}.callout-panel>div{position:relative;z-index:1}.callout-panel .button{margin-top:24px}@media(max-width:900px){.doc-top,.vacancy-band-grid,.vacancy-full-top{gap:34px}.callout-panel{gap:26px 40px}}@media(max-width:700px){.announcement{font-size:12px}.announcement .container{min-height:0;padding-block:9px;gap:6px 12px}.announcement p{display:block}.announcement-dot{display:inline-block;vertical-align:middle;margin-right:8px}.announcement-link{display:inline;min-height:0;margin-left:6px;white-space:normal}.announcement-link svg{display:inline;vertical-align:-3px;margin-left:4px}.callout-panel,.doc-top,.vacancy-band-grid,.vacancy-full-top{grid-template-columns:1fr}.vacancy-band-grid{padding-block:48px 52px;gap:22px}.vacancy-rooms strong{font-size:20px}.room-card{padding:24px 20px}.room-card h3{font-size:27px}.doc-link{grid-template-columns:auto 1fr;gap:16px;padding:20px 0}.doc-open{grid-column:2}.doc-icon{width:40px;height:50px;font-size:10px}.doc-title{font-size:20px}.callout-panel{padding:30px 22px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.team-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end;margin-bottom:46px}.team-top h2{margin:0}.team-top>p{font-size:16px}.team-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:34px}.team-card{background:#fff;border:1px solid #d3dfd1;border-radius:18px;padding:22px 22px 26px}.team-picture{aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--paper);border:1px dashed #c8d6c9}.team-picture .photo{aspect-ratio:auto;height:100%;background:var(--paper)}.team-drawing img{object-fit:contain!important}.team-placeholder{position:relative;height:100%;display:flex;align-items:center;justify-content:center;padding:18%}.team-placeholder .circle-art{position:absolute;inset:14%;width:72%;height:72%;opacity:.55}.team-placeholder span{position:relative;font-size:13px;font-weight:800;color:var(--muted);text-align:center;max-width:140px;line-height:1.4}.team-note{font-size:12px;color:var(--muted);margin-top:8px!important}.team-name{font-size:26px;margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.team-role{font-size:14px;font-weight:800;color:#5b7467;margin-top:4px!important}.team-bio p{font-size:15px;margin-top:12px}@media(max-width:900px){.team-top{gap:34px}}@media(max-width:700px){.team-top{grid-template-columns:1fr;gap:18px}.team-name{font-size:23px}}