/* Zobzen shared styles */
:root{--ink:#17171A;--paper:#FAF8F4;
  /* softened dark: warm "dusk" lifted off pure black, faint Midnight-Blue nod */
  --night:#242230;--night-deep:#1B1A24;--night-lift:#302E3E;
  /* true brand palette (from Brand_Colour_Palette) */
  --red:#F1290C;--coral:#FA6E51;--amber:#FFB300;--teal:#00967A;--orange:var(--coral);--bone:#F4E8D6;
  --display:'Oswald','Arial Narrow',sans-serif;--serif:'Cormorant Garamond',Georgia,serif}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);overflow-x:hidden;opacity:0}

/* orphan prevention */
h1,h2,h3,h4,h5,h6{text-wrap:balance}
p,li,blockquote{text-wrap:pretty}
body.zz-ready{opacity:1;transition:opacity .35s ease}
a{color:inherit;text-decoration:none}
::selection{background:var(--red);color:var(--bone)}
img{display:block;max-width:100%}
a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}

/* nav */
.zz-nav{position:fixed;inset:0 0 auto 0;z-index:90;display:flex;align-items:center;
  justify-content:space-between;padding:1.4rem 2.2rem;color:var(--bone);
  transition:transform .38s cubic-bezier(.4,0,.2,1),opacity .5s ease}
.zz-nav.nav-scrolled::after{content:'';position:absolute;inset:-4px -12px -28px;
  background:linear-gradient(to bottom,rgba(23,23,26,.72) 0%,rgba(23,23,26,.42) 58%,rgba(23,23,26,0) 100%);
  z-index:-1;pointer-events:none}
.zz-nav.nav-hidden{transform:translateY(-115%);opacity:0;pointer-events:none}
.zz-nav .zz-drop{position:relative}
.zz-nav .zz-drop-btn{cursor:pointer;display:flex;align-items:center;gap:.38em;
  background:none;border:none;color:inherit;font:inherit;letter-spacing:inherit;
  text-transform:inherit;padding:0}
.zz-nav .zz-drop-btn::after{content:'';display:inline-block;width:0;height:0;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid currentColor;margin-top:1px;opacity:.7;transition:transform .25s}
.zz-nav .zz-drop.open .zz-drop-btn::after{transform:rotate(180deg)}
.zz-nav .zz-drop-menu{position:absolute;top:calc(100% + 1rem);left:50%;
  transform:translateX(-50%) translateY(-6px);min-width:220px;
  background:rgba(23,23,26,.96);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.08);border-radius:3px;
  padding:.6rem 0;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s}
.zz-nav .zz-drop.open .zz-drop-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.zz-nav .zz-drop-menu a{display:block;padding:.62rem 1.4rem;font-family:var(--display);
  font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bone);
  opacity:.82;text-decoration:none;transition:opacity .15s,color .15s}
.zz-nav .zz-drop-menu a:hover{opacity:1;color:var(--orange)}
.zz-nav .zz-drop-menu hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:.4rem 1.4rem}
.zz-nav img{width:52px;height:52px;object-fit:contain;transition:filter .35s}
.zz-nav ul{display:flex;align-items:center;gap:2.4rem;list-style:none;font-family:var(--display);
  font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;transition:color .35s}
.zz-nav ul a{padding-bottom:3px;border-bottom:2px solid transparent;transition:.3s;opacity:.9}
.zz-nav ul a:hover{opacity:1;border-color:currentColor}
.zz-nav ul a.zz-current{border-color:var(--orange);opacity:1}

/* index.html — dark page overrides */
body.page-home{background:var(--night);color:var(--bone)}
body.page-home .zz-nav.nav-scrolled::after{
  background:linear-gradient(to bottom,rgba(23,23,26,.72) 0%,rgba(23,23,26,.42) 58%,rgba(23,23,26,0) 100%)}
body.page-home .zz-nav .zz-drop-menu{left:auto;right:0;transform:translateY(-6px)}
body.page-home .zz-nav .zz-drop.open .zz-drop-menu{transform:translateY(0)}

