/* ══════════════════════════════════════════════════════════════════════════
   PIERCING WORD — HOMEPAGE SUPPORT LAYER
   Layout, colour and type now live in the Elementor elements themselves.
   This file only carries what Elementor has no control for:
     · the legacy hero container's type + buttons
     · stage-light beams behind the Script moment
     · the word-cycle transition
     · photo-card scrim + hover
     · the events list on a deep ground
   ══════════════════════════════════════════════════════════════════════════ */

/* ── HERO (legacy container, background video) ──────────────────────────── */
.pw-home-hero{position:relative;overflow:hidden}
.pw-home-hero .pw-hero-ey{
  font-family:'Archivo',sans-serif;font-weight:900;font-stretch:125%;text-transform:uppercase;
  letter-spacing:.2em;font-size:clamp(10px,1.05vw,13px);color:#F0603F;margin:0;
}
.pw-home-hero .pw-hero-h1{
  font-family:'Gloock',serif;font-weight:400;color:#fff;
  font-size:clamp(38px,5.9vw,80px);line-height:1;letter-spacing:-.012em;margin:0;
}
.pw-home-hero .pw-hero-tl{
  font-family:'Gloock',serif;font-style:italic;color:#E9E9F8;
  font-size:clamp(17px,1.8vw,25px);margin:0;
}
.pw-home-hero .pw-hero-btn .elementor-button{
  font-family:'Archivo',sans-serif;font-weight:900;font-stretch:125%;text-transform:uppercase;
  letter-spacing:.14em;font-size:12px;padding:16px 30px;border-radius:4px;border:1.5px solid transparent;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s cubic-bezier(.22,.61,.36,1),background-color .28s;
}
.pw-home-hero .pw-hero-btn--coral .elementor-button{background:#F0603F;color:#fff}
.pw-home-hero .pw-hero-btn--ghost .elementor-button{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.pw-home-hero .pw-hero-btn--ghost .elementor-button:hover{background:rgba(255,255,255,.1)}
@media(hover:hover){.pw-home-hero .pw-hero-btn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(11,12,42,.34)}}
/* grain keeps the overlay gradient from banding on wide screens */
.pw-home-hero::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.15;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.pw-home-hero>.e-con-inner,.pw-home-hero>.elementor-widget-wrap{position:relative;z-index:2}

/* ── STAGE BEAMS behind the Script moment ──────────────────────────────── */
.pw-beams-bg::before,.pw-beams-bg::after{
  content:'';position:absolute;top:-12%;height:130%;width:36vw;pointer-events:none;z-index:0;
  background:linear-gradient(180deg,rgba(233,233,248,.15),rgba(233,233,248,0) 72%);
  clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);filter:blur(2px);
}
.pw-beams-bg::before{left:4%;transform:rotate(-9deg)}
.pw-beams-bg::after{right:5%;transform:rotate(9deg);opacity:.66}

/* ── WORD CYCLE ─────────────────────────────────────────────────────────── */
.pw-word-cycle{display:flex;align-items:center;justify-content:center}
.pw-word-cycle .pw-w{display:inline-block;animation:pw-word 560ms cubic-bezier(.22,.61,.36,1) both}
@keyframes pw-word{
  from{opacity:0;transform:translateY(.3em);clip-path:inset(0 0 100% 0)}
  to{opacity:1;transform:none;clip-path:inset(0 0 -10% 0)}
}

/* ── PHOTO CARDS (Current Season) ──────────────────────────────────────── */
.pw-photocard{position:relative}
.pw-photocard::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:14px;
  background:linear-gradient(0deg,rgba(11,12,42,.92),rgba(11,12,42,.45) 36%,transparent 68%);
}
.pw-photocard img{transition:transform .7s cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){.pw-photocard:hover img{transform:scale(1.06)}}

