/* Kanvartfuly Hero Slideshow v1.0.0 — all rules scoped under .kvhs */
.kvhs,.kvhs *,.kvhs *::before,.kvhs *::after{box-sizing:border-box}
.kvhs{font-family:'Montserrat',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;--teal:#01726F;--teal-deep:#024C4A;--mint:#3CD3C4;--yellow:#FCC12B;--coral:#E02045;--pink:#FF7D96}
.kvhs svg,.kvhs img{display:block;max-width:100%}
.kvhs button{font-family:inherit}
.kvhs h1,.kvhs h2,.kvhs p{margin:0}
.kvhs .wrap{width:min(1600px,100% - 40px);margin-inline:auto}
.kvhs a{text-decoration:none}
/* ===== HOME HERO: creative service slideshow ===== */
.kvhs.hero[data-slide="2"]{--bg:#01726F;--fg:#FFFFFF;--acc:#FCC12B;--blob:#FF7D96;--btnbg:#E02045;--btnfg:#FFFFFF}
.kvhs.hero[data-slide="1"]{--bg:#01726F;--fg:#FFFFFF;--acc:#FCC12B;--blob:#FCC12B;--btnbg:#E02045;--btnfg:#FFFFFF}
.kvhs.hero[data-slide="0"]{--bg:#01726F;--fg:#FFFFFF;--acc:#FCC12B;--blob:#3CD3C4;--btnbg:#E02045;--btnfg:#FFFFFF}
.kvhs.hero[data-slide="3"]{--bg:#01726F;--fg:#FFFFFF;--acc:#FCC12B;--blob:#FCC12B;--btnbg:#E02045;--btnfg:#FFFFFF}
.kvhs.hero[data-slide="4"]{--bg:#01726F;--fg:#FFFFFF;--acc:#FCC12B;--blob:#3CD3C4;--btnbg:#E02045;--btnfg:#FFFFFF}
.kvhs.hero[data-slide="5"]{--bg:#01726F;--fg:#FFFFFF;--acc:#FCC12B;--blob:#FF7D96;--btnbg:#E02045;--btnfg:#FFFFFF}
.kvhs.hero[data-slide="6"]{--bg:#01726F;--fg:#FFFFFF;--acc:#FCC12B;--blob:#E02045;--btnbg:#E02045;--btnfg:#FFFFFF}
.kvhs.hero{position:relative;overflow:hidden;background:var(--bg);color:var(--fg);transition:background-color .9s cubic-bezier(.7,0,.2,1),color .6s;min-height:min(92vh,820px);display:flex;align-items:center}
.kvhs.hero .wrap{position:relative;width:min(1600px,100% - 40px);padding-block:clamp(60px,7vw,90px) clamp(120px,10vw,140px)}
.kvhs .slides{display:grid;transition:height .5s ease}
.kvhs .slide{grid-area:1/1;align-self:start;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,60px);align-items:center;visibility:hidden;pointer-events:none}
.kvhs .slide.is-active{visibility:visible;pointer-events:auto}
/* giant background word */
.kvhs .word{position:absolute;left:-2%;bottom:-6%;font-size:clamp(6rem,22vw,20rem);font-weight:900;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px var(--fg);opacity:0;pointer-events:none;z-index:0;transform:translateX(60px);transition:opacity .9s .2s,transform 1.4s .2s cubic-bezier(.2,.7,.2,1)}
.kvhs .slide.is-active .word{opacity:.14;transform:none}
/* text */
.kvhs .slide-text{position:relative;z-index:2}
.kvhs .num{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;opacity:0;transform:translateY(12px);transition:opacity .5s .1s,transform .5s .1s}
.kvhs .num i{display:block;width:34px;height:2px;background:var(--acc)}
.kvhs .slide.is-active .num{opacity:.9;transform:none}
.kvhs .title{position:relative;z-index:1;isolation:isolate;margin:18px 0 0;font-size:clamp(2.500rem,5.600vw,4.600rem);font-weight:900;line-height:1;letter-spacing:-.02em;color:var(--fg)}
.kvhs .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.16em;margin-bottom:-.16em}
.kvhs .i{display:inline-block;transform:translateY(110%);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.kvhs .slide.is-active .i{transform:none}
.kvhs .slide.is-active .w:nth-child(1) .i{transition-delay:0.19s}
.kvhs .slide.is-active .w:nth-child(2) .i{transition-delay:0.26s}
.kvhs .slide.is-active .w:nth-child(3) .i{transition-delay:0.33s}
.kvhs .slide.is-active .w:nth-child(4) .i{transition-delay:0.40s}
.kvhs .slide.is-active .w:nth-child(5) .i{transition-delay:0.47s}
.kvhs .slide.is-active .w:nth-child(6) .i{transition-delay:0.54s}
.kvhs .slide.is-active .w:nth-child(7) .i{transition-delay:0.61s}
.kvhs .slide.is-active .w:nth-child(8) .i{transition-delay:0.68s}
.kvhs mark{position:relative;background:none;color:var(--fg);padding:0 .12em;white-space:nowrap}
.kvhs mark::before{content:"";position:absolute;left:-.04em;right:-.04em;top:.18em;bottom:.02em;background:var(--acc);z-index:-1;transform:skew(-8deg) rotate(-1.5deg) scaleX(0);transform-origin:left;transition:transform .6s .55s cubic-bezier(.2,.8,.2,1);border-radius:.15em .5em .2em .6em/.6em .2em .5em .15em}
.kvhs .slide.is-active mark::before{transform:skew(-8deg) rotate(-1.5deg) scaleX(1)}
.kvhs mark{color:var(--bg)}
.kvhs.hero[data-slide="1"] .w .i mark{padding-bottom:.06em}
.kvhs .tag{margin:26px 0 0;color:var(--acc);font-size:clamp(1.100rem,1.700vw,1.400rem);font-weight:700;opacity:0;transform:translateY(16px);transition:opacity .6s .5s,transform .6s .5s}
.kvhs .txt{margin:12px 0 0;font-size:1.050rem;max-width:30em;opacity:0;transform:translateY(16px);transition:opacity .6s .6s,transform .6s .6s}
.kvhs .slide.is-active .tag,.kvhs .slide.is-active .txt{opacity:1;transform:none}
.kvhs .cta{display:inline-flex;align-items:center;gap:10px;margin-top:30px;min-height:56px;padding:12px 30px;border-radius:999px;background:var(--btnbg);color:var(--btnfg);font-weight:800;font-size:1.050rem;text-decoration:none;opacity:0;transform:translateY(16px);transition:opacity .6s .7s,transform .6s .7s,gap .2s}
.kvhs .cta svg{width:16px;height:16px;padding:0;border-radius:0;background:none}
.kvhs .cta:hover{gap:18px}
.kvhs .slide.is-active .cta{opacity:1;transform:none}
/* featured workshop facts */
.kvhs .facts{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;max-width:30em;opacity:0;transform:translateY(16px);transition:opacity .6s .65s,transform .6s .65s}
.kvhs .slide.is-active .facts{opacity:1;transform:none}
.kvhs .facts li{display:grid;grid-template-rows:auto auto}
.kvhs .facts svg{grid-row:1/3;width:22px;height:22px;fill:none;stroke:var(--acc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kvhs .facts b{font-size:1.050rem;line-height:1.2} .kvhs .facts span{font-size:.85rem;opacity:.8}
.kvhs .badge{position:absolute;right:-2%;top:6%;display:inline-flex;align-items:center;background:var(--acc);color:#024C4A;font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;border-radius:999px;transform:rotate(6deg) scale(0);transition:transform .5s .8s cubic-bezier(.3,1.4,.4,1);z-index:2;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.kvhs .badge svg{width:16px;height:16px;fill:currentColor}
.kvhs .slide.is-active .badge{transform:rotate(6deg) scale(1)}
/* giveaway */
.kvhs .slide-giveaway .title{font-size:clamp(3rem,7vw,6rem);line-height:1.1}
.kvhs .craft{display:inline-block;vertical-align:-42%;height:1.45em;width:auto;margin-left:.1em}
.kvhs .brm{display:none}
@media (max-width:640px){.kvhs .br{display:none} .kvhs .br.brm,.kvhs .brm{display:inline}}
@media (min-width:961px){.kvhs.hero .tag,.kvhs.hero .txt{max-width:none} .kvhs.hero .wrap{width:min(1600px,90%)}}
.kvhs .ar{font-family:'Noto Kufi Arabic','Cairo','Tajawal','Segoe UI','Tahoma',sans-serif;direction:rtl;unicode-bidi:isolate;font-weight:900;line-height:1.35}
.kvhs .slide-giveaway .w{padding-bottom:.4em;margin-bottom:-.4em;padding-top:.1em;margin-top:-.1em}
.kvhs .slide-giveaway .ar{padding:0 .1em .12em}
.kvhs .ar-inline{direction:ltr;unicode-bidi:isolate}
.kvhs .ar-inline bdi{unicode-bidi:isolate;direction:rtl}
.kvhs .ar-block{display:none}
@media (max-width:960px){.kvhs .ar-inline{display:none} .kvhs .ar-block{display:inline}}
.kvhs .slide-giveaway mark::before{top:.12em;bottom:.02em}
.kvhs .confetti{position:absolute;inset:-8%;width:116%;height:116%;opacity:0;transition:opacity .6s .6s;pointer-events:none}
.kvhs .slide.is-active .confetti{opacity:1;animation:float 5s ease-in-out infinite}
.kvhs .badge-give{background:#FF7D96;color:#4A0F30}
.kvhs.hero .ph{background:#0B5654}
.kvhs .badge-give svg{fill:none}
/* stacked workshop cards */
.kvhs .slide-media-stack{aspect-ratio:auto;height:min(500px,100%);display:grid;align-items:center}
.kvhs .stack{position:relative;width:min(360px,80%);aspect-ratio:4/5;margin:0 auto}
.kvhs .card{position:absolute;inset:0;display:flex;flex-direction:column;background:#fff;color:var(--teal-deep);border-radius:22px;overflow:hidden;text-decoration:none;box-shadow:0 18px 40px rgba(0,0,0,.25);transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s;transform-origin:50% 100%;will-change:transform}
.kvhs .card[data-pos="0"]{transform:none;z-index:3}
.kvhs .card[data-pos="1"]{transform:translate(-9%,-7%) rotate(-7deg) scale(.94);z-index:2}
.kvhs .card[data-pos="2"]{transform:translate(9%,-12%) rotate(6deg) scale(.88);z-index:1}
.kvhs .card[data-pos="3"]{transform:translate(0,-16%) scale(.82);z-index:0;opacity:0}
.kvhs .card:not([data-pos="0"]) .card-body{opacity:0}
.kvhs .card-img{display:block;flex:1 1 auto;min-height:0;margin:14px 14px 0;border-radius:14px;overflow:hidden;background:#D9F6F1}
.kvhs .card-img .ph{color:var(--teal);background:#D9F6F1;font-size:.85rem}
.kvhs .card-body{display:block;padding:16px 18px 18px;transition:opacity .4s}
.kvhs .card-name{display:block;font-size:1.200rem;font-weight:800;line-height:1.15;color:var(--teal)}
.kvhs .card-when{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.9rem;font-weight:600;color:#1E1E1E}
.kvhs .card-when svg{width:18px;height:18px;fill:none;stroke:var(--coral);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kvhs .card-meta{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.kvhs .chip{display:inline-block;padding:5px 11px;border-radius:999px;font-size:.78rem;font-weight:700}
.kvhs .chip-seats{background:#D9F6F1;color:var(--teal)}
.kvhs .chip-fee{background:#FFF1DF;color:#B4520E}
.kvhs .card-go{margin-left:auto;font-weight:800;font-size:.9rem;color:var(--coral)}
.kvhs .slide.is-active .card{animation:card-in .7s cubic-bezier(.2,.8,.2,1) both}
.kvhs .slide.is-active .card[data-pos="1"]{animation-delay:.08s} .kvhs .slide.is-active .card[data-pos="2"]{animation-delay:.16s}
@keyframes card-in{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
.kvhs .card:not([data-pos="0"]){cursor:pointer}
@media (max-width:640px){
  .kvhs .slide-media-stack{aspect-ratio:auto;height:55vw;margin:0;padding:0;width:38.6vw;justify-self:end;margin-right:-1.4vw}
  .kvhs .stack{width:100%;aspect-ratio:313/445}
  .kvhs .card{border-radius:2.7vw;box-shadow:0 1.5vw 4vw rgba(0,0,0,.22)}
  .kvhs .card-img{flex:none;height:26vw;margin:2.6vw 2.3vw 0 3.2vw;border-radius:1.6vw}
  .kvhs .card-img .ph{font-size:1.6vw}
  .kvhs .card-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:3vw 2.4vw 2.6vw 3vw}
  .kvhs .card-name{font-size:3.3vw;line-height:1.15} .kvhs .card-when{font-size:1.85vw;gap:.6vw;margin-top:1vw}
  .kvhs .card-meta{margin-top:auto;padding-top:2.2vw;gap:1.2vw;flex-wrap:nowrap} .kvhs .chip{padding:.9vw 1.6vw;font-size:2vw;white-space:nowrap} .kvhs .card-go{display:inline;font-size:2.1vw;white-space:nowrap}
  .kvhs .card[data-pos="1"]{transform:translate(-7%,-3%) rotate(-6deg) scale(.96)} .kvhs .card[data-pos="2"]{transform:translate(7%,-5%) rotate(6deg) scale(.96)}
}
.kvhs .cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}
.kvhs .rules{display:table;margin-top:26px;color:#fff;font-weight:800;font-size:.95rem;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;opacity:0;transform:translateY(16px);transition:opacity .6s .8s,transform .6s .8s,border-color .2s}
.kvhs .rules:hover{color:var(--acc)}
.kvhs .slide-giveaway .cta-row{margin-top:26px}
.kvhs .rules svg{width:20px;height:20px;fill:none;stroke:var(--acc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kvhs .rules small{font-size:.65rem;font-weight:800;letter-spacing:.08em;background:var(--acc);color:#024C4A;padding:2px 6px;border-radius:5px}
.kvhs .slide.is-active .rules{opacity:1;transform:none}
/* media */
.kvhs .slide-media{position:relative;width:min(500px,100%);aspect-ratio:1/1;justify-self:end;z-index:1}
.kvhs .blob,.kvhs .blob-back{position:absolute;inset:0}
.kvhs .blob{clip-path:url(#blobA);overflow:hidden;transform:scale(.7) rotate(-8deg);opacity:0;transition:transform .9s .15s cubic-bezier(.2,.8,.2,1),opacity .6s .15s}
.kvhs .blob-back{clip-path:url(#blobB);background:var(--blob);transform:translate(0,0) scale(.6);opacity:0;transition:transform 1s .05s cubic-bezier(.2,.8,.2,1),opacity .6s .05s}
.kvhs .slide.is-active .blob{transform:none;opacity:1}
.kvhs .slide.is-active .blob-back{transform:translate(7%,8%) scale(1);opacity:1}
.kvhs .blob img{width:100%;height:100%;object-fit:cover;display:block}
.kvhs .ph{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:16px;font-size:1.05rem;font-weight:700;color:#fff;background:#0B5654}
.kvhs .splat{position:absolute;inset:-6%;width:112%;height:112%;fill:var(--acc);opacity:0;transition:opacity .6s .6s;pointer-events:none}
.kvhs .slide.is-active .splat{opacity:.9;animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
/* paint sweep between slides */
.kvhs .sweep{position:absolute;inset:-10% -30%;background:var(--sweep,#fff);transform:translateX(-130%) skewX(-14deg);pointer-events:none;z-index:5}
.kvhs.hero.is-sweeping .sweep{animation:sweep .85s cubic-bezier(.7,0,.2,1) forwards}
@keyframes sweep{0%{transform:translateX(-130%) skewX(-14deg)}100%{transform:translateX(130%) skewX(-14deg)}}
/* left rail */
.kvhs .rail{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0;z-index:3}
.kvhs .rail button{display:flex;align-items:center;gap:10px;background:none;border:0;color:var(--fg);font-family:inherit;font-weight:700;font-size:.8rem;letter-spacing:.1em;cursor:pointer;padding:8px 0;opacity:.45;transition:opacity .3s}
.kvhs .rail button i{display:block;width:14px;height:2px;background:currentColor;transition:width .4s}
.kvhs .rail button span{display:none}
.kvhs .rail button[aria-current="true"]{opacity:1} .kvhs .rail button[aria-current="true"] i{width:40px;background:var(--acc)}
.kvhs .rail button:hover{opacity:1}
/* dots */
.kvhs .dots{display:none;gap:6px;list-style:none;margin:0;padding:0}
.kvhs .dots button{width:40px;height:44px;display:grid;place-items:center;background:none;border:0;cursor:pointer;padding:0}
.kvhs .dots button span{display:block;width:10px;height:10px;border-radius:999px;background:currentColor;opacity:.35;color:var(--fg);transition:width .35s,opacity .3s,background .3s}
.kvhs .dots button[aria-current="true"] span{width:34px;opacity:1;background:var(--acc)}
.kvhs .dots button:hover span{opacity:.8}
@media (max-width:640px){.kvhs .dots{display:none}}
/* bottom bar */
.kvhs .bar{position:absolute;left:0;right:0;bottom:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:3}
.kvhs .next{display:flex;align-items:center;gap:14px;background:rgba(0,0,0,.14);border:0;color:var(--fg);font-family:inherit;text-align:left;padding:8px 18px 8px 8px;border-radius:999px;cursor:pointer;transition:background .3s}
.kvhs .next:hover{background:rgba(0,0,0,.24)}
.kvhs .next .thumb{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--acc);color:#024C4A;font-weight:800;font-size:.95rem;flex:none}
.kvhs .next small{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.kvhs .next b{font-size:1rem}
.kvhs .ctrl{display:flex;align-items:center;gap:10px}
.kvhs .ctrl button{width:48px;height:48px;border-radius:50%;border:2px solid currentColor;background:transparent;color:var(--fg);cursor:pointer;display:grid;place-items:center;opacity:.8}
.kvhs .ctrl button:hover{opacity:1;background:rgba(255,255,255,.18)}
.kvhs .ctrl svg{width:20px;height:20px}
.kvhs .play{position:relative} .kvhs .play .ring{position:absolute;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);transform:rotate(-90deg)}
.kvhs .play .ring circle{fill:none;stroke:var(--acc);stroke-width:3;stroke-dasharray:157;stroke-dashoffset:157}
.kvhs.hero.is-playing .play .ring circle{animation:ring var(--dur,4s) linear infinite}
@keyframes ring{from{stroke-dashoffset:157}to{stroke-dashoffset:0}}
.kvhs .play .ico-pause{display:block} .kvhs .play .ico-play{display:none}
.kvhs.hero:not(.is-playing) .play .ico-pause{display:none} .kvhs.hero:not(.is-playing) .play .ico-play{display:block}
@media (max-width:640px){
  /* proportional to the 810x712.5 Canva mobile page: 1pt = 0.1235vw */
  .kvhs.hero{min-height:0}
  .kvhs.hero .wrap{width:calc(100% - 10.8vw);min-height:88vw;padding-block:0 13.5vw;display:grid;align-items:center}
  .kvhs .slides{align-self:center}
  .kvhs .slide{grid-template-columns:minmax(0,1fr) 34vw;grid-auto-rows:auto;gap:0 3vw;align-items:center;align-content:center}
  .kvhs .slide-text{display:contents}
  .kvhs .title,.kvhs .tag,.kvhs .txt,.kvhs .facts,.kvhs .rules,.kvhs .cta,.kvhs .cta-row{grid-column:1}
  .kvhs .slide-media{grid-column:2;grid-row:1/8;align-self:center;width:34vw;margin:0 -1.4vw 0 0}
  .kvhs .title{margin:0;font-size:6.67vw;line-height:1.11;letter-spacing:-.02em;max-width:56vw}
  .kvhs .slide-giveaway .title{font-size:6.67vw;line-height:1.11}
  .kvhs .slide-giveaway .ar{font-size:6.67vw;line-height:1.35}
  .kvhs .craft{display:none}
  .kvhs mark{padding:0 .1em} .kvhs mark::before{top:.12em;bottom:0}
  .kvhs .tag{margin-top:1.7vw;font-size:2.43vw;line-height:1.3;max-width:46vw}
  .kvhs .txt{margin-top:2.6vw;font-size:2.03vw;line-height:1.4;max-width:53vw}
  .kvhs .cta{justify-self:start;margin-top:4.6vw;min-height:0;height:auto;padding:2.5vw 2.9vw;font-size:2.6vw;line-height:1.2;gap:1.2vw;max-width:56vw;text-align:left}
  .kvhs .cta svg{width:2.2vw;height:2.2vw;flex:none}
  .kvhs .slide-featured .cta{font-size:2.1vw;max-width:25vw;padding:2.3vw 2.7vw}
  .kvhs .cta-row{gap:0;margin-top:0}
  .kvhs .slide-giveaway .cta-row{margin-top:5.3vw} .kvhs .slide-giveaway .cta{margin-top:0}
  .kvhs .facts{margin-top:2.5vw;max-width:56vw;grid-template-columns:27.8vw 27.8vw;gap:1.7vw 0}
  .kvhs .facts li{grid-template-columns:1fr;gap:.2vw}
  .kvhs .facts b{font-size:2.67vw;line-height:1.1} .kvhs .facts span{font-size:1.46vw;opacity:1}
  .kvhs .rules{margin-top:2.2vw;font-size:1.78vw;text-underline-offset:.3vw;text-decoration-thickness:.2vw}
  .kvhs .ph{font-size:2.6vw;padding:2vw}
  .kvhs .blob-back{transform:translate(15%,19%) scale(.6)}
  .kvhs .slide.is-active .blob-back{transform:translate(15%,19%) scale(1)}
  .kvhs .slide-giveaway .slide-media{width:31.5vw}
  .kvhs .badge{left:auto;right:-10%;top:-16%;font-size:1.85vw;padding:1.1vw 2.6vw;letter-spacing:.06em;transform:rotate(8deg) scale(0)} .kvhs .slide.is-active .badge{transform:rotate(8deg) scale(1)}
  .kvhs .splat{inset:-18%;width:136%;height:136%}
  /* bottom bar */
  .kvhs .bar{bottom:5.2vw;gap:2vw}
  .kvhs .next{padding:1vw 1.2vw;gap:0;width:13.8vw;height:8vw;background:#0B5654;border-radius:999px}
  .kvhs .next>span{display:none}
  .kvhs .next .thumb{width:5.9vw;height:5.9vw;font-size:2.6vw}
  .kvhs .ctrl{gap:1.2vw}
  .kvhs .ctrl button{width:7.65vw;height:7.65vw;border-width:2px;opacity:1}
  .kvhs .ctrl svg{width:2.8vw;height:2.8vw}
  .kvhs .play .ring{inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px)}
  .kvhs .slide-featured{grid-template-columns:minmax(0,1fr) 38.6vw}
  .kvhs .slide-featured .slide-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;grid-column:1;grid-row:1;align-self:stretch;position:relative;z-index:3}
  .kvhs .slide-featured .slide-media{grid-row:1}
  .kvhs .slide-featured .cta{white-space:nowrap;max-width:none;font-size:2.1vw;line-height:1.2;padding:2.3vw 2.7vw;text-align:left}
  .kvhs .slide .slide-media.slide-media-stack{width:38.6vw;height:55vw;aspect-ratio:auto;margin:0 -1.4vw 0 0;display:block}
  .kvhs .slide .slide-media-stack .stack{width:100%;height:100%;aspect-ratio:auto}
}

@media (min-width:641px) and (max-width:960px){
  .kvhs.hero{min-height:0}
  .kvhs.hero .wrap{width:min(1600px,90%);padding-block:56px 130px}
  .kvhs .br{display:none}
  .kvhs .slide{grid-template-columns:minmax(0,1fr) minmax(240px,40%);gap:32px}
  .kvhs .slide-media{width:100%}
  .kvhs .title{font-size:clamp(2.1rem,5.4vw,3.2rem)}
  .kvhs .slide-giveaway .title{font-size:clamp(2.6rem,6.6vw,4rem)}
  .kvhs .tag{font-size:1.1rem;margin-top:18px} .kvhs .txt{font-size:.98rem;max-width:26em}
  .kvhs .cta{margin-top:22px;min-height:50px;padding:10px 24px;font-size:.98rem}
  .kvhs .facts{grid-template-columns:1fr 1fr;gap:12px 24px;max-width:none}
  .kvhs .stack{width:min(270px,80%)} .kvhs .slide-media-stack{height:auto;padding:40px 0 10px}
  .kvhs .card-name{font-size:1rem} .kvhs .card-when{font-size:.8rem} .kvhs .chip{font-size:.7rem;padding:4px 9px} .kvhs .card-go{font-size:.8rem}
  .kvhs .badge{font-size:.72rem;padding:8px 12px;top:2%;right:-4%}
  .kvhs .bar{bottom:30px}
}
@media (prefers-reduced-motion:reduce){.kvhs .i,.kvhs .blob,.kvhs .blob-back,.kvhs .word,.kvhs .num,.kvhs .tag,.kvhs .txt,.kvhs .cta,.kvhs mark::before,.kvhs .splat,.kvhs .sweep{transition:none !important;animation:none !important} .kvhs.hero.is-playing .play .ring circle{animation:none}}

/* v1.1: Protect the standalone slideshow appearance from WordPress theme hero styles.
   Keep this at the end so theme-like defaults cannot bleed into the component. */
section.kvhs.hero {
  --bg: #01726F;
  --fg: #FFFFFF;
  --acc: #FCC12B;
  --btnbg: #E02045;
  --btnfg: #FFFFFF;
  background: var(--bg) !important;
  background-color: var(--bg) !important;
  background-image: none !important;
  color: var(--fg) !important;
  opacity: 1 !important;
  width: 100%;
  max-width: none;
  isolation: isolate;
  padding: 0 !important;
}
section.kvhs.hero .slide,
section.kvhs.hero .slide-text,
section.kvhs.hero .slides,
section.kvhs.hero .wrap {
  background: transparent !important;
  background-image: none !important;
}
section.kvhs.hero .title,
section.kvhs.hero .txt {color: #fff !important; text-shadow: none !important;}
section.kvhs.hero .tag {color: #FCC12B !important;}
section.kvhs.hero .title {font-family: 'Montserrat',system-ui,sans-serif !important; font-weight: 900 !important;}
section.kvhs.hero .cta {background: #E02045 !important; color: #fff !important; border: 0 !important;}
section.kvhs.hero .slide-media {display: block; opacity: 1;}
section.kvhs.hero .blob,
section.kvhs.hero .blob-back {clip-path: none; border-radius: 48% 52% 52% 48% / 43% 48% 52% 57%;}
section.kvhs.hero .blob {overflow: hidden;}
section.kvhs.hero .blob .ph {background:#0B5654 !important;color:#fff !important;}
section.kvhs.hero .card {background:#fff !important;color:#024C4A !important;}
section.kvhs.hero .card-img {background:#D9F6F1 !important;}
section.kvhs.hero .card-img .ph {background:#D9F6F1 !important;color:#01726F !important;}
section.kvhs.hero .card-name {color:#01726F !important;}
section.kvhs.hero .card-when {color:#1E1E1E !important;}
section.kvhs.hero .card-go {color:#E02045 !important;}
section.kvhs.hero .w mark {background:transparent !important;color:#01726F !important;}
section.kvhs.hero .w mark::before {background:#FCC12B !important;}
section.kvhs.hero .ctrl button {color:#fff !important;border-color:#fff !important;}
section.kvhs.hero .stack {display:block;}

/* v1.2: consistent, frameless image treatment on every regular slide.
   The featured-workshop slide intentionally keeps its three informational cards. */
section.kvhs.hero .slide:not(.slide-featured) .slide-media { isolation:isolate; }
section.kvhs.hero .slide:not(.slide-featured) .slide-media .blob,
section.kvhs.hero .slide:not(.slide-featured) .slide-media .blob-back {
  border:0 !important; box-shadow:none !important;
  background-image:none !important;
}
section.kvhs.hero .slide:not(.slide-featured) .slide-media .blob {
  z-index:2; border-radius:46% 54% 53% 47% / 43% 45% 55% 57%;
  background:#0B5654 !important;
}
section.kvhs.hero .slide:not(.slide-featured) .slide-media .blob-back {
  z-index:1; border-radius:54% 46% 44% 56% / 48% 57% 43% 52%;
  background:var(--blob,#3CD3C4) !important;
}
section.kvhs.hero .slide:not(.slide-featured) .slide-media .blob img {
  width:100% !important; height:100% !important; object-fit:cover !important;
  border:0 !important; border-radius:0 !important;
  padding:0 !important; margin:0 !important;
  box-shadow:none !important; max-width:none !important;
}
section.kvhs.hero .slide:not(.slide-featured) .slide-media .splat { z-index:3; }
section.kvhs.hero .slide:not(.slide-featured) .slide-media .badge { z-index:4; }
section.kvhs.hero .ctrl {gap:10px;}
section.kvhs.hero .ctrl .play {display:none !important;}

/* v1.2.1: hide manual arrow controls; keep auto carousel */
section.kvhs.hero .ctrl{display:none !important;}

/* v1.2.2: only the active slide may display photos or workshop cards. */
section.kvhs.hero .slides > .slide:not(.is-active),
section.kvhs.hero .slides > .slide[aria-hidden="true"] {visibility:hidden !important;pointer-events:none !important;z-index:0 !important;}
section.kvhs.hero .slides > .slide:not(.is-active) .slide-media,
section.kvhs.hero .slides > .slide:not(.is-active) .stack,
section.kvhs.hero .slides > .slide:not(.is-active) .card {visibility:hidden !important;pointer-events:none !important;}
section.kvhs.hero .slides > .slide.is-active {visibility:visible !important;z-index:1 !important;}
section.kvhs.hero .slides > .slide.is-active .slide-media,
section.kvhs.hero .slides > .slide.is-active .stack,
section.kvhs.hero .slides > .slide.is-active .card {visibility:visible;}



/* v1.4.0 — small, finger-friendly navigation dots for the auto carousel. */
section.kvhs.hero .bar {position:absolute;}
section.kvhs.hero .bar .dots.rail {
  display:flex !important;
  position:absolute !important;
  inset:auto auto 7px 50% !important;
  top:auto !important;
  left:50% !important;
  bottom:7px !important;
  transform:translateX(-50%) !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  padding:0 !important;
  margin:0 !important;
  list-style:none !important;
  z-index:4 !important;
}
section.kvhs.hero .bar .dots.rail li {display:block !important;margin:0 !important;padding:0 !important;list-style:none !important;}
section.kvhs.hero .bar .dots.rail button {
  display:grid !important;
  width:28px !important;
  height:38px !important;
  min-width:28px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  place-items:center !important;
  background:transparent !important;
  cursor:pointer !important;
  opacity:1 !important;
  touch-action:manipulation;
}
section.kvhs.hero .bar .dots.rail button span {
  display:block !important;
  width:8px !important;
  height:8px !important;
  border-radius:99px !important;
  background:rgba(255,255,255,.62) !important;
  transition:width .25s,background .25s !important;
}
section.kvhs.hero .bar .dots.rail button[aria-current="true"] span {
  width:23px !important;
  background:#FCC12B !important;
}
section.kvhs.hero .bar .dots.rail button:focus-visible {outline:2px solid #FCC12B !important;outline-offset:-3px !important;border-radius:12px !important;}
section.kvhs.hero .bar .ctrl {display:none !important;}
@media(max-width:640px){
  section.kvhs.hero .bar .dots.rail {bottom:0 !important;left:auto !important;right:0 !important;transform:none !important;gap:0 !important;}
  section.kvhs.hero .bar .dots.rail button {width:24px !important;min-width:24px !important;height:36px !important;}
  section.kvhs.hero .bar .dots.rail button span {width:7px !important;height:7px !important;}
  section.kvhs.hero .bar .dots.rail button[aria-current="true"] span {width:18px !important;}
}




/* v1.8 — Mobile layout based on the approved compact preview. The mobile
   system below supersedes the old phone overrides while desktop stays intact. */
@media (min-width:320px) and (max-width:640px) {
  section.kvhs.hero {min-height:0!important;height:auto!important;overflow:hidden!important;align-items:stretch!important;}
  section.kvhs.hero>.wrap {display:block!important;width:calc(100% - 28px)!important;min-height:0!important;margin-inline:auto!important;padding:23px 0 54px!important;}
  section.kvhs.hero .slides {display:grid!important;width:100%!important;min-width:0!important;}
  section.kvhs.hero .slides>.slide {grid-area:1/1!important;display:grid!important;grid-template-columns:minmax(0,48%) minmax(0,52%)!important;grid-template-rows:1fr!important;align-items:center!important;align-content:center!important;gap:2px!important;min-width:0!important;width:100%!important;min-height:clamp(280px,72vw,332px)!important;margin:0!important;padding:0!important;}
  section.kvhs.hero .slide .slide-text {display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;grid-column:1!important;grid-row:1!important;align-self:center!important;min-width:0!important;width:100%!important;max-width:100%!important;padding:0 3px 0 0!important;position:relative!important;z-index:3!important;}
  section.kvhs.hero .slide .title {font-size:clamp(22px,6.0vw,31px)!important;line-height:1.09!important;letter-spacing:-.035em!important;max-width:100%!important;margin:0!important;overflow-wrap:normal!important;}
  section.kvhs.hero .slide .title .w {max-width:100%;}
  section.kvhs.hero .slide .ar {font-size:inherit!important;line-height:1.25!important;}
  section.kvhs.hero .slide .tag {font-size:clamp(10px,2.65vw,13px)!important;line-height:1.35!important;margin:11px 0 0!important;max-width:100%!important;}
  section.kvhs.hero .slide .txt {font-size:clamp(9px,2.35vw,12px)!important;line-height:1.45!important;margin:7px 0 0!important;max-width:100%!important;}
  section.kvhs.hero .slide .cta {align-self:flex-start!important;justify-self:start!important;min-height:36px!important;height:auto!important;max-width:100%!important;width:auto!important;padding:9px 11px!important;margin:15px 0 0!important;white-space:normal!important;font-size:clamp(9px,2.4vw,12px)!important;line-height:1.24!important;gap:5px!important;text-align:left!important;}
  section.kvhs.hero .slide .cta svg {width:12px!important;height:12px!important;flex:none!important;}
  section.kvhs.hero .slide .br {display:none!important;}
  section.kvhs.hero .slide .br.brm {display:inline!important;}
  section.kvhs.hero .slide .slide-media {display:block!important;grid-column:2!important;grid-row:1!important;align-self:center!important;justify-self:center!important;position:relative!important;min-width:0!important;width:min(93%,205px)!important;height:auto!important;aspect-ratio:1!important;margin:0!important;padding:0!important;z-index:1!important;}
  section.kvhs.hero .slide .badge {top:-10%!important;right:-6%!important;padding:5px 7px!important;font-size:9px!important;}
  section.kvhs.hero .slide .facts {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:7px 5px!important;margin:10px 0 0!important;}
  section.kvhs.hero .slide .facts li {min-width:0!important;}
  section.kvhs.hero .slide .facts b {font-size:clamp(9px,2.2vw,12px)!important;line-height:1.2!important;overflow-wrap:anywhere;}
  section.kvhs.hero .slide .facts span {font-size:clamp(8px,1.9vw,10px)!important;line-height:1.22!important;overflow-wrap:anywhere;}
  section.kvhs.hero .slide .rules {font-size:9px!important;margin-top:7px!important;}
  section.kvhs.hero .slide .cta-row {display:flex!important;grid-column:auto!important;gap:0!important;margin:0!important;}
  section.kvhs.hero .slide-giveaway .cta-row .cta {margin-top:12px!important;}
  section.kvhs.hero .slide.slide-featured .slide-media.slide-media-stack {width:100%!important;height:clamp(226px,61vw,282px)!important;aspect-ratio:auto!important;overflow:visible!important;margin:0!important;}
  section.kvhs.hero .slide.slide-featured .stack {width:94%!important;height:100%!important;aspect-ratio:auto!important;margin:0 auto!important;}
  section.kvhs.hero .slide.slide-featured .card {display:flex!important;flex-direction:column!important;box-sizing:border-box!important;height:100%!important;min-width:0!important;border-radius:clamp(11px,3vw,16px)!important;overflow:hidden!important;}
  section.kvhs.hero .slide.slide-featured .card-img {display:block!important;box-sizing:border-box!important;flex:1 1 auto!important;height:auto!important;width:calc(100% - 14px)!important;min-height:0!important;margin:7px 7px 0!important;padding:0!important;border-radius:8px!important;overflow:hidden!important;}
  section.kvhs.hero .slide.slide-featured .card-img img {display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
  section.kvhs.hero .slide.slide-featured .card-body {display:flex!important;flex:0 0 auto!important;flex-direction:column!important;justify-content:flex-start!important;min-height:0!important;padding:7px 8px 9px!important;margin:0!important;gap:0!important;}
  section.kvhs.hero .slide.slide-featured .card-name {font-size:clamp(10px,2.75vw,13px)!important;line-height:1.14!important;}
  section.kvhs.hero .slide.slide-featured .card-when {display:block!important;font-size:clamp(8px,1.85vw,10px)!important;line-height:1.3!important;margin-top:4px!important;}
  section.kvhs.hero .slide.slide-featured .card-meta {display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:3px!important;margin-top:8px!important;padding:0!important;}
  section.kvhs.hero .slide.slide-featured .chip {font-size:clamp(7px,1.75vw,9px)!important;line-height:1.2!important;padding:3px 5px!important;white-space:nowrap!important;}
  section.kvhs.hero .slide.slide-featured .card-go {margin-left:auto!important;font-size:clamp(7px,1.75vw,9px)!important;white-space:nowrap!important;}
  section.kvhs.hero .bar {bottom:8px!important;left:0!important;right:0!important;min-height:34px!important;}
  section.kvhs.hero .next {width:auto!important;height:32px!important;min-width:0!important;padding:4px 8px 4px 4px!important;gap:5px!important;}
  section.kvhs.hero .next .thumb {width:24px!important;height:24px!important;font-size:10px!important;}
  section.kvhs.hero .next>span:not(.thumb) {display:block!important;}
  section.kvhs.hero .next small {font-size:7px!important;}
  section.kvhs.hero .next b {font-size:9px!important;}
  section.kvhs.hero .bar .dots.rail {left:auto!important;right:0!important;bottom:0!important;top:auto!important;transform:none!important;}
  section.kvhs.hero .bar .dots.rail button {width:clamp(18px,5.5vw,24px)!important;min-width:clamp(18px,5.5vw,24px)!important;height:34px!important;}
  section.kvhs.hero .ctrl {display:none!important;}
}
@media (max-width:319px) {
  section.kvhs.hero {height:auto!important;min-height:0!important;}
  section.kvhs.hero>.wrap {width:calc(100% - 24px)!important;padding:16px 0 52px!important;min-height:0!important;}
  section.kvhs.hero .slides>.slide {grid-area:1/1!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:14px!important;min-height:0!important;padding:0!important;}
  section.kvhs.hero .slide .slide-text {grid-column:1!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;padding:0!important;}
  section.kvhs.hero .slide .title {font-size:25px!important;line-height:1.12!important;}
  section.kvhs.hero .slide .tag {font-size:12px!important;margin-top:9px!important;}
  section.kvhs.hero .slide .txt {font-size:11px!important;margin-top:6px!important;}
  section.kvhs.hero .slide .cta {font-size:11px!important;min-height:40px!important;margin-top:11px!important;}
  section.kvhs.hero .slide .slide-media {grid-column:1!important;grid-row:2!important;justify-self:center!important;width:min(65%,180px)!important;}
  section.kvhs.hero .slide.slide-featured .slide-media.slide-media-stack {grid-column:1!important;grid-row:2!important;width:min(75%,200px)!important;height:270px!important;aspect-ratio:auto!important;}
  section.kvhs.hero .slide.slide-featured .stack {width:94%!important;height:100%!important;aspect-ratio:auto!important;}
  section.kvhs.hero .slide.slide-featured .card-img {flex:1 1 auto!important;height:auto!important;}
  section.kvhs.hero .slide.slide-featured .card-body {flex:0 0 auto!important;padding:7px 9px!important;}
  section.kvhs.hero .slide.slide-featured .card-meta {margin-top:7px!important;padding:0!important;}
  section.kvhs.hero .bar .dots.rail button {width:18px!important;min-width:18px!important;}
}
@media (min-width:641px) and (max-width:960px) {
  section.kvhs.hero {min-height:0!important;}
  section.kvhs.hero>.wrap {padding-block:35px 78px!important;}
  section.kvhs.hero .slide {grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:20px!important;}
  section.kvhs.hero .slide .slide-text {min-width:0!important;z-index:4!important;}
  section.kvhs.hero .slide .slide-media {max-width:88%!important;}
  section.kvhs.hero .slide .title {font-size:clamp(32px,5vw,48px)!important;}
  section.kvhs.hero .slide .facts {gap:10px 12px!important;}
}

/* v1.9: fresh mobile sizing; later rules intentionally override legacy styles. */
@media (min-width:350px) and (max-width:640px) {
 section.kvhs.hero {min-height:0!important;height:auto!important;}
 section.kvhs.hero > .wrap {width:calc(100% - 26px)!important;padding:18px 0 55px!important;min-height:0!important;}
 section.kvhs.hero .slides>.slide {grid-template-columns:minmax(0,52%) minmax(0,48%)!important;min-height:clamp(262px,68vw,340px)!important;gap:0!important;align-items:center!important;}
 section.kvhs.hero .slide .slide-text {width:100%!important;z-index:4!important;padding-right:6px!important;}
 section.kvhs.hero .slide .title {font-size:clamp(22px,6.5vw,36px)!important;line-height:1.08!important;}
 section.kvhs.hero .slide .tag {font-size:clamp(11px,2.8vw,15px)!important;line-height:1.3!important;margin-top:10px!important;}
 section.kvhs.hero .slide .txt {font-size:clamp(10px,2.55vw,13px)!important;line-height:1.43!important;margin-top:7px!important;}
 section.kvhs.hero .slide .cta {font-size:clamp(10px,2.5vw,13px)!important;min-height:38px!important;padding:9px 12px!important;margin-top:14px!important;}
 section.kvhs.hero .slide .slide-media:not(.slide-media-stack) {width:min(92%,240px)!important;aspect-ratio:1!important;justify-self:center!important;}
 section.kvhs.hero .slide.slide-featured .slide-media.slide-media-stack {width:100%!important;height:clamp(218px,59vw,315px)!important;}
 section.kvhs.hero .slide.slide-featured .stack {width:92%!important;height:100%!important;}
 section.kvhs.hero .slide.slide-featured .card {height:100%!important;display:flex!important;flex-direction:column!important;}
 section.kvhs.hero .slide.slide-featured .card-img {flex:1 1 0%!important;height:0!important;min-height:0!important;width:calc(100% - 12px)!important;margin:6px 6px 0!important;}
 section.kvhs.hero .slide.slide-featured .card-body {flex:0 0 auto!important;display:flex!important;flex-direction:column!important;padding:7px 7px 8px!important;gap:0!important;}
 section.kvhs.hero .slide.slide-featured .card-when {font-size:clamp(8px,2.05vw,10px)!important;line-height:1.25!important;margin:3px 0 0!important;}
 section.kvhs.hero .slide.slide-featured .card-meta {margin:5px 0 0!important;padding:0!important;gap:3px!important;}
 section.kvhs.hero .bar {bottom:8px!important;}
}
@media (max-width:349px) {
 section.kvhs.hero > .wrap {width:calc(100% - 28px)!important;padding:16px 0 52px!important;}
 section.kvhs.hero .slides>.slide {display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;min-height:0!important;gap:12px!important;align-content:start!important;}
 section.kvhs.hero .slide .slide-text {grid-column:1!important;grid-row:1!important;align-self:start!important;justify-content:flex-start!important;display:flex!important;flex-direction:column!important;}
 section.kvhs.hero .slide .title {font-size:clamp(23px,8vw,28px)!important;}
 section.kvhs.hero .slide .tag {font-size:12px!important;}
 section.kvhs.hero .slide .txt {font-size:11px!important;}
 section.kvhs.hero .slide .slide-media {grid-column:1!important;grid-row:2!important;width:min(70%,200px)!important;aspect-ratio:1!important;justify-self:center!important;}
 section.kvhs.hero .slide.slide-featured .slide-media.slide-media-stack {grid-column:1!important;grid-row:2!important;width:min(76%,220px)!important;height:275px!important;aspect-ratio:auto!important;}
 section.kvhs.hero .slide.slide-featured .stack {width:92%!important;height:100%!important;}
 section.kvhs.hero .slide.slide-featured .card-img {flex:1 1 0%!important;height:0!important;min-height:0!important;}
 section.kvhs.hero .slide.slide-featured .card-body {flex:0 0 auto!important;}
 section.kvhs.hero .slide.slide-featured .card-meta {margin-top:5px!important;}
}
@media (min-width:641px) and (max-width:960px) {
 section.kvhs.hero .slides>.slide {min-height:420px!important;}
 section.kvhs.hero .slide .slide-media-stack {height:360px!important;}
}
/* Do not allow theme typography to force a workshop card's metadata to the bottom. */
section.kvhs.hero .slide-featured .card-body {justify-content:flex-start!important;}
section.kvhs.hero .slide-featured .card-meta {margin-bottom:0!important;}