/* light-nav pages (contact, terms) — dark text needs a light fade */
body.nav-light .zz-nav{color:var(--ink)}
body.nav-light .zz-nav img{filter:brightness(0)}
body.nav-light .zz-nav.nav-scrolled::after{
  background:linear-gradient(to bottom,rgba(250,248,244,.97) 0%,rgba(250,248,244,.82) 62%,rgba(250,248,244,0) 100%)}

/* index.html hero */
.zz-hero{position:relative;min-height:100svh;display:flex;align-items:center;
  justify-content:center;overflow:hidden;background:var(--night)}
.zz-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center top;opacity:.6}
.zz-hero-scrim{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(23,23,26,.35) 0%,rgba(23,23,26,.15) 40%,rgba(23,23,26,.65) 100%)}
.zz-hero-copy{position:relative;z-index:2;text-align:center;color:var(--bone);padding:0 2rem}

/* index.html content */
.zz-section{background:linear-gradient(rgba(250,248,244,.5),rgba(250,248,244,.5)),
  url('images/8a377e-e31-f31-daa6-d020e3041721_229-plain-white-paper.webp') center/cover no-repeat var(--paper);
  padding:14vh 8vw;text-align:center}
.zz-school-name{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,3rem);
  font-weight:500;color:var(--ink);margin-bottom:4vh}
.zz-lines{list-style:none;margin-bottom:5vh}
.zz-lines li{font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.7;color:rgba(23,23,26,.82);margin-bottom:.4rem}
.zz-koan{font-size:clamp(1.15rem,2vw,1.5rem);font-style:italic;color:var(--ink);margin-bottom:5vh}
.zz-enter{display:inline-flex;align-items:center;gap:.7rem;padding:1.1rem 2.4rem;
  border:1.5px solid var(--ink);font-family:var(--display);font-size:.82rem;
  letter-spacing:.3em;text-transform:uppercase;color:var(--ink);border-radius:2px;
  transition:background .3s,color .3s,border-color .3s}
.zz-enter:hover{background:var(--red);color:var(--bone);border-color:var(--red)}

/* page hero (inner pages) */
.zz-phero{min-height:58svh;display:flex;align-items:flex-end;position:relative;
  overflow:hidden;background:var(--night);color:var(--bone)}
.zz-phero--video{min-height:60svh}
.zz-phero-bg{position:absolute;inset:0;background-size:cover;background-position:center bottom;opacity:.55}
.zz-phero-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(23,23,26,.78) 0%,rgba(23,23,26,.3) 60%,rgba(23,23,26,.08) 100%),
  linear-gradient(0deg,rgba(23,23,26,.6) 0%,transparent 40%)}
.zz-phero-copy{position:relative;z-index:2;padding:14vh 8vw 8vh;max-width:860px}
.zz-phero-copy .eyebrow{font-family:var(--display);font-size:.74rem;letter-spacing:.5em;
  text-transform:uppercase;color:var(--orange);margin-bottom:1.4rem}
.zz-phero-copy h1{font-family:var(--display);font-weight:500;text-transform:uppercase;
  font-size:clamp(2.6rem,6.5vw,6rem);line-height:1.02;letter-spacing:.04em}
.zz-phero-copy .lede{font-size:clamp(1rem,1.5vw,1.25rem);font-style:italic;
  margin-top:2rem;opacity:.9;max-width:38ch}

/* video bg — must COVER the banner (crop, never letterbox) for both
   Wistia background=true (<video>) and standard (<iframe>) embeds */
.zz-vidbg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
/* Wistia wraps the media in nested divs — force every wrapper to fill the box */
.zz-vidbg .wistia_embed,
.zz-vidbg .wistia_embed *{position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;transform:none!important;padding:0!important}
/* the real media element covers the container regardless of its aspect ratio.
   object-fit is container-relative, so this works on desktop AND mobile */
.zz-vidbg video,
.zz-vidbg img{width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important}
/* standard (non-background) iframe embeds: 16:9 cover trick, container-relative */
.zz-vidbg iframe{position:absolute!important;top:50%!important;left:50%!important;
  transform:translate(-50%,-50%)!important;
  width:max(100%,177.78vh)!important;height:max(100%,56.25vw)!important}
