.vn-page-hero { position:relative; isolation:isolate; min-height:clamp(25rem,52vw,39rem); display:grid; align-items:end; padding:clamp(6rem,11vw,10rem) var(--wp--style--root--padding-right) clamp(3.5rem,7vw,6.5rem); overflow:hidden; background:linear-gradient(128deg,#063b43 0%,#015a5e 58%,#0d7767 100%); color:#fff; }
.vn-complete-page :where(h1,h2,h3),.vn-learning-page :where(h1,h2,h3),.vn-home :where(h1,h2,h3) { overflow-wrap:normal; word-break:normal; hyphens:none; }
.vn-page-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgb(3 43 49 / .94) 0%,rgb(1 63 66 / .76) 52%,rgb(1 63 66 / .24) 100%); }
.vn-page-hero::after { content:""; position:absolute; inset:auto -10% -46% auto; z-index:-1; width:min(52rem,70vw); aspect-ratio:1.3; border:1px solid rgb(255 255 255 / .2); border-radius:42% 58% 35% 65%; transform:rotate(-12deg); }
.vn-page-hero__media { position:absolute; inset:0; z-index:-2; width:100%; height:100%; margin:0; }
.vn-page-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.vn-page-hero__inner { position:relative; width:100%; margin-inline:auto; }
.vn-page-hero h1 { max-width:14ch; margin:.05em 0 .35em; color:#fff; font-size:clamp(2.75rem,6vw,5.8rem); line-height:.94; letter-spacing:-.055em; text-wrap:balance; }
.vn-page-hero__lead { max-width:48rem; margin:0 0 1.5rem; font-size:clamp(1.12rem,2vw,1.5rem); line-height:1.5; color:rgb(255 255 255 / .9); }
.vn-page-hero--learning { min-height:clamp(25rem,48vw,36rem); background:linear-gradient(128deg,#f0faf7 0%,#f6f1fb 52%,#f1f6fc 100%); color:var(--wp--preset--color--ink); }
.vn-page-hero--learning::before { background:linear-gradient(90deg,rgb(246 241 251 / .97) 0%,rgb(240 250 247 / .9) 55%,rgb(240 250 247 / .38) 100%); }
.vn-page-hero--learning::after { border-color:rgb(139 104 200 / .3); }
.vn-page-hero--learning h1 { color:var(--wp--preset--color--learn-teal); font-family:var(--wp--preset--font-family--lora); letter-spacing:-.035em; }
.vn-page-hero--learning .vn-page-hero__lead { color:var(--wp--preset--color--muted-text); }
.vn-page-hero--learning .vn-eyebrow { color:var(--wp--preset--color--learn-lilac); }
.vn-page-section { padding:clamp(4rem,8vw,8rem) var(--wp--style--root--padding-right); margin:0; background:#fff; }
.vn-page-section:nth-of-type(odd) { background:var(--wp--preset--color--sport-surface); }
.vn-page-section__inner { max-width:70rem; margin-inline:auto; }
.vn-page-section__inner > h2 { max-width:18ch; margin:0 0 1.25rem; color:var(--wp--preset--color--sport-primary); font-size:clamp(2rem,4vw,3.65rem); line-height:1.05; letter-spacing:-.04em; text-wrap:balance; }
.vn-page-section__inner > p { max-width:52rem; font-size:clamp(1rem,1.35vw,1.15rem); line-height:1.75; }
.vn-page-section .vn-icon-list { max-width:50rem; margin-top:2rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.vn-page-section--learning:nth-of-type(odd) { background:var(--wp--preset--color--learn-surface-mint); }
.vn-page-section--learning:nth-of-type(even) { background:var(--wp--preset--color--learn-surface-lilac); }
.vn-page-section--learning h2 { color:var(--wp--preset--color--learn-teal); font-family:var(--wp--preset--font-family--lora); }
.vn-learning-logo { width:min(21rem,70vw); margin:2rem auto -1rem; position:relative; z-index:2; }
.vn-contact-layout { max-width:74rem; margin:0 auto; padding:clamp(4rem,8vw,7rem) var(--wp--style--root--padding-right); gap:clamp(2rem,6vw,6rem); }
.vn-contact-layout > .wp-block-column:last-child { align-self:flex-start; padding:clamp(1.5rem,3vw,2.5rem); border-radius:24px; background:var(--wp--preset--color--sport-surface); }
.vn-price-table,.vn-schedule-table { overflow-x:auto; border-radius:20px; box-shadow:0 18px 55px rgb(12 43 56 / .09); }
.vn-price-table table,.vn-schedule-table table { min-width:42rem; border-collapse:collapse; background:#fff; }
.vn-price-table th,.vn-schedule-table th { background:var(--wp--preset--color--sport-primary); color:#fff; text-align:left; }
.vn-price-table :is(th,td),.vn-schedule-table :is(th,td) { padding:1rem 1.15rem; border:1px solid var(--wp--preset--color--line); }
.vn-price-table tbody tr:nth-child(even),.vn-schedule-table tbody tr:nth-child(even) { background:var(--wp--preset--color--sport-surface); }
.vn-system-page { min-height:60vh; padding:clamp(7rem,13vw,11rem) var(--wp--style--root--padding-right) 6rem; }
.vn-service-index { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1px; max-width:80rem; margin:0 auto; padding:clamp(4rem,8vw,7rem) var(--wp--style--root--padding-right); background:var(--wp--preset--color--line); }
.vn-service-index__item { grid-column:span 4; min-height:17rem; margin:0; padding:clamp(1.5rem,3vw,2.5rem); background:#fff; transition:background .25s ease,transform .25s ease; }
.vn-service-index__item:nth-child(2n) { background:var(--wp--preset--color--sport-surface); }
.vn-service-index__item:nth-child(4),.vn-service-index__item:nth-child(8) { grid-column:span 8; }
.vn-service-index__item h2 { color:var(--wp--preset--color--sport-primary); font-size:clamp(1.45rem,2.3vw,2.25rem); }
.vn-text-link a { font-weight:700; text-decoration:none; }
@media (hover:hover) { .vn-service-index__item:hover { position:relative; z-index:1; background:var(--wp--preset--color--sport-sand); transform:translateY(-4px); } }
.vn-system-page h1 { max-width:18ch; }
.vn-search-result { padding:1.5rem 0; border-bottom:1px solid var(--wp--preset--color--line); }
.js .vn-page-reveal { opacity:0; transform:translateY(2rem); }
.js .vn-page-reveal.is-visible { opacity:1; transform:none; transition:opacity .7s ease,transform .7s cubic-bezier(.22,.68,0,1); }
@media (min-width:1025px) {
	.vn-page-section:nth-of-type(even) .vn-page-section__inner { padding-left:min(12vw,10rem); }
	.vn-page-section:nth-of-type(odd) .vn-page-section__inner { padding-right:min(12vw,10rem); }
}
@media (max-width:1100px) {
	.vn-primary-nav { order:3; width:100%; justify-content:center; }
	.vn-header__inner { row-gap:.65rem; }
	.vn-header__action { margin-left:auto; }
}
@media (max-width:781px) {
	.vn-primary-nav { order:initial; width:auto; margin-left:auto; }
	.vn-header__action .wp-block-button:first-child { display:none; }
	.vn-page-hero { min-height:31rem; }
	.vn-page-section .vn-icon-list { grid-template-columns:1fr; }
	.vn-page-section { padding-block:clamp(3.5rem,10vw,5rem); }
	.vn-service-index__item,.vn-service-index__item:nth-child(4),.vn-service-index__item:nth-child(8) { grid-column:span 6; }
}
@media (max-width:480px) {
	.vn-header__action { display:none!important; }
	.vn-page-hero { min-height:29rem; padding-top:7rem; }
	.vn-page-hero h1 { font-size:clamp(2.45rem,13vw,3.5rem); }
	.vn-page-section__inner > h2 { font-size:clamp(1.9rem,10vw,2.6rem); }
	.vn-price-table,.vn-schedule-table { margin-inline:calc(var(--wp--style--root--padding-right) * -1); border-radius:0; }
	.vn-service-index__item,.vn-service-index__item:nth-child(4),.vn-service-index__item:nth-child(8) { grid-column:1/-1; min-height:0; }
}
@media (prefers-reduced-motion:reduce) { .js .vn-page-reveal { opacity:1; transform:none; } }

/* Complete inside-page compositions. */
.vn-complete-page { overflow:clip; }
.vn-complete-hero { position:relative; isolation:isolate; min-height:clamp(34rem,72vh,48rem); display:grid; align-items:end; margin:0; color:#fff; overflow:hidden; }
.vn-complete-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgb(3 35 43 / .95) 0%,rgb(1 70 73 / .78) 48%,rgb(1 70 73 / .18) 100%); }
.vn-complete-hero::after { content:""; position:absolute; right:-10rem; bottom:-18rem; z-index:-1; width:min(44rem,70vw); aspect-ratio:1; border:1px solid rgb(255 255 255 / .28); border-radius:43% 57% 35% 65%; transform:rotate(-16deg); }
.vn-complete-hero__media { position:absolute; inset:0; z-index:-2; width:100%; height:100%; margin:0; }
.vn-complete-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.vn-complete-hero__content { width:100%; padding:clamp(8rem,14vw,12rem) var(--vn-gutter) clamp(4rem,8vw,7rem); }
.vn-complete-hero h1 { max-width:12ch; margin:.05em 0 .3em; color:#fff; font-size:clamp(3rem,7vw,6.5rem); line-height:.9; letter-spacing:-.06em; text-wrap:balance; }
.vn-page--events h1 { max-width:16ch; font-size:clamp(2.25rem,5vw,4.75rem); overflow-wrap:normal; word-break:normal; hyphens:none; }
.vn-complete-hero__lead { max-width:44rem; margin:0; color:rgb(255 255 255 / .92); font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.5; }
.vn-complete-hero .vn-leaf-ornament { margin-top:1.5rem; color:var(--vn-orange); }
.vn-complete-hero.vn-page--contact::before { background:linear-gradient(90deg,rgb(11 73 77 / .82) 0%,rgb(31 103 96 / .55) 48%,rgb(139 104 200 / .16) 100%); }
.vn-complete-section { margin:0; padding:clamp(4.5rem,9vw,8rem) var(--vn-gutter); }
.vn-complete-intro { position:relative; background:#fff; }
.vn-complete-intro::before { content:""; position:absolute; left:0; top:0; width:clamp(4rem,12vw,12rem); height:.4rem; background:linear-gradient(90deg,var(--vn-orange),var(--vn-teal)); }
.vn-complete-intro__grid { max-width:var(--vn-container); gap:clamp(2.5rem,7vw,7rem); }
.vn-complete-intro h2,.vn-complete-copy h2 { color:var(--vn-petrol); font-size:clamp(2.15rem,4.4vw,4.2rem); line-height:1.02; letter-spacing:-.045em; text-wrap:balance; }
.vn-complete-intro p,.vn-complete-copy > p:not(.vn-section-number) { max-width:48rem; font-size:clamp(1rem,1.3vw,1.15rem); line-height:1.78; }
.vn-intro-aside { position:relative; padding:clamp(2rem,4vw,3.5rem); border-radius:var(--vn-radius-xl,28px); background:var(--vn-sand,#f7f1e9); box-shadow:0 20px 50px rgb(12 43 56 / .1); transform:rotate(2deg); }
.vn-intro-aside::before { content:""; position:absolute; inset:-.75rem auto auto -1rem; width:4rem; height:4rem; border:2px solid var(--vn-orange); border-radius:46% 54% 62% 38%; }
.vn-intro-aside__label { margin:0 0 .6rem; color:var(--vn-orange); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.vn-intro-aside__statement { margin:0; color:var(--vn-ink); font-size:clamp(1.35rem,2.3vw,2rem); font-weight:650; line-height:1.3; }
.vn-complete-story { background:var(--vn-canvas); }
.vn-complete-story:nth-of-type(even) { background:var(--vn-mist); }
.vn-complete-story__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr); gap:clamp(3rem,8vw,8rem); align-items:center; max-width:var(--vn-container); margin-inline:auto; }
.vn-complete-section--reverse .vn-complete-copy { grid-column:2; }
.vn-complete-section--reverse .vn-complete-visual { grid-column:1; grid-row:1; }
.vn-section-number { margin:0 0 .8rem; color:var(--vn-orange); font-size:.8rem; font-weight:700; letter-spacing:.18em; }
.vn-complete-visual { min-width:0; }
.vn-complete-list { list-style:none; margin:0; padding:clamp(1.5rem,3vw,2.75rem); border-radius:28px 8px 28px 8px; background:var(--vn-petrol); color:#fff; box-shadow:0 24px 60px rgb(1 90 94 / .2); }
.vn-complete-list li { position:relative; padding:1rem 1rem 1rem 3rem; border-bottom:1px solid rgb(255 255 255 / .16); font-weight:600; }
.vn-complete-list li:last-child { border-bottom:0; }
.vn-complete-list li::before { content:""; position:absolute; left:.4rem; top:1.1rem; width:1.25rem; height:1.25rem; background-image:var(--vn-list-icon,url("../icons/leaf.svg")); background-position:center; background-size:contain; background-repeat:no-repeat; filter:brightness(0) invert(1); }
.vn-process-list { display:grid; gap:.75rem; }
.vn-process-step { display:grid; grid-template-columns:3rem 1fr; gap:1rem; align-items:center; margin:0; padding:1.1rem 1.35rem; border:1px solid var(--vn-line); border-radius:12px; background:#fff; box-shadow:0 8px 24px rgb(12 43 56 / .06); }
.vn-process-step__number { display:grid; place-items:center; width:3rem; height:3rem; margin:0; border-radius:50%; background:var(--vn-orange); color:#fff; font-weight:700; }
.vn-process-step p:last-child { margin:0; font-weight:600; }
.vn-complete-inline-image { min-height:30rem; margin:0; border-radius:28px 8px 28px 8px; overflow:hidden; box-shadow:0 24px 60px rgb(12 43 56 / .15); }
.vn-complete-inline-image img { width:100%; height:100%; min-height:30rem; object-fit:cover; }
.vn-related-section { margin:0; padding:clamp(3.5rem,7vw,6rem) var(--vn-gutter); background:linear-gradient(180deg,#fff,var(--vn-canvas)); }
.vn-related-card { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:clamp(2rem,6vw,6rem); max-width:70rem; margin:0 auto; padding:clamp(2rem,5vw,4rem); overflow:hidden; border:1px solid rgb(39 197 187 / .28); border-radius:34px 10px 34px 10px; background:linear-gradient(120deg,var(--vn-petrol),#075f60); color:#fff; box-shadow:0 28px 70px rgb(7 31 41 / .16); }
.vn-related-card::after { content:""; position:absolute; z-index:-1; right:-7rem; bottom:-10rem; width:22rem; aspect-ratio:1; border:1px solid rgb(255 255 255 / .2); border-radius:42% 58% 35% 65%; transform:rotate(-18deg); }
.vn-related-card__copy { margin:0; }
.vn-related-card .vn-eyebrow { color:var(--vn-teal); }
.vn-related-card h2 { margin:.1rem 0 .8rem; color:#fff; font-size:clamp(2.1rem,4vw,3.7rem); line-height:1; letter-spacing:-.045em; }
.vn-related-card p:not(.vn-eyebrow) { max-width:44rem; margin:.5rem 0; color:rgb(255 255 255 / .9); font-size:clamp(1rem,1.4vw,1.14rem); line-height:1.65; }
.vn-related-card .vn-related-card__meta { color:var(--vn-teal); font-size:.9rem; font-weight:700; letter-spacing:.02em; }
.vn-related-card .wp-block-buttons { flex-wrap:nowrap; }
.vn-related-card .wp-block-button__link { min-height:50px; white-space:nowrap; background:var(--vn-orange); color:#fff; box-shadow:0 12px 28px rgb(255 100 13 / .22); }
@media (hover:hover) { .vn-related-card .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgb(255 100 13 / .3); } }
.vn-complete-cta .is-style-outline .wp-block-button__link { border-color:#fff; color:#fff; background:transparent; }
@media (max-width:900px) {
	.vn-complete-story__grid { grid-template-columns:1fr; gap:2.5rem; }
	.vn-complete-section--reverse .vn-complete-copy,.vn-complete-section--reverse .vn-complete-visual { grid-column:auto; grid-row:auto; }
	.vn-complete-section--reverse .vn-complete-visual { order:2; }
	.vn-intro-aside { transform:none; }
}
@media (max-width:600px) {
	.vn-complete-hero { min-height:34rem; }
	.vn-complete-hero::before { background:linear-gradient(0deg,rgb(3 35 43 / .96) 0%,rgb(1 70 73 / .72) 62%,rgb(1 70 73 / .18) 100%); }
	.vn-complete-hero h1 { font-size:clamp(2.7rem,14vw,4.1rem); }
	.vn-complete-section { padding-block:4.25rem; }
	.vn-complete-intro__grid { gap:2rem; }
	.vn-complete-inline-image,.vn-complete-inline-image img { min-height:23rem; }
}

/* Offer, pricing, schedule, contact and creations. */
.vn-offer-section,.vn-pricing-section,.vn-schedule-section,.vn-contact-section { margin:0; padding:clamp(4.5rem,9vw,8rem) var(--vn-gutter); background:var(--vn-canvas); }
.vn-offer-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:minmax(22rem,auto); gap:1rem; max-width:1280px; margin-inline:auto; }
.vn-offer-item { position:relative; display:flex; align-items:flex-end; grid-column:span 4; min-height:34rem; margin:0; overflow:hidden; border-radius:28px 8px 28px 8px; isolation:isolate; }
.vn-offer-item:nth-child(1),.vn-offer-item:nth-child(6) { grid-column:span 8; }
.vn-offer-item__media { position:absolute; inset:0; z-index:-2; width:100%; height:100%; margin:0; }
.vn-offer-item__media img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.vn-offer-item::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgb(3 35 43 / .94),rgb(3 35 43 / .08) 75%); }
.vn-offer-item__overlay { position:relative; width:100%; margin-top:auto; padding:clamp(1.4rem,3vw,2.5rem); color:#fff; }
.vn-offer-item h2 { margin:0 0 .45rem; color:#fff; font-size:clamp(1.65rem,2.8vw,2.7rem); overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:balance; }
.vn-offer-item--8 h2 { font-size:clamp(1.6rem,2.1vw,2rem); }
.vn-offer-item--10 { border:1px solid rgb(139 104 200 / .38); box-shadow:0 22px 55px rgb(83 57 128 / .2); }
.vn-offer-item--10::after { background:linear-gradient(0deg,rgb(57 42 89 / .96) 0%,rgb(139 104 200 / .74) 52%,rgb(217 244 237 / .34) 100%); }
.vn-offer-item--10 h2 { font-family:var(--wp--preset--font-family--lora, Lora, serif); font-size:clamp(1.6rem,2.1vw,2.1rem); }
.vn-offer-item--10 .vn-arrow-link a { color:#d9f4ed; }
.vn-offer-item p { margin:.35rem 0; }
.vn-offer-item a { color:#fff; }
@media (hover:hover) { .vn-offer-item:hover .vn-offer-item__media img { transform:scale(1.025); } }
.vn-pricing-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; max-width:1180px; margin-inline:auto; }
.vn-pricing-group { margin:0; padding:clamp(1.5rem,3vw,2.5rem); border-radius:20px; background:#fff; box-shadow:0 16px 45px rgb(12 43 56 / .08); }
.vn-pricing-group:nth-child(4n+1) { border-top:5px solid var(--vn-orange); }
.vn-pricing-context { max-width:900px; margin:clamp(2rem,5vw,4rem) auto 0; padding:clamp(1.5rem,3vw,2.5rem); border-radius:20px; background:#fff; box-shadow:0 16px 45px rgb(12 43 56 / .08); }
.vn-pricing-group:nth-child(4n+2) { border-top:5px solid var(--vn-teal); }
.vn-pricing-group h2 { margin-top:0; color:var(--vn-petrol); }
.vn-price-row { margin:0; padding:.9rem 0; border-bottom:1px solid var(--vn-line); }
.vn-price-row p { margin:0; }
.vn-price-note { max-width:70rem; margin:2rem auto 0; color:var(--vn-muted); font-size:.9rem; }
.vn-schedule-section > .alignwide { max-width:1180px; }
.vn-schedule-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.vn-schedule-details details { margin:0; padding:1.1rem 1.25rem; border:1px solid var(--vn-line); border-radius:12px; background:#fff; }
.vn-schedule-details summary { color:var(--vn-petrol); font-weight:700; cursor:pointer; }
.vn-contact-card { padding:clamp(1.5rem,3vw,2.5rem); border-radius:28px 8px 28px 8px; background:var(--vn-petrol); color:#fff; box-shadow:0 24px 60px rgb(1 90 94 / .18); }
.vn-contact-card h2,.vn-contact-card a { color:#fff; }
.vn-contact-card h2 { font-size:clamp(1.3rem,2.05vw,1.75rem); line-height:1.1; letter-spacing:-.025em; overflow-wrap:normal; word-break:normal; hyphens:none; }
.vn-contact-card .vn-contact-hours__title { margin:1.65rem 0 .7rem; padding-top:1.35rem; border-top:1px solid rgb(255 255 255 / .24); color:#fff; font-size:1rem; letter-spacing:.01em; }
.vn-contact-card .vn-contact-hours { margin:0 0 1.25rem; line-height:1.75; }
.vn-complete-story.vn-photo-panel { background:var(--vn-petrol); }
.vn-complete-story.vn-photo-panel .vn-complete-copy h2,.vn-complete-story.vn-photo-panel .vn-complete-copy p { color:#fff; text-shadow:0 2px 18px rgb(3 35 43 / .28); }
.vn-complete-story.vn-photo-panel .vn-section-number { color:#8de1d8; }
.vn-contact-section.vn-photo-panel > .vn-contact-layout > .wp-block-column:first-child > h2,.vn-contact-section.vn-photo-panel > .vn-contact-layout > .wp-block-column:first-child > p { color:#fff; text-shadow:0 2px 18px rgb(3 35 43 / .3); }
.vn-creations-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr); gap:clamp(2rem,6vw,6rem); align-items:center; min-height:38rem; margin:0; padding:clamp(8rem,13vw,11rem) var(--vn-gutter) clamp(4rem,8vw,7rem); background:linear-gradient(135deg,var(--vn-petrol),#0d7767); color:#fff; }
.vn-creations-hero__content { width:100%; }
.vn-creations-hero h1 { max-width:12ch; color:#fff; font-size:clamp(3rem,7vw,6rem); line-height:.95; letter-spacing:-.055em; }
.vn-creation-placeholder { display:grid; place-items:center; min-height:24rem; padding:2rem; border:1px dashed rgb(255 255 255 / .55); border-radius:43% 57% 38% 62%; background:rgb(255 255 255 / .1); text-align:center; }
@media (max-width:900px) { .vn-offer-item,.vn-offer-item:nth-child(1),.vn-offer-item:nth-child(6) { grid-column:span 6; } .vn-creations-hero { grid-template-columns:1fr; } }
@media (max-width:700px) { .vn-offer-item,.vn-offer-item:nth-child(1),.vn-offer-item:nth-child(6) { grid-column:1/-1; } .vn-pricing-groups,.vn-schedule-details { grid-template-columns:1fr; } .vn-price-row { align-items:flex-start!important; gap:1rem; } }

/* Leerlingbegeleiding subbrand. */
.vn-learning-page { overflow:clip; color:var(--vn-ink); background:#fff; }
.vn-learning-hero { position:relative; margin:0; padding:clamp(7rem,12vw,10rem) var(--vn-gutter) clamp(4rem,8vw,7rem); background:linear-gradient(135deg,#f0faf7 0%,#f6f1fb 56%,#f1f6fc 100%); }
.vn-learning-hero::before,.vn-learning-hero::after { content:""; position:absolute; border-radius:43% 57% 58% 42%; pointer-events:none; }
.vn-learning-hero::before { width:30rem; height:18rem; right:-8rem; top:-6rem; background:rgb(209 164 242 / .18); transform:rotate(18deg); }
.vn-learning-hero::after { width:16rem; height:22rem; left:-7rem; bottom:-8rem; border:1px solid rgb(46 129 123 / .2); }
.vn-learning-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(22rem,.85fr); gap:clamp(3rem,8vw,8rem); align-items:center; max-width:1280px; margin-inline:auto; }
.vn-learning-hero__logo { display:none!important; }
.vn-learning-hero__copy { position:relative; display:flex; min-width:0; flex-direction:column; align-items:flex-start; }
.vn-learning-hero__copy > h1 { order:1; margin-bottom:0; }
.vn-learning-hero__copy > .vn-eyebrow { order:2; margin:.8rem 0 1rem; color:var(--vn-learn-lilac,#8b68c8); }
.vn-learning-hero__copy > .vn-learning-hero__lead { order:3; }
.vn-learning-hero__copy > .vn-cloud-character { order:0; }
.vn-learning-hero h1 { max-width:100%; margin:.1em 0 .35em; color:var(--vn-learn-teal); font-family:var(--wp--preset--font-family--lora); font-size:clamp(2.9rem,4.25vw,4.6rem); line-height:.96; letter-spacing:-.045em; overflow-wrap:normal; word-break:normal; hyphens:none; text-wrap:balance; }
.vn-page-slug-leerlingbegeleiding .vn-learning-hero h1,
.vn-page-slug-onze-begeleidingsvormen .vn-learning-hero h1 { font-size:clamp(2.7rem,3.35vw,3.5rem); }
.vn-learning-hero__lead { max-width:42rem; color:var(--vn-muted); font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.55; }
.vn-learning-hero__photo { min-height:30rem; margin:0; overflow:hidden; border-radius:45% 55% 38% 62%; box-shadow:0 24px 65px rgb(75 73 122 / .16); }
.vn-learning-hero__photo img { width:100%; height:100%; min-height:30rem; object-fit:cover; }
.vn-cloud-character { display:block; width:10.5rem; height:9rem; background-image:var(--vn-cloud-image,url("../../references/leerlingbegeleiding/emoties%20brein.png")); background-repeat:no-repeat; background-size:500% 200%; filter:drop-shadow(0 12px 15px rgb(95 74 142 / .12)); }
.vn-cloud-character--single { background-position:center!important; background-size:contain!important; }
.vn-cloud-character--happy { background-position:0 0; }
.vn-cloud-character--proud { background-position:25% 0; }
.vn-cloud-character--calm { background-position:50% 0; }
.vn-cloud-character--confused { background-position:100% 0; }
.vn-cloud-character--strong { background-position:25% 100%; }
.vn-cloud-character--wink { background-position:100% 100%; }
.vn-learning-hero__copy > .vn-cloud-character { position:relative; left:clamp(-1.5rem,-1.4vw,-.75rem); width:9rem; height:7.75rem; margin:0 0 -.85rem; transform:rotate(-8deg); }
.vn-learning-section { margin:0; padding:clamp(4.5rem,9vw,8rem) var(--vn-gutter); }
.vn-learning-section--mint { background:#f0faf7; }
.vn-learning-section--lilac { background:#f6f1fb; }
.vn-learning-section--blue { background:#f1f6fc; }
.vn-learning-section__inner { max-width:72rem; margin-inline:auto; }
.vn-learning-section h2,.vn-learning-cta h2,.vn-trajectory-card h2 { color:var(--vn-learn-teal); font-family:var(--wp--preset--font-family--lora); font-size:clamp(2.1rem,4vw,3.8rem); line-height:1.08; letter-spacing:-.035em; }
.vn-learning-section__inner > p { max-width:52rem; font-size:clamp(1rem,1.3vw,1.15rem); line-height:1.75; }
.vn-learning-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; max-width:64rem; margin-top:2rem; padding:0; list-style:none; }
.vn-learning-list li { position:relative; min-height:4rem; padding:1.1rem 1.2rem 1.1rem 3.4rem; border:1px solid rgb(109 174 167 / .25); border-radius:20px 8px 20px 8px; background:rgb(255 255 255 / .85); font-weight:600; }
.vn-learning-list li::before { content:""; position:absolute; left:1rem; top:1.15rem; width:1.4rem; height:1.4rem; background-image:var(--vn-list-icon,url("../icons/brain.svg")); background-position:center; background-size:contain; background-repeat:no-repeat; }
.vn-guidance-section { margin:0; padding:clamp(4rem,8vw,7rem) var(--vn-gutter); background:#fff; }
.vn-guidance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem); max-width:1280px; margin-inline:auto; align-items:stretch; }
.vn-guidance-card { --guidance-color:#3a9b78; --guidance-surface:#f0faf7; position:relative; display:flex; flex-direction:column; align-items:center; margin:0; padding:clamp(1.6rem,3vw,2.6rem); overflow:hidden; border:1px solid color-mix(in srgb,var(--guidance-color) 24%,transparent); border-radius:30px 10px 30px 10px; background:linear-gradient(155deg,#fff,var(--guidance-surface)); text-align:center; box-shadow:0 20px 50px rgb(75 73 122 / .09); }
.vn-guidance-card--trajectory { --guidance-color:#8b68c8; --guidance-surface:#f6f1fb; }
.vn-guidance-card--group { --guidance-color:#f28a62; --guidance-surface:#fff3ee; }
.vn-guidance-card__icon { display:grid; place-items:center; width:6.3rem; height:6.3rem; margin:0 auto 1.25rem; border-radius:50%; background:color-mix(in srgb,var(--guidance-color) 12%,#fff); }
.vn-guidance-card__icon img { display:block; width:4rem; height:4rem; object-fit:contain; }
.vn-guidance-card h2 { margin:0; color:var(--vn-learn-teal); font-family:var(--wp--preset--font-family--lora); font-size:clamp(1.65rem,2.3vw,2.25rem); line-height:1.1; }
.vn-guidance-card h2::after { content:""; display:block; width:2.8rem; height:2px; margin:1rem auto; background:var(--guidance-color); }
.vn-guidance-card__description { min-height:6rem; margin:0; color:var(--vn-muted); line-height:1.65; }
.vn-guidance-card__list { width:100%; margin:1.4rem 0 0; padding:1.4rem 0 0; border-top:1px solid color-mix(in srgb,var(--guidance-color) 22%,transparent); list-style:none; text-align:left; }
.vn-guidance-card__list li { position:relative; margin:0; padding:.65rem 0 .65rem 2.15rem; color:var(--vn-ink); font-weight:600; line-height:1.45; }
.vn-guidance-card__list li::before { content:"✓"; position:absolute; left:0; top:.58rem; display:grid; place-items:center; width:1.35rem; height:1.35rem; border:2px solid var(--guidance-color); border-radius:50%; color:var(--guidance-color); font-size:.78rem; font-weight:800; }
.vn-trajectories-section { margin:0; padding:clamp(4rem,8vw,7rem) var(--vn-gutter); background:#fff; }
@media (max-width:960px) and (min-width:701px) { .vn-guidance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .vn-guidance-card:last-child { grid-column:1/-1; max-width:calc(50% - .625rem); width:100%; justify-self:center; } }
.vn-trajectories-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; max-width:1280px; margin-inline:auto; }
.vn-trajectory-card { position:relative; margin:0; padding:clamp(1.5rem,3vw,2.6rem); border:1px solid var(--trajectory-color); border-radius:28px 8px 28px 8px; background:linear-gradient(145deg,#fff,var(--trajectory-surface)); overflow:hidden; }
.vn-trajectory-card--start { --trajectory-color:#3a9b78; --trajectory-surface:#f0faf7; }
.vn-trajectory-card--school { --trajectory-color:#8b68c8; --trajectory-surface:#f6f1fb; }
.vn-trajectory-card--mind { --trajectory-color:#f16b64; --trajectory-surface:#fff2f0; }
.vn-trajectory-card--calm { --trajectory-color:#4f86d8; --trajectory-surface:#f1f6fc; }
.vn-trajectory-card__icon { display:block; width:7rem; height:7rem; margin:0 auto 1.1rem; border:0; border-radius:50%; background:transparent; overflow:hidden; }
.vn-trajectory-card__icon img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; }
.vn-trajectory-card h2 { max-width:none; margin:0; color:var(--trajectory-color); text-align:center; }
.vn-trajectory-card h2::after { content:""; display:block; width:2.8rem; height:2px; margin:.9rem auto; border-radius:999px; background:var(--trajectory-color); }
.vn-trajectory-card__subtitle { max-width:none; min-height:3.2rem; color:var(--trajectory-color); font-weight:700; text-align:center; }
.vn-trajectory-card ol { columns:2; column-gap:2rem; padding-left:1.5rem; }
.vn-trajectory-card li { break-inside:avoid; margin:0 0 .7rem; padding-left:.3rem; }

@media (min-width:1024px) {
	.vn-trajectory-card ol {
		counter-reset:vn-trajectory-step;
		display:grid;
		grid-template-rows:repeat(5, auto);
		grid-auto-flow:column;
		grid-auto-columns:minmax(0, 1fr);
		gap:.7rem .8rem;
		margin:1.5rem 0 0;
		padding:0;
		list-style:none;
	}

	.vn-trajectory-card li {
		counter-increment:vn-trajectory-step;
		display:grid;
		grid-template-columns:2rem minmax(0, 1fr);
		align-items:center;
		gap:.65rem;
		min-height:3.7rem;
		margin:0;
		padding:.7rem .8rem;
		border:1px solid color-mix(in srgb, var(--trajectory-color) 20%, transparent);
		border-radius:14px 5px 14px 5px;
		background:color-mix(in srgb, var(--trajectory-color) 7%, #fff);
		color:#173f49;
		font-size:.92rem;
		font-weight:600;
		line-height:1.4;
	}

	.vn-trajectory-card li::before {
		content:counter(vn-trajectory-step, decimal-leading-zero);
		display:grid;
		place-items:center;
		width:2rem;
		height:2rem;
		border-radius:50%;
		background:var(--trajectory-color);
		color:#fff;
		font-size:.7rem;
		font-weight:800;
		line-height:1;
		letter-spacing:.03em;
	}

	.vn-trajectory-card__subtitle + p {
		margin:1rem 0 0;
		padding:.8rem 1rem;
		border-left:3px solid var(--trajectory-color);
		border-radius:0 12px 12px 0;
		background:rgba(255,255,255,.68);
		color:#173f49;
		line-height:1.55;
	}

	.vn-trajectory-card__subtitle + p strong {
		color:var(--trajectory-color);
	}
}
.vn-learning-cta {
	margin:0;
	padding:clamp(4rem,8vw,7rem) var(--vn-gutter);
	background:#fff;
}
.vn-learning-cta__inner {
	position:relative;
	display:grid;
	grid-template-columns:clamp(9rem,14vw,11.5rem) minmax(0,1fr);
	gap:clamp(1.5rem,4vw,3.5rem);
	align-items:center;
	max-width:80rem;
	margin-inline:auto;
	padding:clamp(1.75rem,3.8vw,3rem) clamp(1.75rem,4.5vw,4rem);
	overflow:hidden;
	border:1px solid rgb(139 104 200 / .14);
	border-radius:28px;
	background:
		radial-gradient(circle at 12% 12%,rgb(255 255 255 / .84) 0 6rem,transparent 6.1rem),
		linear-gradient(105deg,#dff5ee 0%,#e8f4f7 48%,#e9ddf6 100%);
	box-shadow:0 24px 60px rgb(75 73 122 / .13);
}
.vn-learning-cta__inner::after {
	content:"";
	position:absolute;
	right:-1.25rem;
	bottom:-2.4rem;
	width:12rem;
	height:8rem;
	opacity:.28;
	background:url("../icons/leaf.svg") right bottom/contain no-repeat;
	transform:rotate(-12deg);
	pointer-events:none;
}
.vn-learning-cta__inner > .wp-block-group {
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	column-gap:clamp(1.5rem,4vw,3.5rem);
	align-items:center;
}
.vn-learning-cta__inner > .wp-block-group > :not(.wp-block-buttons) { grid-column:1; }
.vn-learning-cta__inner > .wp-block-group > .wp-block-buttons {
	grid-column:2;
	grid-row:1 / span 3;
	align-self:center;
	margin:0;
}
.vn-learning-cta h2 {
	max-width:16ch;
	margin:.1rem 0 .55rem;
	font-size:clamp(2rem,3.35vw,3.35rem);
}
.vn-learning-cta__inner > .wp-block-group > p:not(.vn-handwritten) {
	max-width:42rem;
	margin:.25rem 0 0;
}
.vn-learning-cta .wp-block-button__link {
	position:relative;
	z-index:2;
	white-space:nowrap;
	background:var(--vn-learn-teal);
}
.vn-learning-cta .vn-cloud-character--wink {
	position:relative;
	z-index:1;
	width:clamp(9rem,14vw,11.5rem);
	height:clamp(8rem,12.5vw,10.25rem);
	margin:0;
	background-size:500% auto;
	background-position:100% 74%;
	filter:drop-shadow(0 12px 16px rgb(95 74 142 / .16));
}
.vn-learning-cta .vn-cloud-character--wink::before {
	content:"";
	position:absolute;
	z-index:-1;
	inset:-12% -10% -18%;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 118' fill='none' stroke='%234c3279' stroke-width='5.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 62c-8 1-13 8-17 4m89-4c8 1 13 8 17 4M45 91c0 9-4 13-10 14m40-14c0 9 4 13 10 14'/%3E%3Cpath d='m8 66-3-3m3 3-4 1m108-1 3-3m-3 3 4 1'/%3E%3C/svg%3E") center/100% 100% no-repeat;
	pointer-events:none;
}
.vn-handwritten { margin:0; color:var(--vn-learn-lilac); font-family:var(--wp--preset--font-family--caveat); font-size:clamp(1.5rem,3vw,2.35rem); }
@media (max-width:900px) { .vn-learning-hero__grid { grid-template-columns:1fr; } .vn-learning-hero__photo { min-height:24rem; } .vn-learning-hero__photo img { min-height:24rem; } }
@media (max-width:700px) { .vn-learning-list,.vn-trajectories-grid { grid-template-columns:1fr; } .vn-trajectory-card ol { columns:1; } .vn-learning-cta__inner { grid-template-columns:1fr; text-align:center; } .vn-learning-cta .vn-cloud-character { margin-inline:auto; } }

/* Single-line headers and dedicated Leerlingbegeleiding navigation. */
.vn-header__inner {
	display:flex!important;
	flex-wrap:nowrap!important;
	align-items:center;
}

.vn-header:not(.vn-learning-header) .vn-header__inner {
	width:min(100%,1480px);
	max-width:1480px;
}

.vn-header .vn-primary-nav {
	flex:1 1 auto;
	min-width:0;
	font-size:clamp(.79rem,.82vw,.9rem);
}

.vn-header .vn-primary-nav .wp-block-navigation__container {
	gap:clamp(.7rem,1vw,1.15rem);
	flex-wrap:nowrap!important;
}

.vn-header .vn-primary-nav .wp-block-navigation-item__content {
	white-space:nowrap;
}

.vn-header__action,
.vn-header__action.wp-block-buttons {
	display:flex;
	flex:0 0 auto;
	flex-wrap:nowrap!important;
	margin:0;
}

.vn-header__action .wp-block-button__link {
	display:inline-flex;
	align-items:center;
	min-height:40px;
	height:40px;
	padding-block:0;
	padding-inline:clamp(.85rem,1.15vw,1.15rem);
	white-space:nowrap;
}

.vn-header-socials {
	display:flex;
	flex:0 0 auto;
	flex-wrap:nowrap!important;
	gap:8px;
	margin:0;
}

.vn-header-socials .wp-social-link {
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	margin:0;
	background:var(--vn-action, #015a5e)!important;
	border-radius:10px;
	font-size:18px;
	transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;
}

.vn-header-socials .wp-social-link > a {
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	padding:0;
	line-height:0;
}

.vn-header-socials .wp-social-link svg {
	display:block;
	flex:0 0 20px;
	width:20px;
	height:20px;
	margin:0;
}

.vn-header-socials .wp-social-link:nth-child(2) {
	background:var(--vn-orange, #f26a2e)!important;
}

.vn-header-socials .wp-social-link:hover,
.vn-header-socials .wp-social-link:focus-within {
	background:var(--vn-action-hover, #0d7767)!important;
	box-shadow:0 8px 20px rgb(1 90 94 / .2);
	transform:translateY(-2px);
}

.vn-header-socials .wp-social-link:nth-child(2):hover,
.vn-header-socials .wp-social-link:nth-child(2):focus-within {
	background:#d95720!important;
}

.vn-learning-header {
	color:#174f54;
	background:rgb(255 255 255 / .97);
	border-bottom-color:rgb(139 104 200 / .22);
	box-shadow:0 10px 35px rgb(74 67 119 / .07);
}

.vn-learning-header .vn-learning-header__inner {
	width:min(100%,1480px);
	max-width:1480px;
	min-height:88px;
	gap:clamp(.75rem,1.7vw,1.6rem);
}

.vn-learning-header__logo {
	width:clamp(220px,19vw,286px);
}

.vn-learning-nav {
	font-size:clamp(.76rem,.8vw,.9rem);
	font-weight:650;
}

.vn-learning-nav .wp-block-navigation__container {
	gap:clamp(.75rem,1.25vw,1.4rem);
	flex-wrap:nowrap;
}

.vn-learning-nav .wp-block-navigation-item__content {
	color:#174f54;
	white-space:nowrap;
}

.vn-learning-nav .wp-block-navigation-item__content::after {
	background:linear-gradient(90deg,#78cdb8,#a982d0);
}

.vn-learning-socials {
	flex:0 0 auto;
	gap:.42rem;
	margin:0;
}

.vn-learning-socials .wp-social-link {
	display:grid!important;
	width:40px!important;
	height:40px!important;
	padding:0!important;
	place-items:center;
	border-radius:50%!important;
	background:#8b68c8!important;
	transition:background-color .2s ease,transform .2s ease;
}

.vn-learning-socials .wp-social-link > a {
	display:grid!important;
	width:100%!important;
	height:100%!important;
	padding:0!important;
	place-items:center;
}

.vn-learning-socials .wp-social-link svg {
	display:block;
	width:19px!important;
	height:19px!important;
	margin:0!important;
}

.vn-learning-socials .wp-social-link:hover,
.vn-learning-socials .wp-social-link:focus-within {
	background:#2e817b!important;
	transform:translateY(-2px);
}

@media (min-width:1101px) and (max-width:1320px) {
	.vn-header__inner {
		display:flex!important;
		grid-template-columns:none;
		gap:clamp(.65rem,1.2vw,1.1rem);
	}

	.vn-header .vn-brand-logo {
		width:clamp(178px,14.5vw,205px);
	}

	.vn-header .vn-primary-nav {
		grid-row:auto;
		grid-column:auto;
		justify-self:auto;
		overflow:visible;
		font-size:.78rem;
	}

	.vn-header .vn-primary-nav .wp-block-navigation__container {
		gap:clamp(.5rem,.7vw,.72rem);
		justify-content:center;
	}

	.vn-header__action .wp-block-button__link {
		padding:10px 11px;
		font-size:.78rem;
	}

	.vn-header-socials {
		gap:8px;
	}

	.vn-header-socials .wp-social-link {
		width:40px;
		height:40px;
		border-radius:10px;
		font-size:18px;
	}

	.vn-learning-header__logo {
		width:clamp(205px,17vw,245px)!important;
	}
}

@media (max-width:1100px) {
	.vn-header__inner,
	.vn-learning-header__inner {
		display:flex!important;
		grid-template-columns:none;
		flex-wrap:nowrap!important;
		gap:.75rem;
	}

	.vn-header .vn-primary-nav {
		order:initial;
		grid-row:auto;
		grid-column:auto;
		flex:0 0 auto;
		width:auto;
		margin:0 0 0 auto;
		padding:0;
		overflow:visible;
	}

	.vn-header .vn-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display:none!important;
	}

	.vn-header .vn-primary-nav .wp-block-navigation__responsive-container-open {
		display:flex!important;
		align-items:center;
		justify-content:center;
		width:42px;
		height:42px;
		color:var(--vn-petrol);
		border:1px solid rgb(1 90 94 / .18);
		border-radius:999px;
	}

	.vn-header .vn-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		display:flex!important;
	}

	.vn-learning-header .vn-primary-nav .wp-block-navigation__responsive-container-open {
		color:#174f54;
		background:#f0faf7;
		border-color:rgb(139 104 200 / .25);
	}

	.vn-learning-header__logo {
		width:clamp(190px,32vw,240px);
	}
}

@media (max-width:600px) {
	.vn-header-socials {
		display:none!important;
	}

	.vn-learning-header {
		padding-inline:clamp(.75rem,4vw,1.15rem);
	}

	.vn-learning-header__inner {
		min-height:74px;
		gap:.45rem;
		padding-block:.55rem;
	}

	.vn-learning-header__logo {
		width:clamp(145px,41vw,185px);
	}

	.vn-learning-socials {
		gap:.2rem;
	}

	.vn-learning-socials .wp-social-link {
		font-size:11px;
	}

	.vn-learning-header .vn-primary-nav .wp-block-navigation__responsive-container-open {
		width:36px;
		height:36px;
	}
}

@media (prefers-reduced-motion:reduce) {
	.vn-learning-socials .wp-social-link,
	.vn-header-socials .wp-social-link {
		transition:none;
	}
}

/* Weekly schedule tabs */
.vn-schedule-section {
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 92% 8%,rgb(226 115 51 / .13),transparent 24rem),
		linear-gradient(180deg,#f8f5ee 0%,#f1f7f5 100%);
}

.vn-schedule-section::before {
	position:absolute;
	top:clamp(2rem,6vw,5rem);
	right:clamp(-4rem,-2vw,-1rem);
	width:clamp(10rem,18vw,16rem);
	aspect-ratio:1;
	border:1px solid rgb(1 90 94 / .14);
	border-radius:50%;
	content:"";
	pointer-events:none;
}

.vn-schedule-tabs {
	position:relative;
	z-index:1;
	max-width:1180px;
}

.vn-schedule-intro {
	max-width:720px;
	margin:0 0 clamp(1.75rem,4vw,3rem);
}

.vn-schedule-intro .vn-eyebrow {
	margin-bottom:.7rem;
	color:var(--vn-orange);
}

.vn-schedule-intro h2 {
	margin:0 0 .8rem;
	color:var(--vn-petrol);
	font-size:clamp(2rem,4vw,3.5rem);
	line-height:1.02;
}

.vn-schedule-intro > p:last-child {
	max-width:650px;
	margin:0;
	color:rgb(12 43 56 / .78);
	font-size:clamp(1rem,1.6vw,1.12rem);
}

.vn-schedule-tablist.wp-block-buttons {
	display:flex;
	flex-wrap:nowrap;
	gap:.55rem;
	width:100%;
	margin:0;
	padding:.35rem .1rem .8rem;
	overflow-x:auto;
	scrollbar-width:thin;
	scrollbar-color:rgb(1 90 94 / .3) transparent;
	-webkit-overflow-scrolling:touch;
}

.vn-schedule-tab {
	flex:0 0 auto;
}

.vn-schedule-tab .wp-block-button__link {
	min-height:46px;
	padding:.72rem 1.12rem;
	border:1px solid rgb(1 90 94 / .18);
	border-radius:999px;
	background:rgb(255 255 255 / .76);
	box-shadow:none;
	color:var(--vn-petrol);
	font-size:.91rem;
	font-weight:750;
	line-height:1;
	white-space:nowrap;
	transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.vn-schedule-tab .wp-block-button__link:hover,
.vn-schedule-tab .wp-block-button__link:focus-visible {
	border-color:var(--vn-petrol);
	background:#fff;
	color:var(--vn-petrol);
	transform:translateY(-1px);
}

.vn-schedule-tab .wp-block-button__link[aria-selected="true"] {
	border-color:var(--vn-petrol);
	background:var(--vn-petrol);
	box-shadow:0 10px 24px rgb(1 90 94 / .2);
	color:#fff;
}

.vn-schedule-panel {
	margin-top:clamp(1.3rem,3vw,2.2rem);
}

.vn-schedule-panel[hidden] {
	display:none!important;
}

.vn-schedule-panel__heading {
	gap:1rem;
	margin-bottom:1rem;
	padding:0 .15rem;
}

.vn-schedule-panel__heading h2 {
	margin:0;
	color:var(--vn-petrol);
	font-size:clamp(1.45rem,2.6vw,2.05rem);
}

.vn-schedule-panel__heading p {
	margin:0;
	padding:.38rem .72rem;
	border-radius:999px;
	background:rgb(1 90 94 / .08);
	color:var(--vn-petrol);
	font-size:.78rem;
	font-weight:750;
	letter-spacing:.04em;
	text-transform:uppercase;
}

.vn-schedule-panel__cards {
	display:grid;
	gap:.9rem;
}

.vn-schedule-card {
	display:grid;
	grid-template-columns:clamp(118px,14vw,168px) minmax(0,1fr) auto;
	gap:clamp(1rem,2.2vw,1.65rem);
	align-items:center;
	min-height:142px;
	margin:0;
	padding:.75rem clamp(.75rem,1.5vw,1rem) .75rem .75rem;
	overflow:hidden;
	border:1px solid rgb(1 90 94 / .12);
	border-radius:22px;
	background:rgb(255 255 255 / .9);
	box-shadow:0 14px 38px rgb(12 43 56 / .08);
	backdrop-filter:blur(8px);
}

.vn-schedule-card__media {
	width:100%;
	height:100%;
	min-height:118px;
	margin:0!important;
	overflow:hidden;
	border-radius:15px;
}

.vn-schedule-card__media img {
	display:block;
	width:100%;
	height:100%;
	min-height:118px;
	aspect-ratio:4/3;
	object-fit:cover;
}

.vn-schedule-card__content {
	min-width:0;
	margin:0!important;
}

.vn-schedule-card__time {
	display:inline-flex;
	margin:0 0 .45rem!important;
	padding:.32rem .62rem;
	border-radius:999px;
	background:#fff2e9;
	color:#a94616;
	font-size:.79rem;
	font-weight:800;
	letter-spacing:.035em;
}

.vn-schedule-card__content h3 {
	margin:0 0 .35rem;
	color:var(--vn-petrol);
	font-size:clamp(1.1rem,2vw,1.38rem);
	line-height:1.15;
}

.vn-schedule-card__content > p:last-child {
	max-width:680px;
	margin:0;
	color:rgb(12 43 56 / .78);
	font-size:.94rem;
	line-height:1.52;
}

.vn-schedule-card__actions {
	justify-content:flex-end;
	margin:0!important;
}

.vn-schedule-card__actions .wp-block-button__link {
	min-height:44px;
	padding:.72rem 1rem;
	border-radius:999px;
	background:var(--vn-orange);
	box-shadow:none;
	font-size:.86rem;
	font-weight:750;
	white-space:nowrap;
}

.vn-schedule-card__actions .wp-block-button__link:hover,
.vn-schedule-card__actions .wp-block-button__link:focus-visible {
	background:var(--vn-petrol);
	color:#fff;
}

.vn-schedule-note {
	margin:clamp(1.5rem,3vw,2.25rem) 0 0!important;
	padding:1rem 1.15rem 1rem 1.3rem;
	border-left:4px solid var(--vn-orange);
	border-radius:0 12px 12px 0;
	background:rgb(255 255 255 / .62);
	color:rgb(12 43 56 / .78);
	font-size:.92rem;
}

@media (max-width:780px) {
	.vn-schedule-tablist.wp-block-buttons {
		display:grid;
		grid-template-columns:repeat(7,minmax(0,1fr));
		gap:.35rem;
		overflow:visible;
		scrollbar-width:none;
	}

	.vn-schedule-tab {
		width:100%;
		min-width:0;
	}

	.vn-schedule-tab .wp-block-button__link {
		display:flex;
		width:100%;
		min-width:0;
		min-height:42px;
		padding:.55rem .15rem;
		align-items:center;
		justify-content:center;
		font-size:0;
	}

	.vn-schedule-tab .wp-block-button__link::after {
		font-size:.8rem;
		font-weight:800;
		letter-spacing:.02em;
		line-height:1;
	}

	.vn-schedule-tab:nth-child(1) .wp-block-button__link::after { content:"ma"; }
	.vn-schedule-tab:nth-child(2) .wp-block-button__link::after { content:"di"; }
	.vn-schedule-tab:nth-child(3) .wp-block-button__link::after { content:"wo"; }
	.vn-schedule-tab:nth-child(4) .wp-block-button__link::after { content:"do"; }
	.vn-schedule-tab:nth-child(5) .wp-block-button__link::after { content:"vr"; }
	.vn-schedule-tab:nth-child(6) .wp-block-button__link::after { content:"za"; }
	.vn-schedule-tab:nth-child(7) .wp-block-button__link::after { content:"zo"; }

	.vn-schedule-card {
		grid-template-columns:112px minmax(0,1fr);
	}

	.vn-schedule-card__actions {
		grid-column:2;
		justify-content:flex-start;
	}
}

@media (max-width:520px) {
	.vn-schedule-section {
		padding-inline:var(--vn-mobile-gutter)!important;
	}

	.vn-schedule-tablist.wp-block-buttons {
		margin-inline:calc(var(--vn-mobile-gutter) * -1);
		width:calc(100% + (var(--vn-mobile-gutter) * 2));
		gap:.25rem;
		padding-inline:var(--vn-mobile-gutter);
	}

	.vn-schedule-tab .wp-block-button__link {
		min-height:44px;
		padding:.55rem .1rem;
		font-size:0;
	}

	.vn-schedule-card {
		grid-template-columns:88px minmax(0,1fr);
		gap:.85rem;
		padding:.65rem;
		border-radius:17px;
	}

	.vn-schedule-card__media,
	.vn-schedule-card__media img {
		min-height:88px;
	}

	.vn-schedule-card__media {
		align-self:start;
	}

	.vn-schedule-card__content > p:last-child {
		font-size:.88rem;
	}

	.vn-schedule-card__actions {
		grid-column:1/-1;
	}

	.vn-schedule-card__actions .wp-block-button,
	.vn-schedule-card__actions .wp-block-button__link {
		width:100%;
	}

	.vn-schedule-card__actions .wp-block-button__link {
		display:flex;
		align-items:center;
		justify-content:center;
	}
}

@media (prefers-reduced-motion:reduce) {
	.vn-schedule-tab .wp-block-button__link {
		transition:none;
	}
}