/* ── EVENTS LIST on the deep ground ────────────────────────────────────── */
.pw-events-dark .pw-ev-row{border-block-end:1px solid rgba(255,255,255,.14)}
.pw-events-dark .pw-ev-title{color:#fff}
.pw-events-dark .pw-ev-meta{color:rgba(255,255,255,.66)}
.pw-events-dark .pw-ev-date{background:rgba(255,255,255,.08)}
.pw-events-dark .pw-ev-dow{color:#C7CAF2}
.pw-events-dark .pw-ev-day{color:#fff}
.pw-events-dark .pw-ev-mon{color:rgba(255,255,255,.6)}
.pw-events-dark .pw-ev-free{color:rgba(255,255,255,.62);border-color:rgba(255,255,255,.26)}
.pw-events-dark .pw-ev-month{display:none}
.pw-events-dark .pw-ev-empty{background:rgba(255,255,255,.06);color:rgba(255,255,255,.72)}

/* ── VIDEO LIGHTBOX ─────────────────────────────────────────────────────── */
.pw-lb{position:fixed;inset:0;z-index:99999;background:rgba(6,7,24,.94);display:flex;align-items:center;justify-content:center;padding:4vmin;opacity:0;transition:opacity .3s ease}
.pw-lb.is-on{opacity:1}
.pw-lb__frame{position:relative;width:min(1200px,100%);aspect-ratio:16/9}
.pw-lb iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:10px}
.pw-lb__x{position:absolute;top:-46px;right:0;width:38px;height:38px;background:none;border:0;cursor:pointer}
.pw-lb__x::before,.pw-lb__x::after{content:'';position:absolute;left:8px;top:18px;width:22px;height:2px;background:#fff}
.pw-lb__x::before{transform:rotate(45deg)}.pw-lb__x::after{transform:rotate(-45deg)}

/* ── CARD LIFTS ─────────────────────────────────────────────────────────── */
.elementor-page .s-pcA,.elementor-page .s-pcB,.elementor-page .s-pcC,
.elementor-page .s-prodmark,.elementor-page .s-prodadv,.elementor-page .s-prodone{
  transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s cubic-bezier(.22,.61,.36,1);
}
@media(hover:hover){
  .elementor-page .s-pcA:hover,.elementor-page .s-pcB:hover,.elementor-page .s-pcC:hover,
  .elementor-page .s-prodmark:hover,.elementor-page .s-prodadv:hover,.elementor-page .s-prodone:hover{
    transform:translateY(-5px);box-shadow:0 24px 52px rgba(11,12,42,.24);
  }
}

@media(max-width:767px){
  .pw-home-hero{min-height:92svh}
  .pw-home-hero .pw-hero-btn .elementor-button{width:100%;justify-content:center}
  .pw-beams-bg::before,.pw-beams-bg::after{width:60vw}
}
@media(prefers-reduced-motion:reduce){
  .pw-word-cycle .pw-w{animation:none}
  .pw-photocard img{transition:none}
}

/* ══════════════════════════════════════════════════════════════════════════
   HERO / MISSION CORRECTIONS
   Legacy widgets put the text in an inner .elementor-heading-title, so the
   earlier rules were styling the wrapper and the type fell back to defaults.
   ══════════════════════════════════════════════════════════════════════════ */
.pw-home-hero .pw-hero-ey .elementor-heading-title{
  font-family:'Archivo',sans-serif!important;font-weight:900!important;font-stretch:125%;
  text-transform:uppercase;letter-spacing:.2em;font-size:clamp(10px,1.05vw,13px)!important;
  color:#F0603F!important;margin:0 0 6px;
}
.pw-home-hero .pw-hero-h1 .elementor-heading-title{
  font-family:'Gloock',serif!important;font-weight:400!important;color:#fff!important;
  font-size:clamp(38px,5.6vw,78px)!important;line-height:1.02!important;letter-spacing:-.012em;
  margin:0;max-width:14ch;
}
.pw-home-hero .pw-hero-tl .elementor-heading-title{
  font-family:'Gloock',serif!important;font-style:italic!important;color:#E9E9F8!important;
  font-size:clamp(17px,1.75vw,25px)!important;margin:8px 0 6px;font-weight:400!important;
}

/* the ghost CTA was losing to Elementor's global button colour */
.pw-home-hero .pw-hero-btn--ghost .elementor-button,
.pw-home-hero .pw-hero-btn--ghost .elementor-button:visited{
  background:transparent!important;background-color:transparent!important;
  border:1.5px solid rgba(255,255,255,.6)!important;color:#fff!important;
}
.pw-home-hero .pw-hero-btn--ghost .elementor-button:hover{background:rgba(255,255,255,.12)!important}
.pw-home-hero .pw-hero-btn--coral .elementor-button{background-color:#F0603F!important;color:#fff!important;border-color:transparent!important}

/* ── SCROLL CUE ─────────────────────────────────────────────────────────── */
.pw-home-hero{position:relative}
.pw-scroll-cue{position:absolute;left:0;right:0;bottom:22px;z-index:3;pointer-events:none;text-align:center}
.pw-scroll-cue .elementor-heading-title{
  font-family:'Archivo',sans-serif!important;font-weight:700!important;font-stretch:125%;
  text-transform:uppercase;letter-spacing:.2em;font-size:11px!important;
  color:rgba(255,255,255,.6)!important;margin:0;display:inline-block;
  animation:pw-cue 2.4s cubic-bezier(.22,.61,.36,1) infinite;
}
@keyframes pw-cue{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(5px);opacity:1}}

/* ── SECTION DIVIDER (thin rule + centred diamond) ─────────────────────── */
.pw-div{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:14px;width:100%;margin-block-end:22px}
.pw-div-ln{flex:1 1 0;height:1.5px;max-width:170px;background:#232993;padding:0}
.pw-div-dia{width:11px;height:11px;min-width:11px;min-height:11px;background:#F0603F;transform:rotate(45deg);padding:0;flex:none}
.pw-div--dark .pw-div-ln{background:rgba(255,255,255,.34)}

/* ── MISSION highlight ──────────────────────────────────────────────────── */
.s-missionq .pw-hl,.pw-hl{font-style:italic;color:#232993}

@media(max-width:767px){
  .pw-scroll-cue{display:none}
  .pw-div-ln{max-width:90px}
}
@media(prefers-reduced-motion:reduce){
  .pw-scroll-cue .elementor-heading-title{animation:none}
}


/* ══════════════════════════════════════════════════════════════════════════
   PATHWAY / SEASON / PROOF CORRECTIONS
   RULE: cream and lavender never sit directly on each other (card on section
   or section on section) — they mush together. Break them with white, indigo
   or a dark ground.
   ══════════════════════════════════════════════════════════════════════════ */
:root{--burst:url('data:image/svg+xml,%3Csvg%20id=%22Layer_1%22%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20viewBox=%220%200%201111.5%20701.4%22%3E%20%3Cg%20id=%22FYcNVG%22%3E%20%3Cg%3E%20%3Cpath%20d=%22M556.9,699.1c-6.6-16.6-1.3-34.5-3.8-52.8L535.9,0l39.5.3-18.5,698.9Z%22/%3E%20%3Cpath%20d=%22M645.4,624.1l-35.6,49.4c-.7,1-1,1.5-1.9,1.9s-2.9-1.3-1.9-2.9l36.2-55.6,102.5-157.4,131.7-202.1,24.2-37.3,27.5,18.7-34.1,46-91.2,125-157.4,214.4Z%22/%3E%20%3Cpath%20d=%22M503.5,676.3L183.9,239.4l26.5-19.7,294.8,453.4c.2.8-1,2.5-1.7,3.1Z%22/%3E%20%3Cpath%20d=%22M509.9,592c0,2.9-2.7,2.8-3.3,2.2-.9-.8-.2-3.9-.8-5.8l-138.9-424.7,27.5-9.2,115.5,437.5Z%22/%3E%20%3Cpath%20d=%22M744.6,163.8l-142.4,429.4c34-148.3,76.3-292.1,114.4-438.9,9.9,2.6,18.4,4.8,28,9.5Z%22/%3E%20%3Cpolygon%20points=%221008.3%20416.2%20700.5%20633.6%20697%20631.8%20991.4%20393.6%201008.3%20416.2%22/%3E%20%3Cpath%20d=%22M418.5,638.9L102.9,416.3l16.1-23.3,301.4,243.8c-.9.4-1.5,1.2-1.9,2Z%22/%3E%20%3Cpath%20d=%22M1111.5,552.3l-282.8,66.6c-1.6.4-3.2-.4-3.4-2.4l278-91.7,8.3,27.5Z%22/%3E%20%3Cpolygon%20points=%22289.8%20620.1%200%20552.4%207.5%20524.9%20213.7%20592.7%20291.2%20618.2%20289.8%20620.1%22/%3E%20%3Cpath%20d=%22M432.5,493l-100.4-188.7c5.1-4.9,11.3-7.2,18.4-9.2l84,195.8c.7,1.7-1.1,2.2-2,2.1Z%22/%3E%20%3Cpath%20d=%22M508.9,458.1l-26.9-136.6-17.8-93.4c6.3-2.6,12.1-3,19.5-3.1l13.5,113.3,13.5,117c.1.9-.6,2.4-1.8,2.8Z%22/%3E%20%3Cpath%20d=%22M684,481.5c-1.3,2.4-4.5.8-3.6-1.3l80.7-185.2c6.6,1.6,11.6,4.4,18.5,8.4l-95.6,178.2Z%22/%3E%20%3Cpath%20d=%22M638.3,275.5l-33.5,163c-.5-1.2-.9-2.2-1.6-2.6l20.7-175.9c4.9-.8,10.9-1,14.9,1.7,2.1,2.8.4,8.9-.6,13.8Z%22/%3E%20%3Cpath%20d=%22M347.7,528.9l-58.7-55c-10.8-10.1-20-20.5-32-29.6l10.9-10.6,34.9,39.4,47.7,54.7c-.7.6-1.8.9-2.8,1.1Z%22/%3E%20%3Cpath%20d=%22M783.6,509.1c-7.3,6.8-12.6,14.1-21.6,19.8-.5-6.8,5.6-10.1,9.7-14.8l70.8-80.2c4.3,2.5,7.1,5.6,10.2,9.8l-31,30.1-38.2,35.3Z%22/%3E%20%3Ccircle%20cx=%22153.2%22%20cy=%22515.7%22%20r=%2214.7%22/%3E%20%3Ccircle%20cx=%22958.3%22%20cy=%22515.9%22%20r=%2214.6%22/%3E%20%3Ccircle%20cx=%22635.5%22%20cy=%22179.9%22%20r=%2211.8%22/%3E%20%3Ccircle%20cx=%22453.9%22%20cy=%2289.9%22%20r=%2211.8%22/%3E%20%3Ccircle%20cx=%22663.7%22%20cy=%22528.3%22%20r=%2211.7%22/%3E%20%3Ccircle%20cx=%22447.2%22%20cy=%22527.8%22%20r=%2211.4%22/%3E%20%3Ccircle%20cx=%22515.9%22%20cy=%22502.3%22%20r=%228.8%22/%3E%20%3Ccircle%20cx=%22328.2%22%20cy=%22615.9%22%20r=%228.7%22/%3E%20%3Ccircle%20cx=%22377.5%22%20cy=%22562.9%22%20r=%228.6%22/%3E%20%3Ccircle%20cx=%22711.6%22%20cy=%22582.6%22%20r=%228.5%22/%3E%20%3Cpath%20d=%22M520.3,642.6c4.4-2.5,10.1.3,11.5,4.3s-.5,9.8-3.6,10.8-10.4.9-12.1-2.9-1.3-9.1,4.2-12.2Z%22/%3E%20%3Ccircle%20cx=%22783.3%22%20cy=%22616.3%22%20r=%228.3%22/%3E%20%3Cpath%20d=%22M579.5,652.6c-.2-3.1.2-5.8,1-7.3s3.1-2.5,5.6-2.5c4.9-.1,9.1,2.5,9.6,6.6s-2.2,8.7-6.1,9.8c-4.1,1.2-9.8-.8-10.2-6.5Z%22/%3E%20%3Ccircle%20cx=%22253%22%20cy=%22573.6%22%20r=%228.4%22/%3E%20%3Ccircle%20cx=%22863.8%22%20cy=%22573.2%22%20r=%228.3%22/%3E%20%3Ccircle%20cx=%22595.2%22%20cy=%22490.3%22%20r=%228.1%22/%3E%20%3Cg%3E%20%3Cpath%20d=%22M293.9,700.9h-3.8c1.2,0,2.2,0,3.8,0Z%22/%3E%20%3Cpath%20d=%22M833.1,701.1h-3.6c.8,0,2.4-1.4,3.6,0Z%22/%3E%20%3Cpath%20d=%22M301.9,701.2h-2.3c0,0,2.3,0,2.3,0Z%22/%3E%20%3Cpath%20d=%22M279.3,701.2h-2.2c0,.1,2.2,0,2.2,0Z%22/%3E%20%3Cpath%20d=%22M795.9,701.2l-2.2.2,2.2-.2Z%22/%3E%20%3C/g%3E%20%3C/g%3E%20%3C/g%3E%20%3C/svg%3E')}
.pw-burst{-webkit-mask:var(--burst) no-repeat center/contain;mask:var(--burst) no-repeat center/contain}
.pw-burst--c4{transform:rotate(160deg);pointer-events:none}

/* card 04 keeps its curved cut and lets the burst ride the seam */
.s-pcCph{position:relative;overflow:hidden}
.s-pcCbd{position:relative;z-index:1}

/* centre stage-light beam — the two outer ones are pseudo-elements on the section */
.pw-beam-mid{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.pw-beam-mid::before{
  content:'';position:absolute;top:-12%;left:50%;transform:translateX(-50%);
  width:34vw;height:130%;
  background:linear-gradient(180deg,rgba(233,233,248,.19),rgba(233,233,248,0) 74%);
  clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);filter:blur(2px);
}

/* production cards: chips sit above the scrim */
.pw-card-tag,.pw-card-arrow{pointer-events:none}
.pw-photocard .pw-card-arrow{transition:transform .3s cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){.pw-photocard:hover .pw-card-arrow{transform:translate(3px,-3px)}}

/* NEXT UP date chip — the light lavender tile, per the approved treatment */
.pw-events-dark .pw-ev-date{background:#E9E9F8;border-radius:14px}
.pw-events-dark .pw-ev-dow{color:#232993}
.pw-events-dark .pw-ev-day{color:#141838}
.pw-events-dark .pw-ev-mon{color:#6C7392}

/* rotating testimonial */
.pw-quote,.pw-quote-attr{transition:opacity .38s ease}
.pw-quote.is-out,.pw-quote-attr.is-out{opacity:0}
@media(prefers-reduced-motion:reduce){.pw-quote,.pw-quote-attr{transition:none}}


/* ══════════════════════════════════════════════════════════════════════════
   ROUND-3 CORRECTIONS
   The hero rules were dead because the container had lost its class — legacy
   CONTAINERS read `css_classes`, legacy WIDGETS read `_css_classes`.
   ══════════════════════════════════════════════════════════════════════════ */

/* hero type — bigger headline, correct colours */
.pw-home-hero .pw-hero-ey .elementor-heading-title{
  font-family:'Archivo',sans-serif!important;font-weight:900!important;font-stretch:125%!important;
  text-transform:uppercase!important;letter-spacing:.2em!important;
  font-size:clamp(11px,1.1vw,13px)!important;color:#F0603F!important;margin:0 0 14px!important;
}
.pw-home-hero .pw-hero-h1 .elementor-heading-title{
  font-family:'Gloock',serif!important;font-weight:400!important;color:#FFFFFF!important;
  font-size:clamp(44px,6.6vw,92px)!important;line-height:1.0!important;
  letter-spacing:-.015em!important;margin:0 0 14px!important;max-width:13ch;
}
.pw-home-hero .pw-hero-tl .elementor-heading-title{
  font-family:'Gloock',serif!important;font-style:italic!important;font-weight:400!important;
  color:#E9E9F8!important;font-size:clamp(18px,1.9vw,26px)!important;margin:0 0 8px!important;
}

/* ghost CTA on the dark hero */
.pw-home-hero .pw-hero-btn--ghost .elementor-button,
.pw-home-hero .pw-hero-btn--ghost .elementor-button:visited{
  background:transparent!important;background-color:transparent!important;
  border:1.5px solid rgba(255,255,255,.62)!important;color:#FFFFFF!important;
}
.pw-home-hero .pw-hero-btn--ghost .elementor-button:hover{background:rgba(255,255,255,.12)!important}
.pw-home-hero .pw-hero-btn--coral .elementor-button{background-color:#F0603F!important;color:#fff!important;border-color:transparent!important}

/* ── DIVIDER — Elementor's flex base was stretching the children ────────── */
.pw-div{
  display:flex!important;flex-direction:row!important;
  align-items:center!important;justify-content:center!important;
  gap:14px!important;width:100%!important;
}
.pw-div-ln{
  flex:1 1 0!important;height:1.5px!important;min-height:1.5px!important;max-height:1.5px!important;
  max-width:170px!important;background:#232993!important;padding:0!important;
  align-self:center!important;border-radius:0!important;
}
.pw-div-dia{
  flex:0 0 11px!important;width:11px!important;height:11px!important;
  min-width:11px!important;min-height:11px!important;max-width:11px!important;max-height:11px!important;
  background:#F0603F!important;transform:rotate(45deg)!important;
  padding:0!important;align-self:center!important;border-radius:0!important;
}
.pw-div--dark .pw-div-ln{background:rgba(255,255,255,.34)!important}

/* ── PATHWAY CARDS — photos run edge to edge, no inset ──────────────────── */
.s-pcA,.s-pcB,.s-pcC{padding:0!important}
.s-pcAimg,.s-pcBimg{border-radius:0!important;margin:0!important;display:block!important}
.s-pcCph{
  padding:0!important;margin:0!important;position:relative;overflow:hidden;
  border-radius:0 0 90px 0!important;
}
.s-pcCimg{border-radius:0!important;margin:0!important;display:block!important}

/* ── SWIPEABLE TESTIMONIALS ─────────────────────────────────────────────── */
.s-proofquote{position:relative;touch-action:pan-y}
.pw-quote,.pw-quote-attr{transition:opacity .34s ease,transform .34s ease}
.pw-quote.is-out,.pw-quote-attr.is-out{opacity:0;transform:translateX(var(--pw-dir,-14px))}
.pw-q-nav{display:flex;align-items:center;gap:18px;margin-block-start:22px}
.pw-q-dots{display:flex;gap:8px}
.pw-q-dots button{
  width:8px;height:8px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.28);transition:background .2s,transform .2s;
}
.pw-q-dots button.on{background:#F0603F;transform:scale(1.3)}
.pw-q-arrows{display:flex;gap:8px;margin-inline-start:auto}
.pw-q-arrows button{
  width:34px;height:34px;border-radius:50%;cursor:pointer;padding:0;
  background:transparent;border:1.5px solid rgba(255,255,255,.3);
  color:#fff;font-size:15px;line-height:1;transition:background .2s,border-color .2s;
}
.pw-q-arrows button:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55)}
.pw-q-arrows button:focus-visible,.pw-q-dots button:focus-visible{outline:2.5px solid #F0603F;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.pw-quote,.pw-quote-attr{transition:none}}

/* ══════════════════════════════════════════════════════════════════════════
   ROUND-4 CORRECTIONS — mobile
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1 · diagonal arrows ────────────────────────────────────────────────────
   U+2197 renders as a colour emoji with a grey plate on iOS. Zero the glyph
   and draw a real arrow instead — inherits the element's colour, so nothing
   else about the cards changes. */
.elementor .pw-card-arrow,
.elementor .s-pcAbdarrowg,
.elementor .s-pcBbdarrowg,
.elementor .s-pcCbdarrowg {
  font-size:0!important; line-height:0!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
}
.elementor .pw-card-arrow::after,
.elementor .s-pcAbdarrowg::after,
.elementor .s-pcBbdarrowg::after,
.elementor .s-pcCbdarrowg::after {
  content:""; display:block; width:15px; height:15px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%2017%2017%207%27%2F%3E%3Cpath%20d%3D%27M8.6%207H17v8.4%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%2017%2017%207%27%2F%3E%3Cpath%20d%3D%27M8.6%207H17v8.4%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;
}

/* ── 2 · line height ────────────────────────────────────────────────────────
   Caps labels were wrapping to two lines with body leading. Tightened to 1.1.
   Running copy sits at 1.42 — tighter than before, still readable at 3+ lines. */
.elementor .s-missioney,
.elementor .s-pathey,
.elementor .s-pcAey,
.elementor .s-pcAlm,
.elementor .s-pcBey,
.elementor .s-pcBlm,
.elementor .s-pcCey,
.elementor .s-pcClm,
.elementor .s-scriptey,
.elementor .s-proofey,
.elementor .s-proofat,
.elementor .s-stat1l,
.elementor .s-stat2l,
.elementor .s-stat3l,
.elementor .s-stat4l,
.elementor .s-seasoney,
.elementor .s-prodmarktag,
.elementor .s-prodadvtag,
.elementor .s-prodonetag,
.elementor .s-eventsey,
.elementor .s-newstodo { line-height:1.1!important; }
.elementor .s-missionsub,
.elementor .s-pcAp,
.elementor .s-pcBp,
.elementor .s-pcCp,
.elementor .s-scriptcue,
.elementor .s-prodmarkp,
.elementor .s-prodadvp,
.elementor .s-prodonep,
.elementor .s-duo1p,
.elementor .s-duo2p,
.elementor .s-newsp { line-height:1.42em!important; }

/* ── 3 · social-proof bento on mobile ───────────────────────────────────────
   The grid stayed at four columns below 768px, so the stat cards were narrower
   than their own numerals and clipped. Quote goes full width, stats go 2 × 2. */
.elementor .s-proofgrid > * { min-width:0; }

@media (max-width:767px) {
  .elementor .s-proofgrid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important; gap:12px!important;
  }
  .elementor .s-proofquote {
    grid-column:1 / -1!important; grid-row:auto!important;
    padding-block-start:32px!important; padding-block-end:32px!important;
    padding-inline-start:26px!important; padding-inline-end:26px!important;
  }
  .elementor .s-stat1,
.elementor .s-stat2,
.elementor .s-stat3,
.elementor .s-stat4 {
    grid-column:auto!important; grid-row:auto!important; min-width:0!important;
    padding-block-start:22px!important; padding-block-end:22px!important;
    padding-inline-start:16px!important; padding-inline-end:16px!important;
    gap:8px!important;
  }
  .elementor .s-stat1n,
.elementor .s-stat2n,
.elementor .s-stat3n,
.elementor .s-stat4n {
    font-size:clamp(26px,7.6vw,40px)!important; line-height:1!important;
    white-space:nowrap!important;
  }
  .elementor .s-stat1l,
.elementor .s-stat2l,
.elementor .s-stat3l,
.elementor .s-stat4l {
    font-size:9px!important; letter-spacing:.09em!important; line-height:1.1!important;
  }

  /* ── 4 · section heights ───────────────────────────────────────────────── */
  .elementor .s-homescript {
    min-height:auto!important;
    padding-block-start:74px!important; padding-block-end:74px!important;
  }
  .elementor .s-scriptin { gap:6px!important; }
  .elementor .s-scriptcue { margin-block-start:16px!important; }
  .elementor .s-homemission {
    padding-block-start:60px!important; padding-block-end:60px!important;
  }
  .elementor .s-homemissionin { gap:14px!important; }
}

/* ══════════════════════════════════════════════════════════════════════════
   ROUND-5 CORRECTIONS
   ══════════════════════════════════════════════════════════════════════════ */

/* event date block — the day-of-week, month and year were running on body leading */
.pw-ev-dow,.pw-ev-mon{line-height:1.12!important}
.pw-ev-day{line-height:1!important;margin-block:1px!important}

@media (max-width:767px){

  /* 1 · hero — no video on a phone. Elementor's fallback image carries the
        background; the <video> element is hidden outright so nothing can sit
        frozen on a random frame. Swap the image in Elementor:
        Hero container → Style → Background → Background Fallback. */
  .pw-home-hero{min-height:84svh!important}
  .pw-home-hero .elementor-background-video-hosted,
  .pw-home-hero .elementor-background-video-embed,
  .pw-home-hero iframe.elementor-background-video-embed{display:none!important}
  .pw-home-hero .elementor-background-video-container{
    background-size:cover!important;background-position:center 30%!important;
    background-repeat:no-repeat!important;
  }

  /* 2 · social-proof stats — grid rows were sizing unevenly. Flex wrap instead:
        each row sizes to its own content, so all four cards match. */
  .elementor .s-proofgrid{
    display:flex!important;flex-wrap:wrap!important;gap:12px!important;
    align-items:stretch!important;
  }
  .elementor .s-proofquote{flex:0 0 100%!important;width:100%!important;max-width:100%!important}
  .elementor .s-stat1,.elementor .s-stat2,.elementor .s-stat3,.elementor .s-stat4{
    flex:1 1 calc(50% - 6px)!important;width:calc(50% - 6px)!important;
    max-width:calc(50% - 6px)!important;min-width:0!important;
    padding-block-start:22px!important;padding-block-end:22px!important;
    padding-inline-start:16px!important;padding-inline-end:16px!important;
    justify-content:flex-start!important;
  }

  /* 3 · buttons — "Request a Booking" was wrapping to two lines, which widened
        the box and threw its padding out of step with everything else. */
  .pw-btn,.elementor .pw-btn,.elementor a.elementor-button,.elementor button.elementor-button{
    white-space:nowrap!important;font-size:11px!important;letter-spacing:.12em!important;
    padding-inline-start:26px!important;padding-inline-end:26px!important;
    text-align:center!important;
  }

  /* 4 · pathway cards — tighten the gap between the body copy and the CTA */
  .elementor .s-pcAbdrw,.elementor .s-pcBbdrw,.elementor .s-pcCbdrw{
    margin-block-start:16px!important;
  }
}

/* ═══ ROUND-6 CORRECTIONS ═══
   Hero scrim rebuilt to the approved full-bleed cinematic values so the
   headline carries the way it does in revisions-round-2. */
.pw-home-hero{position:relative;isolation:isolate}
.pw-home-hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,12,42,.88),rgba(11,12,42,.42) 58%,rgba(11,12,42,.14) 100%),
             linear-gradient(0deg,rgba(11,12,42,.80),rgba(11,12,42,0) 56%),
             linear-gradient(180deg,rgba(11,12,42,.55),rgba(11,12,42,0) 30%)}
.pw-home-hero > .elementor-element,.pw-home-hero > .elementor-widget{position:relative;z-index:2}

/* ═══ ROUND-7 — What's happening cards, to the approved round-2 specs ═══ */
.elementor .pw-c{min-height:380px;overflow:hidden;position:relative;text-decoration:none;box-shadow:0 10px 30px rgba(23,25,63,.10);transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease}
.elementor .pw-c:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(23,25,63,.18)}
.elementor .pw-c1img img{width:100%;height:180px;object-fit:cover;display:block}
.elementor .pw-c3img img{width:100%;height:180px;object-fit:cover;display:block;border-radius:10px}
.elementor .pw-c4ph{height:180px;border-radius:0 0 90px 0;overflow:hidden;flex:none}
.elementor .pw-c4img,.elementor .pw-c4img img{width:100%;height:100%;object-fit:cover;display:block}
.elementor .pw-c4bst{position:absolute;inset-inline-end:-46px;inset-block-end:-30px;width:240px;height:150px;background:#3A41C4;opacity:.55;transform:rotate(160deg);z-index:0;pointer-events:none}
.elementor .pw-tagpill{display:inline-block;align-self:flex-start;font-family:var(--pw-body,'Sora',sans-serif);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:9.5px;background:#E9E9F8;color:#232993;border-radius:20px;padding:5px 11px;line-height:1.1}
.elementor .pw-c .pw-card-arrow{background:#FFFFFF;border-radius:50%;box-shadow:0 4px 14px rgba(23,25,63,.2);flex:none}
@media(max-width:767px){.elementor .pw-c{min-height:340px}.elementor .pw-c1img img{height:158px}.elementor .pw-c3img img{height:158px}.elementor .pw-c4ph{height:158px;border-radius:0 0 70px 0}}

/* card footers pin to the bottom (auto margins live here, not in atomic props) */
.elementor .pw-c .s-hapbafrw,.elementor .pw-c .s-hapdtrw{margin-block-start:auto}
.elementor .pw-c .s-haptclm{margin-block-start:auto}

/* hero photography — every page hero now carries an image band */
.elementor .pw-heroimg img{width:100%;height:clamp(240px,34vw,400px);object-fit:cover;display:block;border-radius:16px}
@media(max-width:767px){.elementor .pw-heroimg img{height:210px;border-radius:12px}}

/* ═══ ROUND-12 — scroll cue back to bottom-center (outranks the > .elementor-widget{position:relative} guard);
       portrait crop + heavier scrim for the phone hero (video is hidden there; the fallback paints on the container) */
.pw-home-hero > .elementor-widget.pw-scroll-cue,.pw-home-hero .pw-scroll-cue{position:absolute!important;left:0;right:0;top:auto;bottom:22px;z-index:3;width:100%;text-align:center;margin:0;pointer-events:none}
@media(max-width:767px){
  .pw-home-hero,.elementor .elementor-element-homehero.pw-home-hero{background:url(/wp-content/uploads/2026/08/mark-cross-2-684x1024.jpg) center 18%/cover no-repeat #0B0C2A!important;min-height:88svh!important}
  .pw-home-hero::before{background:linear-gradient(180deg,rgba(11,12,42,.60),rgba(11,12,42,.50) 38%,rgba(11,12,42,.90) 76%,rgba(11,12,42,.99)),radial-gradient(80% 60% at 90% 5%,rgba(240,96,63,.22),transparent 60%)!important}
  .pw-home-hero .elementor-background-overlay{opacity:1!important}
}

/* ROUND 14 - productions row is a snap slider (4 cards, 3 visible on desktop, swipe on phones) */
.elementor .s-seasonrow{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-block-end:4px;margin-inline:-4px;padding-inline:4px}
.elementor .s-seasonrow::-webkit-scrollbar{display:none}
.elementor .s-seasonrow>.pw-photocard{flex:0 0 calc((100% - 44px)/3)!important;min-width:0!important;scroll-snap-align:start}
.pw-slnav{display:flex;justify-content:flex-end;gap:8px;margin-block-start:18px}
.pw-slnav button,.elementor .pw-slnav button{width:42px;height:42px;min-width:0;padding:0;border-radius:50%;border:1px solid rgba(23,25,63,.28);background:transparent;color:var(--pw-ink);cursor:pointer;display:grid;place-items:center;font:inherit;font-size:16px;line-height:1;transition:background .2s,color .2s,border-color .2s}
.pw-slnav button:hover,.elementor .pw-slnav button:hover{background:var(--pw-ink);color:#fff;border-color:var(--pw-ink)}
.pw-slnav button:focus-visible{outline:2.5px solid var(--pw-coral);outline-offset:3px}
.pw-slnav button[disabled]{opacity:.3;cursor:default;pointer-events:none}
@media(max-width:1000px){.elementor .s-seasonrow>.pw-photocard{flex-basis:calc((100% - 22px)/2)!important}}
@media(max-width:640px){.elementor .s-seasonrow>.pw-photocard{flex-basis:82%!important} .pw-slnav{display:none}}

/* ROUND 14 - What's happening: one card anatomy (same photo ratio, same body padding, same CTA face) */
.pw-hidden,.elementor .pw-hidden{display:none!important}
.elementor .pw-c{padding:0!important;border-radius:14px!important}
.elementor .pw-c1img img,.elementor .pw-c3img img{height:auto!important;aspect-ratio:16/10;border-radius:0!important;object-fit:cover}
.elementor .pw-c4ph{height:auto!important;aspect-ratio:16/10;border-radius:0!important}
.elementor .pw-c4img img{height:100%!important}
.elementor .pw-c .s-hapbafbd,.elementor .pw-c .s-hapdtbd,.elementor .pw-c .s-haptcbd{padding:22px 22px 22px!important;gap:6px!important}
.elementor .pw-c .pw-tagpill,.elementor .pw-c .s-haptcey{display:none!important}
.elementor .pw-c .s-hapbaflm,.elementor .pw-c .s-hapdtlm,.elementor .pw-c .s-haptclm{font-family:var(--pw-label)!important;font-weight:900!important;font-size:10.5px!important;letter-spacing:.14em!important;text-transform:uppercase!important;line-height:1.1!important}
.elementor .pw-c .s-hapbaflm,.elementor .pw-c .s-haptclm{color:var(--pw-indigo)!important}
.elementor .pw-c .s-hapdtlm{color:#E9E9F8!important}
.elementor .pw-c .s-hapbafrw,.elementor .pw-c .s-hapdtrw,.elementor .pw-c .s-haptcrw{margin-block-start:auto!important;padding-block-start:14px}
.elementor .pw-c1 .pw-card-arrow,.elementor .pw-c3 .pw-card-arrow{background:#E9E9F8!important;box-shadow:none!important}
/* BAF card: festival photo + white festival mark, top-left, ~25% of the card */
.elementor .pw-c3{position:relative}
.elementor .pw-c3 .pw-c3img{position:relative}
.elementor .pw-c3 .pw-c3logo,.elementor .pw-c3 img.pw-c3logo{position:absolute;top:14px;left:14px;width:26%!important;height:auto!important;z-index:3;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45));pointer-events:none}
.elementor .pw-c3 .pw-c3img img{filter:brightness(.92)}
/* slider arrows on the deep-ground productions section */
.elementor .s-homeseason .pw-slnav button{color:#fff;border-color:rgba(255,255,255,.38)}
.elementor .s-homeseason .pw-slnav button:hover{background:#fff;color:var(--pw-ink);border-color:#fff}
/* the e-image widgets ARE the img tags - match both nestings; kill the div-block base padding on the DT photo frame */
.elementor .pw-c img.pw-c1img,.elementor .pw-c img.pw-c3img,.elementor .pw-c .pw-c1img img,.elementor .pw-c .pw-c3img img{width:100%!important;height:auto!important;aspect-ratio:16/10!important;object-fit:cover!important;border-radius:0!important;display:block}
.elementor .pw-c .pw-c4ph{padding:0!important;margin:0!important;width:100%;aspect-ratio:16/10!important;height:auto!important;border-radius:0!important;overflow:hidden}
.elementor .pw-c img.pw-c4img,.elementor .pw-c .pw-c4img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block;border-radius:0!important}
.elementor .pw-c .s-hapbaflm,.elementor .pw-c .s-hapdtlm,.elementor .pw-c .s-haptclm{margin:0!important}
.elementor .pw-c .s-hapbafh,.elementor .pw-c .s-hapdth,.elementor .pw-c .s-haptch{margin:0 0 4px!important}

/* ROUND 15 - What's happening: youth cards from the approved youth direction (camps + teams),
   dark feather behind the BAF logo, full-bleed production slider on mobile */
.elementor .pw-c3::before{content:'';position:absolute;top:0;left:0;width:min(64%,320px);aspect-ratio:1.1;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse at 0 0,rgba(11,12,42,.82) 0%,rgba(11,12,42,.55) 34%,rgba(11,12,42,.22) 58%,rgba(11,12,42,0) 78%)}
.elementor .pw-c3 .pw-c3logo,.elementor .pw-c3 img.pw-c3logo{z-index:3;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}

.elementor .elementor-element-haptc2,.elementor .elementor-element-hapdt2{flex:1 1 0%;min-width:250px;display:flex;flex-direction:column}
.elementor .elementor-element-haptc2>*,.elementor .elementor-element-hapdt2>*{display:flex;flex:1;width:100%}
.pw-hy{--fun:var(--pw-fun,'Dela Gothic One',system-ui,sans-serif);flex:1;position:relative;display:flex;flex-direction:column;min-height:400px;
  border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 10px 30px rgba(23,25,63,.10);
  transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease}
.pw-hy:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(23,25,63,.18)}
.pw-hy .bt{margin-block-start:auto;position:relative;z-index:2;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.pw-hy .bt h3{font-family:var(--fun);color:#fff;font-size:clamp(15px,1.5vw,19px);text-transform:uppercase;margin:0;line-height:1.1}
.pw-hy .ar{width:38px;height:38px;border-radius:50%;background:#F0603F;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;flex:none}
/* 1 - camps: repeated outlined word + tilted polaroid */
.pw-hy1{background:#232993}
.pw-hy1 .words{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:2px;overflow:hidden;pointer-events:none}
.pw-hy1 .words span{font-family:var(--fun);font-size:44px;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(233,233,248,.3);letter-spacing:.02em}
.pw-hy1 .pol{position:absolute;left:50%;top:44%;width:62%;max-width:260px;aspect-ratio:4/5;transform:translate(-50%,-50%) rotate(-4deg);
  background:#fff;padding:8px 8px 26px;box-shadow:0 14px 34px rgba(23,25,63,.22)}
.pw-hy1 .pol img{width:100%;height:100%;object-fit:cover;display:block}
.pw-hy1 .pol .lbl{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-family:var(--fun);font-size:10px;color:#17193F}
/* 2 - teams: vertical outlined word + duotone tilted photo */
.pw-hy2{background:#0B0C2A}
.pw-hy2 .vword{position:absolute;left:8px;top:0;bottom:0;display:flex;align-items:center;pointer-events:none}
.pw-hy2 .vword span{font-family:var(--fun);font-size:56px;color:transparent;-webkit-text-stroke:1.5px rgba(108,201,224,.45);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em}
.pw-hy2 .ph{position:absolute;right:22px;top:30px;bottom:78px;left:64px;border-radius:14px;overflow:hidden;transform:rotate(-5deg);
  box-shadow:0 14px 34px rgba(0,0,0,.35);background:#232993}
.pw-hy2 .ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.15) brightness(.95);mix-blend-mode:screen;opacity:.92}
.pw-hy2 .ar{background:#6CC9E0;color:#17193F}
@media(max-width:767px){.pw-hy{min-height:340px} .pw-hy1 .words span{font-size:38px} .pw-hy2 .vword span{font-size:48px}}

@media(max-width:640px){
  .elementor .s-seasonrow{margin-inline:-24px!important;padding-inline:24px!important;width:calc(100% + 48px)!important;max-width:none!important;scroll-padding-inline:24px}
}

/* ROUND 15b - phone fixes: real arrows on the youth cards; BAF logo feather moves onto the logo box
   (the ::before version painted the whole card on iOS) */
.pw-hy .ar{font-size:0!important;line-height:0!important}
.pw-hy .ar::after{content:"";display:block;width:15px;height:15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%2017%2017%207%27%2F%3E%3Cpath%20d%3D%27M8.6%207H17v8.4%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;
          mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%2017%2017%207%27%2F%3E%3Cpath%20d%3D%27M8.6%207H17v8.4%27%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}
.elementor .pw-c3::before{content:none!important;display:none!important}
.elementor .pw-c3 .pw-c3logo,.elementor .pw-c3 img.pw-c3logo{top:-14px!important;left:-14px!important;width:calc(26% + 56px)!important;padding:28px!important;box-sizing:border-box;border-radius:50%;
  background:radial-gradient(closest-side,rgba(11,12,42,.78) 0%,rgba(11,12,42,.55) 48%,rgba(11,12,42,.22) 78%,rgba(11,12,42,0) 100%);filter:drop-shadow(0 3px 8px rgba(0,0,0,.3))}

/* ROUND 16 - square polaroid photo; BAF logo shows its whole shape again (the circle clip was the radius on the img box) */
.pw-hy1 .pol img{border-radius:0!important}
.elementor .pw-c3 .pw-c3logo,.elementor .pw-c3 img.pw-c3logo{border-radius:0!important}

/* ROUND 19 — homepage hero on short laptop screens: the fixed header (76px) was sitting on top of the centred hero copy when the viewport was under ~760px tall. Reserve the header height and let the hero grow instead of forcing 88svh. */
.pw-home-hero,.elementor .pw-home-hero,.elementor .elementor-element-homehero.pw-home-hero{padding-block-start:calc(var(--pw-hd-h,76px) + 28px)!important;box-sizing:border-box}
@media (max-height:780px) and (min-width:768px){.pw-home-hero,.elementor .pw-home-hero,.elementor .elementor-element-homehero.pw-home-hero{min-height:0!important;padding-block-start:calc(var(--pw-hd-h,76px) + 44px)!important;padding-block-end:56px!important}}

/* ROUND 29 — season row beside Next Up. When productions are retired the one remaining card fills its column and the carousel arrows go away. */
.elementor .s-seasoncol>.s-seasonrow{flex:1 1 auto}
.elementor .s-seasonrow:has(.pw-retired){flex-wrap:wrap!important;overflow:visible;scroll-snap-type:none;margin-inline:0!important;padding-inline:0!important;width:auto!important}
.elementor .s-seasonrow:has(.pw-retired)>.pw-photocard:not(.pw-retired){flex:1 1 100%!important;min-height:440px}
.elementor .s-seasonrow:has(.pw-retired)~.elementor-element-seasonnav{display:none}
@media(max-width:640px){.elementor .s-seasonrow:has(.pw-retired)>.pw-photocard:not(.pw-retired){flex-basis:100%!important;min-height:380px}}
.elementor .s-seasongrid>.s-eventsin{padding-block-start:20px!important}
/* ROUND 30 — season / Next Up: 40/60 on desktop, eyebrows top-aligned, event title stays beside the date box, Details readable on the deep ground, no Productions tag while it's the only production */
@media(min-width:1001px){.elementor .s-seasongrid{flex-wrap:nowrap!important}.elementor .s-seasongrid>.s-seasoncol{flex:0 1 calc(40% - 18px)!important}.elementor .s-seasongrid>.s-eventsin{flex:0 1 calc(60% - 18px)!important}}
.s-seasongrid .pw-ev-info{flex:1 1 0%;min-width:0}
.pw-events-dark .pw-ev-more,.elementor .pw-events-dark .pw-ev-more{color:#C7CAF2!important}
.pw-events-dark .pw-ev-more:hover,.elementor .pw-events-dark .pw-ev-more:hover{color:#F0603F!important}
.elementor .s-seasonrow:has(.pw-retired) .pw-card-tag{display:none}
/* ROUND 31 — heading row above both columns; button row below */
.elementor .s-seasonin>.s-seasonhead{margin-block-end:30px!important;align-items:center!important;text-align:center!important}
.elementor .s-seasonin>.s-eventsfoot{justify-content:center!important}

/* ROUND 32 — Scripture Performances: while Mark is the only production, flank its card with two production stills so the row still fills the width without blowing the card up. The stills hide themselves when the other productions return. */
.elementor .s-pfseasonrow:has(.pw-retired)>.pw-photocard:not(.pw-retired){flex:1 1 calc((100% - 44px)/3)!important;min-width:260px}
.elementor .s-pfseasonrow:not(:has(.pw-retired)) .pw-solo{display:none!important}
.elementor .pw-solo{min-height:460px}
.elementor .pw-solo::after{display:none}
.elementor .pw-solo img{object-position:center 20%}
@media(max-width:700px){.elementor .pw-solo{display:none!important}.elementor .s-pfseasonrow:has(.pw-retired)>.pw-photocard:not(.pw-retired){flex-basis:100%!important;min-height:420px}}
.elementor .s-pfseasonrow:has(.pw-retired) .pw-card-tag{display:none}