/* Wistia background container must fill its phero fully */
.zz-phero--video{overflow:hidden}

/* paper sections */
.zz-paper-sec,.zz-paper{background:linear-gradient(rgba(250,248,244,.5),rgba(250,248,244,.5)),
  url('images/8a377e-e31-f31-daa6-d020e3041721_229-plain-white-paper.webp') center/cover no-repeat var(--paper)}
.zz-paper{padding:12vh 8vw}

/* big editorial text — shared by join + next-choose */
.zz-bigline{font-family:var(--serif);font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.25;
  font-weight:500;margin:0 0 7vh;text-wrap:balance}
.zz-bigline:last-child{margin-bottom:0}
.zz-bigline em{font-style:italic;color:var(--red)}
.zz-quiet{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.7;
  opacity:.85;max-width:46ch;margin:0 auto 4vh;text-wrap:pretty}
.zz-ink-sec .zz-bigline em,.zz-inkbg .zz-bigline em{color:var(--orange)}

/* content */
.zz-content{max-width:760px;margin:0 auto;padding:12vh 8vw}
.zz-content h2{font-family:var(--display);font-weight:500;text-transform:uppercase;
  font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:.06em;margin-bottom:2rem}
.zz-content p{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.7;margin-bottom:1.8rem;
  color:rgba(23,23,26,.85)}
.zz-content p:last-child{margin-bottom:0}
.zz-cta-row{text-align:center;margin-top:6vh}

/* buttons */
.zz-btn{display:inline-block;padding:1.1rem 2.8rem;background:var(--red);color:var(--bone);
  font-family:var(--display);font-size:.82rem;letter-spacing:.3em;text-transform:uppercase;
  border:none;cursor:pointer;border-radius:2px;transition:background .3s,transform .2s}
.zz-btn:hover{background:var(--orange);color:var(--ink);transform:translateY(-2px)}
.zz-btn-ghost{display:inline-block;padding:1rem 2.6rem;border:1.5px solid var(--red);
  color:var(--red);font-family:var(--display);font-size:.82rem;letter-spacing:.3em;
  text-transform:uppercase;border-radius:2px;transition:all .3s}
.zz-btn-ghost:hover{background:var(--red);color:var(--bone)}

/* ink sections */
.zz-ink-sec{background:radial-gradient(125% 100% at 50% 0%,var(--night-lift) 0%,var(--night) 42%,var(--night-deep) 100%);color:var(--bone);padding:14vh 8vw}
.zz-ink-sec .zz-content{padding:0}
.zz-ink-sec h2{color:var(--bone)}
.zz-ink-sec p{color:rgba(244,232,214,.82)}
.zz-ink{background:radial-gradient(125% 100% at 50% 0%,var(--night-lift) 0%,var(--night) 42%,var(--night-deep) 100%);color:var(--bone);padding:10vh 8vw;text-align:center}
.zz-ink h2{font-family:var(--display);font-weight:500;text-transform:uppercase;
  font-size:clamp(1.5rem,3vw,2.6rem);letter-spacing:.06em;margin-bottom:1.6rem}
.zz-ink p{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7;max-width:50ch;
  margin:0 auto 2rem;color:rgba(244,232,214,.8)}

/* cards */
.zz-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.4rem;margin-top:4vh}
.zz-card{background:rgba(244,232,214,.08);border:1px solid rgba(255,255,255,.08);
  border-radius:3px;padding:2.4rem 2rem}
.zz-card h3{font-family:var(--display);font-weight:500;text-transform:uppercase;
  font-size:1.1rem;letter-spacing:.08em;margin-bottom:1rem;color:var(--orange)}
.zz-card p{font-size:1rem;line-height:1.6;color:rgba(244,232,214,.75);margin-bottom:0}

/* guides grid */
.zz-guides-intro{padding:10vh 8vw 6vh;max-width:840px;margin:0 auto}
.zz-guides-intro p{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.7;margin-bottom:1.4rem;color:rgba(23,23,26,.82)}
.zz-guides-grid{padding:0 6vw 12vh;display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem;max-width:1080px;margin:0 auto}
.zz-guide-card{color:var(--ink);text-decoration:none;display:block}
.zz-guide-card-img{aspect-ratio:.92;background-size:cover;background-position:center top;
  border-radius:2px;margin-bottom:1.2rem;box-shadow:0 2px 16px rgba(23,23,26,.1);overflow:hidden;
  transition:box-shadow .35s,transform .35s}
