/* Camp dates and FAQ share the established Camp F.A.C.E colours. */
.content-eyebrow,.camp-session-kicker{display:block;font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#ffb195}
.dates .wrap:has(.camp-session-card){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1040px;margin:28px auto 0;text-align:left}
.camp-session-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 16px;align-items:start;background:linear-gradient(145deg,#183b4b,#102d3c);border:1px solid #315564;border-radius:24px;padding:28px;position:relative;overflow:hidden;text-align:left;box-shadow:0 16px 34px #00131c22;margin:16px 0}
.dates .wrap .camp-session-card{margin:0}
.camp-session-card:before{content:'';position:absolute;left:0;top:25px;bottom:25px;width:4px;border-radius:4px;background:#ed654c}
.camp-session-heading{grid-column:1/-1}.camp-session-heading h3{font-size:1.6rem;line-height:1.2;margin:8px 0 0;color:#fff}
.camp-session-caption{display:block;color:#a9c0cc;font-size:.76rem;letter-spacing:.04em;margin-bottom:6px}
.camp-session-card p{margin:0!important;font-size:1rem;line-height:1.5;color:#e8f2f7}.camp-session-period p{font-weight:600;white-space:normal}.camp-session-price{text-align:right}.camp-session-price p{font-size:1.5rem;font-weight:700;line-height:1.2}.camp-session-price p span{font-size:.95rem;color:#b4cad5}
.camp-session-ages{grid-column:1/-1;border-top:1px solid #315564;padding-top:18px}
.camp-session-link{display:inline-flex;justify-content:space-between;align-items:center;gap:18px;text-decoration:none!important;border-radius:12px;padding:12px 16px;background:#e94f35;color:#fff!important;font-size:.9rem;font-weight:700;grid-column:1/-1;transition:background .15s,transform .15s}
.camp-session-link:hover{background:#c93e28;transform:translateY(-1px)}.camp-session-link:focus-visible,.faq-filters button:focus-visible,.faq-entry summary:focus-visible{outline:3px solid #ffd6aa;outline-offset:4px}
.dates .wrap .time{grid-column:1/-1;text-align:center!important;border-top:1px solid #315564;padding-top:20px;font-size:1rem;color:#b4cad5}
.faq-page{padding-bottom:70px}.faq-intro{max-width:960px;text-align:center;padding-top:75px;padding-bottom:34px}.faq-intro h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.04em;line-height:1.1;margin:18px 0;color:#fff}.faq-intro>p{max-width:620px;margin:0 auto 28px;color:#b9ced8;line-height:1.7}
.faq-search-label{display:block;text-align:left;max-width:640px;margin:0 auto 8px;font-size:.85rem;color:#bfd1db}.faq-search{box-sizing:border-box;width:100%;max-width:640px;padding:17px 20px;font:inherit;color:#fff;background:#153644;border:1px solid #406170;border-radius:14px}.faq-search:focus{outline:2px solid #ffb195;outline-offset:2px}.faq-search::placeholder{color:#9eb7c5}.faq-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}.faq-filters[hidden]{display:none}.faq-filters button{border:1px solid #3c5a68;border-radius:30px;background:transparent;color:#c6dae4;padding:10px 16px;font:inherit;font-size:.85rem;cursor:pointer}.faq-filters button[aria-pressed=true]{color:#fff;border-color:#e94f35;background:#e94f35}
.faq-results{max-width:900px}.faq-results #faq-count{color:#a9c0cc;font-size:.85rem;margin-bottom:16px}.faq-entry{background:#133341;border:1px solid #315564;border-radius:18px;margin-bottom:13px;overflow:hidden}.faq-entry[hidden]{display:none}.faq-entry summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;cursor:pointer;list-style:none;color:#edf6fa;font-size:1.05rem;font-weight:600}.faq-entry summary::-webkit-details-marker{display:none}.faq-entry summary small{display:block;font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;color:#a8c0cd;font-weight:500;margin-bottom:6px}.faq-toggle{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#254956;color:#ffb195;font-size:1.45rem;font-weight:400;transition:transform .2s}.faq-entry[open]{border-color:#e28268}.faq-entry[open] .faq-toggle{transform:rotate(45deg)}.faq-response{padding:0 24px 24px;color:#c8dae3;line-height:1.85;overflow-wrap:anywhere;font-size:.95rem}.faq-contact{max-width:900px;margin-top:36px;padding:28px;border-radius:22px;background:linear-gradient(120deg,#244450,#17313d);border:1px solid #3b5a68;display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box}.faq-contact h2{font-size:1.5rem;margin:8px 0}.faq-contact p{margin:0;color:#bbd1db}.faq-contact .camp-session-link{flex-shrink:0}
@media(max-width:760px){.dates .wrap:has(.camp-session-card){grid-template-columns:1fr}.camp-session-card{padding:24px;gap:20px 12px}.camp-session-heading h3{font-size:1.45rem}.camp-session-price p{font-size:1.3rem}.faq-intro{padding-top:48px}.faq-entry summary{padding:20px;font-size:1rem}.faq-response{padding:0 20px 20px}.faq-contact{flex-direction:column;align-items:stretch;margin-left:20px;margin-right:20px}.faq-filters{gap:8px}.faq-filters button{padding:9px 12px;font-size:.8rem}}
@media(max-width:380px){.camp-session-card{grid-template-columns:1fr}.camp-session-price{text-align:left}.camp-session-heading,.camp-session-ages,.camp-session-link{grid-column:1}}
@media(prefers-reduced-motion:reduce){.camp-session-link,.faq-toggle{transition:none}}
