body[data-viec-page=family-pack],body[data-viec-page=family-pack] #__nuxt,body[data-viec-page=family-pack] .viec-site,body[data-viec-page=family-pack] main{background:#fff}body[data-viec-page=family-pack] .viec-site .content-page.content-page--flush-top{padding-bottom:0}body[data-viec-page=family-pack] .viec-site .content-page.content-page--flush-top>.container>.content-page__body{margin-top:0}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero{align-items:start;-moz-column-gap:clamp(1rem,2vw,1.75rem);column-gap:clamp(1rem,2vw,1.75rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 0 clamp(1.5rem,3vw,2.5rem);overflow:visible;row-gap:1.25rem}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__col--copy{align-items:stretch;display:flex;flex-direction:column;gap:1.25rem;justify-content:flex-start;min-width:0}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__title{color:#111318;font-size:clamp(1.75rem,2.6vw,2.75rem);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:0;text-wrap:balance}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__title-br{display:none}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__title-accent{color:#203c89}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__title-rest{color:#111318}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__lead{color:#1c1c1c;font-size:clamp(1.05rem,1.2vw,1.35rem);font-weight:500;letter-spacing:-.02em;line-height:1.5;margin:0}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:.25rem}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__button.button{min-height:56px;width:min(100%,420px)}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__col--visual{margin:0;min-width:0;overflow:visible}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__img{border-radius:clamp(.5rem,1.2vw,.75rem);display:block;height:auto;max-width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:top center;object-position:top center;width:100%}@media(max-width:768px){body[data-viec-page=family-pack] .page-content.fp-page .fp-hero{grid-template-columns:1fr}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__title{font-size:clamp(1.7rem,7vw,2.4rem);text-align:center}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__title-br{display:block}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__lead{text-align:center}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__actions{justify-content:center}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero__button.button{width:100%}}body[data-viec-page=family-pack] .page-content.fp-page .fp-hero-keyfacts{margin-top:clamp(1.5rem,3.5vw,2.5rem)}body[data-viec-page=family-pack] .page-content.fp-page .viec-session-dates-footnote{color:var(--viec-color-primary,#203c89);font-size:clamp(.6rem,.95vw,.68rem);font-weight:800;letter-spacing:.12em;line-height:1.25;margin:clamp(.75rem,2vw,1rem) 0 0;max-width:100%;text-align:right;text-transform:uppercase}body[data-viec-page=family-pack] .page-content.fp-page .fp-session-dates{display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1rem);margin:clamp(1.25rem,3vw,2rem) 0 0}body[data-viec-page=family-pack] .page-content.fp-page .fp-session-dates .about-availability--summer-camp{margin:0}body[data-viec-page=family-pack] .page-content.fp-page .fp-session-dates>h2.title{margin-top:0}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__book-now{margin:0 0 16px}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__content{background:#203c890a;border-radius:12px;box-shadow:0 4px 15px #1c1c1c14;padding:20px}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card{background:#fff;border:1px solid rgba(28,28,28,.16);border-radius:10px;display:block;padding:16px;transition:background .25s ease-in-out,border-color .25s ease-in-out,color .25s ease-in-out}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp a.about-availability__card{color:inherit;cursor:pointer;text-decoration:none}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp a.about-availability__card:not(.about-availability__card--closed):hover{background:#203c89;border-color:#203c89}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp a.about-availability__card:not(.about-availability__card--closed):hover .about-availability__card-date,body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp a.about-availability__card:not(.about-availability__card--closed):hover .about-availability__card-label{color:#fff}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp a.about-availability__card:not(.about-availability__card--closed):hover .about-availability__card-icon path:last-child{fill:#fff}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card--closed{cursor:default}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card--closed .about-availability__card-date,body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card--closed .about-availability__card-label{color:#1c1c1c80}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card--closed .about-availability__card-icon path:last-child{fill:#1c1c1c80}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card-label{color:#1c1c1c;font-size:.8125rem;font-weight:500;line-height:1.4;margin:0 0 12px;transition:color .25s ease-in-out}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card-row{align-items:flex-end;display:flex;gap:10px;justify-content:space-between}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card-date{color:#203c89;font-size:clamp(1rem,1.15vw,1.125rem);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:0;transition:color .25s ease-in-out}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card-icon{flex-shrink:0;height:32px;min-width:32px;width:32px}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__card-icon path{transition:fill .25s ease-in-out}@media(max-width:1025px){body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__content{border-radius:0;margin:0 -12px;padding:24px 12px}body[data-viec-page=family-pack] .page-content.fp-page .about-availability--summer-camp .about-availability__grid{grid-template-columns:1fr}}