.zz-guide-card:hover .zz-guide-card-img{box-shadow:0 8px 32px rgba(23,23,26,.18);transform:translateY(-3px)}
.zz-guide-card-name{font-family:var(--display);font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}
.zz-guide-card-role{font-size:.92rem;font-style:italic;color:rgba(23,23,26,.58);line-height:1.4;margin-bottom:.5rem}
.zz-guide-card-sessions{font-family:var(--display);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);opacity:.85;line-height:1.6;margin-bottom:.6rem}
.zz-guide-card-cta{font-family:var(--display);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(23,23,26,.35);transition:color .2s}
.zz-guide-card:hover .zz-guide-card-cta{color:var(--red)}

/* guide profile */
.zz-guide-page{display:grid;grid-template-columns:1fr 1.5fr;gap:0;min-height:70svh}
.zz-guide-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.zz-guide-sticky-img{width:100%;height:100%;background-size:cover;background-position:center top}
.zz-guide-body{padding:16vh 7vw 12vh;background:var(--paper)}
.zz-guide-body .back{display:inline-block;margin-bottom:4vh;font-family:var(--display);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(23,23,26,.45);transition:color .2s}
.zz-guide-body .back:hover{color:var(--red)}
.zz-guide-body h1{font-family:var(--display);font-weight:500;text-transform:uppercase;font-size:clamp(2.2rem,4vw,4rem);letter-spacing:.05em;margin-bottom:.5rem}
.zz-guide-body .role{font-style:italic;font-size:clamp(1rem,1.5vw,1.2rem);color:rgba(23,23,26,.55);display:block;margin-bottom:.8rem}
.zz-guide-body .sessions{font-family:var(--display);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:3vh;display:block;padding-bottom:2.4vh;border-bottom:1px solid rgba(23,23,26,.1)}
.zz-guide-body .tagline{font-size:clamp(1.15rem,1.8vw,1.4rem);font-style:italic;line-height:1.6;color:var(--ink);margin-bottom:3vh}
.zz-guide-body p{font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.75;margin-bottom:1.4rem;color:rgba(23,23,26,.82)}
.zz-guide-body .join-prompt{margin-top:4vh;padding-top:3vh;border-top:1px solid rgba(23,23,26,.1)}
.zz-guide-body .join-prompt p{font-size:1rem;color:rgba(23,23,26,.55);margin-bottom:1.2rem}

/* teacher/creative-team prose */
.zz-prose{max-width:720px;margin:0 auto}
.zz-prose h1{font-family:var(--display);font-weight:500;text-transform:uppercase;
  font-size:clamp(2rem,4.5vw,4rem);letter-spacing:.06em;margin-bottom:.6rem;color:var(--ink)}
.zz-prose .subtitle{font-style:italic;font-size:clamp(1rem,1.6vw,1.3rem);
  color:rgba(23,23,26,.62);margin-bottom:3vh;display:block}
.zz-prose .tagline{font-size:clamp(1.05rem,1.7vw,1.3rem);font-style:italic;
  color:var(--ink);margin-bottom:3vh;border-left:3px solid var(--red);padding-left:1.2rem}
.zz-prose p{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.75;margin-bottom:1.6rem;color:rgba(23,23,26,.85)}
.zz-prose p:last-child{margin-bottom:0}
.zz-prose .back{display:inline-block;margin-top:4vh;font-family:var(--display);
  font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:var(--red);
  border-bottom:1px solid rgba(241,41,12,.4);padding-bottom:2px;transition:border-color .2s;
  position:relative;z-index:2}
.zz-prose .back:hover{border-color:var(--red)}

/* photo grids */
.zz-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;max-height:55svh;overflow:hidden}
.zz-grid-cell{aspect-ratio:1;background-size:cover;background-position:center}
.zz-grid-name{position:relative}
.zz-grid-name::after{content:attr(data-name);position:absolute;bottom:.7rem;left:50%;
  transform:translateX(-50%);color:#fff;font-family:var(--serif);font-size:1rem;
  font-style:italic;text-shadow:0 1px 4px rgba(0,0,0,.6);white-space:nowrap}
.zz-guide-wrap{display:grid;grid-template-columns:1fr 1fr;gap:5vw;
  max-width:1000px;margin:0 auto;align-items:start;padding:12vh 8vw}
.zz-guide-photo{aspect-ratio:1;background-size:cover;background-position:center top;border-radius:2px;min-height:320px}
.zz-guide-bio h1{font-family:var(--display);font-weight:500;text-transform:uppercase;
  font-size:clamp(2rem,4vw,3.6rem);letter-spacing:.06em;margin-bottom:.4rem}
.zz-guide-bio .subtitle{font-style:italic;color:rgba(23,23,26,.62);font-size:1.05rem;
  display:block;margin-bottom:1rem;border-bottom:1px solid rgba(23,23,26,.12);padding-bottom:1rem}
.zz-guide-bio .tagline{font-size:1.1rem;font-style:italic;border-left:3px solid var(--red);
  padding-left:1rem;margin-bottom:2rem;color:var(--ink);line-height:1.5}
.zz-guide-bio p{font-size:1.05rem;line-height:1.75;margin-bottom:1.4rem;color:rgba(23,23,26,.82)}
.zz-guide-bio .back{display:inline-block;margin-top:2vh;font-family:var(--display);
  font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:var(--red);
  border-bottom:1px solid rgba(241,41,12,.4);padding-bottom:2px}
.zz-ct-banner{width:100%;overflow:hidden}
.zz-ct-banner-img{width:100%;height:auto;display:block}
.zz-ct-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.zz-ct-cell{aspect-ratio:.9;background-size:cover;background-position:center}

/* footer */
.zz-footer{background:#fff;color:var(--ink);position:relative}
.zz-wave{position:absolute;bottom:100%;left:0;width:100%;height:50px;display:block}
.zz-footer-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;
  padding:.9rem 2.2rem 1rem;font-family:var(--serif);font-size:.7rem;
  letter-spacing:.04em;color:#5e5b54}
.zz-footer-bar>:last-child{text-align:right}
.zz-footer-bar a{transition:color .2s}
.zz-footer-bar a:hover{color:var(--red)}
/* ── Video hero (homepage) ────────────────────────────────── */
.zz-video-hero{position:relative;height:100svh;overflow:hidden;background:var(--night)}
.zz-video-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.zz-video-scrim{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(23,23,26,.25) 0%,rgba(23,23,26,.05) 50%,rgba(23,23,26,.55) 100%)}
.zz-scroll-arrow{position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);
  z-index:3;color:var(--bone);opacity:.75;transition:opacity .2s;animation:zz-bob 2s ease-in-out infinite}
.zz-scroll-arrow:hover{opacity:1}
@keyframes zz-bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}

/* ── WhereAmI overlay — centred at 30% size with padding around, then dissolves out ── */
.zz-whereami{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:50%;height:auto;
  opacity:1;pointer-events:none;z-index:2;
  animation:zz-whereami-dissolve 1.8s ease 1.3s forwards}
@keyframes zz-whereami-dissolve{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){
  .zz-whereami{animation:none;opacity:0;visibility:hidden}
}
/* bigger on mobile */
@media(max-width:768px){
  .zz-whereami{width:85%}
}

/* ── Footer nav ───────────────────────────────────────────── */
.zz-footer-nav{display:flex;align-items:center;gap:1.6rem;font-family:var(--display);font-size:.62rem;
  letter-spacing:.22em;text-transform:uppercase}
.zz-footer-nav a{color:inherit;text-decoration:none;opacity:.7;transition:opacity .2s}
.zz-footer-nav a:hover{opacity:1}
.zz-footer-pipe{opacity:.3;font-size:.55rem;line-height:1}

@media(max-width:900px){
  .zz-guides-grid{grid-template-columns:repeat(3,1fr);gap:1.6rem}
  .zz-guide-page{grid-template-columns:1fr}
  .zz-guide-sticky{position:relative;height:50svh}
  .zz-guide-body{padding-top:6vh}
  .zz-grid{grid-template-columns:repeat(3,1fr)}
  .zz-ct-grid{grid-template-columns:repeat(3,1fr)}
  .zz-guide-wrap{grid-template-columns:1fr;padding:10vh 8vw}
}
@media(max-width:760px){
  .zz-nav{padding:1rem 1.6rem}
  .zz-nav img{width:42px;height:42px}
  .zz-nav ul{gap:1.4rem;font-size:.72rem;letter-spacing:.22em}
  .zz-phero-copy{padding:18vh 8vw 6vh}
  .zz-content{padding:10vh 8vw}
  .zz-cards{grid-template-columns:1fr}
}
@media(max-width:560px){
  .zz-guides-grid{grid-template-columns:1fr 1fr;gap:1.2rem}
}

/* ── Language switcher ───────────────────────────────────── */
.zz-lang{display:flex;align-items:center;gap:.4rem;font-family:var(--display);
  font-size:.68rem;letter-spacing:.28em}
.zz-lang-btn{background:none;border:none;cursor:pointer;color:inherit;font:inherit;
  letter-spacing:inherit;text-transform:uppercase;padding:2px 0;opacity:.55;
  transition:opacity .2s}
.zz-lang-btn:hover,.zz-lang-btn.active{opacity:1}
.zz-lang-btn.active{border-bottom:2px solid currentColor}
.zz-lang-sep{opacity:.35;line-height:1}

/* ── Red link helper (replaces inline styles) ─────────────── */
.zz-link-red{border-bottom:1px solid var(--red);color:var(--red)}

/* ── Explore full-screen overlay ────────────────────────────── */
.zz-explore-overlay{position:fixed;inset:0;z-index:200;background:radial-gradient(125% 100% at 50% 0%,var(--night-lift) 0%,var(--night) 42%,var(--night-deep) 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s ease}
.zz-explore-overlay.open{opacity:1;pointer-events:all}
.zz-explore-overlay nav{display:flex;flex-direction:column;align-items:center;
  gap:1.6rem;font-family:var(--display);font-size:1.1rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--bone)}
.zz-explore-overlay nav a{color:var(--bone);opacity:.8;transition:opacity .2s}
.zz-explore-overlay nav a:hover{opacity:1}
.zz-explore-overlay nav hr{width:2rem;border:none;border-top:1px solid rgba(244,232,214,.25);margin:.2rem 0}
.zz-explore-overlay-close{position:absolute;top:1.8rem;right:2rem;background:none;border:none;
  color:var(--bone);font-size:1.4rem;cursor:pointer;opacity:.6;transition:opacity .2s;padding:.4rem}
.zz-explore-overlay-close:hover{opacity:1}

/* ── Footer Explore button (matches link style) ──────────────── */
.zz-footer-explore-btn{background:none;border:none;cursor:pointer;color:inherit;
  font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;opacity:.7;
  transition:opacity .2s}
.zz-footer-explore-btn:hover{opacity:1}

/* ── Wistia: hide play button when autoplay blocked ──────────── */
.wistia_embed .w-bpb-wrapper,
.wistia_embed [class*="bigPlayButton"],
.wistia_embed [class*="playButtonContainer"]{display:none!important}

/* ── Mobile footer: black copyright bar ─────────────────────── */
@media(max-width:760px){
  .zz-footer-bar{grid-template-columns:1fr auto 1fr;padding:.9rem 1.6rem .9rem}
  .zz-footer-bar>:last-child{grid-column:1/-1;grid-row:2;background:var(--ink);color:var(--bone);
    margin:.9rem -1.6rem -.9rem;padding:.65rem 1.6rem;text-align:center;font-size:.65rem}
  .zz-footer-bar>:last-child a{color:var(--bone)}
  /* mobile video banner: anchor to top so height:0 Wistia wrapper doesn't break centering */
  .zz-phero--video{min-height:60svh}
  .zz-vidbg iframe{
    top:0!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    height:100svh!important;
    width:177.78svh!important;
    min-width:100%!important;
    min-height:unset!important;
  }
}
