  /* ============================================================
     Rising Hills Church — real footage, one accent color.
     Single-theme by intent: this is the room the church actually
     meets in — dark house, teal wash on the drape. Every color is
     declared, never inherited from the viewer's theme.
     ============================================================ */
  :root{
    --bg:#F3EDE0;
    --surface:#FBF7EF;
    --surface-2:#E9E0CD;
    --ink:#1C2A1E;
    --ink-soft:#48594C;
    --ink-faint:#7A8A78;
    --line:rgba(28,42,30,0.13);
    --line-strong:rgba(28,42,30,0.22);
    --teal:#2E6B3E;
    --teal-ink:#24512E;
    --teal-deep:#24512E;
    --blue:#2A5680;
    --green:#2E6B3E;
    --tan:#B8925A;
    --violet:#7A6B45;
    --magenta:#8A6B3F;
    --gold:#B8925A;
    --teal-rgb:46,107,62;
    --blue-rgb:42,86,128;
    --tan-rgb:184,146,90;
    --bg-rgb:243,237,224;
    --scrim-rgb:14,24,17;
    --foot-bg:#132A1C;
    --grad:linear-gradient(100deg,var(--teal),var(--blue));
    --shadow: 0 24px 50px -30px rgba(19,42,22,0.4);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;} }

  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:"Manrope",system-ui,-apple-system,sans-serif;
    font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;
  }
  img{max-width:100%;}
  [hidden]{display:none !important;}

  h1,h2,h3,h4{
    font-family:"Anton",Impact,sans-serif; font-weight:400; text-transform:uppercase;
    line-height:0.98; letter-spacing:.01em; margin:0; text-wrap:balance; color:var(--ink);
  }
  p{margin:0;}
  a{color:inherit;}
  .container{max-width:1240px;margin:0 auto;padding-inline:24px;}
  @media (max-width:640px){ .container{padding-inline:18px;} }
  .mono{font-family:"Space Mono",monospace; font-variant-numeric:tabular-nums;}

  .eyebrow{
    font-family:"Space Mono",monospace; font-weight:700; text-transform:uppercase;
    letter-spacing:.16em; font-size:12px; color:var(--teal);
    display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{ content:""; width:22px; height:2px; background:var(--teal); display:inline-block; border-radius:2px; }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    font-family:"Manrope",sans-serif; font-weight:800; font-size:15px;
    padding:15px 28px; border-radius:10px; border:1.5px solid transparent;
    cursor:pointer; text-decoration:none; white-space:nowrap;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease, filter .18s ease;
  }
  .btn:active{transform:translateY(1px) scale(.99);}
  .btn-primary{ background:var(--teal); color:#06201C; box-shadow:0 14px 30px -12px rgba(var(--teal-rgb),0.45);}
  .btn-primary:hover{ filter:brightness(1.08); transform:translateY(-2px); }
  .btn-ghost{ background:rgba(255,255,255,0.05); border-color:var(--line-strong); color:var(--ink); backdrop-filter:blur(6px);}
  .btn-ghost:hover{ background:rgba(255,255,255,0.1); transform:translateY(-2px); border-color:rgba(255,255,255,0.35);}
  .btn-outline{ background:transparent; border-color:var(--line-strong); color:var(--ink); }
  .btn-outline:hover{ border-color:var(--teal); color:var(--teal); transform:translateY(-2px);}
  .btn-sm{padding:10px 18px; font-size:13.5px; border-radius:8px;}
  a:focus-visible, button:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; border-radius:4px; }

  /* ============ NAV ============ */
  header.nav{
    position:fixed; top:0; left:0; right:0; z-index:80; padding:16px 0;
    border-bottom:1px solid transparent;
    transition:background .3s ease, box-shadow .3s ease, padding .3s ease, border-color .3s ease;
  }
  header.nav.scrolled{ background:rgba(var(--bg-rgb),0.86); backdrop-filter:blur(14px); border-bottom-color:var(--line); padding:10px 0; }
  .nav-inner{display:flex; align-items:center; justify-content:space-between; gap:20px;}
  .brand{display:flex; align-items:center; gap:11px; text-decoration:none;}

  .brand-word{font-family:"Anton",sans-serif; font-size:18px; letter-spacing:.02em; color:var(--ink); line-height:1;}
  .brand-word small{display:block; font-family:"Space Mono",monospace; font-weight:400; font-size:9.5px; letter-spacing:.14em; color:var(--ink-faint); text-transform:uppercase; margin-top:3px;}
  nav.links{display:flex; align-items:center; gap:28px;}
  nav.links a{ font-size:14px; font-weight:700; text-decoration:none; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em; position:relative; padding:4px 0; }
  nav.links a::after{ content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--teal); transition:width .25s ease; }
  nav.links a:hover{color:var(--ink);} nav.links a:hover::after{width:100%;}
  @media (max-width:920px){ nav.links{display:none;} .nav-cta .btn-outline{display:none;} }

  /* ============ HERO ============ */
  .hero{ position:relative; padding-top:150px; padding-bottom:110px; overflow:hidden; isolation:isolate; min-height:88vh; display:flex; align-items:center; }
  .hero-media{position:absolute; inset:0; z-index:-2; overflow:hidden; background:var(--foot-bg);}
  .hero-media video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .hero-scrim{ position:absolute; inset:0; z-index:-1;
    background:linear-gradient(180deg, rgba(var(--scrim-rgb),0.55) 0%, rgba(var(--scrim-rgb),0.35) 35%, rgba(var(--scrim-rgb),0.65) 78%, rgba(var(--scrim-rgb),0.94) 100%); }
  .hero-content{ position:relative; z-index:5; max-width:1240px; margin:0 auto; padding:0 24px; text-align:center; width:100%;}
  .hero-content .eyebrow{justify-content:center;}
  .hero h1{ font-size:clamp(44px,8.6vw,108px); margin-top:22px; color:#fff; text-shadow:0 6px 40px rgba(0,0,0,0.6); }
  .hero h1 .accent{ color:var(--teal); display:block; }
  .hero p.lede{ max-width:600px; margin:26px auto 0; font-size:18.5px; color:rgba(255,255,255,0.86); font-weight:500; }
  .hero-ctas{display:flex; gap:14px; justify-content:center; margin-top:36px; flex-wrap:wrap;}
  .hero-info{ display:flex; gap:10px 26px; justify-content:center; flex-wrap:wrap; margin-top:50px; font-size:12.5px; font-weight:700; letter-spacing:.06em; color:rgba(255,255,255,0.72); text-transform:uppercase; }
  .hero-info span{display:flex; align-items:center; gap:8px;}
  .hero-info span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal); box-shadow:0 0 10px var(--teal);}
  @media (max-width:640px){ .hero{padding-top:120px; min-height:auto; padding-bottom:70px;} }

  /* ============ MARQUEE ============ */
  .marquee{ background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding-block:14px; position:relative; z-index:3; }
  .marquee-track{display:flex; gap:48px; white-space:nowrap; animation:marqueeScroll 30s linear infinite;}
  .marquee-track span{ font-family:"Anton",sans-serif; font-size:18px; letter-spacing:.03em; color:var(--ink-faint); display:flex; align-items:center; gap:16px; text-transform:uppercase; }
  .marquee-track span::after{content:"◆"; font-size:10px; color:var(--teal);}
  @keyframes marqueeScroll{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

  /* ============ SECTIONS ============ */
  section{padding-block:100px; position:relative; z-index:2;}
  @media (max-width:760px){ section{padding-block:72px;} }
  .section-head{max-width:660px; margin-bottom:52px;}
  .section-head h2{font-size:clamp(32px,5vw,58px); margin-top:14px;}
  .section-head p{margin-top:16px; font-size:16.5px; color:var(--ink-soft); max-width:58ch;}
  .section-head.center{margin-inline:auto; text-align:center;}
  .section-head.center .eyebrow{justify-content:center;}
  .section-head.center p{margin-inline:auto;}

  /* ============ WELCOME ============ */
  .welcome-wrap{background:var(--surface);}
  .welcome-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:52px; align-items:center;}
  .welcome-portrait{ aspect-ratio:4/5; border-radius:18px; position:relative; overflow:hidden; background:var(--surface-2); border:1px solid var(--line); box-shadow:var(--shadow); }
  .welcome-portrait img{width:100%; height:100%; object-fit:cover; object-position:center 30%;}
  .welcome-text p.lead{font-size:18px; color:var(--ink-soft); margin-top:18px; max-width:54ch;}
  @media (max-width:860px){ .welcome-grid{grid-template-columns:1fr;} .welcome-portrait{max-width:340px;} }

  /* ============ MIDWEEK ============ */
  .midweek-wrap{background:var(--bg);}
  .midweek-feature{
    position:relative; border-radius:20px; overflow:hidden; border:1px solid var(--line);
    min-height:420px; display:flex; align-items:flex-end; margin-bottom:26px; box-shadow:var(--shadow);
  }
  .midweek-feature img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%;}
  .midweek-feature .mw-scrim{position:absolute; inset:0; background:linear-gradient(110deg, rgba(var(--scrim-rgb),0.92) 0%, rgba(var(--scrim-rgb),0.7) 45%, rgba(var(--scrim-rgb),0.25) 100%);}
  .midweek-feature .mw-body{position:relative; z-index:2; padding:44px; max-width:620px;}
  .midweek-feature h2{font-size:clamp(34px,5.2vw,60px); margin-top:14px; color:#fff;}
  .midweek-feature p{margin-top:16px; color:rgba(255,255,255,0.85); font-size:16.5px; max-width:48ch;}
  .mw-when{
    display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:11px 18px;
    border-radius:999px; background:var(--teal); color:#06201C; font-weight:800; font-size:14.5px;
  }
  @media (max-width:640px){ .midweek-feature .mw-body{padding:28px 22px;} .midweek-feature{min-height:360px;} }

  .mw-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .mw-card{
    border-radius:16px; overflow:hidden; border:1px solid var(--line); background:var(--surface);
    display:flex; flex-direction:column; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  .mw-card:hover{transform:translateY(-4px); border-color:var(--line-strong); box-shadow:0 24px 44px -24px rgba(var(--teal-rgb),0.35);}
  .mw-card .mw-photo{aspect-ratio:16/10; position:relative; overflow:hidden; background:var(--surface-2);}
  .mw-card .mw-photo img{width:100%; height:100%; object-fit:cover;}
  .mw-card .mw-text{padding:24px;}
  .mw-card h3{font-size:22px;}
  .mw-card .ages{font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal); margin-bottom:8px; display:block;}
  .mw-card p{font-size:14.5px; color:var(--ink-soft); margin-top:10px;}
  @media (max-width:860px){ .mw-grid{grid-template-columns:1fr;} }

  /* ============ GROUPS ============ */
  .groups-wrap{background:var(--surface);}
  .groups-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  .group-card{
    border-radius:20px; overflow:hidden; border:1px solid var(--line); background:var(--bg);
    display:flex; flex-direction:column; position:relative;
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  .group-card:hover{transform:translateY(-4px); border-color:var(--line-strong); box-shadow:0 26px 50px -26px rgba(var(--teal-rgb),0.4);}
  .group-photo{aspect-ratio:16/9; position:relative; overflow:hidden;}
  .group-photo img{width:100%; height:100%; object-fit:cover; object-position:center 35%;}
  .group-photo .gp-scrim{position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(var(--bg-rgb),0.9) 100%);}
  .group-body{padding:30px; display:flex; flex-direction:column; flex:1;}
  .group-body h3{font-size:30px;}
  .group-count{
    display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-bottom:14px;
    font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
    color:var(--teal); border:1px solid rgba(var(--teal-rgb),0.35); background:rgba(var(--teal-rgb),0.08);
    padding:6px 12px; border-radius:999px;
  }
  .group-body p{font-size:15px; color:var(--ink-soft); margin-top:14px;}
  .group-values{list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .group-values li{font-size:14.5px; color:var(--ink-soft); display:flex; gap:10px; align-items:flex-start;}
  .group-values li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--teal); margin-top:8px; flex:none;}
  .group-list-preview{list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column;}
  .group-list-preview li{
    display:flex; justify-content:space-between; align-items:baseline; gap:14px;
    padding-block:11px; border-bottom:1px solid var(--line); font-size:14.5px;
  }
  .group-list-preview li:last-child{border-bottom:none;}
  .group-list-preview .gname{font-weight:700;}
  .group-list-preview .gtime{font-family:"Space Mono",monospace; font-size:12px; color:var(--ink-faint); text-align:right;}
  .group-body .btn{margin-top:24px; align-self:flex-start;}
  @media (max-width:860px){ .groups-grid{grid-template-columns:1fr;} }

  /* ============ SUNDAYS ============ */
  .sunday-wrap{background:var(--bg);}
  .sunday-feature{ border-radius:20px; overflow:hidden; border:1px solid var(--line); position:relative; aspect-ratio:21/9; margin-bottom:24px; }
  .sunday-feature img{width:100%; height:100%; object-fit:cover; object-position:center 40%;}
  .sunday-feature .sf-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(var(--bg-rgb),0.2) 0%, rgba(var(--bg-rgb),0.8) 100%);}
  .sunday-feature .sf-label{position:absolute; bottom:22px; left:24px; font-family:"Anton",sans-serif; text-transform:uppercase; font-size:clamp(18px,2.4vw,28px); color:#fff; text-shadow:0 2px 12px rgba(0,0,0,0.6);}
  .visit-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:24px; align-items:start;}
  .times-card{ background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:34px; display:flex; flex-direction:column; gap:22px; }
  .time-row{display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding-block:13px; border-bottom:1px solid var(--line);}
  .time-row:last-of-type{border-bottom:none;}
  .time-row .t-name{font-family:"Anton",sans-serif; font-size:18px; text-transform:uppercase;}
  .time-row .t-sub{font-size:12.5px; color:var(--ink-faint); margin-top:2px;}
  .time-row .t-hour{font-family:"Space Mono",monospace; font-weight:700; font-size:18px; color:var(--teal); white-space:nowrap;}
  .visit-side{display:flex; flex-direction:column; gap:24px;}
  .aerial-card{border-radius:18px; overflow:hidden; border:1px solid var(--line); position:relative; aspect-ratio:16/9; background:var(--surface-2);}
  .aerial-card video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .aerial-shade{position:absolute; inset:0; background:linear-gradient(180deg, rgba(var(--bg-rgb),0.1) 0%, rgba(var(--bg-rgb),0.8) 100%);}
  .aerial-label{position:absolute; bottom:16px; left:16px; font-family:"Anton",sans-serif; text-transform:uppercase; font-size:15px; color:#fff; text-shadow:0 2px 12px rgba(0,0,0,0.6);}
  .map-card{border-radius:18px; overflow:hidden; border:1px solid var(--line); position:relative; background:var(--surface); display:flex; flex-direction:column;}
  .map-art{position:relative; height:190px; overflow:hidden;}
  .map-art svg{position:absolute; inset:0; width:100%; height:100%;}
  .map-pin{position:absolute; left:50%; top:46%; transform:translate(-50%,-100%); z-index:2;}
  .map-pin .dot{width:20px; height:20px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--teal); box-shadow:0 0 20px rgba(var(--teal-rgb),0.7);}
  .map-pin .ping{width:40px; height:40px; border-radius:50%; background:var(--teal); opacity:.35; position:absolute; top:-10px; left:50%; margin-left:-20px; animation:mapPing 2.4s ease-out infinite;}
  @keyframes mapPing{ 0%{transform:scale(0.4); opacity:.5;} 100%{transform:scale(1.6); opacity:0;} }
  .map-tag{background:var(--surface); padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; border-top:1px solid var(--line);}
  .map-tag .addr{font-size:13.5px; font-weight:700; line-height:1.4;}
  .map-tag .addr span{display:block; font-weight:500; color:var(--ink-soft); font-size:12px; margin-top:2px;}
  @media (max-width:860px){ .visit-grid{grid-template-columns:1fr;} }

  /* ============ LEADERS (home) ============ */
  .leaders-wrap{background:var(--surface);}
  .leaders-stage{display:grid; grid-template-columns:1fr 1fr; gap:32px; perspective:1600px;}
  .leader-card{
    position:relative; aspect-ratio:4/5; border-radius:20px; overflow:hidden; cursor:pointer;
    border:1px solid var(--line); background:var(--surface-2); box-shadow:var(--shadow);
    transform-style:preserve-3d; transition:transform .16s ease-out, scale .5s cubic-bezier(.2,.9,.25,1), box-shadow .4s ease, border-color .3s ease;
  }
  .leader-card:hover, .leader-card:focus-visible{ scale:1.045; z-index:5; border-color:rgba(var(--teal-rgb),0.55); box-shadow:0 40px 80px -24px rgba(var(--teal-rgb),0.45); }
  .leader-photo{position:absolute; inset:0; overflow:hidden;}
  .leader-photo img{width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.9,.25,1);}
  .leader-card:hover .leader-photo img, .leader-card:focus-visible .leader-photo img{transform:scale(1.1);}
  .leader-shade{position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(var(--scrim-rgb),0.94) 100%);}
  .leader-base{position:absolute; left:0; right:0; bottom:0; padding:26px; transform:translateZ(30px); transition:opacity .3s ease, transform .3s ease;}
  .leader-card:hover .leader-base, .leader-card:focus-visible .leader-base{opacity:0; transform:translateY(12px) translateZ(30px);}
  .l-tag{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); display:block; margin-bottom:8px;}
  .leader-card .l-tag{color:#fff; font-weight:700; text-shadow:0 1px 8px rgba(0,0,0,.7);}
  .l-name{font-family:"Anton",sans-serif; font-size:clamp(28px,3.4vw,40px); text-transform:uppercase; color:#fff; line-height:1;}
  .l-role{font-size:13.5px; color:rgba(255,255,255,0.74); font-weight:600; margin-top:6px;}
  .leader-details{
    position:absolute; left:0; right:0; bottom:0; padding:30px 28px 28px; transform-origin:50% 100%;
    background:linear-gradient(180deg, rgba(var(--scrim-rgb),0) 0%, rgba(var(--scrim-rgb),0.9) 34%, rgba(var(--scrim-rgb),0.97) 100%);
    opacity:0; transform:perspective(900px) rotateX(-82deg) translateZ(-30px);
    transition:opacity .45s ease, transform .7s cubic-bezier(.2,.9,.25,1);
  }
  .leader-card:hover .leader-details, .leader-card:focus-visible .leader-details{ opacity:1; transform:perspective(900px) rotateX(0) translateZ(50px); }
  .leader-details h3{font-size:clamp(26px,3vw,36px); color:#fff; line-height:1;}
  .leader-details p{font-size:14.5px; color:rgba(255,255,255,0.88); margin-top:10px; line-height:1.5; max-width:44ch;}
  .l-more{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-size:13.5px; font-weight:800; color:var(--teal);}
  .l-more svg{width:15px; height:15px;}
  .leaders-cta{text-align:center; margin-top:48px;}
  @media (hover:none){
    .leader-base{display:none;}
    .leader-details{opacity:1; transform:none;}
    .leader-card:hover{scale:1;}
  }
  @media (max-width:760px){ .leaders-stage{grid-template-columns:1fr;} }

  /* ============ STAFF PAGE ============ */
  .staff-featured{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:28px; perspective:1600px;}
  .staff-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; perspective:1600px;}
  .staff-card{
    position:relative; aspect-ratio:4/5; border-radius:18px; overflow:hidden; cursor:pointer;
    border:1px solid var(--line); background:var(--surface-2); box-shadow:var(--shadow);
    transform-style:preserve-3d; transition:transform .16s ease-out, box-shadow .35s ease, border-color .3s ease;
  }
  .staff-card:hover, .staff-card:focus-visible{ border-color:rgba(var(--teal-rgb),0.55); box-shadow:0 34px 64px -24px rgba(var(--teal-rgb),0.45); z-index:3; }
  .staff-card .sp{
    position:absolute; left:-7%; top:-7%; width:114%; height:114%; object-fit:cover; max-width:none;
    transform:translate(calc(var(--mx,0) * -18px), calc(var(--my,0) * -18px)) scale(1.02);
    transition:transform .22s ease-out;
  }
  .staff-card:hover .sp{transition:transform .08s linear;}
  .staff-shade{position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(var(--scrim-rgb),0.94) 100%);}
  .staff-info{position:absolute; left:0; right:0; bottom:0; padding:22px; transform:translateZ(36px);}
  .staff-info .l-name{font-size:clamp(22px,2.4vw,30px);}
  .staff-view{
    display:inline-flex; align-items:center; gap:7px; margin-top:12px; font-size:12.5px; font-weight:800; color:var(--teal);
    opacity:0; transform:translateY(8px); transition:opacity .3s ease, transform .3s ease;
  }
  .staff-card:hover .staff-view, .staff-card:focus-visible .staff-view{opacity:1; transform:none;}
  .staff-view svg{width:14px; height:14px;}
  @media (hover:none){ .staff-view{opacity:1; transform:none;} }
  @media (max-width:860px){ .staff-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:640px){ .staff-featured, .staff-grid{grid-template-columns:1fr;} }
  .staff-video{
    margin-top:36px; position:relative; aspect-ratio:21/9; border-radius:18px; overflow:hidden;
    border:1.5px dashed var(--line-strong); background:var(--surface-2); display:flex; align-items:center; justify-content:center;
  }
  .play-btn{ width:64px; height:64px; border-radius:50%; background:var(--teal); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -10px rgba(var(--teal-rgb),0.5); }
  .play-btn svg{width:22px; height:22px; margin-left:3px;}
  .slot-label{position:absolute; bottom:16px; left:16px; font-size:11px; color:var(--ink-faint);}

  /* ============ 3D PERSON MODAL ============ */
  .pm{position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:20px; perspective:1800px;}
  .pm-backdrop{position:absolute; inset:0; background:rgba(4,5,6,0.82); backdrop-filter:blur(10px); opacity:0; transition:opacity .5s ease;}
  .pm.open .pm-backdrop{opacity:1;}
  .pm-panel{
    position:relative; width:min(1080px,100%); max-height:min(88vh,860px); border-radius:22px; overflow:hidden;
    background:var(--surface); border:1px solid var(--line-strong); box-shadow:0 60px 120px -30px rgba(0,0,0,0.85), 0 0 0 1px rgba(var(--teal-rgb),0.12);
    display:grid; grid-template-columns:0.9fr 1.1fr; transform-style:preserve-3d;
    opacity:0; transform:rotateY(-42deg) rotateX(12deg) translateZ(-620px) scale(.72); transform-origin:20% 60%;
    transition:transform .85s cubic-bezier(.16,.9,.24,1), opacity .5s ease;
  }
  .pm.open .pm-panel{opacity:1; transform:none;}
  .pm-photo-col{position:relative; background:var(--bg); min-height:340px; perspective:1000px; overflow:hidden;}
  .pm-photo{
    position:absolute; inset:0; transform-style:preserve-3d; transition:transform .18s ease-out;
  }
  .pm-photo img{width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.15) translateX(-30px); transition:opacity .8s ease .25s, transform 1.1s cubic-bezier(.16,.9,.24,1) .2s;}
  .pm.open .pm-photo img{opacity:1; transform:scale(1.02);}
  .pm-photo-shade{position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(var(--scrim-rgb),0.7) 100%); pointer-events:none;}
  .pm-body{padding:38px 38px 34px; overflow-y:auto; max-height:min(88vh,860px); }
  .pm-body > *{opacity:0; transform:translateY(18px) translateZ(0); transition:opacity .6s ease, transform .7s cubic-bezier(.16,.9,.24,1);}
  .pm.open .pm-body > *{opacity:1; transform:none;}
  .pm.open .pm-body > *:nth-child(1){transition-delay:.35s;} .pm.open .pm-body > *:nth-child(2){transition-delay:.42s;}
  .pm.open .pm-body > *:nth-child(3){transition-delay:.49s;} .pm.open .pm-body > *:nth-child(4){transition-delay:.56s;}
  .pm.open .pm-body > *:nth-child(5){transition-delay:.63s;} .pm.open .pm-body > *:nth-child(6){transition-delay:.70s;}
  .pm.open .pm-body > *:nth-child(7){transition-delay:.77s;} .pm.open .pm-body > *:nth-child(8){transition-delay:.84s;}
  .pm-tag{font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal); display:block;}
  .pm-body h2{font-size:clamp(34px,4.4vw,52px); margin-top:8px;}
  .pm-role{font-size:14px; color:var(--ink-faint); font-weight:700; margin-top:8px;}
  .pm-bio{font-size:15.5px; color:var(--ink-soft); margin-top:16px; line-height:1.65;}
  .pm-body h4{font-family:"Space Mono",monospace; font-weight:700; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin-top:28px; margin-bottom:12px;}
  .pm-gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
  .pm-thumb{aspect-ratio:1; border-radius:12px; overflow:hidden; border:1px solid var(--line); background:var(--surface-2); padding:0; cursor:pointer; transition:transform .2s ease, border-color .2s ease;}
  .pm-thumb:hover{transform:translateY(-3px); border-color:var(--teal);}
  .pm-thumb img{width:100%; height:100%; object-fit:cover;}
  .pm-slot{aspect-ratio:1; border-radius:12px; border:1.5px dashed var(--line-strong); background:var(--surface-2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; padding:8px;}
  .pm-slot svg{width:20px; height:20px; opacity:.35;}
  .pm-slot span{font-size:9.5px; color:var(--ink-faint); line-height:1.3;}
  .pm-video{position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; border:1.5px dashed var(--line-strong); background:var(--surface-2); display:flex; align-items:center; justify-content:center;}
  .pm-video video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .pm-video.has-video{border-style:solid;}
  .pm-close{
    position:absolute; top:14px; right:14px; z-index:5; width:42px; height:42px; border-radius:50%;
    background:rgba(var(--scrim-rgb),0.7); border:1px solid var(--line-strong); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
    backdrop-filter:blur(6px); transition:background .2s ease, transform .2s ease;
  }
  .pm-close:hover{background:var(--teal); color:#06201C; transform:rotate(90deg);}
  .pm-close svg{width:18px; height:18px;}
  @media (max-width:820px){
    .pm{padding:0; align-items:stretch;}
    .pm-panel{grid-template-columns:1fr; max-height:100vh; height:100%; border-radius:0; overflow-y:auto;}
    .pm-photo-col{min-height:300px; height:300px;}
    .pm-body{max-height:none; overflow:visible; padding:28px 22px 40px;}
  }

  /* ============ GIVE ============ */
  .cta-band{ background:var(--teal); color:#06201C; text-align:center; position:relative; overflow:hidden;}
  .cta-band h2{color:#06201C; font-size:clamp(30px,5.4vw,58px); max-width:760px; margin:0 auto;}
  .cta-band .eyebrow{color:rgba(6,32,28,0.65);}
  .cta-band .eyebrow::before{background:rgba(6,32,28,0.65);}
  .cta-band p{color:rgba(6,32,28,0.78); max-width:560px; margin:18px auto 0; font-size:16.5px;}
  .cta-band .hero-ctas{margin-top:32px;}
  .cta-band .btn-primary{background:#06201C; color:#fff; box-shadow:none;}
  .cta-band .btn-primary:hover{filter:brightness(1.35);}
  .cta-band .btn-ghost{background:rgba(6,32,28,0.08); border-color:rgba(6,32,28,0.3); color:#06201C;}
  .cta-band .btn-ghost:hover{background:rgba(6,32,28,0.16);}

  /* ============ SUBPAGES (Home Groups / DTeams) ============ */
  .subpage-hero{ padding-top:150px; padding-bottom:56px; background:var(--surface); border-bottom:1px solid var(--line); }
  .back-link{
    display:inline-flex; align-items:center; gap:8px; font-family:"Space Mono",monospace; font-size:12px;
    letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); text-decoration:none; margin-bottom:22px;
  }
  .back-link:hover{color:var(--teal);}
  .subpage-hero h1{font-size:clamp(38px,6.4vw,76px); margin-top:12px;}
  .subpage-hero p.intro{margin-top:18px; font-size:17px; color:var(--ink-soft); max-width:62ch;}
  .values-row{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:34px;}
  .values-col h4{font-family:"Space Mono",monospace; font-weight:700; text-transform:uppercase; font-size:11.5px; letter-spacing:.12em; color:var(--teal); margin-bottom:12px;}
  .values-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;}
  .values-col li{font-size:14.5px; color:var(--ink-soft); display:flex; gap:10px; align-items:flex-start;}
  .values-col li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--teal); margin-top:8px; flex:none;}
  @media (max-width:700px){ .values-row{grid-template-columns:1fr;} }

  .glist{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
  .gcard{
    background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:26px;
    display:flex; flex-direction:column; text-decoration:none; position:relative;
    transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
  }
  .gcard:hover{transform:translateY(-4px); border-color:var(--teal); background:var(--surface-2); box-shadow:0 24px 44px -24px rgba(var(--teal-rgb),0.4);}
  .gcard .g-open{
    align-self:flex-start; font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--teal); border:1px solid rgba(var(--teal-rgb),0.4); background:rgba(var(--teal-rgb),0.08); padding:5px 10px; border-radius:999px;
  }
  .gcard h3{font-size:22px; margin-top:16px; line-height:1.1;}
  .gcard .g-meta{font-family:"Space Mono",monospace; font-size:12.5px; color:var(--ink-faint); margin-top:12px;}
  .gcard .g-go{
    margin-top:auto; padding-top:20px; display:flex; align-items:center; gap:8px;
    font-size:13.5px; font-weight:800; color:var(--teal);
  }
  .gcard .g-go svg{width:15px; height:15px; transition:transform .2s ease;}
  .gcard:hover .g-go svg{transform:translateX(4px);}
  @media (max-width:760px){ .glist{grid-template-columns:1fr;} }
  .subpage-note{
    margin-top:36px; padding:22px 24px; border-radius:14px; background:var(--surface);
    border:1px solid var(--line); font-size:14.5px; color:var(--ink-soft);
  }

  /* ============ FOOTER ============ */
  footer{background:var(--foot-bg); color:var(--ink-soft); padding-top:64px; border-top:1px solid var(--line);}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px;}
  .foot-brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  .foot-brand svg{width:32px;height:32px;}
  .foot-brand-word{font-family:"Anton",sans-serif; color:#fff; font-size:17px; text-transform:uppercase;}
  footer p.tag{font-size:14px; max-width:290px; color:var(--ink-faint);}
  footer h5{font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:14px;}
  footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  footer a{font-size:14.5px; color:var(--ink-soft); text-decoration:none;}
  footer a:hover{color:var(--teal);}
  .foot-bottom{border-top:1px solid var(--line); padding-block:22px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--ink-faint);}
  @media (max-width:820px){ .foot-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:520px){ .foot-grid{grid-template-columns:1fr;} }

  .reveal{opacity:1; transform:none;}
  .js .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
  .js .reveal.in{opacity:1; transform:none;}

  /* ============================================================
     v10 additions
     ============================================================ */
  :root{
    --k-sunday:#2BC4B4; --k-midweek:#E8B65C; --k-groups:#B48CF0; --k-ministries:#6BA8F0; --k-special:#F0785A;
  }
  .skip-link{position:absolute; left:-999px; top:8px; z-index:300; background:var(--teal); color:#06201C; padding:10px 16px; border-radius:8px; font-weight:800;}
  .skip-link:focus{left:12px;}

  /* ---------- NAV (new) ---------- */
  .brand-logo{height:42px; width:auto; display:block; background:#fff; border-radius:9px; padding:4px 8px; box-shadow:0 6px 18px -8px rgba(0,0,0,.6);}
  .nav-inner{gap:24px;}
  nav.links{margin-left:auto; gap:6px;}
  nav.links > a, .more-btn{
    font-family:"Manrope",sans-serif; font-size:14px; font-weight:800; text-decoration:none; color:var(--ink-soft);
    text-transform:uppercase; letter-spacing:.05em; padding:10px 14px; border-radius:8px; background:none; border:0; cursor:pointer; position:relative;
  }
  nav.links > a::after{display:none;}
  nav.links > a:hover, .more-btn:hover, nav.links > a.active, .more.open .more-btn{color:#fff; background:rgba(255,255,255,0.07);}
  nav.links > a.active{color:var(--teal);}
  .more{position:relative;}
  .more-btn svg{width:11px; height:11px; margin-left:6px; transition:transform .25s ease; vertical-align:1px;}
  .more.open .more-btn svg{transform:rotate(180deg);}
  .more-menu{
    position:absolute; right:0; top:calc(100% + 10px); min-width:250px; padding:8px; border-radius:14px;
    background:rgba(var(--bg-rgb),0.97); border:1px solid var(--line-strong); backdrop-filter:blur(14px);
    box-shadow:0 30px 60px -20px rgba(0,0,0,.8); display:flex; flex-direction:column;
    opacity:0; visibility:hidden; transform:perspective(700px) rotateX(-14deg) translateY(-8px); transform-origin:50% 0;
    transition:opacity .22s ease, transform .3s cubic-bezier(.2,.9,.25,1), visibility 0s linear .3s;
  }
  .more.open .more-menu{opacity:1; visibility:visible; transform:none; transition-delay:0s;}
  .more-menu a{display:flex; flex-direction:column; padding:10px 12px; border-radius:9px; text-decoration:none; color:var(--ink); font-weight:800; font-size:14px;}
  .more-menu a span{font-weight:500; font-size:12px; color:var(--ink-faint); margin-top:1px;}
  .more-menu a:hover, .more-menu a:focus-visible{background:rgba(var(--teal-rgb),0.12); color:var(--teal);}
  .nav-cta{display:flex; gap:10px; align-items:center;}
  .burger{display:none; width:44px; height:44px; border-radius:10px; border:1px solid var(--line-strong); background:rgba(255,255,255,0.05); color:#fff; cursor:pointer; align-items:center; justify-content:center;}
  .burger svg{width:20px; height:20px;}
  .mobile-menu{
    display:none; position:fixed; inset:0; top:0; z-index:79; padding:92px 22px 40px; overflow-y:auto;
    background:rgba(8,9,10,0.98); backdrop-filter:blur(14px);
  }
  .mobile-menu.open{display:block;}
  .mobile-menu a{display:block; padding:14px 6px; font-family:"Anton",sans-serif; font-size:30px; text-transform:uppercase; text-decoration:none; color:#fff; border-bottom:1px solid var(--line);}
  .mobile-menu h6{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); margin:26px 0 4px;}
  .mobile-menu .mm-sub a{font-family:"Manrope",sans-serif; font-size:17px; font-weight:700; text-transform:none; padding:12px 6px;}
  @media (max-width:1000px){
    nav.links, .nav-cta .btn-outline{display:none;}
    .burger{display:inline-flex;}
    .nav-inner{justify-content:space-between;}
    .nav-cta{margin-left:auto;}
  }
  @media (min-width:1001px){ .mobile-menu{display:none !important;} }

  /* ---------- HERO playlist ---------- */
  .hero-media .hv{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.1s ease;}
  .hero-media .hv.on{opacity:1;}
  .hero-dots{position:absolute; left:50%; bottom:26px; transform:translateX(-50%); display:flex; gap:8px; z-index:6;}
  .hero-dots span{width:22px; height:3px; border-radius:2px; background:rgba(255,255,255,0.28); overflow:hidden; position:relative;}
  .hero-dots span.on::after{content:""; position:absolute; inset:0; background:var(--teal); transform-origin:0 50%; animation:heroFill var(--seg,7s) linear forwards;}
  @keyframes heroFill{from{transform:scaleX(0);} to{transform:scaleX(1);}}
  @media (max-width:640px){ .hero-dots{bottom:18px;} }

  /* ---------- Generic page pieces ---------- */
  .page-narrow{max-width:820px;}
  .lead-p{font-size:18px; color:var(--ink-soft); max-width:62ch; line-height:1.7;}
  .lead-p + .lead-p{margin-top:18px;}
  .hub-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; perspective:1600px;}
  .hub-grid.two{grid-template-columns:repeat(2,1fr);}
  .hub-card{
    position:relative; border-radius:20px; overflow:hidden; min-height:340px; display:flex; align-items:flex-end;
    border:1px solid var(--line); background:var(--surface-2); text-decoration:none; color:inherit; box-shadow:var(--shadow);
    transform-style:preserve-3d; transition:transform .16s ease-out, box-shadow .35s ease, border-color .3s ease;
  }
  .hub-card:hover, .hub-card:focus-visible{border-color:rgba(var(--teal-rgb),0.55); box-shadow:0 36px 70px -26px rgba(var(--teal-rgb),0.45); z-index:3;}
  .hub-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.9,.25,1);}
  .hub-card:hover img{transform:scale(1.08);}
  .hub-card .hc-shade{position:absolute; inset:0; background:linear-gradient(180deg, rgba(var(--scrim-rgb),0.05) 20%, rgba(var(--scrim-rgb),0.94) 100%);}
  .hub-card .hc-body{position:relative; padding:26px; transform:translateZ(34px); width:100%;}
  .hub-card h3{font-size:clamp(26px,3vw,36px); color:#fff;}
  .hub-card p{margin-top:8px; font-size:14.5px; color:rgba(255,255,255,0.82); max-width:36ch;}
  .hub-card .hc-go{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-size:13.5px; font-weight:800; color:var(--teal);}
  .hub-card .hc-go svg{width:15px; height:15px; transition:transform .2s ease;}
  .hub-card:hover .hc-go svg{transform:translateX(5px);}
  .hub-card.plain{min-height:0; background:var(--surface); align-items:stretch;}
  .hub-card.plain .hc-body{padding:30px;}
  @media (max-width:900px){ .hub-grid, .hub-grid.two{grid-template-columns:1fr;} .hub-card{min-height:280px;} }

  .timeline{position:relative; margin-top:14px; padding-left:34px;}
  .timeline::before{content:""; position:absolute; left:9px; top:6px; bottom:6px; width:2px; background:linear-gradient(180deg, var(--teal), rgba(var(--teal-rgb),0.1));}
  .tl-item{position:relative; padding-bottom:30px;}
  .tl-item:last-child{padding-bottom:0;}
  .tl-item::before{content:""; position:absolute; left:-34px; top:6px; width:20px; height:20px; border-radius:50%; background:var(--bg); border:3px solid var(--teal); box-shadow:0 0 0 5px rgba(var(--teal-rgb),0.12);}
  .tl-item.future::before{border-color:var(--gold); box-shadow:0 0 0 5px rgba(232,182,92,0.14);}
  .tl-date{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal);}
  .tl-item.future .tl-date{color:var(--gold);}
  .tl-item h3{font-size:24px; margin-top:6px;}
  .tl-item p{margin-top:8px; color:var(--ink-soft); font-size:15.5px; max-width:60ch;}

  .countdown{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:26px; max-width:520px;}
  .cd-cell{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px 8px; text-align:center;}
  .cd-cell b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:38px; line-height:1; color:#fff; font-variant-numeric:tabular-nums;}
  .cd-cell span{font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); margin-top:6px; display:block;}

  .duo{display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:center;}
  .duo img{width:100%; border-radius:18px; border:1px solid var(--line); box-shadow:var(--shadow); aspect-ratio:4/3; object-fit:cover;}
  @media (max-width:860px){ .duo{grid-template-columns:1fr;} }

  /* ---------- HOME: this week / bulletin / gallery / make room ---------- */
  .week-wrap{background:var(--bg);}
  .week-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; perspective:1400px;}
  .week-card{
    border-radius:16px; background:var(--surface); border:1px solid var(--line); padding:22px; text-align:left; cursor:pointer; color:inherit; font:inherit;
    display:flex; flex-direction:column; gap:8px; transform-style:preserve-3d; transition:transform .16s ease-out, border-color .25s ease, box-shadow .3s ease;
  }
  .week-card:hover, .week-card:focus-visible{border-color:var(--kc,var(--teal)); box-shadow:0 26px 50px -24px var(--kc,var(--teal)); z-index:2;}
  .wk-date{display:flex; align-items:baseline; gap:8px;}
  .wk-date b{font-family:"Anton",sans-serif; font-weight:400; font-size:44px; line-height:1; color:#fff;}
  .wk-date span{font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--kc,var(--teal));}
  .week-card h3{font-size:21px; line-height:1.05; transform:translateZ(20px);}
  .week-card .wk-meta{font-size:13px; color:var(--ink-faint); font-weight:600;}
  @media (max-width:980px){ .week-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .week-grid{grid-template-columns:1fr;} }
  .section-foot{margin-top:34px; display:flex; gap:12px; flex-wrap:wrap;}

  .bull-wrap{background:var(--surface);}
  .bull-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .bull-card{
    border-radius:18px; overflow:hidden; background:var(--bg); border:1px solid var(--line); display:flex; flex-direction:column;
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
  .bull-card:hover{transform:translateY(-5px); border-color:var(--line-strong); box-shadow:0 26px 50px -26px rgba(var(--teal-rgb),0.4);}
  .bull-img{aspect-ratio:16/9; background:var(--surface-2); position:relative; overflow:hidden;}
  .bull-img img{width:100%; height:100%; object-fit:cover;}
  .bull-img.noimg{display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, #123531, #0f2226);}

  .bull-body{padding:22px; display:flex; flex-direction:column; gap:8px; flex:1;}
  .bull-when{font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal);}
  .bull-body h3{font-size:24px;}
  .bull-body p{font-size:14.5px; color:var(--ink-soft); line-height:1.55; white-space:pre-line;}
  .bull-body .btn{margin-top:auto; align-self:flex-start;}
  .bull-pin{position:absolute; top:12px; left:12px; z-index:2; font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; background:var(--teal); color:#06201C; padding:4px 10px; border-radius:999px; font-weight:700;}
  @media (max-width:980px){ .bull-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:620px){ .bull-grid{grid-template-columns:1fr;} }

  .gal-wrap{background:var(--bg);}
  .gal-grid{columns:3; column-gap:16px;}
  .gal-item{break-inside:avoid; margin:0 0 16px; border-radius:16px; overflow:hidden; position:relative; cursor:pointer; border:1px solid var(--line); background:var(--surface-2); padding:0; display:block; width:100%; transform-style:preserve-3d; transition:transform .16s ease-out, box-shadow .3s ease, border-color .3s ease;}
  .gal-item:hover, .gal-item:focus-visible{box-shadow:0 30px 56px -24px rgba(var(--teal-rgb),0.45); border-color:rgba(var(--teal-rgb),0.5); z-index:2;}
  .gal-item img, .gal-item video{width:100%; display:block; transition:transform .8s cubic-bezier(.2,.9,.25,1);}
  .gal-item:hover img, .gal-item:hover video{transform:scale(1.05);}
  .gal-item .gi-cap{position:absolute; left:0; right:0; bottom:0; padding:34px 16px 14px; background:linear-gradient(180deg, transparent, rgba(var(--scrim-rgb),0.88)); text-align:left; opacity:0; transform:translateY(8px); transition:opacity .3s ease, transform .3s ease;}
  .gal-item:hover .gi-cap, .gal-item:focus-visible .gi-cap{opacity:1; transform:none;}
  .gi-cap b{display:block; font-family:"Anton",sans-serif; font-weight:400; text-transform:uppercase; font-size:17px; color:#fff;}
  .gi-cap span{font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal);}
  .gi-play{position:absolute; top:12px; right:12px; width:38px; height:38px; border-radius:50%; background:rgba(var(--scrim-rgb),0.7); display:flex; align-items:center; justify-content:center; backdrop-filter:blur(6px);}
  .gi-play svg{width:14px; height:14px; margin-left:2px;}
  @media (max-width:900px){ .gal-grid{columns:2;} }
  @media (max-width:520px){ .gal-grid{columns:1;} }
  @media (hover:none){ .gal-item .gi-cap{opacity:1; transform:none;} }
  .chips{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:26px;}
  .chip{
    font-family:"Manrope",sans-serif; font-size:13px; font-weight:800; padding:9px 16px; border-radius:999px; cursor:pointer;
    border:1.5px solid var(--line-strong); background:transparent; color:var(--ink-soft); display:inline-flex; align-items:center; gap:8px; transition:all .2s ease;
  }
  .chip i{width:9px; height:9px; border-radius:50%; background:var(--kc,var(--teal)); display:inline-block;}
  .chip:hover{border-color:var(--teal); color:#fff;}
  .chip[aria-pressed="true"]{background:var(--teal); border-color:var(--teal); color:#06201C;}
  .chip[aria-pressed="true"] i{background:#06201C;}

  .mr-band{background:linear-gradient(120deg,#0e2a27,#0b1a1d 60%,#0b0c0e); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden;}
  .mr-band .container{display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:center;}
  .mr-band h2{font-size:clamp(34px,5vw,60px); margin-top:14px;}
  .mr-band p.lead-p{margin-top:16px;}
  .mr-photo{aspect-ratio:16/10; border-radius:20px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow);}
  .mr-photo img, .mr-photo video{width:100%; height:100%; object-fit:cover;}
  @media (max-width:860px){ .mr-band .container{grid-template-columns:1fr;} }

  /* ---------- MAKE ROOM page ---------- */
  .goal-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:26px;}
  .goal-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:28px;}
  .goal-card .g-num{font-family:"Anton",sans-serif; font-size:64px; line-height:1; color:var(--teal);}
  .goal-card h3{font-size:22px; margin-top:8px;}
  .goal-card p{color:var(--ink-soft); font-size:15px; margin-top:8px;}
  @media (max-width:700px){ .goal-grid{grid-template-columns:1fr;} }
  .scope-list{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:24px;}
  .scope-item{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:20px 18px; font-weight:800; font-size:15px; display:flex; flex-direction:column; gap:10px; transition:transform .2s ease, border-color .2s ease;}
  .scope-item:hover{transform:translateY(-4px); border-color:var(--teal);}
  .scope-item svg{width:26px; height:26px; color:var(--teal);}
  @media (max-width:820px){ .scope-list{grid-template-columns:repeat(2,1fr);} }
  .verse{border-left:3px solid var(--teal); padding:6px 0 6px 22px; margin:34px 0; font-family:"Anton",sans-serif; text-transform:none; font-size:clamp(22px,3vw,32px); line-height:1.25; color:#fff;}
  .verse cite{display:block; margin-top:10px; font-family:"Space Mono",monospace; font-style:normal; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal);}
  .calc{background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:32px; margin-top:24px;}
  .calc-top{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; align-items:flex-end;}
  .calc label{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);}
  .calc-amt{font-family:"Anton",sans-serif; font-size:64px; line-height:1; color:#fff;}
  .calc input[type=range]{width:100%; margin:22px 0 10px; accent-color:var(--teal); height:28px;}
  .calc-out{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px;}
  .calc-out div{background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:16px; }
  .calc-out b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:30px; color:var(--teal); font-variant-numeric:tabular-nums;}
  .calc-out span{font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);}
  .calc-steps{display:flex; gap:8px; flex-wrap:wrap; margin-top:6px;}
  @media (max-width:600px){ .calc-out{grid-template-columns:1fr;} .calc{padding:22px;} .calc-amt{font-size:52px;} }
  .acc{margin-top:22px; display:flex; flex-direction:column; gap:10px;}
  .acc-item{background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:border-color .2s ease;}
  .acc-item.open{border-color:rgba(var(--teal-rgb),0.5);}
  .acc-head{width:100%; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 22px; background:none; border:0; color:#fff; cursor:pointer; font-family:"Anton",sans-serif; text-transform:uppercase; font-size:20px; letter-spacing:.01em;}
  .acc-head svg{width:20px; height:20px; flex:none; color:var(--teal); transition:transform .3s ease;}
  .acc-item.open .acc-head svg{transform:rotate(45deg);}
  .acc-body{display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease;}
  .acc-item.open .acc-body{grid-template-rows:1fr;}
  .acc-body > div{overflow:hidden;}
  .acc-body p{padding:0 22px 20px; color:var(--ink-soft); font-size:15px; line-height:1.65; margin-top:-4px;}
  .acc-body .pr{font-weight:800; color:#fff;}
  .acc-body a{color:var(--teal); font-weight:800; text-decoration:none;}

  /* ---------- MESSAGES ---------- */
  .live-card{display:flex; gap:22px; align-items:center; flex-wrap:wrap; justify-content:space-between; background:linear-gradient(120deg, rgba(var(--teal-rgb),0.16), rgba(var(--teal-rgb),0.04)); border:1px solid rgba(var(--teal-rgb),0.35); border-radius:18px; padding:26px 30px; margin-bottom:30px;}
  .live-card .lc-dot{display:inline-flex; align-items:center; gap:10px; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal);}
  .live-card .lc-dot::before{content:""; width:10px; height:10px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 0 rgba(var(--teal-rgb),.7); animation:pulse 2s infinite;}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--teal-rgb),.6);} 70%{box-shadow:0 0 0 12px rgba(var(--teal-rgb),0);} 100%{box-shadow:0 0 0 0 rgba(var(--teal-rgb),0);}}
  .live-card h3{font-size:28px; margin-top:8px;}
  .msg-list{display:flex; flex-direction:column; gap:12px;}
  .msg-row{display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; text-decoration:none; color:inherit; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px 26px; transition:transform .2s ease, border-color .2s ease, background .2s ease;}
  .msg-row:hover{transform:translateX(6px); border-color:var(--teal); background:var(--surface-2);}
  .msg-row h3{font-size:24px;}
  .msg-row .m-meta{font-size:13px; color:var(--ink-faint); font-weight:600; margin-top:6px; font-family:"Space Mono",monospace;}
  .msg-row svg{width:20px; height:20px; color:var(--teal);}
  .series-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
  .series-card{display:block; text-decoration:none; color:inherit; background:linear-gradient(150deg, #123531, #0f1f24); border:1px solid var(--line); border-radius:18px; padding:26px; min-height:170px; transition:transform .2s ease, border-color .2s ease; display:flex; flex-direction:column; justify-content:flex-end;}
  .series-card:hover{transform:translateY(-5px) rotate(-.4deg); border-color:var(--teal);}
  .series-card .s-when{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--teal);}
  .series-card h3{font-size:24px; margin-top:8px;}
  @media (max-width:820px){ .series-grid{grid-template-columns:1fr;} }
  .h3-label{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); margin:46px 0 16px;}

  /* ---------- Registrations / newsletter ---------- */
  .reg-list{display:flex; flex-direction:column; gap:16px;}
  .reg-card{display:flex; align-items:center; justify-content:space-between; gap:20px; text-decoration:none; color:inherit; background:linear-gradient(120deg, #16323a, #10222b); border:1px solid var(--line); border-radius:20px; padding:30px 34px; transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;}
  .reg-card:hover{transform:translateY(-4px) scale(1.01); border-color:var(--teal); box-shadow:0 28px 54px -24px rgba(var(--teal-rgb),0.45);}
  .reg-card h3{font-size:clamp(24px,3.4vw,38px);}
  .reg-card .r-go{width:52px; height:52px; border-radius:50%; background:#fff; color:#10222b; display:flex; align-items:center; justify-content:center; flex:none; transition:transform .25s ease;}
  .reg-card:hover .r-go{transform:translateX(6px) rotate(-8deg);}
  .reg-card .r-go svg{width:22px; height:22px;}

  /* ---------- BELIEVE ---------- */
  .believe-list .acc-head{font-size:19px;}
  .believe-foot{margin-top:30px; padding:22px 24px; border-radius:14px; background:var(--surface); border:1px solid var(--line); color:var(--ink-soft); font-size:14.5px;}

  /* ---------- STAFF crew ---------- */
  .crew-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; perspective:1600px;}
  .crew-card{
    position:relative; border-radius:20px; padding:28px 20px 24px; text-align:center; cursor:pointer; overflow:hidden;
    background:var(--surface); border:1px solid var(--line); transform-style:preserve-3d;
    transition:transform .16s ease-out, box-shadow .35s ease, border-color .3s ease;
  }
  .crew-card::before{content:""; position:absolute; inset:0; background:radial-gradient(70% 55% at 50% 20%, rgba(var(--teal-rgb),0.16), transparent 70%); opacity:0; transition:opacity .4s ease;}
  .crew-card:hover, .crew-card:focus-visible{border-color:rgba(var(--teal-rgb),0.55); box-shadow:0 34px 60px -26px rgba(var(--teal-rgb),0.5); z-index:3;}
  .crew-card:hover::before, .crew-card:focus-visible::before{opacity:1;}
  .crew-photo{width:150px; height:150px; margin:0 auto; border-radius:50%; overflow:hidden; position:relative; border:3px solid var(--line-strong); transform:translateZ(40px); transition:border-color .3s ease, transform .3s ease; background:var(--surface-2);}
  .crew-card:hover .crew-photo{border-color:var(--teal); transform:translateZ(60px) scale(1.06);}
  .crew-photo img{position:absolute; left:-6%; top:-6%; width:112%; height:112%; max-width:none; object-fit:cover; transform:translate(calc(var(--mx,0) * -8px), calc(var(--my,0) * -8px)); transition:transform .2s ease-out;}
  .crew-card h3{font-size:26px; margin-top:20px; transform:translateZ(26px);}
  .crew-card .c-title{font-size:14px; font-weight:700; color:var(--teal); margin-top:6px; transform:translateZ(20px);}
  .crew-card .c-more{display:inline-flex; gap:6px; align-items:center; margin-top:14px; font-size:12.5px; font-weight:800; color:var(--ink-faint); transition:color .2s ease;}
  .crew-card:hover .c-more{color:#fff;}
  .crew-card .c-more svg{width:13px; height:13px;}
  @media (max-width:860px){ .crew-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .crew-grid{grid-template-columns:1fr;} }

  .vol-teams{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:26px;}
  .vol-team{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:24px 20px;}
  .vol-team svg{width:30px; height:30px; color:var(--teal);}
  .vol-team h3{font-size:22px; margin-top:12px;}
  .vol-team p{font-size:14px; color:var(--ink-soft); margin-top:8px;}
  @media (max-width:900px){ .vol-teams{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .vol-teams{grid-template-columns:1fr;} }
  .roster{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:22px;}
  .vol-card{background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:transform .2s ease, border-color .2s ease;}
  .vol-card:hover{transform:translateY(-4px); border-color:var(--teal);}
  .vol-card .v-ph{aspect-ratio:1; background:var(--surface-2); position:relative; overflow:hidden;}
  .vol-card .v-ph img{width:100%; height:100%; object-fit:cover;}
  .vol-card .v-ph.init{display:flex; align-items:center; justify-content:center; font-family:"Anton",sans-serif; font-size:56px; color:var(--teal); background:linear-gradient(135deg,#123531,#0f2226);}
  .vol-card .v-b{padding:14px 16px 16px;}
  .vol-card b{font-family:"Anton",sans-serif; font-weight:400; text-transform:uppercase; font-size:18px; display:block;}
  .vol-card span{font-size:12.5px; color:var(--ink-faint); font-weight:600;}
  @media (max-width:900px){ .roster{grid-template-columns:repeat(2,1fr);} }
  .empty-note{padding:26px; border:1.5px dashed var(--line-strong); border-radius:16px; color:var(--ink-faint); font-size:14.5px; text-align:center;}

  /* ---------- MODALS (generic) ---------- */
  .pm.evm .pm-panel{grid-template-columns:1fr; width:min(760px,100%);}
  .ev-head{padding:38px 38px 26px; position:relative; background:linear-gradient(135deg, color-mix(in srgb, var(--kc,var(--teal)) 26%, var(--bg)), var(--bg) 70%);}
  .ev-head .pm-tag{color:var(--kc,var(--teal));}
  .ev-head h2{font-size:clamp(32px,5vw,52px); margin-top:8px; padding-right:40px;}
  .ev-body{padding:26px 38px 34px; overflow-y:auto; max-height:min(58vh,520px);}
  .ev-facts{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:22px;}
  .ev-fact{background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:14px 16px;}
  .ev-fact span{font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); display:block;}
  .ev-fact b{font-size:16px; display:block; margin-top:4px;}
  .ev-desc{color:var(--ink-soft); font-size:15.5px; line-height:1.65; white-space:pre-line;}
  .ev-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:24px;}
  @media (max-width:820px){ .ev-head{padding:56px 22px 22px;} .ev-body{padding:22px 22px 34px; max-height:none;} .ev-facts{grid-template-columns:1fr;} .pm.evm .pm-panel{height:auto; min-height:100%;} }
  .pm-panel .pm-close{z-index:6;}
  .pm.lb .pm-panel{display:block; width:min(1100px,100%); background:var(--foot-bg); overflow:hidden; max-height:92vh;}
  .lb-stage{position:relative; display:flex; align-items:center; justify-content:center; background:var(--foot-bg); max-height:80vh;}
  .lb-stage img, .lb-stage video{max-width:100%; max-height:80vh; display:block; margin:0 auto;}
  .lb-cap{padding:18px 26px 24px; background:var(--surface);}
  .lb-cap b{font-family:"Anton",sans-serif; font-weight:400; text-transform:uppercase; font-size:22px;}
  .lb-cap p{font-size:14px; color:var(--ink-soft); margin-top:6px;}
  .lb-nav{position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%; background:rgba(var(--scrim-rgb),0.7); border:1px solid var(--line-strong); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:5;}
  .lb-nav:hover{background:var(--teal); color:#06201C;}
  .lb-nav.prev{left:14px;} .lb-nav.next{right:14px;}
  .lb-nav svg{width:20px; height:20px;}
  .pm-mail{display:inline-flex; align-items:center; gap:8px; margin-top:14px; color:var(--teal); font-weight:800; text-decoration:none; font-size:15px;}
  .pm-mail:hover{text-decoration:underline;}
  .pm-photo.circle{display:flex; align-items:center; justify-content:center; background:radial-gradient(70% 60% at 50% 40%, rgba(var(--teal-rgb),0.28), #0b0c0e 75%);}
  .pm-photo.circle img{width:min(270px,62%); height:auto; aspect-ratio:1; border-radius:50%; border:4px solid var(--teal); box-shadow:0 30px 60px -20px rgba(0,0,0,.8); object-fit:cover; inset:auto; position:relative;}
  .pm-photo.circle .pm-photo-shade{display:none;}

  /* (old calendar styles removed: the calendar lives in calendar.css) */

  /* ---------- ADMIN ---------- */
  .rh-admin-bar{display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:space-between; padding:18px 22px; background:var(--surface); border:1px solid var(--line); border-radius:16px; margin-bottom:22px;}
  .rh-admin-bar .who{font-size:14px; color:var(--ink-soft);}
  .rh-admin-bar .who b{color:#fff;}
  .admin-tabs{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px;}
  .admin-tabs .chip small{font-family:"Space Mono",monospace; font-size:10.5px; opacity:.7; margin-left:2px;}
  .admin-cols{display:grid; grid-template-columns:minmax(300px,420px) 1fr; gap:22px; align-items:start;}
  @media (max-width:980px){ .admin-cols{grid-template-columns:1fr;} }
  .admin-panel{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px;}
  .admin-panel h3{font-size:22px; margin-bottom:14px;}
  .a-row{display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; padding:12px; border-radius:12px; background:var(--bg); border:1px solid var(--line); margin-bottom:8px;}
  .a-row.active{border-color:var(--teal);}
  .a-row b{font-size:14.5px; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .a-row small{font-size:12px; color:var(--ink-faint);}
  .a-row .a-thumb{width:46px; height:46px; border-radius:9px; object-fit:cover; background:var(--surface-2);}
  .a-row .a-l{display:flex; gap:12px; align-items:center; min-width:0;}
  .a-btns{display:flex; gap:5px;}
  .icon-btn{width:34px; height:34px; border-radius:9px; border:1px solid var(--line-strong); background:transparent; color:var(--ink-soft); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:14px; font-family:inherit; font-weight:800;}
  .icon-btn:hover{border-color:var(--teal); color:var(--teal);}
  .icon-btn.danger:hover, .icon-btn.confirm{border-color:#f0785a; color:#f0785a; background:rgba(240,120,90,.12);}
  .icon-btn.wide{width:auto; padding:0 10px; font-size:12px;}
  .a-form{display:flex; flex-direction:column; gap:16px;}
  .a-field label{display:block; font-size:12.5px; font-weight:800; color:var(--ink-soft); margin-bottom:6px;}
  .a-field input[type=text], .a-field input[type=url], .a-field input[type=date], .a-field input[type=time], .a-field textarea, .a-field select{
    width:100%; background:var(--bg); border:1px solid var(--line-strong); border-radius:10px; padding:11px 13px; color:#fff; font:inherit; font-size:15px; color-scheme:dark;
  }
  .a-field textarea{min-height:110px; resize:vertical;}
  .a-field input:focus, .a-field textarea:focus, .a-field select:focus{outline:2px solid var(--teal); outline-offset:1px;}
  .a-field .hint{font-size:12px; color:var(--ink-faint); margin-top:5px;}
  .a-check{display:flex; align-items:center; gap:10px; font-size:14.5px; font-weight:700; cursor:pointer;}
  .a-check input{width:18px; height:18px; accent-color:var(--teal);}
  .a-two{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .a-media{display:flex; gap:14px; align-items:center; flex-wrap:wrap;}
  .a-media .prev{width:120px; height:80px; border-radius:10px; overflow:hidden; background:var(--surface-2); border:1px solid var(--line); flex:none;}
  .a-media .prev img, .a-media .prev video{width:100%; height:100%; object-fit:cover;}
  .a-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:6px;}
  .a-msg{padding:12px 16px; border-radius:12px; font-size:14px; font-weight:700; margin-bottom:16px;}
  .a-msg.ok{background:rgba(var(--teal-rgb),.14); color:var(--teal); border:1px solid rgba(var(--teal-rgb),.4);}
  .a-msg.err{background:rgba(240,120,90,.13); color:#f6a08a; border:1px solid rgba(240,120,90,.4);}
  .a-msg.info{background:var(--surface); color:var(--ink-soft); border:1px solid var(--line);}
  .lock-card{max-width:620px; margin:0 auto; text-align:center; padding:44px 30px; background:var(--surface); border:1px solid var(--line); border-radius:22px;}
  .lock-card svg{width:46px; height:46px; color:var(--teal);}
  .lock-card h2{font-size:34px; margin-top:16px;}
  .lock-card p{color:var(--ink-soft); margin-top:12px;}
  .admin-help{margin-top:26px; padding:20px 22px; border-radius:16px; background:var(--surface); border:1px solid var(--line); color:var(--ink-soft); font-size:14px; line-height:1.65;}
  .admin-help b{color:#fff;}
  .nav-admin{display:none;}
  .is-editor .nav-admin{display:inline-flex;}

  /* ---------- fixes ---------- */
  nav.links .more-menu a{text-transform:none; letter-spacing:0; font-family:"Manrope",sans-serif; font-size:14.5px; font-weight:800; color:var(--ink); padding:10px 12px; position:static;}
  nav.links .more-menu a span{text-transform:none; letter-spacing:0; font-size:12.5px; font-weight:500; color:var(--ink-faint);}
  nav.links .more-menu a:hover, nav.links .more-menu a:focus-visible{color:var(--teal); background:rgba(var(--teal-rgb),0.12);}
  @keyframes cellIn{from{opacity:0; transform:translateZ(-60px) rotateX(35deg);} to{opacity:var(--o,1); transform:none;}}
  .bull-img.noimg > span:not(.bull-pin){font-family:"Anton",sans-serif; font-size:26px; text-transform:uppercase; color:var(--teal); padding:0 20px; text-align:center; line-height:1.05;}
  .bull-img.noimg span.bull-pin{font-size:10.5px; color:#06201C; padding:4px 10px; font-family:"Space Mono",monospace;}

  /* ============================================================
     v11: vibrant palette, Midweek theme, neon logo, portal
     ============================================================ */
  .grad-text{background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;}
  .hero h1 .accent{background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; text-shadow:none; filter:drop-shadow(0 4px 26px rgba(var(--teal-rgb),.28));}
  .eyebrow::before{background:var(--grad);}
  .hero-info a{display:flex; align-items:center; gap:8px; color:inherit; text-decoration:none; border-bottom:1px dashed rgba(255,255,255,.45); padding-bottom:1px;}
  .hero-info a::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--teal); box-shadow:0 0 10px var(--teal);}
  .hero-info a:hover{color:#fff; border-bottom-color:var(--teal);}
  .marquee-track span:nth-child(even)::after{color:var(--blue);}
  .cta-band{background:linear-gradient(110deg,var(--teal),var(--blue));}
  .timeline::before{background:linear-gradient(180deg,var(--teal),var(--blue));}
  .hero-dots span.on::after{background:var(--grad);}
  .btn-primary{background:linear-gradient(100deg,var(--teal),color-mix(in srgb,var(--teal) 65%,var(--blue)));}
  .btn-outline:hover{border-color:var(--blue); color:#fff; background:rgba(var(--blue-rgb),.18);}
  .week-card:hover, .week-card:focus-visible{border-color:var(--kc,var(--teal));}
  .live-card{background:linear-gradient(120deg, rgba(var(--teal-rgb),0.18), rgba(var(--blue-rgb),0.12));}
  nav.links > a.active{color:var(--teal);}

  /* ---------- logo flip (nav + footer) ---------- */
  .logo-flip{display:block; perspective:800px; width:68px; height:42px; flex:none;}
  .logo-flip.big{width:74px; height:46px;}
  .lf-inner{display:block; position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform 1.05s cubic-bezier(.2,.9,.25,1);}
  body.theme-midweek .lf-inner{transform:rotateY(180deg);}
  .lf-face{position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:9px; overflow:hidden;}
  .lf-face img{width:100%; height:100%; display:block; object-fit:contain;}
  .lf-front{background:#fff; box-shadow:0 6px 18px -8px rgba(0,0,0,.6);}
  .lf-front img{padding:4px 8px; box-sizing:border-box;}
  .lf-back{transform:rotateY(180deg); background:#04070c; box-shadow:0 0 0 1px rgba(34,211,198,.6), 0 0 20px rgba(34,211,198,.55), 0 0 38px rgba(62,123,250,.4);}
  .lf-back img{object-fit:cover;}
  .brand:hover .lf-inner{transform:rotateY(12deg) rotateX(-6deg);}
  body.theme-midweek .brand:hover .lf-inner{transform:rotateY(168deg) rotateX(-6deg);}

  /* ---------- Midweek theme: the original night-stage palette ---------- */
  body.theme-midweek{
    --bg:#07070B; --surface:#101018; --surface-2:#181826;
    --ink:#F6F5FB; --ink-soft:#B7B3C9; --ink-faint:#8B86A5;
    --line:rgba(246,245,251,0.10); --line-strong:rgba(246,245,251,0.18);
    --teal:#22D3C6; --blue:#3E7BFA; --violet:#8B5CF6; --magenta:#EC4899; --gold:#F2B84B;
    --teal-rgb:34,211,198; --blue-rgb:62,123,250; --bg-rgb:7,7,11; --scrim-rgb:5,5,9; --foot-bg:#050508;
    --grad:linear-gradient(115deg,#3E7BFA,#8B5CF6 40%,#EC4899 70%,#22D3C6);
  }
  body.theme-midweek .btn-primary{background:var(--grad); color:#0A0A12; box-shadow:0 14px 30px -12px rgba(139,92,246,.55);}
  body.theme-midweek .eyebrow{color:var(--teal);}
  body.theme-midweek .eyebrow::before{content:"//"; width:auto; height:auto; background:none; color:var(--magenta); border-radius:0;}
  body.theme-midweek .cta-band{background:var(--surface);}
  body.theme-midweek .hub-card:hover{border-color:rgba(139,92,246,.7); box-shadow:0 36px 70px -26px rgba(139,92,246,.5);}
  body.theme-midweek .crew-card::before{background:radial-gradient(70% 55% at 50% 20%, rgba(139,92,246,0.22), transparent 70%);}
  body.theme-midweek .crew-card:hover{border-color:rgba(236,72,153,.6); box-shadow:0 34px 60px -26px rgba(236,72,153,.5);}
  body.theme-midweek .gal-item:hover{border-color:rgba(139,92,246,.6); box-shadow:0 30px 56px -24px rgba(139,92,246,.5);}
  body.theme-midweek .pm-panel{box-shadow:0 60px 120px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(139,92,246,.25);}

  /* ---------- Midweek pages ---------- */
  .mw-hero{position:relative; min-height:88vh; padding:140px 0 100px; display:flex; align-items:center; overflow:hidden; isolation:isolate; text-align:center;}
  .mw-hero > video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-3;}
  .mw-hero .mw-scrim{position:absolute; inset:0; z-index:-2; background:radial-gradient(70% 55% at 50% 42%, rgba(var(--bg-rgb),.2), rgba(var(--bg-rgb),.86)), linear-gradient(180deg, rgba(var(--bg-rgb),.4), rgba(var(--bg-rgb),.92));}
  .mw-beams{position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none;}
  .mw-beams span{position:absolute; top:-25%; width:3px; height:150%; background:linear-gradient(180deg,transparent,rgba(255,255,255,.7),transparent); filter:blur(1.5px); opacity:0; animation:beamSweep 7s ease-in-out infinite;}
  .mw-beams span:nth-child(1){left:16%; background:linear-gradient(180deg,transparent,rgba(62,123,250,.9),transparent);}
  .mw-beams span:nth-child(2){left:48%; animation-delay:2.4s; background:linear-gradient(180deg,transparent,rgba(236,72,153,.85),transparent);}
  .mw-beams span:nth-child(3){left:82%; animation-delay:4.7s; background:linear-gradient(180deg,transparent,rgba(34,211,198,.9),transparent);}
  @keyframes beamSweep{0%,100%{opacity:0; transform:rotate(9deg) translateX(0);} 50%{opacity:.55; transform:rotate(-7deg) translateX(34px);}}
  .mw-hero .container{position:relative;}
  .mw-neon{display:block; width:min(400px,74vw); margin:0 auto 6px; animation:neonFlicker 6s infinite; filter:drop-shadow(0 0 34px rgba(34,211,198,.45));}
  @keyframes neonFlicker{0%,17%,22%,61%,64%,100%{opacity:1;} 19%,62%{opacity:.78;} 20%{opacity:.95;}}
  .mw-hero h1{font-size:clamp(70px,15vw,190px); line-height:.9; margin-top:6px;}
  .mw-hero p.lede{max-width:600px; margin:20px auto 0; font-size:18.5px; color:rgba(255,255,255,.88); font-weight:500;}
  .mw-hero .hero-ctas{margin-top:30px;}
  @media (prefers-reduced-motion: reduce){ .mw-neon, .mw-beams span{animation:none;} .mw-beams{display:none;} }

  .mwsub-hero{position:relative; padding:150px 0 70px; overflow:hidden; isolation:isolate; min-height:56vh; display:flex; align-items:flex-end;}
  .mwsub-hero .mws-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2;}
  .mwsub-hero .mws-scrim{position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(var(--bg-rgb),.55), rgba(var(--bg-rgb),.5) 40%, rgba(var(--bg-rgb),.98));}
  .mwsub-hero .container{width:100%;}
  .mwsub-hero h1{font-size:clamp(64px,13vw,168px); line-height:.9; margin-top:10px;}
  .mwsub-hero p.intro{margin-top:16px; font-size:18px; color:rgba(255,255,255,.88); max-width:56ch;}
  .mw-when{display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:11px 18px; border-radius:999px; background:var(--teal); color:#06201C; font-weight:800; font-size:14.5px;}
  body.theme-midweek .mw-when{background:var(--grad); color:#0A0A12;}
  .mws-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:44px; align-items:start;}
  @media (max-width:860px){ .mws-grid{grid-template-columns:1fr;} }
  .mw-facts{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:26px;}
  .mw-fact{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px 18px;}
  .mw-fact span{font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); display:block;}
  .mw-fact b{display:block; margin-top:4px; font-size:15.5px;}
  .mw-fact a{color:var(--teal); text-decoration:none; font-weight:800;}
  @media (max-width:560px){ .mw-facts{grid-template-columns:1fr;} }
  .wed-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; perspective:1200px;}
  .wed-tile{display:flex; flex-direction:column; gap:4px; padding:22px; border-radius:16px; background:var(--surface); border:1px solid var(--line); text-decoration:none; color:inherit; transform-style:preserve-3d; transition:transform .16s ease-out, border-color .25s ease, box-shadow .3s ease;}
  .wed-tile:hover{border-color:var(--magenta); box-shadow:0 26px 50px -24px rgba(236,72,153,.55); z-index:2;}
  .wed-tile b{font-family:"Anton",sans-serif; font-weight:400; font-size:58px; line-height:1; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; transform:translateZ(26px);}
  .wed-tile span{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold);}
  .wed-tile small{font-size:13px; color:var(--ink-soft); font-weight:600;}
  .wed-tile.next::after{content:"Next up"; align-self:flex-start; margin-top:8px; font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:#0A0A12; background:var(--teal); padding:3px 9px; border-radius:999px; font-weight:700;}
  @media (max-width:820px){ .wed-strip{grid-template-columns:repeat(2,1fr);} }
  .mw-tri .hub-card{min-height:400px;}
  .mw-tri .hub-card h3{font-size:clamp(34px,4vw,52px);}
  .mw-card{text-decoration:none; color:inherit;}
  .mw-card .mw-go{display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-size:13.5px; font-weight:800; color:var(--teal);}
  .mw-card .mw-go svg{width:15px; height:15px; transition:transform .2s ease;}
  .mw-card:hover .mw-go svg{transform:translateX(5px);}
  .mw-card:hover{border-color:var(--teal);}
  .mw-card:focus-visible{outline:2px solid var(--teal); outline-offset:3px;}

  /* ---------- portal: 3D neon transition ---------- */
  #portal{position:fixed; inset:0; z-index:600; pointer-events:none; display:flex; align-items:center; justify-content:center; background:#02040a; opacity:0; visibility:hidden; perspective:1400px; overflow:hidden;}
  #portal .p-strips{position:absolute; inset:0; z-index:0; display:flex;}
  #portal .p-strip{flex:1 0 0; opacity:0; transform-origin:50% 0%; background:linear-gradient(160deg, rgba(62,123,250,.5), rgba(34,211,198,.45));}
  #portal.out .p-strip{background:linear-gradient(160deg, rgba(42,86,128,.5), rgba(46,107,62,.45));}
  #portal.play .p-strip{animation:stripSweep 1.55s cubic-bezier(.2,.9,.25,1) both;}
  #portal.play .p-strip:nth-child(2){animation-delay:.045s;}
  #portal.play .p-strip:nth-child(3){animation-delay:.09s;}
  #portal.play .p-strip:nth-child(4){animation-delay:.135s;}
  #portal.play .p-strip:nth-child(5){animation-delay:.18s;}
  #portal.play .p-strip:nth-child(6){animation-delay:.225s;}
  @keyframes stripSweep{
    0%{opacity:0; transform:rotateX(-100deg) scaleY(.5);}
    20%{opacity:.9;}
    26%{transform:rotateX(0deg) scaleY(1);}
    60%{opacity:.9; transform:rotateX(0deg) scaleY(1);}
    100%{opacity:0; transform:rotateX(95deg) scaleY(.5);}
  }
  #portal .p-neon{position:relative; z-index:1; width:min(80vmin,780px); height:auto; transform-origin:50% 50%;}
  #portal .p-std{position:relative; z-index:1; display:none; width:min(60vmin,520px); background:#fff; padding:22px 30px; border-radius:22px; box-sizing:border-box; transform-origin:50% 50%;}
  #portal.out{background:#0A2233;}
  #portal.out .p-neon{display:none;} #portal.out .p-std{display:block;}
  #portal.play{visibility:visible; animation:portalBg 1.55s ease both;}
  #portal.play .p-neon, #portal.play .p-std{animation:portalLogo 1.55s cubic-bezier(.2,.9,.25,1) both;}
  #portal::after{content:""; position:absolute; inset:0; background:radial-gradient(45% 45% at 50% 50%, rgba(34,211,198,.35), transparent 70%), radial-gradient(60% 60% at 60% 60%, rgba(62,123,250,.28), transparent 70%); opacity:0;}
  #portal.play:not(.out)::after{animation:portalGlow 1.55s ease both;}
  @keyframes portalBg{0%{opacity:0;} 16%{opacity:1;} 70%{opacity:1;} 100%{opacity:0;}}
  @keyframes portalGlow{0%,100%{opacity:0;} 40%,62%{opacity:1;}}
  @keyframes portalLogo{
    0%{transform:translateZ(-1300px) rotateY(-100deg) rotateX(28deg) scale(.3); filter:brightness(.45) blur(8px);}
    38%{transform:translateZ(0) rotateY(0) rotateX(0) scale(1); filter:brightness(1.15) blur(0);}
    66%{transform:translateZ(70px) rotateY(0) scale(1.05); filter:brightness(1.3) blur(0);}
    100%{transform:translateZ(760px) rotateY(24deg) rotateX(-8deg) scale(1.9); filter:brightness(1.7) blur(5px);}
  }
  @media (prefers-reduced-motion: reduce){ #portal{display:none;} }

  /* ---------- palette follow-ups ---------- */
  .series-card{background:linear-gradient(150deg,#0f6a66,#0f3f75);}
  .reg-card{background:linear-gradient(120deg,#0f5f70,#0e3a70);}
  .bull-img.noimg{background:linear-gradient(135deg,#0f6a66,#0f3f75);}
  .bull-img.noimg > span:not(.bull-pin){color:#fff;}
  .vol-card .v-ph.init{background:linear-gradient(135deg,#0f6a66,#0f3f75); color:#fff;}
  .mr-band{background:linear-gradient(120deg, rgba(var(--teal-rgb),.24), rgba(var(--blue-rgb),.20) 58%, rgba(var(--bg-rgb),1));}
  .hero-scrim{background:linear-gradient(180deg, rgba(var(--scrim-rgb),.46) 0%, rgba(var(--scrim-rgb),.24) 38%, rgba(var(--scrim-rgb),.46) 76%, rgba(var(--bg-rgb),1) 100%);}
  .hero h1{text-shadow:0 4px 34px rgba(0,0,0,.55);}
  .mw-hero .mw-scrim{background:radial-gradient(70% 55% at 50% 42%, rgba(var(--bg-rgb),.1), rgba(var(--bg-rgb),.66)), linear-gradient(180deg, rgba(var(--bg-rgb),.22), rgba(var(--bg-rgb),.3) 55%, rgba(var(--bg-rgb),1) 100%);}
  .mw-neon{margin-bottom:22px;}

  /* ============================================================
     v12: light, vibrant main site (Midweek stays on the night palette)
     ============================================================ */
  body.theme-midweek{ --teal-ink:#22D3C6; --green:#7FA06E; }
  .hero-media{background-size:cover; background-position:center;}
  .hero-play{
    position:absolute; left:50%; bottom:74px; transform:translateX(-50%); z-index:7;
    display:inline-flex; align-items:center; gap:10px; padding:12px 22px; border-radius:999px; cursor:pointer;
    background:rgba(255,255,255,.92); color:#1C2A1E; border:0; font:inherit; font-weight:800; font-size:14px;
    box-shadow:0 14px 34px -12px rgba(0,0,0,.6);
  }
  .hero-play svg{width:15px; height:15px;}

  /* nav over a dark hero */
  body.hero-dark header.nav:not(.scrolled) nav.links > a,
  body.hero-dark header.nav:not(.scrolled) .more-btn,
  body.hero-dark header.nav:not(.scrolled) .burger{color:rgba(255,255,255,.9);}
  body.hero-dark header.nav:not(.scrolled) nav.links > a:hover,
  body.hero-dark header.nav:not(.scrolled) .more-btn:hover{color:#fff; background:rgba(255,255,255,.14);}
  body.hero-dark header.nav:not(.scrolled) .burger{border-color:rgba(255,255,255,.4); background:rgba(255,255,255,.12);}
  body.hero-dark header.nav:not(.scrolled) nav.links > a.active{color:#fff;}

  /* ---------- light-only fixes ---------- */
  body:not(.theme-midweek){
    .wk-date b, .cal-num, .cd-cell b, .calc-amt, .acc-head, .verse, .cal-arrow, .burger, .lead-quote{color:var(--ink);}
  }
  body:not(.theme-midweek) .wk-date b,
  body:not(.theme-midweek) .cal-num,
  body:not(.theme-midweek) .cd-cell b,
  body:not(.theme-midweek) .calc-amt,
  body:not(.theme-midweek) .acc-head,
  body:not(.theme-midweek) .verse,
  body:not(.theme-midweek) .cal-arrow,
  body:not(.theme-midweek) .burger{color:var(--ink);}
  body:not(.theme-midweek) .eyebrow{color:var(--teal-ink);}
  body:not(.theme-midweek) .hub-card .hc-go,
  body:not(.theme-midweek) .mw-card .mw-go,
  body:not(.theme-midweek) .gcard .g-go,
  body:not(.theme-midweek) .msg-row svg,
  body:not(.theme-midweek) .bull-when,
  body:not(.theme-midweek) .time-row .t-hour,
  body:not(.theme-midweek) .group-count,
  body:not(.theme-midweek) .rhythm-card .when,
  body:not(.theme-midweek) .tl-date,
  body:not(.theme-midweek) .staff-view,
  body:not(.theme-midweek) .crew-card .c-title,
  body:not(.theme-midweek) .values-col h4,
  body:not(.theme-midweek) .scope-item svg,
  body:not(.theme-midweek) .goal-card .g-num,
  body:not(.theme-midweek) .calc-out b,
  body:not(.theme-midweek) .acc-head svg,
  body:not(.theme-midweek) .lc-dot,
  body:not(.theme-midweek) .s-when,
  body:not(.theme-midweek) .pm-tag,
  body:not(.theme-midweek) .ag-row .ag-t{color:var(--teal-ink);}
  body:not(.theme-midweek) .btn-primary{background:linear-gradient(100deg,#24512E,#2A5680); color:#fff; box-shadow:0 14px 28px -14px rgba(11,140,124,.7);}
  body:not(.theme-midweek) .btn-ghost{background:rgba(12,39,57,.06); border-color:var(--line-strong); color:var(--ink);}
  body:not(.theme-midweek) .btn-ghost:hover{background:rgba(12,39,57,.12); border-color:var(--ink-faint);}
  body:not(.theme-midweek) .btn-outline:hover{border-color:var(--blue); color:var(--blue); background:rgba(47,111,216,.08);}
  body:not(.theme-midweek) .more-menu{background:rgba(255,255,255,.98); box-shadow:0 30px 60px -20px rgba(12,39,57,.28);}
  body:not(.theme-midweek) .mobile-menu{background:rgba(242,247,251,.99);}
  body:not(.theme-midweek) .mobile-menu a{color:var(--ink);}
  body:not(.theme-midweek) header.nav.scrolled{box-shadow:0 1px 0 var(--line), 0 12px 30px -24px rgba(12,39,57,.5);}
  body:not(.theme-midweek) .cal-chip{color:var(--ink); background:color-mix(in srgb, var(--kc) 26%, #fff);}
  body:not(.theme-midweek) .cal-cell:hover, body:not(.theme-midweek) .cal-cell:focus-visible{box-shadow:0 26px 40px -20px rgba(12,39,57,.4), 0 0 0 1px var(--teal-ink);}
  body:not(.theme-midweek) .cal-cell.today .cal-num{background:var(--teal-ink); color:#fff;}
  body:not(.theme-midweek) .cal-cell.today::after{box-shadow:0 0 0 2px rgba(11,140,124,.6) inset;}
  body:not(.theme-midweek) .chip[aria-pressed="true"]{background:var(--teal-ink); border-color:var(--teal-ink); color:#fff;}
  body:not(.theme-midweek) .seg button[aria-pressed="true"]{background:var(--teal-ink); color:#fff;}
  body:not(.theme-midweek) .cal-arrow:hover{background:var(--teal-ink); color:#fff;}
  body:not(.theme-midweek) .a-field input, body:not(.theme-midweek) .a-field textarea, body:not(.theme-midweek) .a-field select{color:var(--ink); color-scheme:light;}
  body:not(.theme-midweek) .hub-card.plain h3, body:not(.theme-midweek) .hub-card.plain p{color:var(--ink);}
  body:not(.theme-midweek) .hub-card.plain p{color:var(--ink-soft);}
  body:not(.theme-midweek) .ev-head{background:linear-gradient(135deg, var(--kc,var(--teal)), color-mix(in srgb, var(--kc,var(--teal)) 45%, #123)); }
  body:not(.theme-midweek) .ev-head h2, body:not(.theme-midweek) .ev-head .pm-tag{color:#fff;}
  body:not(.theme-midweek) .pm-photo.circle{background:radial-gradient(70% 60% at 50% 40%, rgba(var(--teal-rgb),.28), var(--surface-2) 75%);}
  body:not(.theme-midweek) .live-card{border-color:rgba(11,140,124,.3);}
  body:not(.theme-midweek) .lock-card svg{color:var(--teal-ink);}
  body:not(.theme-midweek) .play-btn{background:var(--teal-ink);}
  body:not(.theme-midweek) .play-btn svg{fill:#fff;}
  body:not(.theme-midweek) .map-pin .dot{background:var(--teal-ink); box-shadow:0 0 16px rgba(11,140,124,.5);}
  body:not(.theme-midweek) .map-pin .ping{background:var(--teal-ink);}
  body:not(.theme-midweek) .icon-btn:hover{border-color:var(--teal-ink); color:var(--teal-ink);}
  body:not(.theme-midweek) .a-msg.ok{background:rgba(11,140,124,.12); color:#1F5A30; border-color:rgba(11,140,124,.35);}
  body:not(.theme-midweek) .a-row.active, body:not(.theme-midweek) .gcard:hover{border-color:var(--teal-ink);}
  body:not(.theme-midweek) .rh-admin-bar .who b, body:not(.theme-midweek) .foot-brand-word{color:var(--ink);}
  body:not(.theme-midweek) footer .foot-brand-word{color:#fff;}
  body:not(.theme-midweek) .mr-band{background:linear-gradient(120deg, rgba(31,227,193,.22), rgba(63,140,255,.18) 55%, var(--bg));}
  body:not(.theme-midweek) .marquee-track span::after{color:var(--teal-ink);}
  body:not(.theme-midweek) .hero-info span::before{background:var(--teal);}
  body:not(.theme-midweek) .welcome-wrap, body:not(.theme-midweek) .steps-wrap{background:var(--surface);}
  body:not(.theme-midweek) .midweek-feature{box-shadow:0 30px 60px -30px rgba(12,39,57,.45);}
  body:not(.theme-midweek) .mw-card, body:not(.theme-midweek) .week-card, body:not(.theme-midweek) .rhythm-card{background:var(--surface);}
  body:not(.theme-midweek) .mw-card:hover{border-color:var(--teal-ink); box-shadow:0 24px 44px -24px rgba(11,140,124,.45);}
  body:not(.theme-midweek) .times-card, body:not(.theme-midweek) .goal-card, body:not(.theme-midweek) .calc, body:not(.theme-midweek) .acc-item,
  body:not(.theme-midweek) .scope-item, body:not(.theme-midweek) .vol-team, body:not(.theme-midweek) .day-panel, body:not(.theme-midweek) .crew-card,
  body:not(.theme-midweek) .admin-panel, body:not(.theme-midweek) .cal-cell, body:not(.theme-midweek) .subpage-note, body:not(.theme-midweek) .believe-foot,
  body:not(.theme-midweek) .admin-help, body:not(.theme-midweek) .rh-admin-bar, body:not(.theme-midweek) .lead-badge{background:var(--surface); box-shadow:0 2px 10px -6px rgba(12,39,57,.3);}
  body:not(.theme-midweek) .crew-card::before{background:radial-gradient(70% 55% at 50% 20%, rgba(31,227,193,.18), transparent 70%);}
  body:not(.theme-midweek) .crew-card:hover, body:not(.theme-midweek) .hub-card:hover, body:not(.theme-midweek) .staff-card:hover, body:not(.theme-midweek) .leader-card:hover{
    border-color:var(--teal-ink); box-shadow:0 30px 56px -26px rgba(11,140,124,.5);}
  body:not(.theme-midweek) .crew-photo{border-color:var(--line-strong);}
  body:not(.theme-midweek) .crew-card:hover .crew-photo{border-color:var(--teal-ink);}
  body:not(.theme-midweek) .ag-row{background:var(--surface-2);}
  body:not(.theme-midweek) .empty-note{background:var(--surface);}
  body:not(.theme-midweek) .subpage-hero{background:linear-gradient(180deg, var(--surface), var(--bg));}
  body:not(.theme-midweek) .a-msg.info{background:var(--surface-2);}
  body:not(.theme-midweek) .g-open{background:rgba(11,140,124,.1); border-color:rgba(11,140,124,.35); color:var(--teal-ink);}
  body:not(.theme-midweek) .group-count{background:rgba(11,140,124,.1); border-color:rgba(11,140,124,.35);}
  body:not(.theme-midweek) .bull-pin{background:var(--teal-ink); color:#fff;}
  body:not(.theme-midweek) .mw-when{background:linear-gradient(100deg,#24512E,#2A5680); color:#fff;}
  body:not(.theme-midweek) .cta-band{background:linear-gradient(110deg,#3B8A4B,#2A5680);}
  body:not(.theme-midweek) .cta-band h2, body:not(.theme-midweek) .cta-band p, body:not(.theme-midweek) .cta-band .eyebrow{color:#12241C;}
  body:not(.theme-midweek) .cta-band p{color:rgba(6,36,46,.82);}
  body:not(.theme-midweek) .cta-band .eyebrow::before{background:rgba(6,36,46,.6);}
  body:not(.theme-midweek) .cta-band .btn-primary{background:#12241C; color:#fff;}
  body:not(.theme-midweek) .cta-band .btn-ghost{background:rgba(6,36,46,.1); border-color:rgba(6,36,46,.3); color:#12241C;}
  body:not(.theme-midweek) .series-card{background:linear-gradient(150deg,#2E6B3E,#2A5680);}
  body:not(.theme-midweek) .reg-card{background:linear-gradient(120deg,#2E6B3E,#2A5680);}
  body:not(.theme-midweek) .reg-card h3{color:#fff;}
  body:not(.theme-midweek) .bull-img.noimg{background:linear-gradient(135deg,#2E6B3E,#2A5680);}
  body:not(.theme-midweek) .vol-card .v-ph.init{background:linear-gradient(135deg,#2E6B3E,#2A5680);}
  body:not(.theme-midweek) .lb .pm-panel{background:#12241C;}

  /* ---------- 3D collage ---------- */
  .collage{perspective:1500px; perspective-origin:50% 42%;}
  .collage-stage{
    display:grid; grid-template-columns:repeat(4,1fr); gap:18px; transform-style:preserve-3d;
    transition:transform .5s cubic-bezier(.2,.9,.25,1);
  }
  .collage-stage .gal-item{
    margin:0; aspect-ratio:4/5; transform-style:preserve-3d;
    transform:translateZ(var(--cz,0px)) rotateY(var(--cry,0deg)) rotateZ(var(--crz,0deg));
    transition:transform .45s cubic-bezier(.2,.9,.25,1), box-shadow .35s ease, border-color .3s ease;
    box-shadow:0 22px 40px -26px rgba(0,0,0,.65);
  }
  .collage-stage .gal-item img, .collage-stage .gal-item video{height:100%; object-fit:cover;}
  .collage-stage .gal-item:nth-child(4n+1){--cz:-40px; --cry:7deg; --crz:-1.4deg;}
  .collage-stage .gal-item:nth-child(4n+2){--cz:22px; --cry:3deg; --crz:1deg;}
  .collage-stage .gal-item:nth-child(4n+3){--cz:-14px; --cry:-3deg; --crz:-.8deg;}
  .collage-stage .gal-item:nth-child(4n+4){--cz:44px; --cry:-7deg; --crz:1.6deg;}
  .collage-stage .gal-item:nth-child(8n+5){aspect-ratio:4/3;}
  .collage-stage .gal-item:nth-child(6n+2){aspect-ratio:1;}
  .collage-stage .gal-item:hover, .collage-stage .gal-item:focus-visible{
    transform:translateZ(110px) rotateY(0) rotateZ(0) scale(1.03); z-index:6;
    box-shadow:0 50px 80px -30px rgba(0,0,0,.7);
  }
  .collage-stage .gi-cap{padding:40px 16px 16px;}
  .collage-stage .gi-cap b{font-size:22px; letter-spacing:.02em;}
  @media (max-width:900px){ .collage-stage{grid-template-columns:repeat(2,1fr); gap:12px;} }
  @media (max-width:520px){ .collage-stage{grid-template-columns:1fr;} .collage-stage .gal-item{--cz:0; --cry:0deg; --crz:0deg;} }
  @media (prefers-reduced-motion: reduce){ .collage-stage, .collage-stage .gal-item{transform:none !important;} }
  .hero-scrim{background:
    radial-gradient(78% 66% at 50% 46%, rgba(var(--scrim-rgb),.74), rgba(var(--scrim-rgb),.38) 62%, transparent 88%),
    linear-gradient(180deg, rgba(var(--scrim-rgb),.62) 0%, rgba(var(--scrim-rgb),.3) 42%, rgba(var(--bg-rgb),.72) 88%, rgba(var(--bg-rgb),1) 100%);}
  body:not(.theme-midweek) .hero h1 .accent{filter:drop-shadow(0 3px 14px rgba(0,0,0,.6));}

  /* ============================================================
     v13: Start Here — 3D cube boxes
     ============================================================ */
  .start-wrap{background:var(--surface);}
  .cube-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:900px){ .cube-grid{grid-template-columns:repeat(2,1fr); gap:14px;} }
  @media (max-width:560px){
    .cube-grid{grid-template-columns:repeat(2,1fr); gap:10px;}
    .cube-inner{height:158px;}
    .cube-front{transform:translateZ(79px);}
    .cube-top{transform:rotateX(90deg) translateZ(79px);}
    .cube-face{padding:16px;}
    .cube-ico{width:36px; height:36px; border-radius:11px;}
    .cube-ico svg{width:20px; height:20px;}
    .cube h3{font-size:19px; margin-top:12px;}
    .cube .c-sub{font-size:11.5px; line-height:1.3;}
    .cube-top h4{font-size:22px;}
    .cube-top .c-kick{font-size:9.5px;}
    .cube-top .c-go{font-size:12px; margin-top:8px;}
  }
  .cube{display:block; text-decoration:none; color:inherit; perspective:1000px; outline:none;}
  .cube-inner{
    position:relative; height:200px; transform-style:preserve-3d;
    transition:transform .62s cubic-bezier(.2,.9,.25,1);
  }
  .cube{animation:cubeIn .75s cubic-bezier(.2,.9,.25,1) both; animation-delay:calc(var(--i,0) * 80ms);}
  @keyframes cubeIn{ from{opacity:0; transform:translateY(30px) scale(.94);} to{opacity:1; transform:none;} }
  .cube:hover .cube-inner, .cube:focus-visible .cube-inner{transform:rotateX(-90deg);}
  .cube-face{
    position:absolute; inset:0; border-radius:20px; padding:26px; display:flex; flex-direction:column;
    backface-visibility:hidden; -webkit-backface-visibility:hidden; overflow:hidden;
  }
  .cube-front{
    background:var(--surface); border:1px solid var(--line); transform:translateZ(100px);
    box-shadow:0 18px 40px -28px rgba(12,39,57,.5);
  }
  body.theme-midweek .cube-front{background:var(--surface-2);}
  .cube-top{
    background:linear-gradient(120deg, var(--ck,#2E6B3E), color-mix(in srgb, var(--ck,#2E6B3E) 40%, #2A5680));
    transform:rotateX(90deg) translateZ(100px); color:#fff; justify-content:center; align-items:flex-start;
  }
  .cube-ico{width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--ck,#2E6B3E) 14%, transparent); color:var(--ck,#2E6B3E); margin-bottom:auto;}
  .cube-ico svg{width:24px; height:24px;}
  .cube h3{font-size:27px; margin-top:16px;}
  .cube .c-sub{font-size:13.5px; color:var(--ink-faint); font-weight:600; margin-top:5px;}
  .cube-top .c-kick{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; opacity:.85;}
  .cube-top h4{font-family:"Anton",sans-serif; font-weight:400; text-transform:uppercase; font-size:30px; color:#fff; margin-top:8px; line-height:1;}
  .cube-top .c-go{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-weight:800; font-size:14px;}
  .cube-top .c-go svg{width:16px; height:16px;}
  @media (prefers-reduced-motion: reduce){
    .cube{animation:none;}
    .cube:hover .cube-inner, .cube:focus-visible .cube-inner{transform:none;}
    .cube-top{display:none;}
  }
  @media (hover:none){
    .cube:hover .cube-inner{transform:none;}
    .cube-top{display:none;}
    .cube-front{border-color:var(--line-strong);}
  }
  .mr-band.slim{padding-block:70px;}
  .mr-band.slim .mr-photo{aspect-ratio:16/9;}
  .hero-play{position:static; transform:none; margin:22px auto 0; bottom:auto; left:auto;}

  .boot .lf-inner{transition:none !important;}

/* ============================================================
   WordPress theme overrides
   ============================================================ */
body.admin-bar header.nav{top:32px;}
@media (max-width:782px){ body.admin-bar header.nav{top:46px;} }
.nav-admin{display:none !important;}
.hero-media .hv{opacity:1;}
.hero-scrim{background:
  radial-gradient(72% 60% at 50% 46%, rgba(var(--scrim-rgb),.58), rgba(var(--scrim-rgb),.26) 62%, transparent 88%),
  linear-gradient(180deg, rgba(var(--scrim-rgb),.5) 0%, rgba(var(--scrim-rgb),.14) 30%, rgba(var(--scrim-rgb),.2) 82%, rgba(var(--bg-rgb),1) 100%);}
.leader-card{cursor:pointer;}
.rh-page-body{padding-block:10px 90px;}
.rh-page-body .entry{max-width:760px; font-size:17.5px; line-height:1.7;}
.rh-page-body .entry > * + *{margin-top:1.1em;}
.rh-page-body .entry img{max-width:100%; height:auto; border-radius:16px;}
body:not(.theme-midweek) .hero .btn-ghost{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.55); color:#fff;}
body:not(.theme-midweek) .hero .btn-ghost:hover{background:rgba(255,255,255,.22); border-color:#fff;}
body:not(.theme-midweek) .hero .eyebrow{color:#D9C7A3; text-shadow:0 1px 10px rgba(0,0,0,.5);}
body:not(.theme-midweek) .hero .eyebrow::before{background:#D9C7A3;}
body:not(.theme-midweek) .hero-info{color:rgba(255,255,255,.88); text-shadow:0 1px 8px rgba(0,0,0,.45);}
body:not(.theme-midweek) .hero h1 .accent{background:linear-gradient(90deg,#7DBE84 0%,#D9C7A3 50%,#7FB0DE 100%); -webkit-background-clip:text; background-clip:text;}

/* ---------- Big RH mark, top left ---------- */
header.nav .logo-flip{width:164px; height:94px; transition:width .3s ease, height .3s ease;}
header.nav.scrolled .logo-flip{width:120px; height:68px;}
.logo-flip.big{width:164px; height:94px;}
.lf-front{background:#FBF7EE; border-radius:16px; box-shadow:0 10px 28px -12px rgba(0,0,0,.55); overflow:hidden;}
.lf-front img{padding:9px 12px; box-sizing:border-box;}
header.nav.scrolled .lf-front img{padding:6px 9px;}
@media (max-width:920px){ header.nav .logo-flip, header.nav.scrolled .logo-flip{width:104px; height:56px;} }

/* ---------- Hero: church name up top ---------- */
.hero .hero-name{font-size:clamp(46px,9vw,116px); line-height:.92; margin-top:18px; letter-spacing:.01em;}
.hero .hero-tag{font-family:"Anton",Impact,sans-serif; text-transform:uppercase; font-size:clamp(24px,3.6vw,46px); line-height:1.05; color:#fff; margin-top:14px; text-shadow:0 4px 24px rgba(0,0,0,.55);}
.hero .hero-tag .accent{display:table; margin:0 auto; background:linear-gradient(90deg,#7DBE84 0%,#D9C7A3 50%,#7FB0DE 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; text-shadow:none; filter:drop-shadow(0 3px 14px rgba(0,0,0,.6));}

/* ---------- Real map ---------- */
.map-live{height:260px; background:var(--surface-2);}
.map-live iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

/* ---------- Footer manager links ---------- */
.foot-admin a{color:var(--ink-faint); text-decoration:none; font-weight:600;}
.foot-admin a:hover{color:var(--ink); text-decoration:underline;}

/* ---------- Team sign-up form ---------- */
.rh-join{display:grid; gap:18px; max-width:440px;}
.rh-join label{display:grid; gap:7px; font-weight:700; font-size:14.5px;}
.rh-join label small{font-weight:500; color:var(--ink-faint);}
.rh-join input{font:inherit; font-weight:500; padding:13px 15px; border-radius:12px; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink);}
.rh-join input:focus{outline:2px solid var(--teal); outline-offset:1px;}
.rh-join .btn{justify-self:start; margin-top:6px;}
.rh-join-errors{max-width:440px; margin-bottom:20px; padding:14px 18px; border-radius:12px; background:#FBEAE5; color:#7A2A17; font-weight:600; font-size:14.5px;}
.rh-join-errors p + p{margin-top:6px;}
.pm-video iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

/* ============================================================
   Staff page
   ============================================================ */
/* Featured pastors */
.staff-lead{padding-bottom:10px;}
.staff-card{cursor:pointer;}

/* Filter chips */
.staff-filters{display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-start; margin:-6px 0 34px;}
.staff-filters .chip span{font-family:"Space Mono",monospace; font-size:11px; padding:2px 7px; border-radius:999px; background:var(--surface-2); color:var(--ink-faint);}
.staff-filters .chip:hover{border-color:var(--teal-ink); color:var(--ink);}
.staff-filters .chip.on{background:var(--teal-ink); border-color:var(--teal-ink); color:#fff; box-shadow:0 12px 26px -14px rgba(36,81,46,.7);}
.staff-filters .chip.on span{background:rgba(255,255,255,.2); color:#fff;}

/* Crew cards: staggered 3D entrance + filter animation */
.crew-card{cursor:pointer; transition:opacity .35s ease, transform .45s cubic-bezier(.2,.9,.25,1), border-color .3s ease, box-shadow .3s ease;}
.js #crewGrid .crew-card{opacity:0; transform:perspective(900px) rotateX(18deg) translateY(40px);}
.js #crewGrid.in .crew-card{opacity:1; transform:none; transition-delay:calc(var(--d,0) * 70ms);}
.crew-grid .crew-card.is-out{opacity:0 !important; transform:perspective(900px) rotateY(-70deg) scale(.85) !important; transition-delay:0s !important; pointer-events:none;}
.crew-grid .crew-card.is-gone{display:none;}
.crew-card .c-mail{display:block; margin-top:10px; font-size:13px; font-weight:700; color:var(--ink-faint); text-decoration:none; transform:translateZ(18px);}

.crew-card .c-mail + .c-more{margin-top:8px;}
.crew-card .c-mail:hover{color:var(--teal-ink); text-decoration:underline;}

/* Pop-out: step through the team */
.pm-step{display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.pm-step button{width:38px; height:38px; border-radius:50%; border:1.5px solid var(--line-strong); background:var(--surface); color:var(--ink); cursor:pointer; display:grid; place-items:center; transition:all .2s ease;}
.pm-step button:hover{background:var(--teal-ink); border-color:var(--teal-ink); color:#fff; transform:scale(1.06);}
.pm-step button svg{width:16px; height:16px;}
.pm-step .pm-count{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.1em; color:var(--ink-faint);}
.pm-body{padding-top:30px;}


/* ---------- Portal arriving on the next page ---------- */
html.portal-arrive body::after{content:""; position:fixed; inset:0; z-index:700; background:#02040a;}
html.portal-arrive.portal-out body::after{background:#0A2233;}
#portal.arrive{visibility:visible; opacity:1; animation:portalArrive 1.15s ease both;}
@keyframes portalArrive{0%,30%{opacity:1;} 100%{opacity:0;}}
#portal.arrive .p-neon, #portal.arrive .p-std{animation:portalLogoOut 1.15s cubic-bezier(.2,.9,.25,1) both;}
@keyframes portalLogoOut{0%{transform:translateZ(70px) scale(1.05); filter:brightness(1.3); opacity:1;} 100%{transform:translateZ(760px) rotateY(24deg) rotateX(-8deg) scale(1.9); filter:brightness(1.7) blur(6px); opacity:0;}}
#portal.arrive .p-strip{animation:stripAway .95s cubic-bezier(.2,.9,.25,1) both;}
#portal.arrive .p-strip:nth-child(2){animation-delay:.045s;} #portal.arrive .p-strip:nth-child(3){animation-delay:.09s;}
#portal.arrive .p-strip:nth-child(4){animation-delay:.135s;} #portal.arrive .p-strip:nth-child(5){animation-delay:.18s;}
#portal.arrive .p-strip:nth-child(6){animation-delay:.225s;}
@keyframes stripAway{0%{opacity:.9; transform:none;} 100%{opacity:0; transform:rotateX(95deg) scaleY(.5);}}
@media (prefers-reduced-motion: reduce){ html.portal-arrive body::after{display:none;} }

/* ---------- Video thumbnails in the pop-out ---------- */
.pm-thumb{position:relative;}
.pm-thumb video{width:100%; height:100%; object-fit:cover; display:block;}
.pm-thumb-play{position:absolute; inset:0; display:grid; place-items:center; color:#fff; background:linear-gradient(180deg,transparent,rgba(0,0,0,.35)); pointer-events:none;}
.pm-thumb-play svg{width:34px; height:34px; filter:drop-shadow(0 4px 10px rgba(0,0,0,.5));}

/* ---------- Start Here boxes with photos ---------- */
.cube-front.has-img{background-color:#1C2A1E; background-size:cover; background-position:center; border-color:transparent; color:#fff;}
.cube-front.has-img::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,24,16,.12) 0%, rgba(12,24,16,.35) 45%, rgba(12,24,16,.86) 100%); z-index:0;}
.cube-front.has-img::after{content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--ck); z-index:1;}
.cube-front.has-img > *{position:relative; z-index:1;}
.cube-front.has-img h3{color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.45);}
.cube-front.has-img .c-sub{color:rgba(255,255,255,.88);}
.cube-front.has-img .cube-ico{background:rgba(255,255,255,.18); color:#fff; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.28);}

/* ---------- Sundays: aerial video fills the side column ---------- */
.visit-side .aerial-card{flex:1; aspect-ratio:auto; min-height:300px;}

/* ---------- Find Us: scroll from the globe down to the church ---------- */
.globe-sec{position:relative; height:340vh; background:radial-gradient(120% 80% at 50% 30%, #0d1b33 0%, #050912 60%, #02040a 100%);}
.globe-sticky{position:sticky; top:0; height:100vh; height:100svh; overflow:hidden;}
.globe-map, .globe-fallback-map{position:absolute; inset:0; width:100%; height:100%; border:0;}
.globe-caps{position:absolute; left:0; right:0; top:calc(110px + 6vh); text-align:center; pointer-events:none; z-index:2;}
.gc{position:absolute; left:0; right:0; margin:0; font-family:"Anton",Impact,sans-serif; text-transform:uppercase; font-size:clamp(30px,5vw,64px); color:#fff; letter-spacing:.01em; text-shadow:0 4px 30px rgba(0,0,0,.7); opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .6s cubic-bezier(.2,.9,.25,1);}
.gc.on{opacity:1; transform:none;}
.globe-card{position:absolute; left:max(24px, calc((100% - 1240px)/2 + 24px)); bottom:9vh; z-index:3; width:min(420px, calc(100% - 48px)); padding:28px 28px 26px; border-radius:22px; background:rgba(251,247,239,.94); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:0 40px 80px -30px rgba(0,0,0,.7); opacity:0; transform:translateY(30px) rotateX(12deg); transform-origin:50% 100%; transition:opacity .6s ease, transform .8s cubic-bezier(.16,.9,.24,1); pointer-events:none;}
.globe-sec.is-here .globe-card{opacity:1; transform:none; pointer-events:auto;}
.globe-card h2{font-size:clamp(30px,3.6vw,44px); margin-top:8px;}
.globe-addr{margin-top:12px; font-weight:700; line-height:1.5; color:var(--ink);}
.globe-times{margin-top:8px; font-family:"Space Mono",monospace; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--teal-ink);}
.globe-card .hero-ctas{justify-content:flex-start; margin-top:18px;}
.globe-card .btn-ghost{background:rgba(28,42,30,.06); border-color:var(--line-strong); color:var(--ink);}
.globe-hint{position:absolute; left:50%; bottom:3vh; transform:translateX(-50%); z-index:2; color:rgba(255,255,255,.75); font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; transition:opacity .4s ease;}
.globe-hint span{display:inline-block; animation:hintBob 1.6s ease-in-out infinite;}
@keyframes hintBob{0%,100%{transform:translateY(0);} 50%{transform:translateY(5px);}}
.globe-sec.is-here .globe-hint{opacity:0;}
.globe-pin-wrap{width:22px; height:22px;}
.globe-pin{position:relative; display:block; width:22px; height:22px; opacity:0; transform:scale(.4); transition:opacity .4s ease, transform .5s cubic-bezier(.2,.9,.25,1);}
.globe-sec.is-close .globe-pin{opacity:1; transform:none;}
.globe-pin .dot{position:absolute; inset:0; border-radius:50%; background:#B8925A; border:3px solid #fff; box-shadow:0 6px 16px rgba(0,0,0,.5);}
.globe-pin .ring{position:absolute; inset:-16px; border-radius:50%; border:2px solid rgba(255,255,255,.85); animation:pinPing 2s ease-out infinite;}
@keyframes pinPing{0%{transform:scale(.3); opacity:1;} 100%{transform:scale(1.6); opacity:0;}}
.globe-pin .lbl{position:absolute; left:50%; bottom:34px; transform:translateX(-50%); white-space:nowrap; font-family:"Anton",Impact,sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:15px; color:#fff; background:var(--teal-ink); padding:6px 12px; border-radius:10px; box-shadow:0 10px 24px -8px rgba(0,0,0,.6);}
.globe-sec .maplibregl-ctrl-attrib{font-size:10px;}
/* No 3D map available: show a normal map instead of the scroll story. */
.globe-sec.globe-off{height:auto;}
.globe-sec.globe-off .globe-sticky{position:relative; height:auto; display:grid; grid-template-columns:1fr; }
.globe-sec.globe-off .globe-map{position:relative; height:420px;}
.globe-sec.globe-off .globe-caps, .globe-sec.globe-off .globe-hint{display:none;}
.globe-sec.globe-off .globe-card{position:relative; left:auto; bottom:auto; margin:-60px auto 60px; opacity:1; transform:none; pointer-events:auto;}
html:not(.js) .globe-sec{height:auto;}
html:not(.js) .globe-sticky{position:relative; height:520px;}
html:not(.js) .globe-card{opacity:1; transform:none; pointer-events:auto;}
@media (max-width:640px){ .globe-card{bottom:4vh; padding:22px;} .globe-sec{height:290vh;} }

/* ---------- Homepage: "Meet the Whole Staff" call-out ---------- */
.staff-cta{--g1:#2E6B3E; --g2:#2A5680; --g3:#B8925A; position:relative; display:inline-flex; align-items:center; gap:18px; padding:14px 16px 14px 18px; border-radius:999px; text-decoration:none; color:#fff;
  background:linear-gradient(120deg, var(--g1), var(--g2) 60%, #1f3f5c); box-shadow:0 22px 44px -18px rgba(28,58,40,.65), inset 0 1px 0 rgba(255,255,255,.18);
  transform:perspective(700px) translateZ(0); transition:transform .35s cubic-bezier(.2,.9,.25,1), box-shadow .35s ease; isolation:isolate;}
.staff-cta::before{content:""; position:absolute; inset:-3px; border-radius:inherit; z-index:-1; background:conic-gradient(from var(--sa,0deg), var(--g3), var(--g1), var(--g2), var(--g3)); filter:blur(.5px); opacity:.95; animation:staffCtaSpin 4s linear infinite;}
.staff-cta::after{content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1; background:linear-gradient(120deg, var(--g1), var(--g2) 60%, #1f3f5c);}
@property --sa{syntax:'<angle>'; inherits:false; initial-value:0deg;}
@keyframes staffCtaSpin{to{--sa:360deg;}}
.staff-cta:hover, .staff-cta:focus-visible{transform:perspective(700px) translateZ(22px) rotateX(6deg); box-shadow:0 34px 60px -20px rgba(28,58,40,.75);}
.sc-faces{display:flex; padding-left:10px;}
.sc-faces img{width:46px; height:46px; border-radius:50%; object-fit:cover; border:3px solid #FBF7EF; margin-left:-12px; box-shadow:0 6px 14px -6px rgba(0,0,0,.6); transition:transform .35s cubic-bezier(.2,.9,.25,1); transition-delay:calc(var(--k) * 30ms);}
.staff-cta:hover .sc-faces img{transform:translateY(-5px) rotate(calc((var(--k) - 2.5) * 4deg));}
.sc-text{display:flex; flex-direction:column; text-align:left; font-family:"Anton",Impact,sans-serif; text-transform:uppercase; font-size:clamp(20px,2.4vw,26px); line-height:1; letter-spacing:.02em;}
.sc-text small{font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.16em; opacity:.8; margin-bottom:6px;}
.sc-go{width:48px; height:48px; border-radius:50%; background:#FBF7EF; color:#24512E; display:grid; place-items:center; flex:none; transition:transform .35s cubic-bezier(.2,.9,.25,1);}
.sc-go svg{width:20px; height:20px;}
.staff-cta:hover .sc-go{transform:translateX(4px) rotate(-8deg);}
@media (max-width:560px){ .staff-cta{gap:12px; padding:12px 12px 12px 14px;} .sc-faces img{width:36px; height:36px; margin-left:-10px;} .sc-faces img:nth-child(n+5){display:none;} .sc-go{width:42px; height:42px;} }
@media (prefers-reduced-motion: reduce){ .staff-cta::before{animation:none;} }

/* Solid fallbacks for Safari before iOS 16.2 (no color-mix): keep Midweek cards dark */
body .pm.pm-mw .pm-panel{background:#07080c; border:1.5px solid var(--mc,#2E8B4A);}
body .pm.pm-mw .pm-photo-col{background:#07080c;}
body .pm.pm-mw .pm-thumb{border-color:var(--mc,#2E8B4A);}
body .pm.pm-mw .pm-step button, body .pm.pm-mw .pm-close{border-color:var(--mc,#2E8B4A);}

/* ============================================================
   Midweek staff: cards + pop-out in their ministry color
   students = forest green, kids = orange, buddies = purple
   ============================================================ */
.mw-circle, .pm-mw-circle{position:absolute; right:16px; bottom:16px; width:66px; height:66px; border-radius:50%; display:grid; place-items:center; text-decoration:none; background:radial-gradient(circle at 50% 35%, #161a24, #05060a 70%); border:2px solid var(--mc,#2E8B4A); box-shadow:0 0 18px color-mix(in srgb, var(--mc,#2E8B4A) 70%, transparent), inset 0 0 14px color-mix(in srgb, var(--mc,#2E8B4A) 40%, transparent); transform:translateZ(40px); transition:transform .3s cubic-bezier(.2,.9,.25,1), box-shadow .3s ease; overflow:hidden;}
.mw-circle img, .pm-mw-circle img{position:absolute; width:74%; top:8%; left:13%; opacity:.9; filter:drop-shadow(0 0 6px color-mix(in srgb, var(--mc,#2E8B4A) 80%, transparent));}
.mw-circle span, .pm-mw-circle span{position:absolute; bottom:9px; left:0; right:0; text-align:center; font-family:"Anton",Impact,sans-serif; font-size:9.5px; line-height:1; letter-spacing:.08em; text-transform:uppercase; color:#fff; text-shadow:0 0 8px #000, 0 0 10px var(--mc,#2E8B4A);}
.mw-circle::after, .pm-mw-circle::after{content:""; position:absolute; inset:-2px; border-radius:50%; border:2px solid var(--mc,#2E8B4A); animation:mwRing 2.4s ease-out infinite; pointer-events:none;}
@keyframes mwRing{0%{transform:scale(1); opacity:.9;} 100%{transform:scale(1.35); opacity:0;}}
.mw-circle:hover, .mw-circle:focus-visible, .pm-mw-circle:hover, .pm-mw-circle:focus-visible{transform:translateZ(40px) scale(1.1) rotate(-6deg); box-shadow:0 0 28px var(--mc,#2E8B4A), inset 0 0 18px color-mix(in srgb, var(--mc,#2E8B4A) 55%, transparent);}
@media (prefers-reduced-motion: reduce){ .mw-circle::after, .pm-mw-circle::after{animation:none;} }
.crew-card .c-phone{margin-top:4px;}
.reg-card .reg-desc{margin-top:6px; font-size:14px; font-weight:500; opacity:.8;}

/* Pop-out, Midweek edition */
body .pm.pm-mw .pm-panel{background:radial-gradient(80% 60% at 80% 0%, color-mix(in srgb, var(--mc) 22%, transparent), transparent 70%), #07080c; border:1.5px solid color-mix(in srgb, var(--mc) 75%, transparent); box-shadow:0 0 0 1px color-mix(in srgb, var(--mc) 30%, transparent), 0 0 60px -10px color-mix(in srgb, var(--mc) 55%, transparent), 0 60px 120px -30px #000; color:#F4F2FA;}
body .pm.pm-mw .pm-photo-col{background:radial-gradient(70% 60% at 50% 40%, color-mix(in srgb, var(--mc) 45%, transparent), #07080c 75%);}
body .pm.pm-mw .pm-photo.circle{background:transparent;}
body .pm.pm-mw .pm-photo.circle img{border-color:var(--mc); box-shadow:0 0 0 6px color-mix(in srgb, var(--mc) 25%, transparent), 0 0 50px color-mix(in srgb, var(--mc) 65%, transparent), 0 30px 60px -20px #000;}
body .pm.pm-mw .pm-body{color:#F4F2FA;}
body .pm.pm-mw .pm-tag{color:var(--mc); filter:brightness(1.3);}
body .pm.pm-mw h2{color:#fff; text-shadow:0 0 24px color-mix(in srgb, var(--mc) 65%, transparent);}
body .pm.pm-mw .pm-role, body .pm.pm-mw .pm-bio{color:rgba(244,242,250,.82);}
body .pm.pm-mw .pm-mail{color:#fff; text-decoration-color:var(--mc);}
body .pm.pm-mw h4{color:rgba(244,242,250,.6);}
body .pm.pm-mw .pm-thumb{border-color:color-mix(in srgb, var(--mc) 45%, transparent); background:#11131a;}
body .pm.pm-mw .pm-thumb:hover{border-color:var(--mc);}
body .pm.pm-mw .pm-step button{background:#11131a; color:#fff; border-color:color-mix(in srgb, var(--mc) 50%, transparent);}
body .pm.pm-mw .pm-step button:hover{background:var(--mc); border-color:var(--mc);}
body .pm.pm-mw .pm-step .pm-count{color:rgba(244,242,250,.55);}
body .pm.pm-mw .pm-close{background:#11131a; color:#fff; border-color:color-mix(in srgb, var(--mc) 50%, transparent);}
.pm-mw-head{display:flex; align-items:center; gap:10px; margin-bottom:12px; font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:#fff;}
.pm-mw-head .pm-mw-logo{width:54px; filter:drop-shadow(0 0 8px var(--mc));}
.pm-mail + .pm-phone{margin-left:14px;}
.pm-body .pm-mw-circle{position:relative; right:auto; bottom:auto; display:grid; width:84px; height:84px; margin-top:24px; transform:none;}
.pm-body .pm-mw-circle:hover, .pm-body .pm-mw-circle:focus-visible{transform:scale(1.08) rotate(-6deg);}
.pm-body .pm-mw-circle span{font-size:11px; bottom:11px;}
@media (max-width:760px){ .pm-mail + .pm-phone{margin-left:0; display:block; margin-top:6px;} }
.hub-card .hc-led{display:inline-block; margin-top:10px; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.35); padding:5px 10px; border-radius:999px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);}
.hub-card .hc-led + .hc-go{margin-top:12px;}

/* ============================================================
   iPhone + iPad fixes
   ============================================================ */
html{-webkit-text-size-adjust:100%; text-size-adjust:100%;}

/* Mobile menu: the close (burger) button must stay visible over the light menu */
body:not(.theme-midweek):has(.mobile-menu.open) header.nav{background:rgba(var(--bg-rgb),.99);}
body:not(.theme-midweek):has(.mobile-menu.open) header.nav .burger{color:var(--ink); border-color:var(--line-strong); background:rgba(12,39,57,.06);}
.mobile-menu{overscroll-behavior:contain;}

/* Logged in on a phone: keep the WordPress bar pinned so the header never leaves a gap */
@media screen and (max-width:600px){ html #wpadminbar{position:fixed;} }
body.admin-bar .mobile-menu{padding-top:124px;}
@media (max-width:782px){ body.admin-bar .mobile-menu{padding-top:138px;} }
.pm{z-index:100000;}

/* Invite sign-up: 16px inputs so iPhone doesn't zoom in */
.rh-join input{font-size:16px;}
.subpage-hero p.intro{overflow-wrap:anywhere;}

/* Pop-out on phones and iPad portrait: the photo stays up top, only the text scrolls, so the close button never scrolls away */
@media (max-width:820px){
  #pmPanel{display:flex; flex-direction:column; overflow:hidden; transform-style:flat;}
  #pmPanel .pm-photo-col{flex:none; height:260px; min-height:0;}
  #pmBody{flex:1 1 auto; min-height:0; max-height:none; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;}
  .pm.lb .pm-panel{display:flex; flex-direction:column; justify-content:center; padding-bottom:72px; height:auto; align-self:center;}
  .lb-nav{top:auto; bottom:13px; transform:none;}
}
.pm.lb .pm-panel{max-height:92vh; max-height:92dvh;}
.lb-stage, .lb-stage img, .lb-stage video{max-height:calc(92vh - 120px); max-height:calc(92dvh - 120px);}
/* Phones turned sideways */
@media (max-height:500px) and (orientation:landscape){
  .pm{padding:0; align-items:stretch;}
  #pmPanel{display:flex; flex-direction:row; max-height:none; height:100%; border-radius:0; overflow:hidden;}
  #pmPanel .pm-photo-col{flex:0 0 38%; min-height:0; height:auto;}
  #pmBody{flex:1; max-height:none; overflow-y:auto; overscroll-behavior:contain;}
  header.nav, header.nav.scrolled{padding:6px 0;}
  header.nav .logo-flip, header.nav.scrolled .logo-flip{width:80px; height:44px;}
  .globe-card{top:84px; bottom:12px; width:min(520px, calc(100% - 48px)); padding:16px 20px; overflow-y:auto; overscroll-behavior:contain;}
  .globe-card h2{font-size:26px;}
  .globe-caps{top:96px;}
}

/* Bigger tap targets */
.pm-step button{width:44px; height:44px;}
.pm-close{width:44px; height:44px;}
.staff-filters .chip{min-height:44px;}
.back-link{min-height:44px; align-items:center; margin-top:-12px; margin-bottom:10px;}
.mw-fact a{display:inline-block; padding:11px 0; margin:-11px 0;}
@media (pointer:coarse){
  .chip{min-height:44px;}
  nav.links > a, .more-btn{min-height:44px; display:inline-flex; align-items:center;}
  footer ul{gap:0;}
  footer ul a, .foot-admin a{display:inline-block; padding-block:11px;}
  .hero-info a{position:relative;}
  .hero-info a::after{content:""; position:absolute; inset:-12px -8px;}
  .crew-card .c-mail{width:fit-content; margin:6px auto 0; padding:10px 8px;}
}

/* Footer: readable on the dark green */
footer a{color:rgba(255,255,255,.84);}
footer a:hover{color:#fff;}
footer h5, footer p.tag, .foot-bottom, .foot-admin a, footer .foot-addr{color:rgba(255,255,255,.66);}
footer .foot-addr{font-size:14.5px;}
.foot-admin a:hover{color:#fff;}
.foot-bottom{border-top-color:rgba(255,255,255,.12);}

/* Start Here boxes: phone sizes (these must come after the base box rules) */
@media (max-width:560px){
  .cube-grid .cube-inner{height:158px;}
  .cube-grid .cube-front{transform:translateZ(79px);}
  .cube-grid .cube-top{transform:rotateX(90deg) translateZ(79px);}
  .cube-grid .cube-face{padding:16px;}
  .cube-grid .cube-ico{width:36px; height:36px; border-radius:11px;}
  .cube-grid .cube-ico svg{width:20px; height:20px;}
  .cube-grid .cube h3{font-size:19px; margin-top:12px;}
  .cube-grid .cube .c-sub{font-size:11.5px; line-height:1.3;}
  .cube-grid .cube-top h4{font-size:22px;}
  .cube-grid .cube-top .c-kick{font-size:9.5px;}
}
/* Touch screens: no flip (no hover), so flatten the box and show its detail line on the front */
.c-kick-touch{display:none;}
@media (hover:none){
  .cube-grid .cube-inner, .cube:focus-visible .cube-inner{transform:none; transform-style:flat;}
  .cube-grid .cube-front{transform:none;}
  .cube:focus-visible .cube-front{outline:3px solid #fff; outline-offset:-4px;}
}
@media (hover:none) and (min-width:561px){
  .c-kick-touch{display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; margin-top:6px; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.9); position:relative; z-index:1;}
}

/* Photo collages: flat on phones/tablets (3D tiles overlapped the filter chips and stuck after taps) */
.chips{position:relative; z-index:7;}
@media (max-width:900px), (hover:none){
  .collage{perspective:none;}
  .collage-stage{transform:none !important;}
  .collage-stage .gal-item:nth-child(n){--cz:0px; --cry:0deg;}
  .collage-stage .gal-item:hover, .collage-stage .gal-item:focus-visible{transform:rotateZ(var(--crz,0deg)); box-shadow:0 22px 40px -26px rgba(0,0,0,.65); z-index:auto;}
}
@media (max-width:520px){ .collage-stage .gal-item:nth-child(n){--crz:0deg;} }
@media (hover:none){
  .hub-card:hover img, .gal-item:hover img{transform:none;}
  .crew-card:hover .crew-photo{transform:translateZ(40px);}
}

/* Find Us globe: follow Safari's changing toolbar height */
.globe-sticky{height:100vh; height:100dvh;}

/* Midweek hero: logo smaller so the headline and buttons show on the first screen */
.mw-neon{width:min(400px,62vw,28vh); width:min(400px,62vw,28svh); margin-bottom:14px;}
@media (max-width:640px){ .mw-hero{min-height:auto; padding:112px 0 64px;} }

/* Decorative background videos: hide iOS's play glyph when Low Power Mode blocks autoplay */
.hero-media video::-webkit-media-controls-start-playback-button,
.aerial-card video::-webkit-media-controls-start-playback-button,
.mr-photo video::-webkit-media-controls-start-playback-button,
.subpage-hero video::-webkit-media-controls-start-playback-button,
.mw-hero > video::-webkit-media-controls-start-playback-button{display:none !important; -webkit-appearance:none;}

/* "Meet the Whole Staff" button on small phones */
.sc-faces{flex:none;}
.sc-text{min-width:0;}
@media (max-width:400px){ .sc-faces img:nth-child(n+4){display:none;} }

/* Blur on iOS 17 and earlier */
.btn-ghost{-webkit-backdrop-filter:blur(6px);}
header.nav.scrolled{-webkit-backdrop-filter:blur(14px);}
.more-menu{-webkit-backdrop-filter:blur(14px);}
.pm-backdrop{-webkit-backdrop-filter:blur(10px);}
.pm-close, .gi-play{-webkit-backdrop-filter:blur(6px);}
.mobile-menu{backdrop-filter:none;}

/* Portal cover can never get stuck if the page script is slow */
html.portal-arrive body::after{pointer-events:none; animation:rhPortalFailsafe .01s linear 2.5s forwards;}
@keyframes rhPortalFailsafe{to{opacity:0; visibility:hidden;}}
/* No sideways wiggle on phones from 3D entrance/tilt effects */
/* (no overflow on html: it would stop the Find Us map from staying pinned) */
.rh-page, .staff-page, .start-wrap, .leaders-wrap, .sunday-wrap, .mr-band{overflow-x:clip;}
@media (max-width:640px){ .js #crewGrid .crew-card{transform:translateY(40px);} }

/* ---------- Photo strips (by category) ---------- */
.reel-wrap{margin-top:34px;}
.reel-head{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:14px;}
.reel-head .eyebrow{margin:0;}
.reel-head h3{font-size:clamp(20px,2.2vw,26px); margin:0;}
.photo-reel{position:relative; margin-inline:-6px;}
.reel-track{display:flex; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:10px 6px 22px; scrollbar-width:thin; -webkit-overflow-scrolling:touch; perspective:1200px;}
.reel-item{flex:0 0 auto; width:clamp(210px,24vw,300px); aspect-ratio:4/5; position:relative; border:0; padding:0; border-radius:18px; overflow:hidden; cursor:pointer; scroll-snap-align:start; background:var(--surface-2);
  box-shadow:0 18px 34px -22px rgba(18,36,28,.7); transform:rotateY(calc((var(--k,0) - 3.5) * -1.2deg)); transition:transform .45s cubic-bezier(.2,.9,.25,1), box-shadow .35s ease;}
.reel-item img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.9,.25,1);}
.reel-item::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(12,24,16,.78)); pointer-events:none;}
.reel-cap{position:absolute; left:14px; bottom:12px; z-index:1; font-family:"Anton",Impact,sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:20px; color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.5);}
@media (hover:hover) and (pointer:fine){
  .reel-item:hover, .reel-item:focus-visible{transform:translateY(-6px) rotateY(0deg) scale(1.03); box-shadow:0 28px 44px -22px rgba(18,36,28,.8);}
  .reel-item:hover img{transform:scale(1.06);}
}
@media (hover:none), (max-width:640px){ .reel-item{transform:none; width:min(72vw,260px);} }
body.theme-midweek .reel-item{background:#11131a; box-shadow:0 18px 34px -22px rgba(0,0,0,.9);}

/* ---------- Students: "Meet us @ Midweek" promo ---------- */
.mw-promo{display:grid; grid-template-columns:minmax(0,.9fr) 1.1fr; gap:40px; align-items:center;}
.mw-promo img{width:100%; border-radius:22px; border:1.5px solid rgba(46,139,74,.6); box-shadow:0 0 0 1px rgba(46,139,74,.25), 0 0 50px -10px rgba(46,139,74,.55), 0 40px 70px -30px #000;}
.mw-promo-copy h2{margin-top:8px;}
@media (max-width:820px){ .mw-promo{grid-template-columns:1fr; gap:24px;} .mw-promo img{max-width:460px; margin:0 auto;} }

/* ============================================================
   Find Us globe: spinning Earth, stars, HUD, dive, beacon
   ============================================================ */
.globe-sec{background:radial-gradient(90% 70% at 50% 45%, #10254a 0%, #060c1c 55%, #02040a 100%);}
.globe-map{z-index:1;}
.globe-stars{position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; transition:opacity .8s ease;}
.globe-stars i{position:absolute; left:0; top:0; width:1px; height:1px; border-radius:50%; will-change:transform;}
.globe-stars .gs1{animation:twinkle 5s ease-in-out infinite;}
.globe-stars .gs2{animation:twinkle 7s ease-in-out infinite -2s;}
.globe-stars .gs3{animation:twinkle 9s ease-in-out infinite -4s;}
@keyframes twinkle{0%,100%{opacity:1;} 50%{opacity:.45;}}
.globe-sec.is-close .globe-stars{opacity:0;}
.globe-halo{position:absolute; left:50%; top:50%; width:min(78vmin,760px); aspect-ratio:1; transform:translate(-50%,-50%) scale(calc(1 + var(--gp,0) * 2.4)); border-radius:50%; z-index:0; pointer-events:none;
  background:radial-gradient(circle, rgba(111,180,255,.0) 42%, rgba(111,180,255,.38) 50%, rgba(79,140,255,.16) 58%, transparent 70%); filter:blur(6px); animation:haloPulse 5s ease-in-out infinite; transition:opacity .6s ease;}
@keyframes haloPulse{0%,100%{opacity:.85;} 50%{opacity:1;}}
.globe-sec.is-diving .globe-halo, .globe-sec.is-close .globe-halo{opacity:0;}
/* targeting reticle during the dive */
.globe-reticle{position:absolute; left:50%; top:50%; width:170px; height:170px; margin:-85px 0 0 -85px; z-index:2; pointer-events:none; opacity:0; transform:scale(1.6); transition:opacity .5s ease, transform .7s cubic-bezier(.2,.9,.25,1);}
.globe-reticle span{position:absolute; inset:0; border-radius:50%; border:2px dashed rgba(255,255,255,.7); animation:reticleSpin 6s linear infinite;}
.globe-reticle span + span{inset:28px; border:2px solid rgba(184,146,90,.9); border-left-color:transparent; border-right-color:transparent; animation-duration:3s; animation-direction:reverse;}
@keyframes reticleSpin{to{transform:rotate(360deg);}}
.globe-sec.is-diving .globe-reticle{opacity:1; transform:scale(1);}
.globe-sec.is-close .globe-reticle{opacity:0; transform:scale(.4);}
/* captions */
.gc{filter:blur(8px); letter-spacing:.08em;}
.gc.on{filter:none; letter-spacing:.01em; transition:opacity .5s ease, transform .6s cubic-bezier(.2,.9,.25,1), filter .6s ease, letter-spacing .8s cubic-bezier(.2,.9,.25,1);}
/* HUD */
.globe-hud{position:absolute; right:max(20px, calc((100% - 1240px)/2 + 24px)); top:calc(110px + 2vh); z-index:3; display:grid; gap:10px; pointer-events:none; text-align:right; transition:opacity .5s ease;}
.globe-hud div{background:rgba(6,12,28,.55); border:1px solid rgba(111,180,255,.35); border-radius:12px; padding:8px 12px; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 0 24px -8px rgba(111,180,255,.6);}
.globe-hud small{display:block; font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(168,210,255,.8);}
.globe-hud b{display:block; font-family:"Space Mono",monospace; font-size:15px; color:#fff; font-variant-numeric:tabular-nums; white-space:nowrap;}
.globe-sec.is-here .globe-hud{opacity:0;}
/* journey rail */
.globe-rail{position:absolute; left:max(20px, calc((100% - 1240px)/2 + 24px)); top:50%; transform:translateY(-50%); z-index:3; list-style:none; margin:0; padding:0; display:grid; gap:18px; pointer-events:none; transition:opacity .5s ease;}
.globe-rail li{display:flex; align-items:center; gap:10px; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.4); transition:color .4s ease;}
.globe-rail li span{width:10px; height:10px; border-radius:50%; border:2px solid rgba(255,255,255,.4); transition:all .4s ease;}
.globe-rail li.on{color:rgba(255,255,255,.85);}
.globe-rail li.on span{background:#B8925A; border-color:#B8925A;}
.globe-rail li.now span{box-shadow:0 0 0 5px rgba(184,146,90,.3), 0 0 16px #B8925A; transform:scale(1.2);}
.globe-sec.is-here .globe-rail{opacity:0;}
/* pin: drops in with a light beam */
.globe-pin{transform:translateY(-60px) scale(.4);}
.globe-sec.is-close .globe-pin{animation:pinDrop .9s cubic-bezier(.3,1.4,.4,1) both;}
@keyframes pinDrop{0%{opacity:0; transform:translateY(-80px) scale(.4);} 70%{opacity:1; transform:translateY(4px) scale(1.05);} 100%{opacity:1; transform:none;}}
.globe-pin .beam{position:absolute; left:50%; bottom:50%; width:6px; height:180px; margin-left:-3px; border-radius:3px; background:linear-gradient(0deg, rgba(255,226,170,.95), rgba(255,226,170,0)); filter:blur(1px); transform-origin:bottom; animation:beamGlow 2.4s ease-in-out infinite;}
@keyframes beamGlow{0%,100%{opacity:.55; transform:scaleY(.85);} 50%{opacity:1; transform:scaleY(1);}}
.globe-pin .ring.r2{animation-delay:1s;}
.globe-pin .lbl{bottom:44px;}
@media (max-width:760px){
  .globe-rail{display:none;}
  .globe-hud{top:auto; bottom:calc(4vh + 8px); right:16px;}
  .globe-sec.is-close .globe-hud{opacity:0;}
  .globe-hud b{font-size:13px;}
}
@media (prefers-reduced-motion: reduce){ .globe-stars i, .globe-halo, .globe-reticle span, .globe-pin .beam{animation:none;} }

/* Midweek people keep the normal card; the colors live in their pop-out. Room for the round RH Midweek button: */
.crew-grid .crew-card.is-mw{padding-bottom:86px;}
.globe-rail{background:rgba(6,12,28,.5); border:1px solid rgba(111,180,255,.25); border-radius:14px; padding:14px 16px; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);}
.globe-rail li{color:rgba(255,255,255,.55);}
.globe-halo{width:min(96vmin,900px);}

/* ============================================================
   Round photos in the pop-out: never cut off on phones
   ============================================================ */
@media (max-width:820px){
  #pmPanel .pm-photo-col.has-circle{height:auto; min-height:0; padding:30px 0 18px;}
  #pmPanel .pm-photo-col.has-circle .pm-photo{position:relative; inset:auto; transform:none !important;}
  #pmPanel .pm-photo-col.has-circle .pm-photo.circle img{width:min(200px,52vw); height:auto; aspect-ratio:1;}
}
@media (max-height:500px) and (orientation:landscape){
  #pmPanel .pm-photo-col.has-circle{padding:0; display:flex; align-items:center; justify-content:center;}
  #pmPanel .pm-photo-col.has-circle .pm-photo.circle img{width:min(170px,34vh);}
}

/* ---------- Hero pause / play button ---------- */
.hero-pause{position:absolute; right:18px; bottom:18px; z-index:6; width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.45); background:rgba(0,0,0,.35); color:#fff; display:grid; place-items:center; cursor:pointer; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:background .2s ease;}
.hero-pause:hover{background:rgba(0,0,0,.55);}
.hero-pause svg{width:18px; height:18px;}
.hero-pause .i-play{display:none;}
.hero-pause.is-paused .i-play{display:inline;}
.hero-pause.is-paused .i-pause{display:none;}

/* ---------- Midweek: supporting leaders (smaller circles) ---------- */
.mw-team{margin-top:44px; text-align:center;}
.mw-team-label{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; opacity:.75; margin-bottom:18px;}
.mw-team-row{display:flex; flex-wrap:wrap; justify-content:center; gap:22px 26px;}
.mw-mini{display:flex; flex-direction:column; align-items:center; gap:6px; width:128px; padding:6px 4px; border:0; background:none; color:inherit; cursor:pointer; border-radius:16px; font:inherit;}
.mw-mini-photo{width:96px; height:96px; border-radius:50%; overflow:hidden; border:3px solid rgba(255,255,255,.35); box-shadow:0 12px 26px -14px rgba(0,0,0,.8); transition:transform .3s cubic-bezier(.2,.9,.25,1), border-color .3s ease;}
.mw-mini-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.mw-mini-name{font-weight:800; font-size:14.5px; line-height:1.2;}
.mw-mini-title{font-size:12px; opacity:.72; line-height:1.3;}
.mw-mini:hover .mw-mini-photo, .mw-mini:focus-visible .mw-mini-photo{transform:translateY(-4px) scale(1.05); border-color:var(--teal,#22D3C6);}
.mw-mini:focus-visible{outline:2px solid var(--teal,#22D3C6); outline-offset:4px;}
@media (max-width:520px){ .mw-team-row{gap:16px 10px;} .mw-mini{width:104px;} .mw-mini-photo{width:78px; height:78px;} }

/* ---------- "COACH" feature under the group listings ---------- */
.coach-feature{display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center; margin-top:40px; padding:26px 28px; border-radius:22px; background:var(--surface); border:1px solid var(--line); box-shadow:0 20px 44px -30px rgba(18,36,28,.6);}
.coach-photo{width:150px; height:150px; border-radius:50%; overflow:hidden; border:4px solid #fff; box-shadow:0 0 0 3px var(--teal-ink), 0 16px 30px -16px rgba(0,0,0,.6); flex:none;}
.coach-photo img{width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block;}
.coach-body h3{font-size:clamp(24px,3vw,32px); margin-top:6px;}
.coach-nick{color:var(--teal-ink); letter-spacing:.04em;}
.coach-body p:last-child{margin-top:10px; line-height:1.65; color:var(--ink-soft);}
@media (max-width:640px){ .coach-feature{grid-template-columns:1fr; text-align:center; justify-items:center; padding:24px 20px;} .coach-photo{width:128px; height:128px;} .coach-body .eyebrow{justify-content:center;} }

/* ---------- Students: Sunday discipleship (Pillars & Forge) ---------- */
.sd-sec{padding-block:60px 20px;}
.sd-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;}
.sd-card{padding:26px 26px 24px; border-radius:20px; background:#10141c; border:1.5px solid rgba(46,139,74,.55); box-shadow:0 0 34px -12px rgba(46,139,74,.55);}
.sd-card h3{font-size:clamp(30px,4vw,42px); margin-top:8px;}
.sd-card p{margin-top:8px; line-height:1.6; color:rgba(244,242,250,.85);}
.sd-tag{display:inline-block; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:4px 10px; border-radius:999px; background:rgba(46,139,74,.25); color:#bfeccb;}
.sd-forge{border-color:rgba(184,146,90,.6); box-shadow:0 0 34px -12px rgba(184,146,90,.55);}
.sd-forge .sd-tag{background:rgba(184,146,90,.25); color:#f1dcb7;}
.sd-leader{font:inherit; font-weight:800; color:#fff; background:none; border:0; padding:0; text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.sd-leader-static{font-weight:800; color:#fff;}
.sd-facts{margin-top:22px;}
@media (max-width:700px){ .sd-grid{grid-template-columns:1fr;} }

/* ============================================================
   Buddies page: warm purple / mint / yellow (from the original page)
   ============================================================ */
#view-buddies{--bd-purple:#7B5CB8; --bd-purple-d:#5E3F9C; --bd-mint:#8FDCCF; --bd-yellow:#F6C945; --bd-orange:#F59A3C;}
.bd-hero-ctas{justify-content:flex-start; margin-top:24px;}
.bd-btn{background:var(--bd-purple); color:#fff; border:2px solid var(--bd-purple); box-shadow:0 14px 30px -14px rgba(123,92,184,.9);}
.bd-btn:hover{background:var(--bd-purple-d); border-color:var(--bd-purple-d);}
.bd-btn-ghost{background:rgba(255,255,255,.1); color:#fff; border:2px solid var(--bd-mint);}
.bd-btn-ghost:hover{background:rgba(143,220,207,.2);}
.bd-btn-light{background:#fff; color:var(--bd-purple-d); border:2px solid #fff; font-weight:800;}
.bd-h2{font-size:clamp(32px,4.4vw,52px); margin:6px 0 10px;}
.bd-quote{margin:22px 0 4px; padding:18px 22px 18px 58px; position:relative; border-radius:18px; background:rgba(143,220,207,.12); border:1px solid rgba(143,220,207,.45); font-size:clamp(18px,2vw,22px); font-weight:700; line-height:1.4; color:#e9fbf7;}
.bd-quote::before{content:"\201C"; position:absolute; left:16px; top:4px; font-size:62px; line-height:1; color:var(--bd-mint); font-family:Georgia,serif;}
.bd-sec{padding-block:36px;}
.bd-panel{position:relative; padding:34px clamp(20px,3vw,40px) 36px; border-radius:26px; background:#FDFBFF; color:#2E2346; border:3px solid var(--bd-mint); box-shadow:0 30px 60px -34px rgba(0,0,0,.8);}
.bd-band{display:inline-block; background:var(--bd-purple); color:#fff; padding:10px 20px; border-radius:14px; font-size:clamp(24px,3.2vw,36px); line-height:1.1;}
.bd-lead{margin-top:14px; font-size:17px; line-height:1.65; max-width:760px;}
.bd-panel .bd-lead, .bd-panel h3, .bd-panel p{color:#2E2346;}
.bd-stars{position:absolute; right:22px; top:-18px; width:74px; height:44px; background:
  radial-gradient(circle at 20% 60%, var(--bd-yellow) 0 7px, transparent 8px), radial-gradient(circle at 62% 30%, var(--bd-yellow) 0 10px, transparent 11px), radial-gradient(circle at 90% 70%, var(--bd-mint) 0 6px, transparent 7px);}
.bd-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px;}
.bd-card{border-radius:20px; padding:22px 20px 20px; background:#fff; border:2px solid; box-shadow:0 16px 30px -22px rgba(46,35,70,.6);}
.bd-card h3{font-size:22px; margin:8px 0 6px; font-family:"Manrope",sans-serif; font-weight:800; text-transform:none; letter-spacing:0;}
.bd-card p{line-height:1.6; font-size:15.5px;}
.bd-ico{font-size:30px; line-height:1;}
.bd-mint{border-color:var(--bd-mint); background:#F1FBF9;}
.bd-yellow{border-color:var(--bd-yellow); background:#FFFAEA;}
.bd-purple{border-color:var(--bd-purple); background:#F6F1FF;}
.bd-visit{padding:34px clamp(20px,3vw,40px); border-radius:26px; background:var(--bd-purple); color:#fff; box-shadow:0 30px 60px -34px rgba(0,0,0,.8); position:relative;}
.bd-visit::after{content:""; position:absolute; right:26px; top:-16px; width:40px; height:40px; border-radius:50%; background:radial-gradient(circle, var(--bd-orange) 0 12px, transparent 13px), conic-gradient(from 0deg, var(--bd-orange) 0 12%, transparent 12% 25%, var(--bd-orange) 25% 37%, transparent 37% 50%, var(--bd-orange) 50% 62%, transparent 62% 75%, var(--bd-orange) 75% 87%, transparent 87%);}
.bd-visit h2{font-size:clamp(26px,3.4vw,40px); color:#fff;}
.bd-visit .bd-lead{color:rgba(255,255,255,.92);}
.bd-steps{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:18px;}
.bd-steps li{display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); border-radius:18px; padding:18px 20px;}
.bd-num{width:40px; height:40px; border-radius:50%; background:var(--bd-yellow); color:#3b2a00; font-weight:900; display:grid; place-items:center; font-size:18px;}
.bd-steps h3{font-family:"Manrope",sans-serif; font-weight:800; text-transform:none; letter-spacing:0; font-size:19px; color:#fff; text-decoration:underline; text-decoration-color:var(--bd-mint); text-underline-offset:4px;}
.bd-steps p{margin-top:6px; line-height:1.6; color:rgba(255,255,255,.92);}
.bd-steps .btn{margin-top:12px; background:var(--bd-yellow); border-color:var(--bd-yellow); color:#2E2346;}
.bd-two{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;}
.bd-serve{padding:30px; border-radius:24px; background:linear-gradient(160deg, var(--bd-purple), var(--bd-purple-d)); color:#fff;}
.bd-serve h2, .bd-connect h2{font-size:clamp(24px,3vw,34px);}
.bd-serve p{margin-top:10px; line-height:1.65; color:rgba(255,255,255,.92);}
.bd-serve .btn{margin-top:16px;}
.bd-connect{padding:30px; border-radius:24px; background:#FDFBFF; color:#2E2346; border:3px solid var(--bd-mint);}
.bd-connect h2{color:var(--bd-purple-d);}
.bd-connect p{margin-top:10px; line-height:1.65; color:#2E2346;}
.bd-contact{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:10px;}
.bd-contact li{display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; padding:12px 14px; border-radius:14px; background:#F1FBF9;}
.bd-contact span{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#5E3F9C; min-width:110px;}
.bd-contact a{font-weight:800; color:#2E2346; text-decoration:underline; text-decoration-color:var(--bd-purple); text-underline-offset:3px;}
.bd-sign{margin-top:16px; font-weight:800;}
.bd-sign small{font-weight:600; color:#6b5f85;}
@media (max-width:900px){ .bd-cards{grid-template-columns:1fr;} .bd-two{grid-template-columns:1fr;} }
@media (max-width:520px){ .bd-steps li{grid-template-columns:1fr;} .bd-panel, .bd-visit{border-radius:20px;} }

/* Photo captions are full phrases now: sentence case, easy to read */
.gi-cap span{display:block; margin-top:3px; font-family:"Manrope",sans-serif; font-size:12.5px; font-weight:600; letter-spacing:0; text-transform:none; line-height:1.35; color:rgba(255,255,255,.88);}

/* ============================================================
   Prayer button (every page), forms, Team Portal
   ============================================================ */
.btn-pray{display:inline-flex; align-items:center; gap:7px; background:#8A6436; color:#fff; border:1px solid #8A6436; box-shadow:0 10px 22px -12px rgba(138,100,54,.9);}
.btn-pray:hover, .btn-pray.active{background:#744F25; border-color:#744F25; color:#fff;}
.btn-pray svg{width:16px; height:16px; flex:none;}
.btn-pray .bp-short{display:none;}
body.theme-midweek .btn-pray{background:#F2B84B; border-color:#F2B84B; color:#1a1405; box-shadow:0 0 22px -6px rgba(242,184,75,.8);}
@media (max-width:1100px){ .btn-pray .bp-long{display:none;} .btn-pray .bp-short{display:inline;} }
@media (max-width:420px){ .nav-cta{gap:6px;} .nav-cta .btn-sm{padding:9px 11px; font-size:12.5px;} .btn-pray{gap:5px;} }
@media (max-width:350px){ .btn-pray .bp-short{display:none;} .btn-pray{padding:9px 10px;} }
.mobile-menu .mm-pray{display:flex; align-items:center; gap:10px; margin:6px 0 4px; padding:14px 16px; border-radius:14px; background:#8A6436; color:#fff !important; font-weight:800;}
.mobile-menu .mm-pray svg{width:20px; height:20px;}
body.theme-midweek .mobile-menu .mm-pray{background:#F2B84B; color:#1a1405 !important;}

.live-card .lc-actions{display:flex; gap:10px; flex-wrap:wrap;}

/* Shared form look */
.rh-form{display:grid; gap:16px;}
.rh-field{display:grid; gap:6px; min-width:0;}
.rh-field label, .rh-choices legend{font-weight:800; font-size:14.5px; color:var(--ink);}
.rh-field label small{font-weight:600; color:var(--ink-faint);}
.rh-field .req{color:#B4532F;}
.rh-field input, .rh-field select, .rh-field textarea{width:100%; font:inherit; font-size:16px; padding:12px 14px; border-radius:12px; border:1.5px solid var(--line-strong); background:#fff; color:#1C2A1E;}
.rh-field input[type=file]{padding:10px; background:var(--surface);}
.rh-field textarea{resize:vertical; min-height:110px;}
.rh-field input:focus, .rh-field select:focus, .rh-field textarea:focus{outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(var(--teal-rgb),.2);}
.rh-help{color:var(--ink-faint); font-size:13px;}
.rh-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px;}
.rh-choices{border:0; padding:0; margin:0; display:grid; gap:8px;}
.rh-choices legend{margin-bottom:8px;}
.rh-choices label, .rh-check{display:flex; gap:10px; align-items:flex-start; font-size:15px; color:var(--ink-soft); cursor:pointer;}
.rh-choices input, .rh-check input{width:20px; height:20px; margin-top:1px; accent-color:var(--teal); flex:none;}
.rh-form .btn{justify-self:start;}
.rh-fine{font-size:13px; color:var(--ink-faint); line-height:1.55;}
.rh-fine a{color:inherit; text-decoration:underline;}
.rh-hp{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden;}
.rh-form-msg{padding:22px 24px; border-radius:16px; background:rgba(var(--teal-rgb),.1); border:1.5px solid rgba(var(--teal-rgb),.35); margin-bottom:18px;}
.rh-form-msg h3{font-size:26px;}
.rh-form-msg p{margin-top:6px; color:var(--ink-soft); line-height:1.6;}
.rh-form-msg.is-err{background:rgba(180,83,47,.08); border-color:rgba(180,83,47,.4); color:#7a2f16;}

/* Prayer page */
.pr-grid{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:28px; align-items:start;}
.pr-form-card{background:var(--surface); border:1px solid var(--line); border-radius:24px; padding:clamp(20px,3vw,34px); box-shadow:var(--shadow);}
.pr-side{display:grid; gap:18px;}
.pr-photo{border-radius:22px; overflow:hidden; aspect-ratio:4/3; box-shadow:var(--shadow);}
.pr-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.pr-verse{margin:0; padding:22px 24px; border-radius:20px; background:var(--foot-bg); color:#F3EDE0; font-size:clamp(19px,2vw,23px); font-weight:700; line-height:1.4;}
.pr-verse cite{display:block; margin-top:10px; font-style:normal; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#d9c39a;}
.pr-note{padding:20px 22px; border-radius:20px; border:1px solid var(--line); background:var(--surface);}
.pr-note h3{font-family:"Manrope",sans-serif; font-weight:800; text-transform:none; letter-spacing:0; font-size:18px;}
.pr-note p{margin-top:8px; color:var(--ink-soft);}
.pr-note a{color:var(--teal-ink); font-weight:800;}
@media (max-width:860px){ .pr-grid{grid-template-columns:1fr;} .pr-side{order:2;} }

/* Plan your visit (New Here) */
.visit-card{margin-top:34px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:28px; padding:clamp(20px,3vw,34px); border-radius:24px; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow);}
.visit-head h3{font-size:clamp(28px,3.4vw,40px); margin-top:6px;}
.visit-head p:last-child{margin-top:10px; color:var(--ink-soft); line-height:1.6;}
@media (max-width:860px){ .visit-card{grid-template-columns:1fr;} }

/* Team Portal */
.tp-wrap{max-width:980px;}
.tp-card{background:var(--surface); border:1px solid var(--line); border-radius:24px; padding:clamp(20px,3vw,34px); box-shadow:var(--shadow); margin-bottom:22px;}
.tp-card h2{font-size:clamp(28px,3.4vw,40px); margin:4px 0 16px;}
.tp-card h3{font-size:24px; margin-bottom:10px;}
.tp-signin{text-align:center; max-width:560px; margin-inline:auto;}
.tp-signin p{color:var(--ink-soft); margin:0 auto 18px; line-height:1.6;}
.tp-signin .rh-fine{margin-top:16px;}
.tp-hello{margin-bottom:18px;}
.tp-hello h2{font-size:clamp(30px,4vw,46px);}
.tp-hello p{color:var(--ink-soft); margin-top:4px;}
.tp-review{display:inline-flex; gap:8px; margin-top:14px; padding:10px 16px; border-radius:999px; background:#8A6436; color:#fff; font-weight:700;}
.tp-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin-bottom:26px;}
.tp-tile{display:grid; gap:8px; align-content:start; padding:22px; border-radius:20px; background:var(--surface); border:1.5px solid var(--line); box-shadow:var(--shadow); transition:transform .25s ease, border-color .25s ease; color:var(--ink);}
.tp-tile:hover, .tp-tile:focus-visible{transform:translateY(-4px); border-color:var(--teal);}
.tp-tile b{font-size:18px;}
.tp-tile span{color:var(--ink-soft); font-size:14px; line-height:1.5;}
.tp-tile::before{content:""; width:42px; height:42px; border-radius:12px; background:var(--grad);}
.tp-tile.tp-t-photo::before{background:linear-gradient(135deg,#B8925A,#8A6436);}
.tp-tile.tp-t-bulletin::before{background:linear-gradient(135deg,#2A5680,#2E6B3E);}
.tp-tile.tp-t-staff::before{background:linear-gradient(135deg,#735A86,#2A5680);}
.tp-actions{display:flex; gap:10px; flex-wrap:wrap;}
.tp-photos{display:grid; gap:12px;}
.tp-photo{display:grid; grid-template-columns:120px 1fr; gap:14px; align-items:center; padding:12px; border-radius:16px; background:#fff; border:1px solid var(--line);}
.tp-photo img, .tp-photo video{width:120px; height:90px; object-fit:cover; border-radius:10px; background:#ddd;}
.tp-photo div{display:grid; gap:8px;}
.tp-photo label{display:grid; gap:4px; font-weight:700; font-size:13px;}
.tp-photo input{font:inherit; font-size:16px; padding:9px 12px; border-radius:10px; border:1.5px solid var(--line-strong);}
@media (max-width:520px){ .tp-photo{grid-template-columns:1fr;} .tp-photo img, .tp-photo video{width:100%; height:170px;} }
.tp-staff-head{display:flex; gap:14px; align-items:center;}
.tp-staff-face{width:64px; height:64px; border-radius:50%; object-fit:cover;}
.tp-staff-head b{display:block; font-size:18px;}
.tp-staff-head span{color:var(--ink-soft); font-size:14px;}
.tp-gallery{border:0; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:12px;}
.tp-gallery legend{font-weight:800; margin-bottom:8px;}
.tp-gallery label{display:grid; gap:6px; width:120px; font-size:13px;}
.tp-gallery img, .tp-gallery video{width:120px; height:90px; object-fit:cover; border-radius:10px;}
.tp-mine{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.tp-mine li{display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; padding:12px 14px; border-radius:14px; background:#fff; border:1px solid var(--line);}
.tp-mine small{color:var(--ink-faint);}
.tp-mine em{flex-basis:100%; color:var(--ink-soft);}
.tp-state{font-size:12px; font-weight:800; padding:3px 10px; border-radius:999px; background:#eee; color:#444;}
.tp-state.is-pending{background:#FFF1CC; color:#7a5600;}
.tp-state.is-accepted{background:#DDF3E3; color:#1d5b2c;}
.tp-state.is-denied{background:#F8DCD3; color:#8a2f14;}
.tp-out{margin-top:10px;}

/* ============================================================
   Your First Midweek Night (Midweek look)
   ============================================================ */
.fn-hero{min-height:74vh;}
.mw-hero > .fn-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%; z-index:-3;}
.fn-steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; counter-reset:none;}
.fn-steps li{display:grid; gap:14px; align-content:start; padding:24px 22px; border-radius:22px; background:#10121b; border:1.5px solid color-mix(in srgb, var(--c) 55%, transparent); box-shadow:0 0 36px -14px var(--c);}
.fn-num{width:46px; height:46px; border-radius:50%; display:grid; place-items:center; font-family:"Anton",sans-serif; font-size:22px; color:#07080c; background:var(--c); box-shadow:0 0 22px -2px var(--c);}
.fn-steps h3{font-size:24px;}
.fn-steps p{margin-top:8px; color:rgba(244,242,250,.82); line-height:1.6;}
.fn-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.fn-card{text-decoration:none; display:flex; flex-direction:column; border-radius:22px; overflow:hidden; background:#10121b; border:1.5px solid color-mix(in srgb, var(--c) 60%, transparent); box-shadow:0 0 34px -14px var(--c); color:#F4F2FA; transition:transform .3s cubic-bezier(.2,.9,.25,1), box-shadow .3s ease;}
.fn-card:hover, .fn-card:focus-visible{transform:translateY(-6px); box-shadow:0 0 50px -10px var(--c);}
.fn-card img{width:100%; aspect-ratio:16/10; object-fit:cover; display:block;}
.fn-card > div{padding:20px 22px 22px; display:grid; gap:8px;}
.fn-tag{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--c); filter:brightness(1.35);}
.fn-card h3{font-size:30px;}
.fn-card p{color:rgba(244,242,250,.82); line-height:1.6;}
.fn-go{font-weight:800; color:var(--c); filter:brightness(1.4);}
.fn-note{margin-top:22px; display:flex; gap:18px; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:22px 24px; border-radius:20px; background:linear-gradient(120deg, rgba(139,92,246,.22), rgba(34,211,198,.12)); border:1px solid rgba(139,92,246,.5);}
.fn-note h3{font-size:24px;}
.fn-note p{margin-top:4px; color:rgba(244,242,250,.85);}
@media (max-width:860px){ .fn-steps, .fn-cards{grid-template-columns:1fr;} }
body.theme-midweek .visit-card{background:#10121b; border-color:rgba(34,211,198,.35); box-shadow:0 0 44px -18px rgba(34,211,198,.7);}
body.theme-midweek .rh-field label, body.theme-midweek .rh-check{color:#F4F2FA;}
body.theme-midweek .rh-field input, body.theme-midweek .rh-field select, body.theme-midweek .rh-field textarea{background:#171a26; color:#F4F2FA; border-color:rgba(244,242,250,.2);}
body.theme-midweek .rh-field input:focus, body.theme-midweek .rh-field select:focus, body.theme-midweek .rh-field textarea:focus{border-color:#22D3C6; box-shadow:0 0 0 3px rgba(34,211,198,.25);}
body.theme-midweek .rh-form-msg{background:rgba(34,211,198,.1); border-color:rgba(34,211,198,.4);}

/* Calendar: Registrations / What's Happening buttons and their pop-ups */
.cal-pop-btns{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px;}
#eventModal .info-pop .ev-body{padding-top:22px;}
#eventModal .pop-regs{display:grid; gap:12px;}
#eventModal .pop-regs .reg-card{padding:18px 20px; border-radius:16px;}
#eventModal .pop-regs .reg-card h3{font-size:clamp(20px,2.6vw,26px);}
#eventModal .pop-bulls{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
@media (max-width:640px){ #eventModal .pop-bulls{grid-template-columns:1fr;} }

/* Midweek calendar: switch for the whole church calendar */
#view-calendar .cal-scope{display:inline-flex; align-items:center; gap:10px; cursor:pointer;}
#view-calendar .cal-scope .cs-knob{position:relative; width:38px; height:22px; border-radius:999px; background:rgba(244,242,250,.18); transition:background .25s ease; flex:none;}
#view-calendar .cal-scope .cs-knob::after{content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .25s cubic-bezier(.2,.9,.25,1);}
#view-calendar .cal-scope[aria-pressed="true"] .cs-knob{background:linear-gradient(90deg,#3E7BFA,#22D3C6);}
#view-calendar .cal-scope[aria-pressed="true"] .cs-knob::after{transform:translateX(16px);}

/* ============================================================
   Make Room: blueprint theme, hero video and drafting intro
   ============================================================ */
body.bp-page{background:#0A2244;}
body.bp-page #view-make-room{
  --bg:#0A2244; --surface:#0E2B55; --ink:#EAF4FF; --ink-soft:#B9D3F0; --ink-faint:#8FB0D6;
  --line:rgba(170,215,255,.22); --line-strong:rgba(170,215,255,.4);
  --teal:#7FD4FF; --teal-rgb:127,212,255; --teal-ink:#7FD4FF; --bp-line:rgba(170,215,255,.16);
  color:var(--ink);
  background:
    linear-gradient(var(--bp-line) 1px, transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg, var(--bp-line) 1px, transparent 1px) 0 0/48px 48px,
    linear-gradient(rgba(170,215,255,.07) 1px, transparent 1px) 0 0/12px 12px,
    linear-gradient(90deg, rgba(170,215,255,.07) 1px, transparent 1px) 0 0/12px 12px,
    #0A2244;
}
body.bp-page #view-make-room section{background:transparent !important;}
body.bp-page #view-make-room section + section{border-top:1px dashed rgba(170,215,255,.25);}
body.bp-page #view-make-room h1, body.bp-page #view-make-room h2, body.bp-page #view-make-room h3{color:#fff;}
body.bp-page #view-make-room .eyebrow{color:#7FD4FF;}
body.bp-page #view-make-room .lead-p, body.bp-page #view-make-room .intro{color:var(--ink-soft);}

.bp-hero{position:relative; overflow:hidden; isolation:isolate; min-height:78vh; display:flex; align-items:center;}
.bp-hero .bp-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-3; pointer-events:none;}
.bp-hero .bp-scrim{position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg, rgba(10,34,68,.92) 0%, rgba(10,34,68,.7) 45%, rgba(10,34,68,.2) 100%), linear-gradient(180deg, rgba(10,34,68,.35), transparent 30%, rgba(10,34,68,.9) 100%);}
.bp-hero .bp-marks{position:absolute; inset:0; width:100%; height:100%; z-index:-1; fill:none; stroke:rgba(170,215,255,.35); stroke-width:1; vector-effect:non-scaling-stroke; pointer-events:none;}
.bp-hero .bp-marks .bp-tick{stroke:#7FD4FF; stroke-width:2;}
.bp-hero .bp-marks path{stroke-dasharray:3000; stroke-dashoffset:3000; animation:bpDraw 2.2s .9s cubic-bezier(.3,.7,.2,1) forwards;}
.bp-hero .bp-marks path, .bp-hero .bp-marks .bp-tick{vector-effect:non-scaling-stroke;}
.bp-dim{display:flex; align-items:center; gap:12px; max-width:560px; margin-top:16px; color:#7FD4FF;}
.bp-dim span{flex:1; height:1px; background:currentColor; position:relative; transform-origin:left; transform:scaleX(0); animation:bpGrow 1s 1.5s ease forwards;}
.bp-dim span:last-child{transform-origin:right;}
.bp-dim span::before{content:""; position:absolute; top:-5px; width:1px; height:11px; background:currentColor;}
.bp-dim span:first-child::before{left:0;} .bp-dim span:last-child::before{right:0;}
.bp-dim em{font-style:normal; font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; opacity:0; animation:bpFade .6s 1.9s ease forwards;}
@keyframes bpDraw{to{stroke-dashoffset:0;}}
@keyframes bpGrow{to{transform:scaleX(1);}}
@keyframes bpFade{to{opacity:1;}}

/* Drafting intro: a big RH draws itself on the blueprint, the church sketches in below, then the page slides in */
.bp-intro{position:fixed; inset:0; z-index:99990; display:none; flex-direction:column; align-items:center; justify-content:center; gap:4px; pointer-events:none;
  background:
    radial-gradient(60% 50% at 50% 45%, rgba(127,212,255,.12), transparent 70%),
    linear-gradient(rgba(170,215,255,.16) 1px, transparent 1px) 0 0/48px 48px, linear-gradient(90deg, rgba(170,215,255,.16) 1px, transparent 1px) 0 0/48px 48px,
    linear-gradient(rgba(170,215,255,.07) 1px, transparent 1px) 0 0/12px 12px, linear-gradient(90deg, rgba(170,215,255,.07) 1px, transparent 1px) 0 0/12px 12px,
    #0A2244;}
html.js body.bp-page .bp-intro{display:flex; animation:bpIntroOut .75s 2.75s cubic-bezier(.7,0,.3,1) forwards;}
.bp-intro svg{width:min(82vw,640px); height:auto; overflow:visible; fill:none; stroke:#EAF6FF; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 7px rgba(127,212,255,.75));}
.bp-intro [pathLength]{stroke-dasharray:1; stroke-dashoffset:1;}
.bp-intro .bi-rh{animation:bpDraw 1.7s cubic-bezier(.45,.05,.25,1) forwards;}
.bp-intro .bi-rh:nth-child(n+5){animation-delay:.25s;}
.bp-intro .bi-fill{opacity:0; animation:bpFade .7s 1.45s ease forwards;}
.bp-intro .bi-dims .bi-dim{stroke:#7FD4FF; stroke-width:1.6; animation:bpDraw .8s .9s ease forwards;}
.bp-intro .bi-note{fill:#7FD4FF; stroke:none; font:700 16px "Space Mono",monospace; letter-spacing:.3em; opacity:0; animation:bpFade .5s 1.4s ease forwards;}
.bp-intro .bi-church{stroke-width:5;}
.bp-intro .bi-church .bi-line{animation:bpDraw 1s 1.5s cubic-bezier(.4,.1,.2,1) forwards;}
.bp-intro .bi-church .bi-dim{stroke:#7FD4FF; stroke-width:3; animation:bpDraw .6s 2.1s ease forwards;}
.bp-intro .bi-new{stroke:#7FD4FF; stroke-dasharray:14 10; opacity:0; animation:bpFade .5s 2.2s ease forwards;}
.bi-label{font-family:"Space Mono",monospace; letter-spacing:.42em; text-transform:uppercase; font-size:14px; color:#7FD4FF; opacity:0; animation:bpFade .5s 2.2s ease forwards;}
@keyframes bpIntroOut{0%{opacity:1; transform:none;} 100%{opacity:0; transform:translateY(-6%) scale(1.05); visibility:hidden;}}
@media (prefers-reduced-motion: reduce){ html.js body.bp-page .bp-intro{display:none;} .bp-hero .bp-marks path{animation:none; stroke-dashoffset:0;} .bp-dim span{transform:none; animation:none;} .bp-dim em{opacity:1; animation:none;} }

/* Blueprint cards: drafted boxes with corner ticks */
body.bp-page #view-make-room .scope-item,
body.bp-page #view-make-room .goal-card,
body.bp-page #view-make-room .calc,
body.bp-page #view-make-room .acc-item{background:rgba(14,43,85,.72); border:1px solid rgba(170,215,255,.35); border-radius:6px; position:relative; box-shadow:0 0 0 1px rgba(170,215,255,.06) inset;}
body.bp-page #view-make-room .scope-item::before,
body.bp-page #view-make-room .goal-card::before,
body.bp-page #view-make-room .calc::before{content:""; position:absolute; inset:-6px; pointer-events:none;
  background:
    linear-gradient(#7FD4FF,#7FD4FF) left top/14px 2px no-repeat, linear-gradient(#7FD4FF,#7FD4FF) left top/2px 14px no-repeat,
    linear-gradient(#7FD4FF,#7FD4FF) right top/14px 2px no-repeat, linear-gradient(#7FD4FF,#7FD4FF) right top/2px 14px no-repeat,
    linear-gradient(#7FD4FF,#7FD4FF) left bottom/14px 2px no-repeat, linear-gradient(#7FD4FF,#7FD4FF) left bottom/2px 14px no-repeat,
    linear-gradient(#7FD4FF,#7FD4FF) right bottom/14px 2px no-repeat, linear-gradient(#7FD4FF,#7FD4FF) right bottom/2px 14px no-repeat;}
body.bp-page #view-make-room .scope-item svg, body.bp-page #view-make-room .goal-card .g-num{color:#7FD4FF;}
body.bp-page #view-make-room .goal-card .g-num{text-shadow:0 0 22px rgba(127,212,255,.45);}
body.bp-page #view-make-room .calc-out div{background:rgba(10,34,68,.8); border:1px dashed rgba(170,215,255,.35); border-radius:4px;}
body.bp-page #view-make-room .calc-amt, body.bp-page #view-make-room .acc-head, body.bp-page #view-make-room .verse{color:#fff;}
body.bp-page #view-make-room .verse{border-left-color:#7FD4FF;}
body.bp-page #view-make-room .btn-outline{color:#EAF4FF; border-color:rgba(170,215,255,.6); background:transparent;}
body.bp-page #view-make-room .btn-outline:hover{background:rgba(127,212,255,.14); border-color:#7FD4FF;}
body.bp-page #view-make-room .sunday-feature{border:1px solid rgba(170,215,255,.35); border-radius:8px;}
/* Draft-in on scroll: cards trace their outline as they appear */
@media (prefers-reduced-motion: no-preference){
  html.js body.bp-page #view-make-room .scope-item, html.js body.bp-page #view-make-room .goal-card{clip-path:inset(0 100% 0 0); transition:clip-path 1s cubic-bezier(.3,.7,.2,1);}
  html.js body.bp-page #view-make-room .bp-in .scope-item, html.js body.bp-page #view-make-room .bp-in .goal-card{clip-path:inset(-10px -10px -10px -10px);}
  html.js body.bp-page #view-make-room .bp-in .scope-item:nth-child(2), html.js body.bp-page #view-make-room .bp-in .goal-card:nth-child(2){transition-delay:.12s;}
  html.js body.bp-page #view-make-room .bp-in .scope-item:nth-child(3){transition-delay:.24s;}
  html.js body.bp-page #view-make-room .bp-in .scope-item:nth-child(4){transition-delay:.36s;}
}
@media (max-width:640px){ .bp-hero{min-height:auto;} .bp-hero .bp-scrim{background:linear-gradient(180deg, rgba(10,34,68,.55), rgba(10,34,68,.82) 60%, rgba(10,34,68,.95));} }

/* Homepage hero: a trailing dash after "Since 2016", and the breathing room moved above the saying */
.hero-content .eyebrow::after{content:""; width:22px; height:2px; background:var(--teal); display:inline-block; border-radius:2px;}
body:not(.theme-midweek) .hero .eyebrow::after{background:#D9C7A3;}
.hero .hero-tag{margin-top:30px;}
.hero p.lede{margin-top:16px;}
/* New Here: the Midweek box opens the Midweek page */
a.hub-card.plain.hc-link{text-decoration:none; color:inherit; transition:transform .3s cubic-bezier(.2,.9,.25,1), border-color .3s ease, box-shadow .3s ease;}
a.hub-card.plain.hc-link:hover, a.hub-card.plain.hc-link:focus-visible{transform:translateY(-4px); border-color:var(--teal);}
a.hub-card.plain.hc-link .hc-go{margin-top:12px;}

/* ============================================================
   Our Staff: animated heading, then the pastors in a white pop-out panel
   ============================================================ */
.staff-hero{position:relative; overflow:hidden; isolation:isolate; padding-bottom:120px;}
.staff-hero .sh-glow{position:absolute; inset:0; z-index:-1; pointer-events:none;}
.staff-hero .sh-glow span{position:absolute; width:46vmax; height:46vmax; border-radius:50%; filter:blur(60px); opacity:.35; animation:shFloat 14s ease-in-out infinite alternate;}
.staff-hero .sh-glow span:nth-child(1){background:#2E6B3E; left:-14vmax; top:-22vmax;}
.staff-hero .sh-glow span:nth-child(2){background:#2A5680; right:-16vmax; top:-10vmax; animation-delay:-5s;}
.staff-hero .sh-glow span:nth-child(3){background:#B8925A; left:30%; bottom:-34vmax; opacity:.22; animation-delay:-9s;}
@keyframes shFloat{from{transform:translate(0,0) scale(1);} to{transform:translate(4vmax,3vmax) scale(1.12);}}
.staff-hero .sh-title span{display:inline-block; opacity:0; transform:translateY(40px) rotateX(-60deg); transform-origin:50% 100%; animation:shWord .9s cubic-bezier(.2,.9,.25,1) forwards;}
.staff-hero .sh-title span:nth-child(2){animation-delay:.12s;}
.staff-hero .sh-title span:nth-child(3){animation-delay:.24s; background:linear-gradient(90deg,#2E6B3E,#2A5680); -webkit-background-clip:text; background-clip:text; color:transparent;}
.staff-hero .intro{opacity:0; animation:bpFade .8s .45s ease forwards;}
@keyframes shWord{to{opacity:1; transform:none;}}

.staff-lead{position:relative; z-index:2; margin-top:-86px; padding-top:0;}
.staff-lead .lead-panel{background:#fff; border-radius:32px; padding:clamp(24px,4vw,48px); box-shadow:0 40px 90px -40px rgba(19,42,22,.55), 0 2px 0 rgba(255,255,255,.8) inset; border:1px solid rgba(28,42,30,.08);
  opacity:0; transform:translateY(70px) scale(.96); animation:leadPop 1s .35s cubic-bezier(.2,.9,.25,1) forwards;}
.staff-lead .lead-panel .section-head{margin-bottom:26px;}
.staff-lead .lead-panel .staff-featured{margin-bottom:0;}
@keyframes leadPop{to{opacity:1; transform:none;}}
.staff-lead .staff-card{opacity:0; translate:0 30px; animation:cardIn .9s cubic-bezier(.2,.9,.25,1) forwards; animation-delay:.7s;}
@keyframes cardIn{to{opacity:1; translate:0 0;}}
.staff-lead .staff-card:nth-child(2){animation-delay:.85s;}
@media (prefers-reduced-motion: reduce){
  .staff-hero .sh-title span, .staff-hero .intro, .staff-lead .lead-panel{opacity:1; transform:none; animation:none;}
  .staff-lead .staff-card{opacity:1; translate:none; animation:none;}
  .staff-hero .sh-glow span{animation:none;}
}
@media (max-width:640px){ .staff-hero{padding-bottom:96px;} .staff-lead{margin-top:-70px;} .staff-lead .lead-panel{border-radius:24px;} }

/* Make Room: Bible blueprints that sketch themselves as you scroll */
body.bp-page #view-make-room{position:relative;}
body.bp-page #view-make-room > section{position:relative; z-index:1;}
.bp-doodles{position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
.bp-doodle{position:absolute; height:auto; overflow:visible; fill:none; stroke:rgba(226,242,255,.8); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(127,212,255,.55)); opacity:.22; will-change:transform, opacity; transform-origin:50% 60%;}
.bp-doodle path{stroke-dasharray:1; stroke-dashoffset:1;}
.bp-doodle path:nth-of-type(n+3){stroke:rgba(127,212,255,.85); stroke-width:1.3;}
.bp-doodle text{fill:#7FD4FF; stroke:none; font:700 9.5px "Space Mono",monospace; letter-spacing:.14em; opacity:0;}
@media (max-width:1180px){ .bp-doodle{width:120px !important;} .bp-doodle text{font-size:12px;} }
/* Phones: the blueprints draw large and centered behind the page, like a watermark on the plans */
@media (max-width:760px){
  .bp-doodle{width:min(64vw,280px) !important; left:50% !important; right:auto !important; margin-left:calc(min(64vw,280px) / -2); stroke-width:1.4; filter:drop-shadow(0 0 6px rgba(127,212,255,.45));}
  .bp-doodle text{font-size:11px;}
  .bp-page .bp-doodles{opacity:.42;}
}

/* "COACH" contact card (Home Groups & DTeams) */
.coach-card{display:grid; grid-template-columns:auto 1fr; gap:26px; align-items:center; margin-top:40px; padding:26px 28px; border-radius:24px; background:#fff; border:1px solid var(--line); box-shadow:0 26px 60px -36px rgba(18,36,28,.6);}
.coach-card .cc-photo{width:140px; height:140px; padding:0; border-radius:50%; overflow:hidden; border:4px solid #fff; box-shadow:0 0 0 3px var(--teal-ink), 0 16px 30px -16px rgba(0,0,0,.6); cursor:pointer; background:none; transition:transform .3s cubic-bezier(.2,.9,.25,1);}
.coach-card .cc-photo:hover, .coach-card .cc-photo:focus-visible{transform:scale(1.05) rotate(-2deg);}
.coach-card .cc-photo img{width:100%; height:100%; object-fit:cover; object-position:center 50%; display:block;}
.coach-card .cc-tag{font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-ink);}
.coach-card h3{font-size:clamp(24px,3vw,32px); margin-top:6px; color:var(--ink);}
.coach-card p{margin-top:8px; color:var(--ink-soft); line-height:1.6; max-width:560px;}
.coach-card .cc-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px;}
.coach-card .cc-actions .btn{display:inline-flex; align-items:center; gap:8px;}
.coach-card .cc-actions svg{width:16px; height:16px;}
@media (max-width:640px){ .coach-card{grid-template-columns:1fr; justify-items:center; text-align:center; padding:24px 20px;} .coach-card .cc-actions{justify-content:center;} .coach-card .cc-photo{width:120px; height:120px;} }

/* Midweek: neon Pray button and the Midweek prayer page */
body.theme-midweek .btn-pray.btn-pray-mw{position:relative; background:linear-gradient(115deg,#EC4899,#8B5CF6 55%,#22D3C6); border-color:transparent; color:#fff; box-shadow:0 0 24px -4px rgba(236,72,153,.75);}
body.theme-midweek .btn-pray.btn-pray-mw::after{content:""; position:absolute; inset:-3px; border-radius:inherit; border:2px solid rgba(236,72,153,.7); animation:prayPulse 2.4s ease-out infinite; pointer-events:none;}
body.theme-midweek .btn-pray.btn-pray-mw:hover, body.theme-midweek .btn-pray.btn-pray-mw.active{filter:brightness(1.12); color:#fff;}
@keyframes prayPulse{0%{opacity:.9; transform:scale(1);} 80%,100%{opacity:0; transform:scale(1.18,1.4);}}
@media (prefers-reduced-motion: reduce){ body.theme-midweek .btn-pray.btn-pray-mw::after{animation:none; opacity:0;} }
body.theme-midweek .mobile-menu .mm-pray{background:linear-gradient(115deg,#EC4899,#8B5CF6 55%,#22D3C6); color:#fff !important;}
.mp-hero h1{font-size:clamp(52px,10vw,120px);}
.mp-team{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.mp-card{padding:24px 22px; border-radius:22px; background:#10121b; border:1.5px solid color-mix(in srgb, var(--c) 55%, transparent); box-shadow:0 0 36px -14px var(--c);}
.mp-ico{display:grid; place-items:center; width:48px; height:48px; border-radius:50%; font-size:22px; color:#07080c; background:var(--c); box-shadow:0 0 22px -2px var(--c);}
.mp-card h3{font-size:24px; margin-top:14px;}
.mp-card p{margin-top:8px; color:rgba(244,242,250,.82); line-height:1.6;}
.mp-grid{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:24px; align-items:start;}
.mp-grid .visit-card{margin-top:0; grid-template-columns:1fr;}
.mp-side{display:grid; gap:18px;}
.mp-verse{margin:0; padding:24px; border-radius:20px; background:linear-gradient(135deg, rgba(62,123,250,.25), rgba(139,92,246,.25)); border:1px solid rgba(139,92,246,.45); font-size:clamp(20px,2.2vw,26px); font-weight:800; line-height:1.35; color:#fff;}
.mp-verse cite{display:block; margin-top:10px; font-style:normal; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#22D3C6;}
.mp-help{padding:22px; border-radius:20px; background:#10121b; border:1px solid rgba(244,242,250,.14);}
.mp-help h3{font-family:"Manrope",sans-serif; text-transform:none; letter-spacing:0; font-weight:800; font-size:18px;}
.mp-help p{margin-top:8px; color:rgba(244,242,250,.82); line-height:1.6;}
.mp-help a{color:#22D3C6; font-weight:800;}
.rh-who{display:flex !important; flex-wrap:wrap; gap:10px !important;}
.rh-who legend{flex-basis:100%;}
.rh-who label{padding:9px 14px; border-radius:999px; border:1.5px solid var(--line-strong); align-items:center !important;}
.rh-who label:has(input:checked){border-color:#22D3C6; box-shadow:0 0 16px -4px #22D3C6;}
body.theme-midweek .rh-choices label{color:rgba(244,242,250,.88);}
body.theme-midweek .rh-fine{color:rgba(244,242,250,.6);}
@media (max-width:860px){ .mp-team, .mp-grid{grid-template-columns:1fr;} }

/* ============================================================
   New to Midweek (first-night): countdown, marquee, photo wall, sign-up
   ============================================================ */
.fn-title{animation:fnTitle 1s cubic-bezier(.2,.9,.25,1) both;}
@keyframes fnTitle{from{opacity:0; transform:translateY(40px) scale(.94); filter:blur(8px);} to{opacity:1; transform:none; filter:none;}}
.fn-count{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin:26px auto 0;}
.fn-count .fc-lab{flex-basis:100%; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#22D3C6;}
.fn-count .fc-box{display:grid; place-items:center; min-width:74px; padding:10px 8px 8px; border-radius:16px; background:rgba(7,8,12,.6); border:1.5px solid rgba(139,92,246,.6); box-shadow:0 0 24px -8px #8B5CF6, inset 0 0 18px -10px #22D3C6; backdrop-filter:blur(6px);}
.fn-count .fc-box b{font-family:"Anton",sans-serif; font-weight:400; font-size:34px; line-height:1; color:#fff; font-variant-numeric:tabular-nums;}
.fn-count .fc-box small{font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,242,250,.7); margin-top:4px;}
.fn-count .fc-live{padding:10px 18px; border-radius:999px; background:linear-gradient(115deg,#EC4899,#8B5CF6,#22D3C6); color:#fff; font-weight:800; box-shadow:0 0 30px -6px #EC4899; animation:prayPulse 2.4s ease-out infinite;}
.fn-marquee{overflow:hidden; border-block:1px solid rgba(139,92,246,.4); background:linear-gradient(90deg, rgba(62,123,250,.18), rgba(139,92,246,.22), rgba(236,72,153,.18)); padding:14px 0;}
.fn-track{display:flex; align-items:center; gap:22px; width:max-content; animation:fnMarquee 26s linear infinite;}
.fn-track span{font-family:"Anton",sans-serif; font-size:clamp(22px,3vw,34px); text-transform:uppercase; letter-spacing:.04em; color:#fff; text-shadow:0 0 18px rgba(139,92,246,.8);}
.fn-track span:nth-of-type(3n+2){color:#22D3C6;} .fn-track span:nth-of-type(3n){-webkit-text-stroke:1.5px #F4F2FA; color:transparent; text-shadow:none;}
.fn-track i{width:10px; height:10px; border-radius:50%; background:#EC4899; box-shadow:0 0 12px #EC4899; flex:none;}
@keyframes fnMarquee{to{transform:translateX(-50%);}}
.fn-wall{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:190px; gap:14px;}
.fn-tile{position:relative; margin:0; border-radius:20px; overflow:hidden; border:1.5px solid color-mix(in srgb, var(--c) 60%, transparent); box-shadow:0 0 30px -14px var(--c); transform:rotate(calc((var(--i) - 3.5) * .6deg)); transition:transform .4s cubic-bezier(.2,.9,.25,1), box-shadow .4s ease;}
.fn-tile:nth-child(1), .fn-tile:nth-child(6){grid-row:span 2;}
.fn-tile:hover{transform:rotate(0) scale(1.04); box-shadow:0 0 50px -8px var(--c); z-index:2;}
.fn-tile img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
.fn-tile:hover img{transform:scale(1.08);}
.fn-tile figcaption{position:absolute; left:12px; bottom:12px; padding:6px 12px; border-radius:999px; background:rgba(7,8,12,.72); border:1px solid var(--c); color:#fff; font-weight:800; font-size:14px; backdrop-filter:blur(6px); box-shadow:0 0 16px -6px var(--c);}
@media (max-width:900px){ .fn-wall{grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:150px;} }
@media (prefers-reduced-motion: reduce){ .fn-track{animation:none;} .fn-title{animation:none;} .fn-tile{transform:none;} }
.mw-signup-card{grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);}
.mw-perks{list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px;}
.mw-perks li{display:flex; gap:10px; align-items:flex-start; color:rgba(244,242,250,.88);}
.mw-perks li::before{content:"✓"; flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:900; color:#07080c; background:#22D3C6; box-shadow:0 0 12px -2px #22D3C6;}
.mw-step{display:flex; align-items:center; gap:12px; margin-top:8px;}
.mw-step h4{font-family:"Anton",sans-serif; font-weight:400; font-size:24px; text-transform:uppercase; letter-spacing:.02em;}
.mw-step-n{width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-family:"Anton",sans-serif; color:#07080c; background:linear-gradient(135deg,#3E7BFA,#8B5CF6,#22D3C6); box-shadow:0 0 16px -4px #8B5CF6;}
.mw-kids{display:grid; gap:14px;}
.mw-kid{position:relative; display:grid; gap:14px; padding:18px; border-radius:18px; background:rgba(62,123,250,.07); border:1px dashed rgba(139,92,246,.5);}
.mw-rm{justify-self:end; font:inherit; font-size:13px; font-weight:700; color:#EC4899; background:none; border:0; cursor:pointer; padding:0;}
.mw-add{justify-self:start;}
.mw-more summary{cursor:pointer; font-weight:700; color:#22D3C6;}
.mw-more[open] summary{margin-bottom:12px;}
.mw-go{font-size:16px; padding:16px 28px;}
@media (max-width:900px){ .mw-signup-card{grid-template-columns:1fr;} }

/* ============================================================
   Messages: dark "theater" look, featured video, thumbnail cards, series posters
   ============================================================ */
body.msg-page{background:#0A1310;}
body.msg-page #view-messages{
  --bg:#0A1310; --surface:#101C18; --ink:#F2EEE4; --ink-soft:#C3CCC4; --ink-faint:#8E9C92; --line:rgba(242,238,228,.12); --line-strong:rgba(242,238,228,.22);
  --teal:#7DBE84; --teal-ink:#9AD3A0; --teal-rgb:125,190,132; --m-gold:#D9C7A3; --m-blue:#7FB0DE;
  color:var(--ink); background:radial-gradient(60% 40% at 90% 30%, rgba(42,86,128,.25), transparent 70%), radial-gradient(50% 40% at 0% 60%, rgba(46,107,62,.22), transparent 70%), #0A1310;
}
body.msg-page #view-messages h1, body.msg-page #view-messages h2, body.msg-page #view-messages h3{color:#fff;}
body.msg-page #view-messages .eyebrow{color:var(--m-gold);}
body.msg-page #view-messages .eyebrow::before{background:var(--m-gold);}
body.msg-page #view-messages .section-head p:not(.eyebrow){color:var(--ink-soft);}

.msg-hero{position:relative; overflow:hidden; isolation:isolate; padding:150px 0 70px;}
.msg-hero .mh-bg{position:absolute; inset:-40px; z-index:-3;}
.msg-hero .mh-bg img{width:100%; height:100%; object-fit:cover; filter:blur(26px) saturate(1.2) brightness(.45); transform:scale(1.1); animation:mhDrift 22s ease-in-out infinite alternate;}
@keyframes mhDrift{to{transform:scale(1.22) translate(-2%,1%);}}
.msg-hero::after{content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(180deg, rgba(10,19,16,.35), rgba(10,19,16,.9) 85%, #0A1310);}
.msg-hero .mh-rays{position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden;}
.msg-hero .mh-rays span{position:absolute; top:-30%; width:18%; height:160%; background:linear-gradient(180deg, rgba(217,199,163,.18), transparent 70%); transform:rotate(18deg); filter:blur(8px); animation:mhRay 9s ease-in-out infinite alternate;}
.msg-hero .mh-rays span:nth-child(1){left:8%;} .msg-hero .mh-rays span:nth-child(2){left:42%; animation-delay:-3s; opacity:.7;} .msg-hero .mh-rays span:nth-child(3){left:74%; animation-delay:-6s; background:linear-gradient(180deg, rgba(127,176,222,.18), transparent 70%);}
@keyframes mhRay{from{transform:rotate(14deg) translateX(-20px); opacity:.5;} to{transform:rotate(22deg) translateX(20px); opacity:1;}}
.mh-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:42px; align-items:center;}
.mh-copy h1{font-size:clamp(44px,6.4vw,84px); line-height:.95; margin-top:10px;}
.mh-accent{background:linear-gradient(90deg,#7DBE84,#D9C7A3 45%,#7FB0DE 90%); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:mhShine 6s ease-in-out infinite alternate;}
@keyframes mhShine{to{background-position:100% 0;}}
.mh-copy .intro{margin-top:16px; color:var(--ink-soft); max-width:460px;}
.mh-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;}
.mh-play{display:inline-flex; align-items:center; gap:10px;}
.mh-play .bp-ic{width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.2); display:grid; place-items:center;}
.mh-play .bp-ic svg{width:14px; height:14px;}

.mh-feature{position:relative; display:block; width:100%; padding:0; border:0; background:none; text-align:left; color:#fff; cursor:pointer; border-radius:26px; overflow:hidden;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9), 0 0 0 1px rgba(242,238,228,.14); animation:mfIn 1s .2s cubic-bezier(.2,.9,.25,1) both; transition:transform .3s ease;}
@keyframes mfIn{from{opacity:0; transform:translateY(40px) scale(.96) rotate(1deg);} to{opacity:1; transform:none;}}
.mh-feature::before{content:""; position:absolute; inset:-2px; z-index:3; border-radius:inherit; padding:2px; background:conic-gradient(from var(--ang,0deg), #7DBE84, #D9C7A3, #7FB0DE, #7DBE84); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:mfSpin 6s linear infinite; pointer-events:none; opacity:.9;}
@property --ang{syntax:"<angle>"; inherits:false; initial-value:0deg;}
@keyframes mfSpin{to{--ang:360deg;}}
.mf-media{position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#111;}
.mf-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.9,.25,1);}
.mh-feature:hover .mf-media img{transform:scale(1.06);}
.mf-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(5,10,8,.92));}
.mf-play{position:absolute; left:50%; top:44%; z-index:2; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.95); color:#0A1310; box-shadow:0 18px 40px -12px rgba(0,0,0,.8);}
.mf-play svg{width:34px; height:34px; margin-left:4px;}
.mf-play i{position:absolute; inset:-10px; border-radius:50%; border:2px solid rgba(255,255,255,.6); animation:mfPulse 2.2s ease-out infinite;}
@keyframes mfPulse{from{transform:scale(.9); opacity:1;} to{transform:scale(1.5); opacity:0;}}
.mf-body{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px 26px; display:grid; gap:6px;}
.mf-tag{display:inline-flex; align-items:center; gap:8px; font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--m-gold);}
.mf-tag i{width:8px; height:8px; border-radius:50%; background:#E0544B; box-shadow:0 0 10px #E0544B; animation:pulse 2s infinite;}
.mf-title{font-family:"Anton",sans-serif; font-size:clamp(28px,3.4vw,44px); line-height:1; text-transform:uppercase;}
.mf-meta{font-size:14px; color:rgba(242,238,228,.8); font-weight:600;}

/* Buttons with personality */
.msg-btn{display:inline-flex; align-items:center; gap:10px; position:relative; overflow:hidden; color:#fff; border:1px solid rgba(242,238,228,.25); background:rgba(255,255,255,.06); backdrop-filter:blur(8px); transition:transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;}
.msg-btn svg{width:22px; height:22px; flex:none;}
.msg-btn.yt svg path:first-child{fill:#FF3B30;}
.msg-btn.cc svg{color:var(--m-gold);}
.msg-btn::after{content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent); transform:skewX(-20deg); transition:left .6s ease;}
.msg-btn:hover{transform:translateY(-3px); border-color:rgba(242,238,228,.55); background:rgba(255,255,255,.12); box-shadow:0 14px 30px -14px rgba(0,0,0,.8); color:#fff;}
.msg-btn:hover::after{left:130%;}
body.msg-page #view-messages .btn-primary{box-shadow:0 14px 30px -12px rgba(125,190,132,.7);}

/* Live banner */
.msg-live-sec{padding:10px 0 40px !important;}
.live-card2{position:relative; display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; padding:26px 30px; border-radius:24px; overflow:hidden; isolation:isolate;
  background:linear-gradient(120deg, rgba(46,107,62,.35), rgba(42,86,128,.35)); border:1px solid rgba(242,238,228,.16);}
.live-card2::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg, transparent 30%, rgba(217,199,163,.16) 50%, transparent 70%); background-size:250% 100%; animation:lcSweep 5s ease-in-out infinite;}
@keyframes lcSweep{from{background-position:120% 0;} to{background-position:-120% 0;}}
.live-card2 .lc-dot{display:inline-flex; align-items:center; gap:10px; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#FF8A80;}
.live-card2 .lc-dot::before{content:""; width:10px; height:10px; border-radius:50%; background:#E0544B; box-shadow:0 0 12px #E0544B; animation:pulse 2s infinite;}
.live-card2 h3{font-size:clamp(24px,3vw,32px); margin-top:8px;}
.lc2-count{display:flex; gap:8px; margin-top:14px;}
.lc2-count span{display:grid; place-items:center; min-width:62px; padding:8px 6px; border-radius:12px; background:rgba(0,0,0,.3); border:1px solid rgba(242,238,228,.16);}
.lc2-count b{font-family:"Anton",sans-serif; font-weight:400; font-size:26px; line-height:1; color:#fff; font-variant-numeric:tabular-nums;}
.lc2-count small{font-family:"Space Mono",monospace; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin-top:3px;}
.lc2-btns{display:flex; flex-wrap:wrap; gap:10px;}

/* Message cards */
.msg-sec{padding-block:50px;}
.msg-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.msg-card{display:flex; flex-direction:column; width:100%; padding:0; text-align:left; font:inherit; color:#fff; cursor:pointer; text-decoration:none; border-radius:20px; overflow:hidden; background:#101C18; border:1px solid rgba(242,238,228,.1);
  box-shadow:0 26px 50px -30px rgba(0,0,0,.9); transition:border-color .3s ease, box-shadow .3s ease; opacity:0; translate:0 40px; animation:cardIn .8s cubic-bezier(.2,.9,.25,1) forwards; animation-delay:calc(var(--i) * .08s + .1s); animation-play-state:paused;}
.reveal.in .msg-card, .reveal.is-in .msg-card, .msg-grid.in .msg-card{animation-play-state:running;}
.msg-card:hover{border-color:rgba(217,199,163,.5); box-shadow:0 30px 60px -28px rgba(0,0,0,.95), 0 0 0 1px rgba(217,199,163,.3);}
.mc-media{position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(135deg,#2E6B3E,#2A5680);}
.mc-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.9,.25,1), filter .5s ease;}
.msg-card:hover .mc-media img{transform:scale(1.08); filter:brightness(.75);}
.mc-ph{position:absolute; inset:0; display:grid; place-items:center; font-family:"Anton",sans-serif; font-size:64px; color:rgba(255,255,255,.2);}
.mc-shine{position:absolute; inset:0; background:radial-gradient(60% 70% at calc(50% + var(--mx,0) * 45%) calc(50% + var(--my,0) * 45%), rgba(255,255,255,.25), transparent 70%); opacity:0; transition:opacity .3s ease; pointer-events:none;}
.msg-card:hover .mc-shine{opacity:1;}
.mc-play{position:absolute; left:50%; top:50%; width:58px; height:58px; margin:-29px 0 0 -29px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.92); color:#0A1310; transform:scale(.7); opacity:0; transition:transform .35s cubic-bezier(.2,.9,.25,1), opacity .3s ease;}
.mc-play svg{width:24px; height:24px; margin-left:3px;}
.msg-card:hover .mc-play, .msg-card:focus-visible .mc-play{transform:scale(1); opacity:1;}
.mc-date{position:absolute; left:12px; top:12px; display:grid; place-items:center; min-width:50px; padding:5px 8px 6px; border-radius:12px; background:rgba(10,19,16,.78); backdrop-filter:blur(6px); border:1px solid rgba(242,238,228,.2);}
.mc-date small{font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--m-gold);}
.mc-date b{font-family:"Anton",sans-serif; font-weight:400; font-size:24px; line-height:1;}
.mc-body{display:grid; gap:8px; padding:18px 20px 20px;}
.mc-meta{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint);}
.mc-title{font-family:"Anton",sans-serif; font-size:24px; line-height:1.05; text-transform:uppercase;}
.mc-go{display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:13.5px; color:var(--teal-ink);}
.mc-go svg{width:15px; height:15px; transition:transform .25s ease;}
.msg-card:hover .mc-go svg{transform:translateX(5px);}

/* Series posters */
.msg-series-sec{background:linear-gradient(180deg, transparent, rgba(42,86,128,.12), transparent);}
.series-posters{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;}
.series-poster{position:relative; display:flex; flex-direction:column; text-decoration:none; color:#fff; border-radius:22px; overflow:hidden; background:#101C18; border:1px solid rgba(242,238,228,.1); box-shadow:0 30px 60px -34px rgba(0,0,0,.95);
  opacity:0; translate:0 50px; animation:cardIn .9s cubic-bezier(.2,.9,.25,1) forwards; animation-delay:calc(var(--i) * .1s + .1s); animation-play-state:paused; transition:box-shadow .3s ease;}
.reveal.in .series-poster, .reveal.is-in .series-poster{animation-play-state:running;}
.sp-art{position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(135deg,#2E6B3E,#2A5680 60%,#B8925A);}
.sp-art img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.9,.25,1);}
.series-poster:hover .sp-art img{transform:scale(1.07);}
.sp-ph{position:absolute; inset:0; display:grid; place-items:center; font-family:"Anton",sans-serif; font-size:clamp(48px,6vw,80px); letter-spacing:.06em; color:rgba(255,255,255,.22);}
.sp-glare{position:absolute; inset:0; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.35) 50%, transparent 65%); background-size:250% 100%; background-position:130% 0; transition:background-position .9s ease; pointer-events:none;}
.series-poster:hover .sp-glare{background-position:-30% 0;}
.sp-body{display:grid; gap:8px; padding:18px 20px 22px; border-top:3px solid; border-image:linear-gradient(90deg,#7DBE84,#D9C7A3,#7FB0DE) 1;}
.sp-body .s-when{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--m-gold);}
.sp-title{font-family:"Anton",sans-serif; font-size:26px; line-height:1.05; text-transform:uppercase;}
.sp-go{display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:13.5px; color:var(--teal-ink);}
.sp-go svg{width:15px; height:15px;}
.msg-foot{gap:12px;}
body.msg-page #view-messages .sunday-feature{border-color:rgba(242,238,228,.12);}

/* Video pop-up */
#eventModal.is-video .pm-panel{background:#0A1310; color:#fff; max-width:min(1100px,96vw);}
#eventModal .vid-pop .vid-frame{position:relative; aspect-ratio:16/9; background:#000;}
#eventModal .vid-pop iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
#eventModal .vid-meta{display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; padding:18px 22px 22px;}
#eventModal .vid-meta h2{font-size:clamp(24px,3vw,34px); color:#fff;}
#eventModal .vid-meta p{margin-top:4px; color:rgba(242,238,228,.75);}
#eventModal .vid-meta .btn-outline{color:#fff; border-color:rgba(242,238,228,.4);}

@media (max-width:960px){ .mh-grid{grid-template-columns:1fr;} .msg-grid, .series-posters{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:620px){ .msg-hero{padding:120px 0 40px;} .msg-grid, .series-posters{grid-template-columns:1fr;} .mf-play{width:64px; height:64px; margin:-32px 0 0 -32px;} .mf-play svg{width:26px; height:26px;} .mc-play{opacity:1; transform:scale(.85);} .lc2-count span{min-width:54px;} }
@media (prefers-reduced-motion: reduce){
  .msg-hero .mh-bg img, .msg-hero .mh-rays span, .mh-accent, .mh-feature, .mh-feature::before, .live-card2::before, .mf-play i{animation:none;}
  .msg-card, .series-poster{opacity:1; translate:none; animation:none;}
}

/* Touch screens: cards swing into place as they scroll through, glow in the middle, and press on tap */
@media (hover: none), (pointer: coarse){
  .touch-fx{transition:rotate .18s linear, scale .18s linear, box-shadow .3s ease; transform-origin:50% 50%;}
  .touch-fx:active{scale:.96 !important; transition:scale .12s ease;}
  body.theme-midweek .touch-fx{box-shadow:0 0 calc(var(--tglow, 0) * 40px) calc(var(--tglow, 0) * -6px) rgba(139,92,246,.75);}
  body.theme-midweek .touch-fx.fn-card, body.theme-midweek .touch-fx.mp-card, body.theme-midweek .touch-fx.fn-tile{box-shadow:0 0 calc(12px + var(--tglow, 0) * 40px) calc(var(--tglow, 0) * -4px) var(--c, #8B5CF6);}
  body.bp-page .touch-fx{box-shadow:0 0 calc(var(--tglow, 0) * 34px) calc(var(--tglow, 0) * -6px) rgba(127,212,255,.6);}
  body.msg-page .touch-fx{box-shadow:0 26px 50px -30px rgba(0,0,0,.9), 0 0 calc(var(--tglow, 0) * 30px) calc(var(--tglow, 0) * -6px) rgba(217,199,163,.45);}
  .touch-fx .mc-play{opacity:calc(.5 + var(--tglow, 0) * .5);}
  .touch-fx .mc-media img, .touch-fx .sp-art img, .touch-fx.fn-tile img{transform:scale(calc(1 + var(--tglow, 0) * .06));}
}
@media (hover: none), (pointer: coarse){
  .crew-grid, .hub-grid, .fn-cards, .fn-wall, .mp-team, .fn-steps, .msg-grid, .series-posters, .scope-list, .goal-grid, .mw-team-row, .mh-grid, .gal-grid, .bd-cards, .sd-grid, .cal-feat, .leaders-stage, .wed-strip{perspective:1000px;}
}

/* Our Staff: four across on wide screens */
@media (min-width:1100px){ .staff-page .crew-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;} .staff-page .crew-card h3{font-size:22px;} }
.staff-page .crew-card .c-mail{overflow-wrap:anywhere;}

/* Home Groups & DTeams: each group's own photo beside its description */
.gcard.has-img{display:grid; grid-template-columns:minmax(0,1fr); padding:0; overflow:hidden;}
.gcard .g-img{display:block; aspect-ratio:16/9; overflow:hidden; background:var(--surface-2, #eee);}
.gcard .g-img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.9,.25,1);}
.gcard:hover .g-img img{transform:scale(1.05);}
.gcard.has-img .g-body{display:block; padding:20px 22px 22px; position:relative;}
.gcard.has-img .g-open{position:absolute; top:-15px; right:18px; background:var(--teal-ink); color:#fff; border-color:transparent; box-shadow:0 8px 18px -8px rgba(0,0,0,.5);}
.gcard.has-img h3{margin-top:4px;}
.gcard .g-desc{margin-top:10px; color:var(--ink-soft); line-height:1.55; font-size:15px;}
@media (min-width:980px){ .glist{grid-template-columns:repeat(2,minmax(0,1fr));} .gcard.has-img{grid-template-columns:44% minmax(0,1fr);} .gcard.has-img .g-img{aspect-ratio:auto; min-height:100%;} .gcard.has-img .g-open{top:16px;} }

/* ============================================================
   Registrations: 3D event tickets
   ============================================================ */
.reg-hero{position:relative; overflow:hidden; isolation:isolate;}
.reg-hero-grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:30px; align-items:center;}
.reg-hero-ctas{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.reg-num{display:inline-grid; place-items:center; min-width:28px; height:28px; padding:0 6px; margin-right:4px; border-radius:999px; background:rgba(255,255,255,.22); font-weight:900;}
.reg-confetti{position:absolute; inset:0; z-index:-1; pointer-events:none;}
.reg-confetti i{position:absolute; top:-20px; width:10px; height:16px; border-radius:3px; opacity:.55; animation:regFall 9s linear infinite;}
.reg-confetti i:nth-child(3n){background:#2E6B3E;} .reg-confetti i:nth-child(3n+1){background:#2A5680;} .reg-confetti i:nth-child(3n+2){background:#B8925A;}
.reg-confetti i:nth-child(1){left:6%; animation-delay:-1s;} .reg-confetti i:nth-child(2){left:16%; animation-delay:-5s;} .reg-confetti i:nth-child(3){left:28%; animation-delay:-3s;}
.reg-confetti i:nth-child(4){left:40%; animation-delay:-7s;} .reg-confetti i:nth-child(5){left:52%; animation-delay:-2s;} .reg-confetti i:nth-child(6){left:63%; animation-delay:-6s;}
.reg-confetti i:nth-child(7){left:72%; animation-delay:-4s;} .reg-confetti i:nth-child(8){left:81%; animation-delay:-8s;} .reg-confetti i:nth-child(9){left:90%; animation-delay:-2.5s;} .reg-confetti i:nth-child(10){left:96%; animation-delay:-6.5s;}
@keyframes regFall{0%{transform:translateY(-20px) rotate(0);} 100%{transform:translateY(560px) rotate(540deg);}}
.reg-stack{position:relative; height:260px; perspective:1000px;}
.rs-t{position:absolute; left:50%; top:50%; width:240px; height:120px; margin:-60px 0 0 -120px; border-radius:16px; display:grid; place-content:center; text-align:center; color:#fff; box-shadow:0 30px 50px -24px rgba(0,0,0,.6);
  -webkit-mask:radial-gradient(circle 12px at 0 50%, transparent 98%, #000) , radial-gradient(circle 12px at 100% 50%, transparent 98%, #000); -webkit-mask-composite:source-in; mask-composite:intersect;}
.rs-t b{font-family:"Anton",sans-serif; font-weight:400; font-size:36px; line-height:1; text-transform:uppercase; letter-spacing:.04em;}
.rs-t i{font-style:normal; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.3em; text-transform:uppercase; opacity:.85;}
.rs-1{background:linear-gradient(135deg,#B8925A,#8A6436); animation:rsFloat 6s ease-in-out infinite; --r:-14deg; --x:-70px; --y:-40px;}
.rs-2{background:linear-gradient(135deg,#2A5680,#1d3e5e); animation:rsFloat 7s ease-in-out -2s infinite; --r:8deg; --x:60px; --y:10px;}
.rs-3{background:linear-gradient(135deg,#2E6B3E,#24512E); animation:rsFloat 6.5s ease-in-out -4s infinite; --r:-3deg; --x:-10px; --y:60px;}
@keyframes rsFloat{0%,100%{transform:translate(var(--x),var(--y)) rotate(var(--r)) rotateY(-12deg);} 50%{transform:translate(var(--x), calc(var(--y) - 14px)) rotate(calc(var(--r) + 3deg)) rotateY(12deg);}}
.reg-sec{padding-top:30px;}
.reg-tickets{display:grid; gap:22px; perspective:1400px;}
.reg-ticket{position:relative; display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr) 64px; text-decoration:none; color:var(--ink); background:var(--surface); border-radius:22px; overflow:hidden;
  border:1px solid var(--line); box-shadow:0 30px 60px -36px rgba(19,42,22,.55); opacity:0; translate:0 40px; animation:cardIn .8s cubic-bezier(.2,.9,.25,1) forwards; animation-delay:calc(var(--i) * .1s + .1s); animation-play-state:paused; transition:box-shadow .3s ease, border-color .3s ease;}
.reveal.in .reg-ticket, .reg-tickets.in .reg-ticket{animation-play-state:running;}
.reg-ticket:hover{border-color:rgba(46,107,62,.45); box-shadow:0 36px 70px -34px rgba(19,42,22,.7);}
.rt-media{position:relative; display:block; min-height:220px; background:linear-gradient(135deg,#2E6B3E,#2A5680 60%,#B8925A); overflow:hidden;}
.rt-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.9,.25,1);}
.reg-ticket:hover .rt-media img{transform:scale(1.06);}
.rt-ph{position:absolute; inset:0; display:grid; place-items:center; font-family:"Anton",sans-serif; font-size:72px; color:rgba(255,255,255,.25);}
.rt-media img + .rt-ph{display:none;}
.rt-date{position:absolute; left:14px; top:14px; z-index:2; display:grid; place-items:center; width:64px; padding:6px 0 7px; border-radius:14px; background:#fff; color:var(--ink); box-shadow:0 14px 26px -12px rgba(0,0,0,.6);}
.rt-date small{font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#B4532F; font-weight:700;}
.rt-date b{font-family:"Anton",sans-serif; font-weight:400; font-size:30px; line-height:1;}
.rt-date em{font-style:normal; font-size:11px; font-weight:700; color:var(--ink-faint);}
.rt-glare{position:absolute; inset:0; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.35) 50%, transparent 65%); background-size:250% 100%; background-position:130% 0; transition:background-position .9s ease; pointer-events:none;}
.reg-ticket:hover .rt-glare{background-position:-30% 0;}
.rt-body{display:grid; align-content:start; gap:8px; padding:22px 26px 22px;}
.rt-state{justify-self:start; display:inline-flex; align-items:center; gap:7px; padding:4px 11px; border-radius:999px; font-size:12px; font-weight:800;}
.rt-state.open{background:rgba(46,107,62,.12); color:#24512E;} .rt-state.open i{width:8px; height:8px; border-radius:50%; background:#2E6B3E; animation:pulse 2s infinite;}
.rt-state.full{background:rgba(184,146,90,.18); color:#7a5a26;} .rt-state.closed{background:rgba(180,83,47,.12); color:#8a2f14;}
.rt-title{font-family:"Anton",sans-serif; font-size:clamp(28px,3.2vw,40px); line-height:1; text-transform:uppercase; color:var(--ink);}
.rt-when{font-weight:800; color:var(--teal-ink);}
.rt-facts{display:flex; flex-wrap:wrap; gap:8px 16px; color:var(--ink-soft); font-size:14.5px; font-weight:600;}
.rt-facts span{display:inline-flex; align-items:center; gap:6px;}
.rt-facts svg{width:16px; height:16px; color:var(--teal-ink);}
.rt-desc{color:var(--ink-soft); line-height:1.55; font-size:14.5px;}
.rt-cta{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:6px;}
.rt-go{display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:12px; background:linear-gradient(100deg,#2E6B3E,#2A5680); color:#fff; font-weight:800; font-size:14px; box-shadow:0 12px 24px -12px rgba(42,86,128,.8);}
.rt-go svg{width:15px; height:15px; transition:transform .25s ease;}
.reg-ticket:hover .rt-go svg{transform:translateX(5px);}
.rt-soon{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#B4532F; font-weight:700;}
.rt-stub{position:relative; display:grid; place-items:center; border-left:2px dashed var(--line-strong); background:linear-gradient(180deg, rgba(184,146,90,.14), rgba(46,107,62,.1));}
.rt-stub::before, .rt-stub::after{content:""; position:absolute; left:-13px; width:24px; height:24px; border-radius:50%; background:var(--bg);}
.rt-stub::before{top:-12px;} .rt-stub::after{bottom:-12px;}
.rt-stub span{writing-mode:vertical-rl; transform:rotate(180deg); font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.35em; text-transform:uppercase; color:var(--ink-faint); font-weight:700;}
.reg-more{margin-top:26px; text-align:center; color:var(--ink-soft);}
.reg-more a{color:var(--teal-ink); font-weight:800;}
#eventModal .pop-regs .reg-ticket{grid-template-columns:minmax(0,1fr); animation:none; opacity:1; translate:none;}
#eventModal .pop-regs .rt-media{min-height:0; aspect-ratio:16/9;}
#eventModal .pop-regs .rt-stub{display:none;}
@media (max-width:860px){ .reg-hero-grid{grid-template-columns:1fr;} .reg-stack{height:170px;} .rs-t{width:190px; height:96px; margin:-48px 0 0 -95px;} .rs-t b{font-size:28px;} }
@media (max-width:700px){ .reg-ticket{grid-template-columns:minmax(0,1fr);} .rt-media{min-height:0; aspect-ratio:16/9;} .rt-stub{display:none;} }
@media (prefers-reduced-motion: reduce){ .reg-confetti{display:none;} .rs-t{animation:none;} .reg-ticket{opacity:1; translate:none; animation:none;} }

/* "More" menu: the Midweek button in its neon look */
.more-menu a.more-mw, .mobile-menu a.more-mw{position:relative; background:linear-gradient(120deg,#0b0c14,#141729); border-radius:12px; box-shadow:inset 0 0 0 1px rgba(139,92,246,.55), 0 0 18px -6px rgba(139,92,246,.8);}
.more-menu a.more-mw{font-family:"Anton",sans-serif; letter-spacing:.06em; text-transform:uppercase; background-clip:padding-box;}
.more-menu a.more-mw, .mobile-menu a.more-mw{color:transparent !important; -webkit-text-fill-color:transparent;}
.more-menu a.more-mw{background-image:linear-gradient(90deg,#3E7BFA,#8B5CF6 45%,#EC4899 75%,#22D3C6), linear-gradient(120deg,#0b0c14,#141729); -webkit-background-clip:text, padding-box; background-clip:text, padding-box;}
.mobile-menu a.more-mw{background-image:linear-gradient(90deg,#3E7BFA,#8B5CF6 45%,#EC4899 75%,#22D3C6), linear-gradient(120deg,#0b0c14,#141729); -webkit-background-clip:text, padding-box; background-clip:text, padding-box; font-family:"Anton",sans-serif; letter-spacing:.06em; text-transform:uppercase;}
.more-menu a.more-mw span{-webkit-text-fill-color:#22D3C6; color:#22D3C6; font-family:"Space Mono",monospace; text-transform:none; letter-spacing:.02em;}
.more-menu a.more-mw:hover, .more-menu a.more-mw:focus-visible{box-shadow:inset 0 0 0 1px rgba(236,72,153,.8), 0 0 26px -4px rgba(236,72,153,.8);}

/* ============================================================
   Start Here boxes: wide "I'm New" and "Your Salvation", lighter photos,
   instant blurred preview, solid glass icon badges (no white flash)
   ============================================================ */
.cube-grid{grid-auto-flow:row dense;}
.cube.is-wide{grid-column:span 2;}
.cube-front.has-img{background-size:cover, cover; background-position:center, center; background-color:#3a4a3e;}
.cube-front.has-img::before{background:linear-gradient(180deg, rgba(12,24,16,0) 0%, rgba(12,24,16,.12) 40%, rgba(12,24,16,.7) 100%);}
.cube-front.has-img h3, .cube-front.has-img .c-sub, .cube-front.has-img .c-kick-touch{text-shadow:0 2px 12px rgba(0,0,0,.65);}
.cube-front.has-img .c-sub{color:rgba(255,255,255,.92);}
.cube-front.has-img .cube-ico{background:rgba(10,20,14,.45); color:#fff; border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 8px 20px -8px rgba(0,0,0,.6);}
.cube.is-wide h3{font-size:clamp(28px,3vw,38px);}
.cube-salvation .cube-front.has-img::after{background:linear-gradient(90deg,#D9C7A3,#8A6436,#D9C7A3);}
.cube-salvation .cube-top{background:linear-gradient(120deg,#8A6436,#2A5680);}
@media (max-width:900px){ .cube.cube-give{grid-column:span 2;} }
/* Homepage Make Room: the parking-lot blueprint */
.mr-band .mr-photo{position:relative; border-color:rgba(127,212,255,.35); box-shadow:0 0 0 1px rgba(127,212,255,.15), 0 30px 60px -30px rgba(10,34,68,.8);}
.mr-plan-tag{position:absolute; left:14px; bottom:12px; padding:5px 11px; border-radius:999px; background:rgba(10,34,68,.8); border:1px solid rgba(127,212,255,.5); color:#BFE6FF; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase;}

/* ============================================================
   Give
   ============================================================ */
.give-hero{position:relative; overflow:hidden; isolation:isolate; min-height:86vh; display:flex; align-items:center; padding:140px 0 80px; color:#fff;}
.give-hero .gh-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; z-index:-3; animation:ghZoom 18s ease-in-out infinite alternate;}
@keyframes ghZoom{from{transform:scale(1.05);} to{transform:scale(1.16) translate(-1.5%,1%);}}
.give-hero .gh-scrim{position:absolute; inset:0; z-index:-2; background:linear-gradient(100deg, rgba(14,24,17,.9) 0%, rgba(14,24,17,.62) 48%, rgba(14,24,17,.18) 100%), linear-gradient(180deg, transparent 60%, var(--bg) 100%);}
.gh-sparks{position:absolute; inset:0; z-index:-1; pointer-events:none;}
.gh-sparks i{position:absolute; bottom:-20px; width:6px; height:6px; border-radius:50%; background:#F3D08F; box-shadow:0 0 10px 2px rgba(243,208,143,.8); opacity:0; animation:ghSpark 7s linear infinite;}
.gh-sparks i:nth-child(1){left:8%;} .gh-sparks i:nth-child(2){left:18%; animation-delay:-1s;} .gh-sparks i:nth-child(3){left:27%; animation-delay:-4s;} .gh-sparks i:nth-child(4){left:36%; animation-delay:-2.5s;}
.gh-sparks i:nth-child(5){left:45%; animation-delay:-5.5s;} .gh-sparks i:nth-child(6){left:55%; animation-delay:-3s;} .gh-sparks i:nth-child(7){left:63%; animation-delay:-6s;} .gh-sparks i:nth-child(8){left:71%; animation-delay:-1.8s;}
.gh-sparks i:nth-child(9){left:79%; animation-delay:-4.6s;} .gh-sparks i:nth-child(10){left:86%; animation-delay:-.6s;} .gh-sparks i:nth-child(11){left:92%; animation-delay:-3.7s;} .gh-sparks i:nth-child(12){left:97%; animation-delay:-5s;}
@keyframes ghSpark{0%{transform:translateY(0) scale(.6); opacity:0;} 15%{opacity:.9;} 100%{transform:translateY(-90vh) translateX(20px) scale(1.1); opacity:0;}}
.gh-inner h1{font-size:clamp(48px,7vw,96px); line-height:.95; color:#fff; margin-top:10px; animation:mfIn 1s .1s cubic-bezier(.2,.9,.25,1) both;}
.gh-accent{background:linear-gradient(90deg,#F3D08F,#D9C7A3 40%,#7DBE84); -webkit-background-clip:text; background-clip:text; color:transparent;}
.give-hero .eyebrow{color:#D9C7A3;} .give-hero .eyebrow::before{background:#D9C7A3;}
.give-hero .intro{max-width:560px; margin-top:18px; color:rgba(255,255,255,.88); font-size:18px;}
.gh-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px;}
.gh-main{display:inline-flex; align-items:center; gap:10px; padding:16px 28px; font-size:16px; box-shadow:0 18px 40px -14px rgba(243,208,143,.55); position:relative; overflow:hidden;}
.gh-main svg{width:18px; height:18px; animation:ghBeat 1.6s ease-in-out infinite;}
@keyframes ghBeat{0%,100%{transform:scale(1);} 15%{transform:scale(1.25);} 30%{transform:scale(1);} 45%{transform:scale(1.18);}}
.gh-main::after{content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transform:skewX(-20deg); animation:ghShine 3.5s ease-in-out infinite;}
@keyframes ghShine{0%,60%{left:-60%;} 100%{left:130%;}}
.gh-ghost{color:#fff; border:1.5px solid rgba(255,255,255,.55); background:rgba(255,255,255,.08); backdrop-filter:blur(6px);}
.gh-ghost:hover{background:rgba(255,255,255,.18); color:#fff;}
.gh-trust{list-style:none; margin:26px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px 22px;}
.gh-trust li{display:flex; align-items:center; gap:8px; font-size:14px; color:rgba(255,255,255,.85); font-weight:600;}
.gh-trust li::before{content:"✓"; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:11px; font-weight:900; background:#7DBE84; color:#0E1811;}
.give-sec{padding-block:64px;}
.fund-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; perspective:1400px;}
.fund-card{display:flex; flex-direction:column; text-decoration:none; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:0 26px 50px -32px rgba(19,42,22,.55);
  opacity:0; translate:0 40px; animation:cardIn .8s cubic-bezier(.2,.9,.25,1) forwards; animation-delay:calc(var(--i) * .1s + .1s); animation-play-state:paused; transition:transform .45s cubic-bezier(.2,.9,.25,1), box-shadow .3s ease;}
.reveal.in .fund-card{animation-play-state:running;}
.fund-card:hover{transform:translateY(-8px) rotateX(4deg); box-shadow:0 36px 70px -32px rgba(19,42,22,.7);}
.fc2-media{position:relative; display:block; aspect-ratio:16/10; overflow:hidden;}
.fc2-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.9,.25,1);}
.fund-card:hover .fc2-media img{transform:scale(1.07);}
.fc2-glare{position:absolute; inset:0; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.4) 50%, transparent 65%); background-size:250% 100%; background-position:130% 0; transition:background-position .9s ease;}
.fund-card:hover .fc2-glare{background-position:-30% 0;}
.fc2-body{display:grid; gap:8px; padding:18px 20px 22px; flex:1; align-content:start; border-top:3px solid #B8925A;}
.fc2-name{font-family:"Anton",sans-serif; font-size:22px; line-height:1.1; text-transform:uppercase;}
.fc2-desc{color:var(--ink-soft); font-size:14.5px; line-height:1.55;}
.fc2-go{display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:6px; font-weight:800; font-size:14px; color:var(--teal-ink);}
.fc2-go svg{width:15px; height:15px; transition:transform .25s ease;}
.fund-card:hover .fc2-go svg{transform:translateX(5px);}
.give-ways-sec{background:linear-gradient(180deg, transparent, rgba(46,107,62,.07), transparent);}
.ways-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.way-card{display:grid; gap:10px; align-content:start; padding:24px 22px; border-radius:22px; background:var(--surface); border:1px solid var(--line); text-decoration:none; color:var(--ink); box-shadow:0 20px 40px -32px rgba(19,42,22,.6);
  opacity:0; translate:0 30px; animation:cardIn .8s cubic-bezier(.2,.9,.25,1) forwards; animation-delay:calc(var(--i) * .1s + .1s); animation-play-state:paused; transition:transform .35s cubic-bezier(.2,.9,.25,1), border-color .3s ease;}
.reveal.in .way-card{animation-play-state:running;}
a.way-card:hover{transform:translateY(-6px); border-color:var(--teal);}
.way-ico{width:52px; height:52px; border-radius:16px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#2E6B3E,#2A5680); box-shadow:0 12px 24px -12px rgba(42,86,128,.8);}
.way-ico svg{width:26px; height:26px;}
.way-card:hover .way-ico{animation:ghBeat 1.2s ease-in-out;}
.way-card h3{font-size:24px;}
.way-card p{color:var(--ink-soft); line-height:1.55; font-size:14.5px;}
.way-go{display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:14px; color:var(--teal-ink);}
.way-go svg{width:15px; height:15px;}
.way-static{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#8A6436;}
.give-verse-sec{padding-block:40px;}
.give-verse{margin:0 auto; max-width:900px; text-align:center; padding:44px 30px; border-radius:28px; background:linear-gradient(135deg,#1C2A1E,#12304a); color:#fff; font-family:"Anton",sans-serif; font-size:clamp(24px,3.4vw,40px); line-height:1.2; text-transform:uppercase; box-shadow:0 40px 80px -40px rgba(12,24,16,.8); position:relative; overflow:hidden;}
.give-verse::before{content:""; position:absolute; inset:0; background:radial-gradient(40% 60% at 20% 20%, rgba(243,208,143,.25), transparent 70%), radial-gradient(40% 60% at 80% 80%, rgba(125,190,132,.2), transparent 70%); animation:mhDrift 10s ease-in-out infinite alternate;}
.give-verse cite{display:block; margin-top:14px; font-family:"Space Mono",monospace; font-style:normal; font-size:13px; letter-spacing:.2em; color:#F3D08F;}
.impact-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;}
.impact-card{position:relative; display:block; aspect-ratio:3/4; border-radius:22px; overflow:hidden; text-decoration:none; color:#fff; box-shadow:0 26px 50px -30px rgba(19,42,22,.7);
  opacity:0; translate:0 40px; animation:cardIn .8s cubic-bezier(.2,.9,.25,1) forwards; animation-delay:calc(var(--i) * .1s + .1s); animation-play-state:paused;}
.reveal.in .impact-card{animation-play-state:running;}
.impact-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.9,.25,1);}
.impact-card:hover img{transform:scale(1.08);}
.impact-card::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(10,18,13,.9));}
.impact-card span{position:absolute; left:18px; right:18px; bottom:18px; z-index:1; display:grid; gap:6px; font-size:14.5px; line-height:1.45; color:rgba(255,255,255,.9);}
.impact-card b{font-family:"Anton",sans-serif; font-weight:400; font-size:28px; text-transform:uppercase; color:#fff;}
.give-faq{display:grid; gap:12px;}
.give-faq details{border-radius:16px; background:var(--surface); border:1px solid var(--line); padding:4px 20px; transition:border-color .3s ease;}
.give-faq details[open]{border-color:rgba(46,107,62,.45);}
.give-faq summary{cursor:pointer; list-style:none; padding:16px 0; font-weight:800; font-size:17px; display:flex; justify-content:space-between; gap:12px;}
.give-faq summary::-webkit-details-marker{display:none;}
.give-faq summary::after{content:"+"; font-size:22px; line-height:1; color:var(--teal-ink); transition:transform .3s ease;}
.give-faq details[open] summary::after{transform:rotate(45deg);}
.give-faq p{padding:0 0 18px; color:var(--ink-soft); line-height:1.65;}
.give-faq a{color:var(--teal-ink); font-weight:800;}
@media (max-width:980px){ .ways-grid, .impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .ways-grid{grid-template-columns:1fr;} .give-hero{min-height:auto; padding:120px 0 60px;} }
@media (prefers-reduced-motion: reduce){ .give-hero .gh-bg, .gh-sparks i, .gh-main svg, .gh-main::after, .give-verse::before{animation:none;} .fund-card, .way-card, .impact-card{opacity:1; translate:none; animation:none;} }

/* ============================================================
   Your Salvation: from dark to light, a timeline that fills as you scroll
   ============================================================ */
#view-salvation{--sv-gold:#F3D08F; --sv-deep:#0B1320;}
.sv-hero{position:relative; overflow:hidden; isolation:isolate; min-height:100vh; display:flex; align-items:center; text-align:center; color:#fff;
  background:radial-gradient(60% 50% at 50% 0%, rgba(243,208,143,.35), transparent 70%), linear-gradient(180deg,#05080f 0%, #0B1320 60%, #1a2233 100%);}
.sv-rays{position:absolute; inset:0; z-index:-1; pointer-events:none;}
.sv-rays span{position:absolute; top:-10%; left:50%; width:14vw; height:130%; margin-left:-7vw; transform-origin:50% 0; background:linear-gradient(180deg, rgba(243,208,143,.35), transparent 75%); filter:blur(10px); animation:svRay 8s ease-in-out infinite alternate;}
.sv-rays span:nth-child(1){--r:-38deg;} .sv-rays span:nth-child(2){--r:-18deg; animation-delay:-2s;} .sv-rays span:nth-child(3){--r:0deg; animation-delay:-4s; opacity:.9;} .sv-rays span:nth-child(4){--r:18deg; animation-delay:-1s;} .sv-rays span:nth-child(5){--r:38deg; animation-delay:-3s;}
@keyframes svRay{from{transform:rotate(var(--r)) scaleY(.9); opacity:.45;} to{transform:rotate(calc(var(--r) + 5deg)) scaleY(1.05); opacity:1;}}
.sv-dust i{position:absolute; bottom:-10px; width:4px; height:4px; border-radius:50%; background:#fff; box-shadow:0 0 8px #F3D08F; opacity:0; animation:ghSpark 9s linear infinite;}
.sv-dust i:nth-child(1){left:10%;} .sv-dust i:nth-child(2){left:22%; animation-delay:-2s;} .sv-dust i:nth-child(3){left:34%; animation-delay:-5s;} .sv-dust i:nth-child(4){left:46%; animation-delay:-1s;} .sv-dust i:nth-child(5){left:55%; animation-delay:-6s;}
.sv-dust i:nth-child(6){left:64%; animation-delay:-3s;} .sv-dust i:nth-child(7){left:73%; animation-delay:-7s;} .sv-dust i:nth-child(8){left:82%; animation-delay:-4s;} .sv-dust i:nth-child(9){left:90%; animation-delay:-8s;} .sv-dust i:nth-child(10){left:28%; animation-delay:-6.5s;}
.sv-hero-inner{position:relative; padding:140px 0 110px;}
.sv-cross{width:84px; height:auto; margin:0 auto 18px; display:block; fill:none; stroke:var(--sv-gold); stroke-width:2.5; stroke-linejoin:round; filter:drop-shadow(0 0 14px rgba(243,208,143,.8));}
.sv-cross path{stroke-dasharray:1; stroke-dashoffset:1; animation:bpDraw 2.4s .3s cubic-bezier(.45,.05,.25,1) forwards, svCrossFill 1.2s 2.4s ease forwards;}
@keyframes svCrossFill{to{fill:rgba(243,208,143,.18);}}
.sv-hero .eyebrow{color:var(--sv-gold);} .sv-hero .eyebrow::before{background:var(--sv-gold);}
.sv-hero h1{font-size:clamp(44px,7.4vw,104px); line-height:.95; color:#fff; margin-top:10px; animation:fnTitle 1.2s .5s cubic-bezier(.2,.9,.25,1) both;}
.sv-hero h1 span{background:linear-gradient(90deg,#F3D08F,#fff 50%,#7FB0DE); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:mhShine 5s ease-in-out infinite alternate;}
.sv-hero .lede{max-width:640px; margin:22px auto 0; font-size:18.5px; color:rgba(255,255,255,.85);}
.sv-ctas{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px;}
.sv-ghost{color:#fff; border:1.5px solid rgba(243,208,143,.6); background:rgba(243,208,143,.08);}
.sv-ghost:hover{background:rgba(243,208,143,.2); color:#fff;}
.sv-scroll{display:block; width:28px; height:46px; margin:44px auto 0; border:2px solid rgba(255,255,255,.5); border-radius:16px; position:relative;}
.sv-scroll span{position:absolute; left:50%; top:8px; width:4px; height:8px; margin-left:-2px; border-radius:2px; background:var(--sv-gold); animation:svScroll 1.8s ease-in-out infinite;}
@keyframes svScroll{0%{transform:translateY(0); opacity:1;} 80%{transform:translateY(16px); opacity:0;} 100%{opacity:0;}}

.sv-journey{position:relative; padding:80px 0 60px; background:linear-gradient(180deg,#1a2233 0%, #2b3346 18%, #6b6a6e 38%, #d9cbb0 62%, var(--bg) 85%);}
.sv-rail{position:sticky; top:86px; z-index:5; list-style:none; margin:0 auto 40px; padding:6px; display:flex; flex-wrap:wrap; justify-content:center; gap:6px; width:max-content; max-width:100%; border-radius:999px; background:rgba(11,19,32,.72); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(243,208,143,.3);}
.sv-rail a{display:block; padding:8px 14px; border-radius:999px; color:rgba(255,255,255,.7); font-size:13px; font-weight:800; text-decoration:none; transition:background .3s ease, color .3s ease;}
.sv-rail a.is-on{color:var(--sv-gold);}
.sv-rail a.is-now{background:var(--sv-gold); color:#1a1405;}
.sv-timeline{position:relative; display:grid; gap:70px; padding:10px 0;}
.sv-line{position:absolute; left:50%; top:0; bottom:0; width:4px; margin-left:-2px; border-radius:2px; background:rgba(255,255,255,.18);}
.sv-line span{position:absolute; inset:0; transform-origin:50% 0; transform:scaleY(0); background:linear-gradient(180deg,#7FB0DE,#F3D08F 60%,#7DBE84); box-shadow:0 0 18px rgba(243,208,143,.8); border-radius:2px;}
.sv-step{position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center;}
.sv-node{position:absolute; left:50%; top:50%; width:64px; height:64px; margin:-32px 0 0 -32px; z-index:2; border-radius:50%; display:grid; place-items:center; background:#0B1320; border:3px solid rgba(255,255,255,.3); transition:all .6s cubic-bezier(.2,.9,.25,1);}
.sv-node span{font-family:"Anton",sans-serif; font-size:22px; color:rgba(255,255,255,.6);}
.sv-step.is-on .sv-node{background:var(--sv-gold); border-color:#fff; box-shadow:0 0 0 8px rgba(243,208,143,.25), 0 0 40px rgba(243,208,143,.9); transform:scale(1.08);}
.sv-step.is-on .sv-node span{color:#1a1405;}
.sv-card{grid-column:1; margin-right:60px; border-radius:26px; overflow:hidden; background:rgba(255,255,255,.96); color:#1C2A1E; box-shadow:0 40px 80px -40px rgba(0,0,0,.7);
  opacity:0; transform:translateX(-60px) rotateY(12deg); transition:opacity .9s ease, transform 1s cubic-bezier(.2,.9,.25,1);}
.sv-step.is-right .sv-card{grid-column:2; margin:0 0 0 60px; transform:translateX(60px) rotateY(-12deg);}
.sv-step.is-on .sv-card{opacity:1; transform:none;}
.sv-photo{aspect-ratio:16/8; overflow:hidden;}
.sv-photo img{width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.15); transition:transform 1.6s cubic-bezier(.2,.9,.25,1);}
.sv-step.is-on .sv-photo img{transform:scale(1);}
.sv-copy{padding:26px 28px 28px;}
.sv-kicker{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#8A6436; font-weight:700;}
.sv-copy h2{font-size:clamp(30px,3.6vw,44px); margin:6px 0 12px; color:#1C2A1E;}
.sv-copy p{line-height:1.7; color:#3b4a3e; margin-top:10px;}
.sv-copy b{color:#1C2A1E;}
.sv-list{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:10px;}
.sv-list li > *{display:grid; gap:2px; padding:12px 14px; border-radius:14px; background:#F6F0E3; border:1px solid rgba(138,100,54,.2); text-decoration:none; color:#1C2A1E; transition:transform .25s ease, border-color .25s ease;}
.sv-list li > a:hover{transform:translateX(4px); border-color:#8A6436;}
.sv-list span{color:#5a655c; font-size:14.5px;}
.sv-verse{margin:18px 0 0; padding:16px 20px; border-left:4px solid #D9A94A; border-radius:0 14px 14px 0; background:linear-gradient(90deg, rgba(243,208,143,.25), transparent); font-weight:700; font-size:17px; color:#2b2a1e;}
.sv-verse cite{display:block; margin-top:6px; font-style:normal; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; color:#8A6436;}
.sv-prayer{margin-top:18px; padding:20px 22px; border-radius:18px; background:linear-gradient(135deg,#0B1320,#1f2c44); color:#fff;}
.sv-prayer-lab{font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--sv-gold) !important; margin:0 !important;}
.sv-prayer-txt{font-size:18px; font-weight:700; line-height:1.6; color:#fff !important; font-style:italic;}
.sv-prayer .rh-fine{color:rgba(255,255,255,.7) !important;}
.sv-prayer a{color:var(--sv-gold);}
.sv-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;}
.sv-pop-btn{border:1.5px solid #8A6436; color:#8A6436; background:transparent;}
.sv-pop-btn:hover{background:#8A6436; color:#fff;}
.sv-pop-btn.light{border-color:rgba(255,255,255,.7); color:#fff;}
.sv-pop-btn.light:hover{background:#fff; color:#12406b;}
.sv-baptize{display:inline-flex; align-items:center; gap:8px; background:linear-gradient(100deg,#1a6fb0,#2A5680); border-color:transparent; box-shadow:0 14px 30px -12px rgba(26,111,176,.8); animation:svBob 2.6s ease-in-out infinite;}
@keyframes svBob{0%,100%{transform:translateY(0);} 50%{transform:translateY(-4px);}}

.sv-baptize-sec{position:relative; overflow:hidden; isolation:isolate; padding:90px 0 110px; color:#fff; background:linear-gradient(180deg,#0e4a7a 0%, #0b3a63 55%, #082a4a 100%);}
.sv-water{position:absolute; inset:0; z-index:-1; pointer-events:none;}
.sv-water span{position:absolute; left:-50%; width:200%; height:140px; top:-60px; border-radius:43%; background:rgba(127,200,255,.14); animation:svWave 14s linear infinite;}
.sv-water span:nth-child(2){top:-80px; background:rgba(127,200,255,.1); animation-duration:19s; animation-direction:reverse;}
.sv-water span:nth-child(3){top:auto; bottom:-90px; height:180px; background:rgba(255,255,255,.07); animation-duration:23s;}
@keyframes svWave{to{transform:rotate(360deg);}}
.sv-baptize-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:36px; align-items:start;}
.sv-baptize-copy h2{font-size:clamp(36px,4.6vw,60px); color:#fff; margin:8px 0 12px;}
.sv-baptize-copy p{color:rgba(255,255,255,.88); line-height:1.7; margin-bottom:18px;}
.sv-baptize-sec .eyebrow{color:#BFE6FF;} .sv-baptize-sec .eyebrow::before{background:#BFE6FF;}
.sv-bap-photo{margin-top:22px; border-radius:22px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 30px 60px -30px rgba(0,0,0,.7); border:3px solid rgba(255,255,255,.25);}
.sv-bap-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.sv-form-card{padding:clamp(20px,3vw,32px); border-radius:26px; background:#fff; color:#1C2A1E; box-shadow:0 40px 80px -40px rgba(0,0,0,.8);}
.sv-form-card .rh-field label, .sv-form-card .rh-choices legend{color:#1C2A1E;}
.sv-form-card .rh-choices label{color:#3b4a3e;}
.bp-minor summary{cursor:pointer; font-weight:800; color:#2A5680;}
.bp-minor[open] summary{margin-bottom:12px;}
.bp-go{font-size:16px; padding:16px 28px; background:linear-gradient(100deg,#1a6fb0,#2A5680); border-color:transparent;}
.sv-end{padding:80px 0; text-align:center;}
.sv-end h2{font-size:clamp(30px,4vw,48px);}
.sv-end p{color:var(--ink-soft); margin-top:10px;}

.sv-dialog{width:min(760px,92vw); max-height:86vh; overflow:auto; border:0; padding:34px clamp(22px,4vw,40px) 30px; border-radius:28px; background:#fff; color:#1C2A1E; box-shadow:0 50px 120px -30px rgba(0,0,0,.8);}
.sv-dialog::backdrop{background:rgba(5,8,15,.72); backdrop-filter:blur(6px);}
.sv-dialog[open]{animation:svPop .5s cubic-bezier(.2,.9,.25,1);}
@keyframes svPop{from{opacity:0; transform:translateY(30px) scale(.96);} to{opacity:1; transform:none;}}
.sv-dialog h2{font-size:clamp(30px,4vw,44px); margin:6px 0 12px; color:#1C2A1E;}
.sv-dialog p{line-height:1.7; color:#3b4a3e;}
.sv-dialog .eyebrow{color:#8A6436;}
.sv-x{position:absolute; top:14px; right:14px; width:42px; height:42px; border-radius:50%; border:1px solid rgba(0,0,0,.15); background:#fff; font-size:26px; line-height:1; cursor:pointer; color:#1C2A1E;}
.sv-g-steps{margin:16px 0 0; padding:0; list-style:none; counter-reset:g; display:grid; gap:12px;}
.sv-g-steps li{counter-increment:g; position:relative; padding:14px 16px 14px 60px; border-radius:16px; background:#F6F0E3; line-height:1.6; color:#3b4a3e;}
.sv-g-steps li::before{content:counter(g); position:absolute; left:14px; top:12px; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; font-family:"Anton",sans-serif; background:#8A6436; color:#fff;}
.sv-d-verse{margin-top:18px; padding:16px 20px; border-radius:16px; background:linear-gradient(135deg,#0B1320,#1f2c44); color:#fff !important; font-weight:700;}
.sv-d-verse cite{display:block; font-style:normal; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; color:var(--sv-gold); margin-top:6px;}
.sv-bap-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px;}
.sv-bap-grid > div{padding:16px 18px; border-radius:16px; background:#EEF5FB; border:1px solid rgba(42,86,128,.18);}
.sv-bap-grid b{color:#12406b;}
.sv-bap-grid p{margin-top:6px; font-size:15px;}
.sv-d-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
@media (max-width:860px){
  .sv-line{left:26px;}
  .sv-step, .sv-step.is-right{grid-template-columns:1fr;}
  .sv-node{left:26px; top:40px;}
  .sv-card, .sv-step.is-right .sv-card{grid-column:1; margin:0 0 0 62px; transform:translateY(40px);}
  .sv-baptize-grid{grid-template-columns:1fr;}
  .sv-bap-grid{grid-template-columns:1fr;}
  .sv-rail{top:76px;} .sv-rail a{padding:7px 10px; font-size:12px;}
}
@media (max-width:520px){ .sv-card, .sv-step.is-right .sv-card{margin-left:54px;} .sv-node{width:50px; height:50px; margin:-25px 0 0 -25px; left:26px;} .sv-copy{padding:20px;} }
@media (prefers-reduced-motion: reduce){ .sv-rays span, .sv-dust i, .sv-water span, .sv-baptize, .sv-hero h1, .sv-hero h1 span{animation:none;} .sv-cross path{animation:none; stroke-dashoffset:0;} .sv-card{opacity:1; transform:none; transition:none;} }
.sv-step{perspective:1400px;}
#view-salvation .sv-hero .eyebrow{color:#F3D08F;} #view-salvation .sv-hero .eyebrow::before{background:#F3D08F;}
#view-salvation .sv-baptize-sec .eyebrow{color:#BFE6FF;} #view-salvation .sv-baptize-sec .eyebrow::before{background:#BFE6FF;}
#view-salvation .sv-dialog .eyebrow, #view-salvation .sv-kicker{color:#8A6436;}
@media (max-width:860px){ .sv-rail{flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; max-width:calc(100vw - 32px); scrollbar-width:none;} .sv-rail::-webkit-scrollbar{display:none;} .sv-rail li{flex:none;} }
#view-give .give-hero .eyebrow{color:#D9C7A3;} #view-give .give-hero .eyebrow::before{background:#D9C7A3;}
.more-menu a.more-mw, .mobile-menu a.more-mw{background-size:150px 100%, 100% 100%; background-repeat:repeat-x, no-repeat; animation:mwMenuShine 4s linear infinite;}
@keyframes mwMenuShine{to{background-position:150px 0, 0 0;}}
@media (prefers-reduced-motion: reduce){ .more-menu a.more-mw, .mobile-menu a.more-mw{animation:none;} }

/* Start Here boxes: the front face sits exactly in its grid slot (no perspective blow-up
   that made the boxes, especially the wide ones, spill over their neighbors). */
@media (hover:hover){
  .cube-grid .cube-inner{transform:translateZ(-100px);}
  .cube-grid .cube:hover .cube-inner, .cube-grid .cube:focus-visible .cube-inner{transform:translateZ(-100px) rotateX(-90deg);}
}
@media (hover:hover) and (max-width:560px){
  .cube-grid .cube-inner{transform:translateZ(-79px);}
  .cube-grid .cube:hover .cube-inner, .cube-grid .cube:focus-visible .cube-inner{transform:translateZ(-79px) rotateX(-90deg);}
}
@media (hover:hover) and (prefers-reduced-motion: reduce){
  .cube-grid .cube:hover .cube-inner, .cube-grid .cube:focus-visible .cube-inner{transform:translateZ(-100px);}
}
/* Flow: wide box left on the top row, wide box right on the bottom row */
@media (min-width:901px){ .cube-grid .cube-give{order:6;} .cube-grid .cube-salvation{order:7;} }
.cube-grid .cube.is-wide .cube-front.has-img{background-position:center 40%, center;}

/* ---------- What We Believe (2026-09-29) ---------- */
#view-believe{--bf-gold:#F3D08F; --bf-green:#7DBE84; --bf-blue:#7FB0DE;}
.bf-hero{position:relative; overflow:hidden; isolation:isolate; min-height:92vh; display:flex; align-items:center; text-align:center; color:#fff;
  background:radial-gradient(55% 45% at 50% 18%, rgba(243,208,143,.28), transparent 70%), radial-gradient(40% 40% at 15% 90%, rgba(46,107,62,.45), transparent 70%), radial-gradient(40% 40% at 88% 85%, rgba(42,86,128,.5), transparent 70%), linear-gradient(180deg,#05080f 0%, #0B1320 65%, #13202a 100%);}
.bf-glow{position:absolute; left:50%; top:30%; width:60vmin; height:60vmin; margin:-30vmin 0 0 -30vmin; border-radius:50%; background:radial-gradient(circle, rgba(243,208,143,.35), transparent 65%); filter:blur(20px); z-index:-1; animation:bfBreath 6s ease-in-out infinite alternate;}
@keyframes bfBreath{from{transform:scale(.85); opacity:.6;} to{transform:scale(1.15); opacity:1;}}
.bf-dust{position:absolute; inset:0; z-index:-1; pointer-events:none;}
.bf-hero-inner{position:relative; padding:130px 0 90px;}
.bf-bible{width:min(260px,62vw); height:auto; display:block; margin:0 auto 16px; fill:none; stroke:var(--bf-gold); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 16px rgba(243,208,143,.7)); overflow:visible;}
.bf-bible path{stroke-dasharray:1; stroke-dashoffset:1;}
.bf-bible .bf-pg{animation:bpDraw 1.8s .2s cubic-bezier(.45,.05,.25,1) forwards, bfPageFill 1s 1.9s ease forwards;}
.bf-bible .bf-pg.r{animation-delay:.45s, 2.1s;}
.bf-bible .bf-ln{stroke-width:1.4; opacity:.75; animation:bpDraw 1.6s 1.6s ease forwards;}
.bf-bible .bf-x{stroke-width:3; animation:bpDraw 1.1s 2.6s ease forwards, bfShine 3s 3.7s ease-in-out infinite alternate;}
@keyframes bfPageFill{to{fill:rgba(243,208,143,.12);}}
@keyframes bfShine{from{filter:none;} to{filter:drop-shadow(0 0 10px #fff);}}
#view-believe .bf-hero .eyebrow{color:var(--bf-gold); justify-content:center;} #view-believe .bf-hero .eyebrow::before{background:var(--bf-gold);}
.bf-hero h1{font-size:clamp(46px,7.6vw,108px); line-height:.95; color:#fff; margin-top:10px; animation:fnTitle 1.2s .4s cubic-bezier(.2,.9,.25,1) both;}
.bf-hero h1 span{background:linear-gradient(90deg,#F3D08F,#fff 45%,#7DBE84 70%,#7FB0DE); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:mhShine 5s ease-in-out infinite alternate;}
.bf-hero .lede{max-width:640px; margin:22px auto 0; font-size:18.5px; color:rgba(255,255,255,.85); animation:fnTitle 1s .8s ease both;}
.bf-hero .sv-ctas{animation:fnTitle 1s 1s ease both;}
.bf-stats{list-style:none; display:flex; justify-content:center; gap:clamp(18px,5vw,56px); margin:46px auto 0; padding:0; animation:fnTitle 1s 1.3s ease both;}
.bf-stats li{display:flex; flex-direction:column; align-items:center;}
.bf-stats b{font-size:clamp(34px,4.4vw,52px); line-height:1; font-weight:900; color:var(--bf-gold); text-shadow:0 0 22px rgba(243,208,143,.5); font-variant-numeric:tabular-nums;}
.bf-stats span{font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7); margin-top:8px;}

.bf-head{max-width:720px; margin:0 auto 44px; text-align:center;}
.bf-head .eyebrow{justify-content:center;}
.bf-head h2{font-size:clamp(32px,4.4vw,54px); line-height:1.02; margin-top:8px;}
.bf-head p:not(.eyebrow){color:var(--ink-soft); margin-top:14px; font-size:17px;}
#view-believe .bf-story .eyebrow, #view-believe .bf-core .eyebrow, #view-believe .bf-full .eyebrow{color:#8A6436;} #view-believe .bf-story .eyebrow::before, #view-believe .bf-core .eyebrow::before, #view-believe .bf-full .eyebrow::before{background:#8A6436;}

/* The Big Story */
.bf-story{padding:100px 0 70px; background:linear-gradient(180deg,#13202a 0%, #1d2c35 24%, #5f6660 40%, #d6cbb4 54%, var(--bg) 64%);}
.bf-story .bf-head h2{color:#fff; text-shadow:0 2px 24px rgba(0,0,0,.35);} .bf-story .bf-head p:not(.eyebrow){color:rgba(255,255,255,.82);}
#view-believe .bf-story .bf-head .eyebrow{color:var(--bf-gold);} #view-believe .bf-story .bf-head .eyebrow::before{background:var(--bf-gold);}
.bf-chap-wrap{position:relative;}
.bf-chapters{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative;}
.bf-track{position:absolute; left:6%; right:6%; top:52px; height:4px; border-radius:4px; background:rgba(28,42,30,.12); overflow:hidden;}
.bf-track span{position:absolute; inset:0; transform-origin:0 50%; transform:scaleX(var(--p,0)); background:linear-gradient(90deg,#2E6B3E,#B8925A 50%,#2A5680); box-shadow:0 0 14px rgba(184,146,90,.7);}
.bf-chap{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:26px 22px 24px; text-align:center; box-shadow:0 24px 50px -30px rgba(12,20,30,.45);
  opacity:0; transform:translateY(46px) scale(.96); transition:opacity .8s calc(var(--i) * 120ms) ease, transform .9s calc(var(--i) * 120ms) cubic-bezier(.2,.9,.25,1), box-shadow .3s;}
.bf-chap.is-on{opacity:1; transform:none;}
.bf-chap-ico{width:78px; height:78px; margin:-2px auto 10px; border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle at 35% 30%, #fff, #EFE6D3); border:1px solid var(--line); box-shadow:0 10px 26px -12px rgba(138,100,54,.6); position:relative; z-index:1;}
.bf-chap-ico svg{width:48px; height:48px; fill:none; stroke:#2A5680; stroke-width:5; stroke-linecap:round; stroke-linejoin:round;}
.bf-chap-ico path{stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.4s calc(var(--i) * 120ms + .25s) cubic-bezier(.45,.05,.25,1);}
.bf-chap.is-on .bf-chap-ico path{stroke-dashoffset:0;}
.bf-chap-n{font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:#8A6436; font-weight:800;}
.bf-chap h3{font-size:28px; margin-top:4px;}
.bf-chap p{color:var(--ink-soft); font-size:15px; margin-top:8px; line-height:1.55;}
.bf-chap .bf-ref{font-size:13px; font-weight:800; color:#2E6B3E; letter-spacing:.04em;}
.bf-chap.is-key{background:linear-gradient(160deg,#0B1320,#1c2f3f); border-color:rgba(243,208,143,.5); color:#fff; box-shadow:0 30px 60px -26px rgba(11,19,32,.8), 0 0 0 1px rgba(243,208,143,.25), 0 0 40px -10px rgba(243,208,143,.5);}
.bf-chap.is-key h3{color:#fff;} .bf-chap.is-key p{color:rgba(255,255,255,.82);} .bf-chap.is-key .bf-ref{color:var(--bf-gold);} .bf-chap.is-key .bf-chap-n{color:var(--bf-gold);}
.bf-chap.is-key .bf-chap-ico{background:radial-gradient(circle at 35% 30%, #fff6e2, #F3D08F); border-color:#F3D08F; box-shadow:0 0 30px rgba(243,208,143,.8);}
.bf-chap.is-key .bf-chap-ico svg{stroke:#8A6436;}
.bf-chap-link{display:inline-flex; gap:6px; margin-top:14px; font-weight:800; font-size:14px; color:var(--bf-gold); border-bottom:1.5px solid rgba(243,208,143,.5); padding-bottom:2px;}
.bf-chap-link:hover{color:#fff; border-color:#fff;}
@media (max-width:900px){
  .bf-chapters{grid-template-columns:1fr 1fr;}
  .bf-track{display:none;}
}
@media (max-width:560px){
  .bf-chapters{grid-template-columns:1fr; gap:16px; padding-left:34px;}
  .bf-track{display:block; left:14px; right:auto; top:10px; bottom:10px; width:4px; height:auto;}
  .bf-track span{transform-origin:50% 0; transform:scaleY(var(--p,0));}
  .bf-chap{text-align:left; transform:translateX(30px);}
  .bf-chap-ico{margin:0 0 10px;}
}

/* Six core beliefs */
.bf-core{padding:40px 0 100px;}
.bf-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; perspective:1200px;}
.bf-card{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:24px; padding:30px 26px 26px; overflow:hidden; display:flex; flex-direction:column;
  box-shadow:0 26px 50px -34px rgba(12,20,30,.5); transition:transform .5s cubic-bezier(.2,.9,.25,1), box-shadow .4s, opacity .8s, translate .8s;}
.bf-card.reveal{opacity:0; translate:0 40px;} .bf-card.reveal.in{opacity:1; translate:0 0; transition-delay:calc(var(--i) * 90ms);}
.bf-card::before{content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,#2E6B3E,#B8925A,#2A5680); transform:scaleX(0); transform-origin:0 50%; transition:transform .9s .2s cubic-bezier(.2,.9,.25,1);}
.bf-card.in::before{transform:scaleX(1);}
.bf-card::after{content:""; position:absolute; width:220px; height:220px; right:-80px; top:-80px; border-radius:50%; background:radial-gradient(circle, rgba(184,146,90,.18), transparent 70%); transition:transform .6s;}
@media (hover:hover){ .bf-card:hover{transform:translateY(-8px) rotateX(3deg); box-shadow:0 40px 70px -34px rgba(12,20,30,.6);} .bf-card:hover::after{transform:scale(1.5);} }
.bf-card-ico{width:62px; height:62px; border-radius:18px; display:grid; place-items:center; background:linear-gradient(140deg,#24512E,#2A5680); box-shadow:0 14px 26px -12px rgba(42,86,128,.8);}
.bf-card-ico svg{width:36px; height:36px; fill:none; stroke:#F3D08F; stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round;}
.bf-card-ico path{stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.6s calc(var(--i) * 90ms + .3s) cubic-bezier(.45,.05,.25,1);}
.bf-card.in .bf-card-ico path{stroke-dashoffset:0;}
.bf-card h3{font-size:26px; margin-top:18px;}
.bf-card > p{color:var(--ink-soft); margin-top:10px; font-size:15.5px; line-height:1.6;}
.bf-card blockquote{margin:18px 0 0; padding:14px 16px; border-left:3px solid #B8925A; background:rgba(184,146,90,.09); border-radius:0 12px 12px 0; font-style:italic; font-size:14.5px; color:var(--ink); line-height:1.5;}
.bf-card blockquote cite{display:block; font-style:normal; font-weight:800; font-size:12.5px; color:#8A6436; margin-top:6px; letter-spacing:.04em;}
.bf-card-link{margin-top:auto; padding-top:18px; font-weight:800; font-size:14.5px; color:#2E6B3E; display:inline-flex; gap:6px; align-self:flex-start;}
.bf-card-link span{transition:transform .3s;} .bf-card-link:hover span{transform:translateX(5px);}
@media (max-width:980px){ .bf-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .bf-grid{grid-template-columns:1fr;} }

/* Bridge into Your Salvation */
.bf-bridge{position:relative; overflow:hidden; isolation:isolate; padding:110px 0; color:#fff; text-align:center; background:#0B1320;}
.bf-bridge-bg{position:absolute; inset:-8%; z-index:-2; background-size:cover; background-position:center 25%; opacity:.4; filter:saturate(1.1); animation:bfDrift 22s ease-in-out infinite alternate;}
.bf-bridge::before{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(70% 60% at 50% 40%, rgba(11,19,32,.35), rgba(11,19,32,.92)), linear-gradient(180deg, rgba(11,19,32,.6), rgba(11,19,32,.2) 50%, rgba(11,19,32,.8));}
@keyframes bfDrift{from{transform:scale(1.02) translate(0,0);} to{transform:scale(1.12) translate(-2%,-2%);}}
#view-believe .bf-bridge .eyebrow{color:var(--bf-gold); justify-content:center;} #view-believe .bf-bridge .eyebrow::before{background:var(--bf-gold);}
.bf-bridge h2{font-size:clamp(36px,5.4vw,68px); color:#fff; margin-top:8px;}
.bf-bridge-lede{max-width:600px; margin:14px auto 0; color:rgba(255,255,255,.85); font-size:17.5px;}
.bf-steps{list-style:none; margin:48px auto 10px; padding:0; display:flex; justify-content:center; gap:0; max-width:980px; position:relative;}
.bf-steps::before{content:""; position:absolute; left:10%; right:10%; top:31px; height:2px; background:rgba(255,255,255,.18);}
.bf-steps::after{content:""; position:absolute; left:10%; right:10%; top:31px; height:2px; background:linear-gradient(90deg,#7DBE84,#F3D08F,#7FB0DE); transform:scaleX(0); transform-origin:0 50%; transition:transform 1.8s .2s cubic-bezier(.45,.05,.25,1); box-shadow:0 0 12px rgba(243,208,143,.8);}
.bf-steps.is-on::after{transform:scaleX(1);}
.bf-steps li{flex:1; position:relative; z-index:1; opacity:0; transform:translateY(24px) scale(.8); transition:opacity .6s calc(var(--i) * 260ms + .2s), transform .7s calc(var(--i) * 260ms + .2s) cubic-bezier(.3,1.5,.5,1);}
.bf-steps.is-on li{opacity:1; transform:none;}
.bf-steps a{display:flex; flex-direction:column; align-items:center; gap:12px; color:#fff; text-decoration:none;}
.bf-steps b{width:64px; height:64px; border-radius:50%; display:grid; place-items:center; font-size:18px; font-weight:900; color:#0B1320; background:radial-gradient(circle at 35% 30%, #fff8e6, #F3D08F); box-shadow:0 0 0 6px rgba(243,208,143,.15), 0 0 28px rgba(243,208,143,.55); transition:transform .3s, box-shadow .3s;}
.bf-steps span{font-weight:800; font-size:15px; max-width:12ch;}
.bf-steps a:hover b, .bf-steps a:focus-visible b{transform:scale(1.12); box-shadow:0 0 0 10px rgba(243,208,143,.2), 0 0 40px rgba(243,208,143,.9);}
.bf-steps.is-on li:nth-child(4) b{animation:bfPulse 2.4s 2s ease-in-out infinite;}
@keyframes bfPulse{50%{box-shadow:0 0 0 14px rgba(127,176,222,.18), 0 0 40px rgba(127,176,222,.9);}}
.bf-bridge .sv-ctas{margin-top:40px;}
@media (max-width:640px){
  .bf-steps{flex-direction:column; align-items:flex-start; gap:16px; max-width:280px;}
  .bf-steps::before, .bf-steps::after{left:31px; right:auto; top:20px; bottom:20px; width:2px; height:auto;}
  .bf-steps::after{transform:scaleY(0); transform-origin:50% 0;} .bf-steps.is-on::after{transform:scaleY(1);}
  .bf-steps a{flex-direction:row; text-align:left;}
  .bf-steps span{max-width:none;}
}

.bf-reels{padding:90px 0 20px;}

/* Full statement */
.bf-full{padding:70px 0 40px;}
.bf-filters{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:-14px 0 30px;}
.bf-filters button{font:inherit; font-weight:800; font-size:14px; padding:10px 18px; border-radius:999px; border:1.5px solid var(--line-strong); background:var(--surface); color:var(--ink); cursor:pointer; transition:background .25s, color .25s, border-color .25s, transform .2s;}
.bf-filters button:hover{transform:translateY(-2px);}
.bf-filters button.is-on{background:linear-gradient(100deg,#24512E,#2A5680); color:#fff; border-color:transparent; box-shadow:0 12px 24px -12px rgba(42,86,128,.8);}
.bf-list{max-width:900px; margin:0 auto; display:grid; gap:12px;}
.bf-item{background:var(--surface); border:1px solid var(--line); border-radius:18px; overflow:hidden; transition:box-shadow .3s, border-color .3s;}
.bf-item[open]{border-color:rgba(184,146,90,.6); box-shadow:0 24px 44px -30px rgba(12,20,30,.5);}
.bf-item.pop{animation:bfPop .5s var(--d,0ms) cubic-bezier(.2,.9,.25,1) both;}
@keyframes bfPop{from{opacity:0; transform:translateY(14px);}}
.bf-item summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px; padding:18px 20px;}
.bf-item summary::-webkit-details-marker{display:none;}
.bf-num{font-weight:900; font-size:14px; color:#8A6436; min-width:26px; font-variant-numeric:tabular-nums;}
.bf-t{font-weight:800; font-size:18px; flex:1;}
.bf-tag{font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#2E6B3E; background:rgba(46,107,62,.1); padding:5px 10px; border-radius:999px; white-space:nowrap;}
.bf-plus{width:28px; height:28px; border-radius:50%; position:relative; flex:none; background:rgba(28,42,30,.07); transition:transform .35s, background .3s;}
.bf-plus::before, .bf-plus::after{content:""; position:absolute; left:50%; top:50%; width:12px; height:2.4px; margin:-1.2px 0 0 -6px; background:currentColor; border-radius:2px;}
.bf-plus::after{transform:rotate(90deg); transition:transform .35s;}
.bf-item[open] .bf-plus{transform:rotate(180deg); background:#B8925A; color:#fff;} .bf-item[open] .bf-plus::after{transform:rotate(0);}
.bf-body{padding:0 20px 20px 60px; animation:bfOpen .45s ease;}
@keyframes bfOpen{from{opacity:0; transform:translateY(-6px);}}
.bf-official{font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:16.5px; line-height:1.6; color:var(--ink); border-left:3px solid #B8925A; padding-left:14px;}
.bf-plain{margin-top:12px; color:var(--ink-soft); font-size:15.5px; line-height:1.6;}
.bf-plain b{color:#2E6B3E;}
.bf-verse{margin-top:10px; font-size:13.5px; font-weight:800; color:#8A6436; letter-spacing:.03em;}
.bf-verse a{margin-left:10px; color:#2A5680; letter-spacing:0;}
@media (max-width:620px){ .bf-tag{display:none;} .bf-body{padding-left:20px;} .bf-t{font-size:16.5px;} }
#view-believe .believe-foot{max-width:900px; margin:30px auto 0;}
@media (prefers-reduced-motion: reduce){ .bf-chap, .bf-steps li{opacity:1; transform:none;} .bf-card.reveal{opacity:1; translate:none;} .bf-bridge-bg, .bf-glow{animation:none;} }
.hub-grid .hub-wide{grid-column:span 2;} @media (max-width:900px){ .hub-grid .hub-wide{grid-column:auto;} }

.screen-reader-text{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

/* ---------- Groups (one page: Home Groups, D-Teams, E-Groups, Serve) ---------- */
#view-groups{--gp-gold:#F3D08F;}
.gp-hero{position:relative; overflow:hidden; isolation:isolate; min-height:94vh; display:flex; align-items:center; text-align:center; color:#fff; background:#08111a;}
.gp-mosaic{position:absolute; inset:-10% -4%; z-index:-2; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; transform:rotate(-8deg) scale(1.15); opacity:.55;}
.gp-col{display:flex; flex-direction:column; gap:14px; animation:gpUp var(--d,40s) linear infinite;}
.gp-col:nth-child(even){animation-direction:reverse;}
.gp-col img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px; display:block; box-shadow:0 20px 40px -20px rgba(0,0,0,.7);}
@keyframes gpUp{from{transform:translateY(0);} to{transform:translateY(-50%);}}
.gp-hero::before{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(60% 55% at 50% 50%, rgba(8,17,26,.55), rgba(8,17,26,.94) 80%), linear-gradient(180deg, rgba(8,17,26,.7), transparent 30%, transparent 70%, rgba(8,17,26,.95));}
.gp-hero-inner{padding:140px 0 90px;}
#view-groups .gp-hero .eyebrow{color:var(--gp-gold); justify-content:center;} #view-groups .gp-hero .eyebrow::before{background:var(--gp-gold);}
.gp-hero h1{font-size:clamp(52px,9vw,128px); line-height:.92; color:#fff; margin-top:10px;}
.gp-w{display:inline-block; animation:fnTitle 1s cubic-bezier(.2,.9,.25,1) both;}
.gp-w:nth-child(1){animation-delay:.25s;} .gp-w:nth-child(2){animation-delay:.4s;} .gp-w:nth-child(3){animation-delay:.55s;}
.gp-hl{background:linear-gradient(90deg,#F3D08F,#fff 45%,#7DBE84 70%,#7FB0DE); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:fnTitle 1s .55s cubic-bezier(.2,.9,.25,1) both, mhShine 5s 1.5s ease-in-out infinite alternate;}
.gp-hero .lede{max-width:600px; margin:22px auto 0; font-size:18.5px; color:rgba(255,255,255,.86); animation:fnTitle 1s .8s ease both;}
.gp-counts{display:flex; justify-content:center; gap:clamp(20px,6vw,64px); margin-top:40px; animation:fnTitle 1s 1s ease both;}
.gp-counts div{display:flex; flex-direction:column; align-items:center;}
.gp-counts b{font-size:clamp(36px,4.6vw,56px); line-height:1; font-weight:900; color:var(--gp-gold); text-shadow:0 0 24px rgba(243,208,143,.5); font-variant-numeric:tabular-nums; min-width:1ch;}
.gp-counts span{font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-top:8px;}
.gp-scroll{display:block; width:28px; height:46px; margin:44px auto 0; border:2px solid rgba(255,255,255,.5); border-radius:16px; position:relative;}
.gp-scroll span{position:absolute; left:50%; top:8px; width:4px; height:8px; margin-left:-2px; border-radius:2px; background:var(--gp-gold); animation:svScroll 1.8s ease-in-out infinite;}

.gp-head{text-align:center; margin-bottom:36px;} .gp-head .eyebrow{justify-content:center;}
.gp-head h2{font-size:clamp(34px,4.8vw,58px); margin-top:8px;}
.gp-pick{padding:90px 0 40px; background:linear-gradient(180deg,#08111a 0%, #2a3a3f 16%, #cfc4ab 34%, var(--bg) 48%);}
.gp-pick .gp-head h2{color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.4);}
#view-groups .gp-pick .eyebrow{color:var(--gp-gold);} #view-groups .gp-pick .eyebrow::before{background:var(--gp-gold);}
.gp-opts{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; perspective:1400px;}
.gp-opt{position:relative; display:block; min-height:420px; border-radius:26px; overflow:hidden; border:0; padding:0; font:inherit; text-align:left; color:#fff; cursor:pointer; background:#0b1320; isolation:isolate;
  box-shadow:0 30px 60px -30px rgba(8,17,26,.8); transition:transform .5s cubic-bezier(.2,.9,.25,1), box-shadow .4s, opacity .8s, translate .9s;}
.gp-opt.reveal{opacity:0; translate:0 60px;} .gp-opt.reveal.in{opacity:1; translate:0 0; transition-delay:calc(var(--i) * 120ms);}
.gp-opt-img, .gp-opt-shade{position:absolute; inset:0;}
.gp-opt-img img{width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.08); transition:transform 1.2s cubic-bezier(.2,.9,.25,1), filter .6s;}
.gp-opt-shade{background:linear-gradient(180deg, rgba(8,17,26,.05) 20%, rgba(8,17,26,.92) 88%);}
.gp-opt-body{position:absolute; left:0; right:0; bottom:0; padding:28px 26px; display:flex; flex-direction:column; gap:8px;}
.gp-opt-n{font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.14em; color:var(--gp-gold);}
.gp-opt-t{font-family:inherit; font-size:clamp(30px,3vw,40px); font-weight:900; line-height:1; text-transform:uppercase; letter-spacing:.01em;}
.gp-opt-p{font-size:15px; line-height:1.5; color:rgba(255,255,255,.86); max-width:34ch;}
.gp-opt-go{margin-top:8px; font-weight:800; font-size:14.5px; color:var(--gp-gold); display:inline-flex; gap:6px; transition:transform .3s;}
@media (hover:hover){
  .gp-opt:not(.is-soon):hover{transform:translateY(-10px) rotateX(4deg); box-shadow:0 44px 80px -30px rgba(8,17,26,.9), 0 0 0 2px rgba(243,208,143,.55);}
  .gp-opt:not(.is-soon):hover .gp-opt-img img{transform:scale(1.18);}
  .gp-opt:not(.is-soon):hover .gp-opt-go{transform:translateX(6px);}
}
.gp-opt.is-soon{cursor:not-allowed;}
.gp-opt.is-soon .gp-opt-img img{filter:grayscale(.85) brightness(.6);}
.gp-opt.is-soon .gp-opt-go{color:#FFD23F;}
.gp-tape{position:absolute; left:-20%; right:-20%; height:44px; display:flex; align-items:center; overflow:hidden; z-index:2; pointer-events:none;
  background:repeating-linear-gradient(-45deg,#FFD23F 0 22px,#111 22px 44px); box-shadow:0 10px 24px -8px rgba(0,0,0,.7);}
.gp-tape span{white-space:nowrap; font-family:"Space Mono",monospace; font-weight:900; font-size:15px; letter-spacing:.12em; color:#111; background:#FFD23F; padding:4px 0; width:100%; text-align:center; display:block; animation:gpTape 14s linear infinite;}
.gp-tape-a{top:32%; transform:rotate(-12deg);}
.gp-tape-b{top:50%; transform:rotate(9deg); opacity:.95;}
.gp-tape-b span{animation-direction:reverse; animation-duration:18s;}
@keyframes gpTape{from{transform:translateX(0);} to{transform:translateX(-25%);}}
.gp-opt.is-soon.shake{animation:gpShake .45s ease;}
@keyframes gpShake{20%{transform:translateX(-8px) rotate(-1deg);} 40%{transform:translateX(7px) rotate(1deg);} 60%{transform:translateX(-5px);} 80%{transform:translateX(3px);}}
@media (max-width:900px){ .gp-opts{grid-template-columns:1fr;} .gp-opt{min-height:300px;} }

.gp-list{padding:50px 0 90px;}
.gp-tabs{position:relative; display:flex; gap:4px; width:max-content; max-width:100%; margin:0 auto; padding:6px; border-radius:999px; background:var(--surface); border:1px solid var(--line); box-shadow:0 18px 40px -28px rgba(12,20,30,.5);}
.gp-tab-ind{position:absolute; left:0; top:6px; bottom:6px; border-radius:999px; background:linear-gradient(100deg,#24512E,#2A5680); box-shadow:0 10px 22px -10px rgba(42,86,128,.8); transition:transform .45s cubic-bezier(.3,1.3,.5,1), width .45s cubic-bezier(.3,1.3,.5,1);}
.gp-tab{position:relative; z-index:1; font:inherit; font-weight:800; font-size:15px; padding:12px 22px; border:0; border-radius:999px; background:none; color:var(--ink); cursor:pointer; transition:color .3s; white-space:nowrap;}
.gp-tab.is-on{color:#fff;}
.gp-tab.is-soon{cursor:not-allowed; color:var(--ink-faint); background:repeating-linear-gradient(-45deg, rgba(255,210,63,.35) 0 8px, transparent 8px 16px);}
.gp-tab.is-soon em{font-style:normal; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; background:#FFD23F; color:#111; padding:2px 7px; border-radius:6px; margin-left:6px; vertical-align:2px;}
.gp-search{display:flex; align-items:center; gap:10px; max-width:460px; margin:22px auto 30px; padding:0 18px; border-radius:999px; background:var(--surface); border:1.5px solid var(--line-strong); transition:border-color .3s, box-shadow .3s;}
.gp-search:focus-within{border-color:#2E6B3E; box-shadow:0 0 0 4px rgba(46,107,62,.15);}
.gp-search svg{width:20px; height:20px; color:var(--ink-faint); flex:none;}
.gp-search input{flex:1; min-width:0; border:0; background:none; font:inherit; font-size:15.5px; padding:14px 0; color:var(--ink); outline:none;}
.gp-panel-intro{text-align:center; color:var(--ink-soft); margin:-8px auto 24px; max-width:560px;}
.gp-values{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:26px;}
.gp-values div{padding:18px 20px; border-radius:18px; background:linear-gradient(135deg, rgba(46,107,62,.1), rgba(42,86,128,.1)); border:1px solid var(--line);}
.gp-values b{display:block; font-size:16px;} .gp-values span{display:block; font-size:14px; color:var(--ink-soft); margin-top:4px;}
@media (max-width:760px){ .gp-values{grid-template-columns:1fr;} .gp-tab{padding:11px 14px; font-size:14px;} }
.gp-panel.is-on .gcard{animation:gpCard .7s calc(var(--i,0) * 70ms) cubic-bezier(.2,.9,.25,1) both;}
@keyframes gpCard{from{opacity:0; transform:translateY(30px) scale(.96);}}
.gp-empty{text-align:center; padding:30px; color:var(--ink-soft);}
.gp-list .coach-card{margin-top:56px;}

.gp-serve{position:relative; overflow:hidden; isolation:isolate; padding:130px 0 110px; color:#fff; text-align:center; background:#0B1320;}
.gp-serve-bg{position:absolute; inset:-6%; z-index:-2; background-size:cover; background-position:center 30%; animation:bfDrift 20s ease-in-out infinite alternate;}
.gp-serve::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, var(--bg) 0%, rgba(11,19,32,.55) 22%, rgba(11,19,32,.7) 70%, rgba(11,19,32,.92));}
#view-groups .gp-serve .eyebrow{color:var(--gp-gold); justify-content:center;} #view-groups .gp-serve .eyebrow::before{background:var(--gp-gold);}
.gp-serve h2{font-size:clamp(38px,5.6vw,72px); color:#fff; margin-top:8px; text-shadow:0 4px 30px rgba(0,0,0,.5);}
.gp-serve-head p:not(.eyebrow){max-width:580px; margin:16px auto 26px; color:rgba(255,255,255,.88); font-size:17.5px;}
.gp-serve-body{padding:70px 0 80px;}
.gp-teams .vol-team{transition:transform .5s cubic-bezier(.2,.9,.25,1), box-shadow .4s, border-color .3s;}
.gp-teams.reveal .vol-team{opacity:0; transform:translateY(30px);}
.gp-teams.reveal.in .vol-team{opacity:1; transform:none; transition:opacity .7s calc(var(--i) * 110ms), transform .8s calc(var(--i) * 110ms) cubic-bezier(.2,.9,.25,1);}
@media (hover:hover){ .gp-teams .vol-team:hover{transform:translateY(-6px); box-shadow:0 26px 44px -26px rgba(12,20,30,.5); border-color:#2E6B3E;} }
@media (prefers-reduced-motion: reduce){ .gp-col, .gp-tape span, .gp-serve-bg{animation:none;} .gp-opt.reveal, .gp-teams.reveal .vol-team{opacity:1; translate:none; transform:none;} }

/* ---------- Photos & Videos page ---------- */
.ga-hero{position:relative; overflow:hidden; isolation:isolate; padding:130px 0 90px; color:#fff; background:radial-gradient(50% 60% at 80% 40%, rgba(42,86,128,.55), transparent 70%), radial-gradient(40% 50% at 10% 90%, rgba(46,107,62,.5), transparent 70%), linear-gradient(180deg,#05080f,#0B1320 70%,#101c26);}
.ga-bokeh i{position:absolute; border-radius:50%; filter:blur(30px); opacity:.5; z-index:-1; animation:gaFloat 14s ease-in-out infinite alternate;}
.ga-bokeh i:nth-child(1){width:220px; height:220px; left:4%; top:12%; background:#2E6B3E;}
.ga-bokeh i:nth-child(2){width:160px; height:160px; left:40%; top:70%; background:#B8925A; animation-delay:-4s;}
.ga-bokeh i:nth-child(3){width:260px; height:260px; right:4%; top:6%; background:#2A5680; animation-delay:-8s;}
.ga-bokeh i:nth-child(4){width:120px; height:120px; left:28%; top:18%; background:#F3D08F; opacity:.25; animation-delay:-2s;}
.ga-bokeh i:nth-child(5){width:180px; height:180px; right:30%; bottom:-40px; background:#7DBE84; opacity:.3; animation-delay:-6s;}
.ga-bokeh i:nth-child(6){width:90px; height:90px; right:12%; bottom:20%; background:#fff; opacity:.12; animation-delay:-10s;}
@keyframes gaFloat{to{transform:translate(40px,-30px) scale(1.2);}}
.ga-hero-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:40px; align-items:center;}
.ga-hero .back-link{color:rgba(255,255,255,.75);}
#view-gallery .ga-hero .eyebrow{color:#F3D08F;} #view-gallery .ga-hero .eyebrow::before{background:#F3D08F;}
.ga-hero h1{font-size:clamp(50px,7.5vw,110px); line-height:.92; color:#fff; margin-top:10px;}
.ga-hero h1 span{display:inline-block; animation:fnTitle 1s cubic-bezier(.2,.9,.25,1) both;}
.ga-hero h1 span:nth-child(2){animation-delay:.15s;} 
.ga-hl{background:linear-gradient(90deg,#F3D08F,#fff 45%,#7DBE84 70%,#7FB0DE); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:fnTitle 1s .3s cubic-bezier(.2,.9,.25,1) both, mhShine 5s 1.3s ease-in-out infinite alternate !important;}
.ga-hero .lede{max-width:520px; margin-top:20px; font-size:18px; color:rgba(255,255,255,.85); animation:fnTitle 1s .5s ease both;}
.ga-counts{display:flex; gap:clamp(18px,4vw,44px); margin:32px 0 30px; animation:fnTitle 1s .7s ease both;}
.ga-counts div{display:flex; flex-direction:column;}
.ga-counts b{font-size:clamp(34px,4vw,50px); line-height:1; font-weight:900; color:#F3D08F; text-shadow:0 0 22px rgba(243,208,143,.45); font-variant-numeric:tabular-nums; min-width:1ch;}
.ga-counts span{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7); margin-top:6px;}
.ga-stack{position:relative; height:clamp(320px,38vw,480px); cursor:pointer; perspective:1200px;}
.ga-card{position:absolute; left:50%; top:50%; box-sizing:border-box; width:min(60%,300px); aspect-ratio:4/5; margin:0; padding:10px 10px 40px; background:#fbf7ef; border-radius:10px; box-shadow:0 30px 60px -20px rgba(0,0,0,.7);
  transform:translate(-50%,-50%) rotate(calc((var(--k) - 2) * 6deg)) translateX(calc((var(--k) - 2) * 26px)) translateY(calc((4 - var(--k)) * 4px));
  transition:transform .7s cubic-bezier(.2,.9,.25,1), opacity .4s; animation:gaDeal .9s calc(var(--k) * 140ms + .4s) cubic-bezier(.2,.9,.25,1) both;}
.ga-card img{width:100%; height:100%; object-fit:cover; border-radius:4px; display:block;}
.ga-card figcaption{position:absolute; left:0; right:0; bottom:12px; text-align:center; font-family:"Caveat","Space Mono",cursive; font-size:17px; color:#3a3a3a; letter-spacing:.04em;}
.ga-card.ga-fly{transform:translate(60%,-120%) rotate(28deg); opacity:0;}
@keyframes gaDeal{from{opacity:0; transform:translate(-50%,40%) rotate(-30deg) scale(.7);}}
@media (hover:hover){ .ga-stack:hover .ga-card{transform:translate(-50%,-50%) rotate(calc((var(--k) - 2) * 10deg)) translateX(calc((var(--k) - 2) * 46px));} }
@media (max-width:900px){ .ga-hero-grid{grid-template-columns:1fr;} .ga-stack{height:340px;} .ga-hero{padding-bottom:50px;} }

.ga-ribbons{background:#101c26; padding:18px 0 26px; overflow:hidden; display:grid; gap:14px; transform:skewY(-2deg); margin:-10px 0 20px;}
.ga-ribbon{overflow:hidden;}
.ga-track{display:flex; gap:14px; width:max-content; animation:gaMarq 60s linear infinite;}
.ga-ribbon.rev .ga-track{animation-direction:reverse; animation-duration:70s;}
.ga-rtile{flex:none; width:clamp(160px,18vw,240px); aspect-ratio:3/2; border-radius:14px; overflow:hidden; box-shadow:0 12px 26px -14px rgba(0,0,0,.8);}
.ga-rtile img{width:100%; height:100%; object-fit:cover; display:block; transform:skewY(2deg) scale(1.06);}
@keyframes gaMarq{to{transform:translateX(-50%);}}

.ga-all{padding:50px 0 90px;}
.ga-bar{position:sticky; top:84px; z-index:8; display:flex; justify-content:center; padding:10px 0; margin-bottom:26px;}
.ga-bar .chips{background:color-mix(in srgb, var(--surface) 82%, transparent); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid var(--line); border-radius:999px; padding:6px; box-shadow:0 18px 40px -26px rgba(12,20,30,.5); flex-wrap:nowrap; overflow-x:auto; max-width:100%; scrollbar-width:none; margin:0;}
.ga-bar .chips::-webkit-scrollbar{display:none;}
.ga-bar .chip{white-space:nowrap; flex:none;}
.chip-n{display:inline-block; min-width:20px; padding:1px 6px; margin-left:4px; border-radius:999px; font-size:11px; background:rgba(28,42,30,.08); font-weight:800;}
.chip[aria-pressed="true"] .chip-n{background:rgba(255,255,255,.25);}
.gal-item.ga-pre{opacity:0; translate:0 60px; scale:.94;}
.gal-item.ga-in{opacity:1; translate:0 0; scale:1; transition:opacity .8s var(--gd,0ms) ease, translate .9s var(--gd,0ms) cubic-bezier(.2,.9,.25,1), scale .9s var(--gd,0ms) cubic-bezier(.2,.9,.25,1), transform .45s cubic-bezier(.2,.9,.25,1), box-shadow .35s ease;}
#view-gallery .gal-item .gi-cap b{font-size:20px;}
#view-gallery .gal-item::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.28) 50%, transparent 65%); transform:translateX(-120%); transition:transform .9s ease;}
@media (hover:hover){ #view-gallery .gal-item:hover::after{transform:translateX(120%);} }
@media (max-width:760px){ .ga-bar{top:70px;} }
@media (prefers-reduced-motion: reduce){ .ga-track, .ga-bokeh i{animation:none;} .gal-item.ga-pre{opacity:1; translate:none; scale:1;} }

/* Salvation hero cross v2: drawn outline, gold fill, bevel, sheen, halo and slow light beams */
.sv-cross-wrap{position:relative; width:130px; height:186px; margin:0 auto 26px;}
.sv-cross-wrap .sv-cross{position:relative; z-index:2; width:100%; height:100%; margin:0; fill:none; stroke:none; filter:drop-shadow(0 0 18px rgba(243,208,143,.75)) drop-shadow(0 12px 30px rgba(0,0,0,.5)); overflow:visible;}
.sv-cross-wrap .sv-cross path{animation:none; stroke-dasharray:none; stroke-dashoffset:0;}
.sv-cross-wrap .sv-c-line{fill:none; stroke-width:2.2; stroke-linejoin:round; stroke-dasharray:1 !important; stroke-dashoffset:1 !important; animation:bpDraw 2.2s .2s cubic-bezier(.45,.05,.25,1) forwards !important;}
.sv-cross-wrap .sv-c-fill{opacity:0; transform-origin:50% 50%; transform:scale(.96); animation:svFillIn 1.2s 1.9s cubic-bezier(.2,.9,.25,1) forwards !important;}
.sv-cross-wrap .sv-c-bevel{opacity:0; animation:svFillIn 1s 2.4s ease forwards !important;}
.sv-cross-wrap .sv-c-sheen{animation:svSheen 4.5s 3s ease-in-out infinite;}
@keyframes svFillIn{to{opacity:1; transform:none;}}
@keyframes svSheen{0%{transform:skewX(-20deg) translateX(0);} 45%,100%{transform:skewX(-20deg) translateX(260px);}}
.sv-halo{position:absolute; left:50%; top:33%; width:260px; height:260px; margin:-130px 0 0 -130px; border-radius:50%; z-index:1; background:radial-gradient(circle, rgba(255,244,214,.75) 0%, rgba(243,208,143,.35) 30%, transparent 68%); opacity:0; animation:svHalo 1.6s 2s ease forwards, svPulse 5s 3.6s ease-in-out infinite alternate;}
@keyframes svHalo{from{opacity:0; transform:scale(.3);} to{opacity:1; transform:scale(1);}}
@keyframes svPulse{from{transform:scale(1); opacity:1;} to{transform:scale(1.18); opacity:.75;}}
.sv-beams{position:absolute; left:50%; top:33%; width:0; height:0; z-index:0; opacity:0; animation:svHalo 2s 2.3s ease forwards;}
.sv-beams i{position:absolute; left:-1.5px; bottom:0; width:3px; height:220px; transform-origin:50% 100%; background:linear-gradient(0deg, rgba(243,208,143,.55), transparent); border-radius:2px;}
.sv-beams{animation:svHalo 2s 2.3s ease forwards, svSpin 60s 2.3s linear infinite;}
.sv-beams i:nth-child(1){transform:rotate(0deg);} .sv-beams i:nth-child(2){transform:rotate(30deg); height:160px;} .sv-beams i:nth-child(3){transform:rotate(60deg);} .sv-beams i:nth-child(4){transform:rotate(90deg); height:160px;}
.sv-beams i:nth-child(5){transform:rotate(120deg);} .sv-beams i:nth-child(6){transform:rotate(150deg); height:160px;} .sv-beams i:nth-child(7){transform:rotate(180deg);} .sv-beams i:nth-child(8){transform:rotate(210deg); height:160px;}
.sv-beams i:nth-child(9){transform:rotate(240deg);} .sv-beams i:nth-child(10){transform:rotate(270deg); height:160px;} .sv-beams i:nth-child(11){transform:rotate(300deg);} .sv-beams i:nth-child(12){transform:rotate(330deg); height:160px;}
@keyframes svSpin{to{rotate:360deg;}}
@media (max-width:560px){ .sv-cross-wrap{width:100px; height:143px;} .sv-halo{width:200px; height:200px; margin:-100px 0 0 -100px;} .sv-beams i{height:160px;} .sv-beams i:nth-child(even){height:110px;} }
@media (prefers-reduced-motion: reduce){ .sv-cross-wrap .sv-c-line{stroke-dashoffset:0 !important;} .sv-cross-wrap .sv-c-fill, .sv-cross-wrap .sv-c-bevel, .sv-halo, .sv-beams{opacity:1;} }
#gp-list, #serve, #ga-all{scroll-margin-top:80px;}
@media (max-width:480px){ .gp-tab{padding:10px 10px; font-size:13px;} .gp-tab.is-soon em{font-size:9px; padding:2px 5px; margin-left:4px;} .gp-tabs{gap:2px; padding:5px;} }

/* Believe: baptism photos rise out of the water */
.bf-bap{position:relative; padding-bottom:10px;}
.bf-bap.is-wait .reel-item{opacity:0;}
.bf-bap.is-rise .reel-item{animation:bfRise 1.3s calc(var(--n,0) * 140ms) cubic-bezier(.2,.9,.25,1) both;}
.bf-bap.is-rise .reel-item::before{content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(180deg, rgba(191,230,255,.15), rgba(42,86,128,.85) 40%, rgba(11,19,32,.9)); animation:bfDrain 1.5s calc(var(--n,0) * 140ms + .25s) cubic-bezier(.6,0,.3,1) both;}
.bf-bap.is-rise .reel-item img{animation:bfSharp 1.6s calc(var(--n,0) * 140ms) ease both;}
@keyframes bfRise{0%{opacity:0; translate:0 110px; scale:.86; clip-path:inset(100% 0 0 0 round 18px);} 55%{opacity:1; translate:0 -12px; scale:1.02;} 100%{opacity:1; translate:0 0; scale:1; clip-path:inset(0 0 0 0 round 18px);}}
@keyframes bfDrain{from{transform:translateY(0);} to{transform:translateY(105%);}}
@keyframes bfSharp{from{filter:blur(8px) saturate(.4) brightness(1.3);} to{filter:none;}}
.bf-waves{display:block; width:100%; height:34px; margin-top:-26px; position:relative; z-index:3; pointer-events:none; overflow:visible;}
.bf-waves path{transform-box:fill-box;}
.bf-waves .w1{fill:rgba(127,176,222,.35); animation:bfWave 7s linear infinite;}
.bf-waves .w2{fill:rgba(42,86,128,.28); animation:bfWave 11s linear infinite reverse;}
@keyframes bfWave{from{transform:translateX(0);} to{transform:translateX(-25%);}}
.bf-bap .reel-head h3{background:linear-gradient(90deg,#2A5680,#7FB0DE,#2A5680); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:mhShine 4s ease-in-out infinite alternate;}

/* Believe: statement of faith carousel (3D cover-flow) */
.bf-full{overflow:hidden;}
.bf-car{position:relative; margin-top:6px;}
.bf-car-track{display:flex; gap:26px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:30px calc(50% - min(190px, 41vw)) 40px; outline:none; cursor:grab; -webkit-overflow-scrolling:touch;}
.bf-car-track::-webkit-scrollbar{display:none;}
.bf-car-track.is-drag{cursor:grabbing; scroll-snap-type:none; user-select:none;}
.bf-car-track:focus-visible .bf-slide.is-cur{outline:3px solid #B8925A; outline-offset:4px;}
.bf-slide{--g1:#2A5680; --g2:#16324d; flex:0 0 min(380px, 82vw); scroll-snap-align:center; border-radius:26px; overflow:hidden; background:var(--surface); border:1px solid var(--line);
  box-shadow:0 34px 60px -34px rgba(12,20,30,.6); transform-origin:50% 50%; transition:box-shadow .4s, border-color .4s; will-change:transform; display:flex; flex-direction:column; min-height:440px;}
.bf-slide.g-saved{--g1:#B8925A; --g2:#6e5028;} .bf-slide.g-church{--g1:#2E6B3E; --g2:#173a21;} .bf-slide.g-live{--g1:#3b5f6e; --g2:#1b2f38;}
.bf-slide.is-cur{border-color:rgba(184,146,90,.7); box-shadow:0 44px 80px -34px rgba(12,20,30,.7), 0 0 0 1px rgba(184,146,90,.4), 0 0 50px -16px rgba(243,208,143,.6);}
.bf-slide.deal{animation:bfDeal .7s var(--d,0ms) cubic-bezier(.2,.9,.25,1) both;}
@keyframes bfDeal{from{opacity:0; translate:80px 0;}}
.bf-slide-top{position:relative; overflow:hidden; padding:26px 26px 24px; color:#fff; background:radial-gradient(120% 90% at 100% 0%, rgba(255,255,255,.18), transparent 60%), linear-gradient(145deg, var(--g1), var(--g2));}
.bf-slide-num{position:absolute; right:14px; top:-14px; font-size:110px; font-weight:900; line-height:1; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.35); font-variant-numeric:tabular-nums; transition:transform .8s cubic-bezier(.2,.9,.25,1);}
.bf-slide.is-cur .bf-slide-num{transform:translateY(8px) scale(1.06);}
.bf-slide-ico{display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25);}
.bf-slide-ico svg{width:28px; height:28px; fill:none; stroke:#F3D08F; stroke-width:3.6; stroke-linecap:round; stroke-linejoin:round;}
.bf-slide-ico path{stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.2s .15s ease;}
.bf-slide.is-cur .bf-slide-ico path{stroke-dashoffset:0;}
.bf-slide-tag{display:inline-block; margin-top:14px; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#F3D08F;}
.bf-slide-top h3{color:#fff; font-size:clamp(24px,2.4vw,30px); line-height:1.05; margin-top:6px; position:relative;}
.bf-slide-body{padding:22px 26px 26px; display:flex; flex-direction:column; gap:12px; flex:1;}
.bf-slide .bf-official{font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:15.5px; line-height:1.6; color:var(--ink); border-left:3px solid var(--g1); padding-left:12px;}
.bf-slide .bf-plain{font-size:15px; line-height:1.6; color:var(--ink-soft); margin:0;}
.bf-slide .bf-plain b{color:var(--g1);}
.bf-slide .bf-verse{margin-top:auto; font-size:13px; font-weight:800; color:#8A6436;}
.bf-slide .bf-verse a{margin-left:8px; color:#2A5680;}
.bf-slide-body > *{opacity:.55; transition:opacity .5s;}
.bf-slide.is-cur .bf-slide-body > *{opacity:1;}
.bf-car-ui{display:flex; align-items:center; justify-content:center; gap:22px; margin-top:4px;}
.bf-car-btn{width:54px; height:54px; border-radius:50%; border:0; cursor:pointer; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#24512E,#2A5680); box-shadow:0 14px 26px -12px rgba(42,86,128,.8); transition:transform .25s, box-shadow .25s;}
.bf-car-btn svg{width:22px; height:22px;}
.bf-car-btn:hover{transform:scale(1.1);} .bf-car-btn:active{transform:scale(.94);}
.bf-car-meter{display:flex; flex-direction:column; align-items:center; gap:8px; min-width:150px;}
.bf-car-count{font-weight:800; font-size:14px; color:var(--ink-soft); font-variant-numeric:tabular-nums; letter-spacing:.06em;}
.bf-car-count b{font-size:22px; color:var(--ink);}
.bf-car-bar{display:block; width:150px; height:4px; border-radius:4px; background:rgba(28,42,30,.12); overflow:hidden;}
.bf-car-bar span{display:block; height:100%; background:linear-gradient(90deg,#2E6B3E,#B8925A,#2A5680); transform-origin:0 50%; transition:transform .5s cubic-bezier(.2,.9,.25,1);}
#view-believe .bf-full .believe-foot{margin-top:34px;}
@media (max-width:620px){ .bf-car-track{gap:14px;} .bf-slide{min-height:0;} .bf-slide-num{font-size:84px;} }
@media (prefers-reduced-motion: reduce){ .bf-waves path, .bf-bap .reel-head h3{animation:none;} }

/* Salvation hero cross v3: modern hand-brushed, distressed cross that paints itself in */
.sv-cross-wrap .sv-halo, .sv-cross-wrap .sv-beams{display:none;}
.sv-brush{display:block; width:100%; height:100%; color:#F4EEE2; overflow:visible; filter:drop-shadow(0 10px 24px rgba(0,0,0,.45));}
.sv-brush .sv-mv, .sv-brush .sv-mh{stroke-dasharray:1; stroke-dashoffset:1;}
.sv-brush .sv-mv{animation:bpDraw 1.1s .3s cubic-bezier(.55,.05,.35,1) forwards;}
.sv-brush .sv-mh{animation:bpDraw .9s 1.25s cubic-bezier(.55,.05,.35,1) forwards;}
@media (prefers-reduced-motion: reduce){ .sv-brush .sv-mv, .sv-brush .sv-mh{stroke-dashoffset:0;} }
.sv-arrow{display:flex; flex-direction:column; align-items:center; width:44px; margin:40px auto 0; color:#F4EEE2; opacity:.85; transition:opacity .3s;}
.sv-arrow:hover{opacity:1;}
.sv-arrow svg{width:30px; height:30px; margin-top:-14px; animation:svArrow 1.8s ease-in-out infinite;}
.sv-arrow svg:first-child{margin-top:0;}
.sv-arrow svg:last-child{animation-delay:.18s; opacity:.55;}
@keyframes svArrow{0%,100%{transform:translateY(0); opacity:.35;} 50%{transform:translateY(8px); opacity:1;}}

/* Start Here boxes: keep everyone's whole head in frame (2026-09-29) */
.cube-grid .cube.is-wide .cube-front.has-img{background-position:right top, right top;}
.cube-grid .cube-give .cube-front.has-img{background-position:center 25%, center 25%;}
.cube-grid .cube-events .cube-front.has-img{background-position:center 100%, center 100%;}
.cube-grid .cube-midweek .cube-front.has-img{background-position:center 30%, center 30%;}
.cube-grid .cube-groups .cube-front.has-img{background-position:center 55%, center 55%;}

/* ---------- Start Here v3: "I'm New" and "Your Salvation" are big squares ---------- */
.cube-grid{grid-template-areas:"visit groups events" "visit messages salvation" "midweek give salvation"; grid-auto-rows:200px;}
.cube-grid .cube-visit{grid-area:visit;} .cube-grid .cube-groups{grid-area:groups;} .cube-grid .cube-events{grid-area:events;}
.cube-grid .cube-messages{grid-area:messages;} .cube-grid .cube-midweek{grid-area:midweek;} .cube-grid .cube-give{grid-area:give;} .cube-grid .cube-salvation{grid-area:salvation;}
.cube-grid .cube.is-wide .cube-inner{height:420px;}
.cube-grid .cube.is-wide .cube-front{transform:translateZ(210px);}
.cube-grid .cube.is-wide .cube-top{transform:rotateX(90deg) translateZ(210px);}
.cube-grid .cube.is-wide .cube-front.has-img{background-position:center top, center top;}
.cube-grid .cube.is-wide .cube-face{padding:32px;}
.cube-grid .cube.is-wide h3{font-size:clamp(34px,3.6vw,52px); line-height:.95;}
.cube-grid .cube.is-wide .c-sub{font-size:15px;}
.cube-kb{position:absolute !important; inset:0; z-index:0 !important; background-size:cover; background-position:center top; transform-origin:50% 0; animation:cubeKB 16s ease-in-out infinite alternate; will-change:transform;}
@keyframes cubeKB{from{transform:scale(1);} to{transform:scale(1.08) translateX(-2%);}}
.cube.is-wide .cube-front.has-img::before{z-index:1;}
.cube.is-wide .cube-front.has-img::after{z-index:3;}
.cube.is-wide .cube-front.has-img > *:not(.cube-kb){z-index:2;}
.cube.is-wide .cube-front.has-img::before{background:linear-gradient(180deg, rgba(12,24,16,0) 0%, rgba(12,24,16,0) 45%, rgba(12,24,16,.8) 100%);}
.cube-shine{position:absolute !important; inset:0; pointer-events:none; background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.22) 48%, transparent 62%); transform:translateX(-120%); animation:cubeShine 6s 1.5s ease-in-out infinite;}
.cube-salvation .cube-shine{animation-delay:4.5s;}
@keyframes cubeShine{0%{transform:translateX(-120%);} 35%,100%{transform:translateX(120%);}}
.cube.is-wide .cube-front{box-shadow:0 30px 60px -30px rgba(12,24,16,.7), 0 0 0 1px rgba(255,255,255,.08);}
@media (hover:hover){
  .cube-grid .cube.is-wide .cube-inner{transform:translateZ(-210px);}
  .cube-grid .cube.is-wide:hover .cube-inner, .cube-grid .cube.is-wide:focus-visible .cube-inner{transform:translateZ(-210px) rotateX(-90deg);}
}
@media (hover:hover) and (prefers-reduced-motion: reduce){ .cube-grid .cube.is-wide:hover .cube-inner{transform:translateZ(-210px);} }
.cube-grid .cube.is-wide .cube-top h4{font-size:44px;}
@media (max-width:900px){
  .cube-grid{grid-template-areas:"visit groups" "visit events" "messages salvation" "midweek salvation" "give give"; grid-auto-rows:200px;}
  .cube-grid .cube.is-wide .cube-inner{height:414px;}
  .cube-grid .cube.is-wide .cube-front{transform:translateZ(207px);}
  .cube-grid .cube.is-wide .cube-top{transform:rotateX(90deg) translateZ(207px);}
}
@media (max-width:900px) and (hover:hover){
  .cube-grid .cube.is-wide .cube-inner{transform:translateZ(-207px);}
  .cube-grid .cube.is-wide:hover .cube-inner, .cube-grid .cube.is-wide:focus-visible .cube-inner{transform:translateZ(-207px) rotateX(-90deg);}
}
@media (max-width:560px){
  .cube-grid{grid-template-areas:"visit visit" "visit visit" "groups events" "messages midweek" "salvation salvation" "salvation salvation" "give give"; grid-auto-rows:158px;}
  .cube-grid .cube.is-wide .cube-inner{height:326px;}
  .cube-grid .cube.is-wide .cube-front{transform:translateZ(163px);}
  .cube-grid .cube.is-wide .cube-top{transform:rotateX(90deg) translateZ(163px);}
  .cube-grid .cube.is-wide .cube-face{padding:22px;}
  .cube-grid .cube.is-wide h3{font-size:38px;}
}
@media (max-width:560px) and (hover:hover){
  .cube-grid .cube.is-wide .cube-inner{transform:translateZ(-163px);}
  .cube-grid .cube.is-wide:hover .cube-inner{transform:translateZ(-163px) rotateX(-90deg);}
}
@media (hover:none){ .cube-grid .cube.is-wide .cube-front, .cube-grid .cube.is-wide .cube-inner{transform:none;} }
@media (prefers-reduced-motion: reduce){ .cube-kb, .cube-shine{animation:none;} }

/* ---------- Connect ---------- */
.cn-hero{position:relative; overflow:hidden; isolation:isolate; min-height:88vh; display:flex; align-items:center; text-align:center; color:#fff;
  background:radial-gradient(50% 50% at 50% 50%, rgba(243,208,143,.16), transparent 70%), radial-gradient(45% 50% at 12% 85%, rgba(46,107,62,.45), transparent 70%), radial-gradient(45% 50% at 90% 15%, rgba(42,86,128,.5), transparent 70%), linear-gradient(180deg,#05080f,#0B1320 70%,#101c26);}
.cn-lines{position:absolute; inset:0; width:100%; height:100%; z-index:-1;}
.cn-lines path{fill:none; stroke:rgba(243,208,143,.45); stroke-width:.18; stroke-dasharray:1; stroke-dashoffset:1; animation:bpDraw 1.4s calc(.6s + var(--k) * 140ms) ease forwards, cnPulse 4s calc(2s + var(--k) * 300ms) ease-in-out infinite;}
@keyframes cnPulse{50%{stroke:rgba(127,176,222,.8);}}
.cn-node{position:absolute; z-index:0; width:var(--s); height:var(--s); margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2); border-radius:50%; padding:3px; background:linear-gradient(135deg,#F3D08F,#7DBE84,#7FB0DE); box-shadow:0 0 0 6px rgba(243,208,143,.08), 0 18px 40px -12px rgba(0,0,0,.8);
  animation:cnPop .8s calc(var(--k) * 110ms + .2s) cubic-bezier(.3,1.5,.5,1) both, cnFloat 7s calc(var(--k) * -900ms) ease-in-out infinite alternate;}
.cn-node img{width:100%; height:100%; border-radius:50%; object-fit:cover; display:block;}
@keyframes cnPop{from{opacity:0; scale:.2;}}
@keyframes cnFloat{to{translate:0 -14px;}}
.cn-hero-inner{position:relative; z-index:1; padding:120px 0 70px;}
.cn-hero-inner::before{content:""; position:absolute; left:50%; top:50%; width:min(720px,92vw); height:360px; transform:translate(-50%,-50%); background:radial-gradient(closest-side, rgba(5,8,15,.85), transparent); z-index:-1;}
#view-connect .cn-hero .eyebrow{color:#F3D08F; justify-content:center;} #view-connect .cn-hero .eyebrow::before{background:#F3D08F;}
.cn-hero h1{font-size:clamp(54px,9vw,130px); line-height:.92; color:#fff; margin-top:10px;}
.cn-hero h1 span{display:inline-block; animation:fnTitle 1s cubic-bezier(.2,.9,.25,1) both;}
.cn-hero h1 span:nth-child(2){animation-delay:.15s;}
.cn-hl{background:linear-gradient(90deg,#F3D08F,#fff 45%,#7DBE84 70%,#7FB0DE); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:fnTitle 1s .3s cubic-bezier(.2,.9,.25,1) both, mhShine 5s 1.3s ease-in-out infinite alternate !important;}
.cn-hero .lede{max-width:560px; margin:20px auto 0; font-size:18.5px; color:rgba(255,255,255,.86); animation:fnTitle 1s .5s ease both;}
.cn-arrow{margin-top:34px;}
@media (max-width:700px){ .cn-hide-sm{display:none;} .cn-node{--s:56px !important;} }

.cn-steps{padding:90px 0 60px; background:linear-gradient(180deg,#101c26 0%, #2a3a3f 10%, #cfc4ab 22%, var(--bg) 32%);}
.cn-head{text-align:center; margin-bottom:38px;} .cn-head .eyebrow{justify-content:center;}
.cn-head h2{font-size:clamp(34px,4.8vw,58px); margin-top:8px; color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.4);}
#view-connect .cn-head .eyebrow{color:#F3D08F;} #view-connect .cn-head .eyebrow::before{background:#F3D08F;}
.cn-grid{display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:250px; gap:20px; grid-template-areas:"a a b" "a a c" "d e e"; perspective:1400px;}
.cn-card:nth-child(1){grid-area:a;} .cn-card:nth-child(2){grid-area:b;} .cn-card:nth-child(3){grid-area:c;} .cn-card:nth-child(4){grid-area:d;} .cn-card:nth-child(5){grid-area:e;}
.cn-card{position:relative; display:block; border-radius:26px; overflow:hidden; isolation:isolate; color:#fff; text-decoration:none; background:#0b1320; box-shadow:0 30px 60px -32px rgba(8,17,26,.8);
  transition:transform .5s cubic-bezier(.2,.9,.25,1), box-shadow .4s, opacity .8s, clip-path 1s cubic-bezier(.2,.9,.25,1);}
.cn-card.reveal{opacity:0; clip-path:inset(18% 10% 18% 10% round 26px); transform:none;}
.cn-card.reveal.in{opacity:1; clip-path:inset(0 0 0 0 round 26px); transition-delay:calc(var(--i) * 110ms);}
.cn-img, .cn-shade{position:absolute; inset:0;}
.cn-img img{width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.14); transition:transform 1.4s cubic-bezier(.2,.9,.25,1);}
.cn-card.in .cn-img img{transform:scale(1.02);}
.cn-shade{background:linear-gradient(180deg, rgba(8,17,26,0) 35%, rgba(8,17,26,.9) 100%);}
.cn-num{position:absolute; top:18px; right:22px; font-weight:900; font-size:54px; line-height:1; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.55);}
.cn-body{position:absolute; left:0; right:0; bottom:0; padding:24px 26px; display:flex; flex-direction:column; gap:6px;}
.cn-t{font-size:clamp(28px,2.8vw,38px); font-weight:900; text-transform:uppercase; line-height:1;}
.cn-big .cn-t{font-size:clamp(40px,5vw,72px);}
.cn-p{font-size:15px; line-height:1.5; color:rgba(255,255,255,.86); max-width:40ch;}
.cn-go{display:inline-flex; align-items:center; gap:8px; margin-top:6px; font-weight:800; font-size:14.5px; color:#F3D08F;}
.cn-go svg{width:16px; height:16px; transition:transform .3s;}
.cn-card::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.22) 50%, transparent 65%); transform:translateX(-120%); transition:transform .9s ease;}
@media (hover:hover){
  .cn-card:hover{transform:translateY(-8px) rotateX(3deg); box-shadow:0 44px 80px -30px rgba(8,17,26,.9), 0 0 0 2px rgba(243,208,143,.6);}
  .cn-card:hover .cn-img img{transform:scale(1.12);}
  .cn-card:hover .cn-go svg{transform:translateX(6px);}
  .cn-card:hover::after{transform:translateX(120%);}
}
.cn-mw .cn-go{color:#22D3C6;}
@media (max-width:900px){ .cn-grid{grid-template-columns:1fr 1fr; grid-auto-rows:220px; grid-template-areas:"a a" "a a" "b c" "d d" "e e";} }
@media (max-width:560px){ .cn-grid{grid-template-columns:1fr; grid-auto-rows:230px; gap:14px; grid-template-areas:"a" "a" "b" "c" "d" "e";} .cn-big .cn-t{font-size:48px;} }
.cn-end{padding:40px 0 100px; text-align:center;}
.cn-end h2{font-size:clamp(30px,4vw,48px);} .cn-end p{color:var(--ink-soft); margin-top:10px;}
@media (prefers-reduced-motion: reduce){ .cn-node, .cn-lines path{animation:none; stroke-dashoffset:0;} .cn-card.reveal{opacity:1; clip-path:none;} }

/* ---------- Make Room: the plans, and the drawing board they open onto ---------- */
.mr-plans{padding:90px 0; background:#0c2344; color:#EAF4FF; position:relative; overflow:hidden;
  background-image:linear-gradient(rgba(170,215,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(170,215,255,.07) 1px, transparent 1px), linear-gradient(rgba(170,215,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(170,215,255,.035) 1px, transparent 1px);
  background-size:120px 120px, 120px 120px, 24px 24px, 24px 24px;}
.mr-plans-head{text-align:center; max-width:640px; margin:0 auto 40px;}
#view-make-room .mr-plans .eyebrow{color:#BFE6FF; justify-content:center;} #view-make-room .mr-plans .eyebrow::before{background:#BFE6FF;}
.mr-plans h2{color:#fff; font-size:clamp(32px,4.4vw,54px); margin-top:8px;}
.mr-plans-head p:not(.eyebrow){color:rgba(234,244,255,.8); margin-top:10px;}
.mr-sheets{display:grid; grid-template-columns:1fr 1fr; gap:28px; perspective:1600px;}
.mr-sheet{position:relative; display:block; padding:0; border:1.5px solid rgba(191,230,255,.4); border-radius:18px; overflow:hidden; cursor:pointer; background:#10305a; color:#fff; font:inherit; text-align:left;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.8); transform:rotate(calc(var(--i) * 3deg - 1.5deg)); transition:transform .6s cubic-bezier(.2,.9,.25,1), box-shadow .4s, border-color .3s, opacity .8s, translate .9s;}
.mr-sheet.reveal{opacity:0; translate:0 70px;} .mr-sheet.reveal.in{opacity:1; translate:0 0; transition-delay:calc(var(--i) * 150ms);}
.mr-sheet-img{display:block; aspect-ratio:16/9; overflow:hidden;}
.mr-sheet-img img{width:100%; height:100%; object-fit:cover; display:block; -webkit-mask-image:linear-gradient(115deg,#000 45%,transparent 55%); mask-image:linear-gradient(115deg,#000 45%,transparent 55%); -webkit-mask-size:300% 100%; mask-size:300% 100%; -webkit-mask-position:100% 0; mask-position:100% 0;}
.mr-sheet.in .mr-sheet-img img{animation:mrWipe 2.2s calc(var(--i) * 200ms + .3s) cubic-bezier(.5,0,.3,1) forwards;}
@keyframes mrWipe{to{-webkit-mask-position:0 0; mask-position:0 0;}}
.mr-sheet-tag{position:absolute; top:14px; left:14px; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:5px 10px; border:1px solid rgba(191,230,255,.6); border-radius:6px; background:rgba(12,35,68,.7);}
.mr-sheet-body{display:flex; flex-direction:column; gap:4px; padding:18px 22px 20px; border-top:1px dashed rgba(191,230,255,.35);}
.mr-sheet-body b{font-size:24px; text-transform:uppercase; letter-spacing:.02em;}
.mr-sheet-body > span{color:rgba(234,244,255,.78); font-size:14.5px;}
.mr-sheet-body em{font-style:normal; font-weight:800; color:#BFE6FF; display:inline-flex; gap:8px; align-items:center; margin-top:6px;}
.mr-sheet-body em svg{width:16px; height:16px; transition:transform .3s;}
@media (hover:hover){ .mr-sheet:hover{transform:rotate(0) translateY(-10px) scale(1.02); border-color:#fff; box-shadow:0 44px 80px -30px rgba(0,0,0,.9), 0 0 40px -10px rgba(191,230,255,.5);} .mr-sheet:hover em svg{transform:translateX(6px);} }
.mr-plans-note{text-align:center; margin-top:26px; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.08em; color:rgba(234,244,255,.6);}
@media (max-width:760px){ .mr-sheets{grid-template-columns:1fr;} .mr-sheet{transform:none;} }

.mr-board{position:fixed; inset:0; width:100vw; height:100vh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:transparent; overflow:hidden;}
.mr-board::backdrop{background:rgba(3,10,22,.75); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);}
.mr-board-inner{position:absolute; inset:4vh 4vw; border-radius:14px; overflow:hidden; background:#0f2d57; border:2px solid rgba(191,230,255,.55); box-shadow:0 60px 120px -40px rgba(0,0,0,.9);
  transform:translateX(110%) rotate(6deg); transition:transform .9s cubic-bezier(.2,.9,.25,1);}
.mr-board.is-open .mr-board-inner{transform:none;}
.mr-board-grid{position:absolute; inset:0; background-image:linear-gradient(rgba(191,230,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(191,230,255,.12) 1px, transparent 1px), linear-gradient(rgba(191,230,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(191,230,255,.05) 1px, transparent 1px); background-size:100px 100px, 100px 100px, 20px 20px, 20px 20px;}
.mr-board-art{position:absolute; inset:5% 4% 14%; display:grid; place-items:center;}
.mr-board-art img{max-width:100%; max-height:100%; object-fit:contain; filter:none;
  -webkit-mask-image:linear-gradient(120deg,#000 46%,transparent 54%); mask-image:linear-gradient(120deg,#000 46%,transparent 54%); -webkit-mask-size:320% 100%; mask-size:320% 100%; -webkit-mask-position:100% 0; mask-position:100% 0;}
.mr-board.is-open .mr-board-art img{animation:mrWipe 1.6s .7s cubic-bezier(.55,0,.35,1) forwards;}
.mr-pen{position:absolute; top:-10%; bottom:-10%; left:0; width:4px; border-radius:4px; background:#fff; box-shadow:0 0 10px 3px rgba(191,230,255,.8); opacity:0; transform:rotate(-30deg);}
.mr-board.is-open .mr-pen{animation:mrPen 1.6s .7s cubic-bezier(.55,0,.35,1) forwards;}
@keyframes mrPen{0%{left:-60%; opacity:1;} 85%{opacity:1;} 100%{left:160%; opacity:0;}}
.mr-board.is-drawn .mr-board-art img{filter:none;}
.mr-titleblock{position:absolute; right:3%; bottom:3%; display:grid; gap:2px; padding:12px 18px; border:1.5px solid rgba(191,230,255,.7); color:#EAF4FF; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; background:rgba(12,35,68,.85);
  opacity:0; transform:translateY(12px); transition:opacity .6s 1.9s, transform .6s 1.9s;}
.mr-board.is-open .mr-titleblock{opacity:1; transform:none;}
.mr-titleblock b{font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:26px; letter-spacing:.03em; color:#fff;}
.mr-titleblock em{font-style:normal; color:#BFE6FF;} .mr-titleblock small{font-size:9.5px; opacity:.7;}
.mr-board-x{position:absolute; top:14px; right:16px; width:46px; height:46px; border-radius:50%; border:1.5px solid rgba(191,230,255,.7); background:rgba(12,35,68,.8); color:#fff; font-size:28px; line-height:1; cursor:pointer; transition:transform .25s;}
.mr-board-x:hover{transform:rotate(90deg);}
@media (max-width:700px){ .mr-board-inner{inset:10vh 3vw;} .mr-board-art{inset:6% 3% 24%;} .mr-titleblock{left:3%; right:3%;} }
@media (prefers-reduced-motion: reduce){ .mr-board-inner{transition:none;} .mr-board-art img, .mr-sheet-img img{-webkit-mask-image:none; mask-image:none; animation:none;} .mr-pen{display:none;} }

/* ---------- Faith page: Your Salvation + What We Believe on one page ---------- */
.fp .fp-s, .fp .fp-b{display:none;}
.fp.is-salvation .fp-s, .fp.is-believe .fp-b{display:revert; animation:fpSwap .6s cubic-bezier(.2,.9,.25,1) both;}
.fp .fp-title .fp-s, .fp .fp-title .fp-b, .fp .fp-eyebrow span{display:none;}
.fp.is-salvation .fp-title .fp-s, .fp.is-believe .fp-title .fp-b, .fp.is-salvation .fp-eyebrow .fp-s, .fp.is-believe .fp-eyebrow .fp-b{display:inline;}
.fp.is-believe .bf-stats.fp-b{display:flex;} .fp.is-salvation .sv-ctas.fp-s{display:flex;}
@keyframes fpSwap{from{opacity:0; transform:translateY(16px); filter:blur(6px);}}
.fp-hero{min-height:84vh;}
.fp-hero .bf-hero-inner{padding:120px 0 70px;}
#view-faith .fp-hero .eyebrow{color:#F3D08F; justify-content:center;} #view-faith .fp-hero .eyebrow::before{background:#F3D08F;}
.fp-title .fp-g{background:linear-gradient(90deg,#F3D08F,#fff 45%,#7DBE84 70%,#7FB0DE); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:mhShine 5s ease-in-out infinite alternate;}
.fp-hero h1{font-size:clamp(44px,7vw,100px);}
.fp-hero .sv-cross-wrap{width:96px; height:137px; margin-bottom:18px;}
.fp-bar{position:sticky; top:76px; z-index:30; display:flex; justify-content:center; padding:14px 16px; margin:-40px 0 -46px; pointer-events:none;}
.fp-toggle{pointer-events:auto; position:relative; display:flex; gap:4px; padding:6px; border-radius:999px; background:rgba(11,19,32,.72); -webkit-backdrop-filter:blur(16px) saturate(1.3); backdrop-filter:blur(16px) saturate(1.3); border:1px solid rgba(243,208,143,.35); box-shadow:0 20px 44px -18px rgba(0,0,0,.7);}
.fp-ind{position:absolute; left:0; top:6px; bottom:6px; border-radius:999px; background:linear-gradient(100deg,#F3D08F,#D9B36E); box-shadow:0 8px 22px -8px rgba(243,208,143,.9); transition:transform .5s cubic-bezier(.3,1.3,.5,1), width .5s cubic-bezier(.3,1.3,.5,1);}
.fp-tab{position:relative; z-index:1; display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:999px; font-weight:800; font-size:15px; color:#EAF0F6; text-decoration:none; white-space:nowrap; transition:color .3s;}
.fp-tab svg{width:18px; height:18px;}
.fp-tab[aria-selected="true"]{color:#0B1320;}
@media (max-width:480px){ .fp-tab{padding:11px 13px; font-size:13.5px; gap:6px;} .fp-tab svg{width:15px; height:15px;} .fp-bar{top:66px;} }
.fp-panel.fp-in{animation:fpPanel .7s cubic-bezier(.2,.9,.25,1) both;}
@keyframes fpPanel{from{opacity:0; transform:translateY(40px);}}
.fp .sv-journey{padding-top:70px;}
.fp .bf-story{padding-top:80px;}

/* 3D photo ring: baptisms and prayer mixed together, spinning */
.fp-ring-sec{position:relative; overflow:hidden; padding:90px 0 40px; background:radial-gradient(60% 60% at 50% 60%, rgba(127,176,222,.35), transparent 70%), linear-gradient(180deg, var(--bg), #0B1320 22%, #0B1320 78%, var(--bg));}
.fp-ring-head{text-align:center; color:#fff;}
.fp-ring-head .eyebrow{justify-content:center;} #view-faith .fp-ring-head .eyebrow{color:#BFE6FF;} #view-faith .fp-ring-head .eyebrow::before{background:#BFE6FF;}
.fp-ring-head h2{color:#fff; font-size:clamp(34px,5vw,62px); margin-top:8px;}
.fp-ring-head p:not(.eyebrow){color:rgba(234,244,255,.75); margin-top:8px;}
.ring3d{position:relative; height:clamp(380px,46vw,560px); perspective:1000px; perspective-origin:50% 30%; cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none; margin-top:10px;}
.ring3d.is-drag{cursor:grabbing;}
.ring3d-spin{position:absolute; left:50%; top:46%; width:0; height:0; transform-style:preserve-3d;}
.ring3d-item{position:absolute; left:calc(var(--w) / -2); top:calc(var(--h) / -2); width:var(--w); height:var(--h); padding:0; border:0; border-radius:18px; overflow:hidden; cursor:pointer; background:#10305a;
  box-shadow:0 30px 50px -20px rgba(0,0,0,.8); -webkit-box-reflect:below 10px linear-gradient(transparent 70%, rgba(255,255,255,.18)); transition:filter .3s;}
.ring3d-item img{width:100%; height:100%; object-fit:cover; display:block; pointer-events:none;}
.ring3d-item::after{content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.25);}
.ring3d-item .rt{position:absolute; left:10px; bottom:10px; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:800; color:#fff; background:rgba(11,19,32,.6); padding:4px 8px; border-radius:6px;}
.ring3d.is-in .ring3d-spin{animation:ringIn 1.4s cubic-bezier(.2,.9,.25,1) both;}
@keyframes ringIn{from{opacity:0; scale:.6;}}
@media (prefers-reduced-motion: reduce){ .ring3d.is-in .ring3d-spin{animation:none;} }

/* The four Gospels (Matthew, Mark, Luke, John) */
.fp-gintro{margin-top:12px;}
.fp-four{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:14px 0 6px;}
.fp-four div{padding:14px 16px; border-radius:14px; background:rgba(184,146,90,.1); border:1px solid rgba(184,146,90,.35);}
.fp-four b{display:block; font-family:"Anton",Impact,sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.03em; font-size:20px; color:#8A6436;}
.fp-four span{display:block; font-size:13.5px; line-height:1.5; margin-top:4px; color:var(--ink-soft);}
@media (max-width:560px){ .fp-four{grid-template-columns:1fr;} }
.fp-gospels{padding:30px 0 70px;}
.fp-four-lg{grid-template-columns:repeat(4,1fr); gap:18px; perspective:1200px;}
.fp-four-lg div{padding:26px 22px; border-radius:22px; background:var(--surface); border:1px solid var(--line); box-shadow:0 24px 44px -30px rgba(12,20,30,.5); position:relative; overflow:hidden;}
.fp-four-lg div::before{content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,#2E6B3E,#B8925A,#2A5680);}
.fp-four-lg b{font-size:30px;} .fp-four-lg span{font-size:14.5px;}
.fp-four-lg.reveal div{opacity:0; transform:translateY(40px) rotateX(12deg);}
.fp-four-lg.reveal.in div{opacity:1; transform:none; transition:opacity .7s, transform .9s cubic-bezier(.2,.9,.25,1);}
.fp-four-lg.reveal.in div:nth-child(2){transition-delay:.12s;} .fp-four-lg.reveal.in div:nth-child(3){transition-delay:.24s;} .fp-four-lg.reveal.in div:nth-child(4){transition-delay:.36s;}
@media (max-width:980px){ .fp-four-lg{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .fp-four-lg{grid-template-columns:1fr;} }
.fp-four-foot{text-align:center; margin-top:22px; color:var(--ink-soft);} .fp-four-foot a{color:#2A5680; font-weight:800; margin-left:6px;}
@media (prefers-reduced-motion: reduce){ .fp-four-lg.reveal div{opacity:1; transform:none;} }
.fp-hero h1.fp-title > span{background:none; -webkit-background-clip:border-box; background-clip:border-box; color:#fff;}
.fp-panel{position:relative;}
.mr-art-wrap{position:relative; display:inline-block; overflow:hidden; line-height:0;} .mr-art-wrap img{max-width:100%; max-height:66vh; width:auto; height:auto;} @media (max-width:700px){ .mr-art-wrap img{max-height:52vh;} }

/* Four Gospels as books, then His apostles and disciples */
.fp-four em{display:block; font-style:normal; font-weight:800; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#2E6B3E; margin-top:2px;}
.fp-four-lg .fp-book{position:relative; overflow:hidden; padding:26px 22px 22px 30px; border-radius:8px 20px 20px 8px; background:linear-gradient(90deg, rgba(138,100,54,.08), transparent 18%), var(--surface); border:1px solid var(--line); box-shadow:0 26px 44px -30px rgba(12,20,30,.55); display:flex; flex-direction:column; gap:8px;}
.fp-four-lg .fp-book::before{display:none;}
.fp-book-spine{position:absolute; left:0; top:0; bottom:0; width:10px; background:linear-gradient(180deg,#8A6436,#B8925A 50%,#8A6436); box-shadow:inset -2px 0 4px rgba(0,0,0,.25);}
.fp-four-lg .fp-book b{font-size:34px; line-height:1; color:#8A6436;}
.fp-four-lg .fp-book em{font-size:12.5px;}
.fp-four-lg .fp-book p{font-size:14.5px; line-height:1.6; color:var(--ink-soft); margin:4px 0 0;}
.fp-four-lg .fp-book blockquote{margin:auto 0 0; padding:12px 14px; border-left:3px solid #B8925A; background:rgba(184,146,90,.09); border-radius:0 10px 10px 0; font-style:italic; font-size:13.5px; line-height:1.5; color:var(--ink);}
.fp-four-lg .fp-book blockquote cite{display:block; font-style:normal; font-weight:800; font-size:12px; color:#8A6436; margin-top:6px;}
.fp-four-lg.reveal .fp-book{opacity:0; transform:translateY(40px) rotateY(-24deg); transform-origin:0 50%;}
.fp-four-lg.reveal.in .fp-book{opacity:1; transform:none; transition:opacity .7s, transform 1s cubic-bezier(.2,.9,.25,1);}
.fp-four-lg.reveal.in .fp-book:nth-child(2){transition-delay:.12s;} .fp-four-lg.reveal.in .fp-book:nth-child(3){transition-delay:.24s;} .fp-four-lg.reveal.in .fp-book:nth-child(4){transition-delay:.36s;}
@media (hover:hover){ .fp-four-lg .fp-book{transition:transform .5s cubic-bezier(.2,.9,.25,1), box-shadow .4s;} .fp-four-lg.in .fp-book:hover{transform:translateY(-8px) rotateY(6deg); box-shadow:0 40px 60px -30px rgba(12,20,30,.6);} }
.fp-apostles{margin-top:56px; padding:40px clamp(20px,4vw,48px); border-radius:28px; color:#EAF0F6; background:radial-gradient(60% 80% at 100% 0%, rgba(243,208,143,.18), transparent 60%), linear-gradient(145deg,#0B1320,#16283a); box-shadow:0 40px 80px -40px rgba(11,19,32,.8);}
.fp-ap-head .eyebrow{color:#F3D08F;} #view-faith .fp-apostles .eyebrow{color:#F3D08F;} #view-faith .fp-apostles .eyebrow::before{background:#F3D08F;}
.fp-ap-head h3{color:#fff; font-size:clamp(28px,3.4vw,42px); margin-top:6px;}
.fp-apostles > p{margin-top:14px; color:rgba(234,240,246,.85);}
.fp-twelve{list-style:none; margin:18px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
.fp-twelve li{padding:9px 16px; border-radius:999px; font-weight:800; font-size:14px; color:#0B1320; background:linear-gradient(135deg,#FFF4D6,#F3D08F); box-shadow:0 8px 20px -10px rgba(243,208,143,.8);}
.fp-twelve li.is-fallen{background:transparent; color:rgba(234,240,246,.55); box-shadow:none; border:1px dashed rgba(234,240,246,.35); text-decoration:line-through; text-decoration-color:rgba(234,240,246,.4);}
.fp-apostles.reveal .fp-twelve li{opacity:0; transform:translateY(16px) scale(.8);}
.fp-apostles.reveal.in .fp-twelve li{opacity:1; transform:none; transition:opacity .5s calc(.3s + var(--i) * 70ms), transform .6s calc(.3s + var(--i) * 70ms) cubic-bezier(.3,1.5,.5,1);}
.fp-ap-note{font-size:13.5px !important; color:rgba(234,240,246,.6) !important;}
.fp-ap-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:24px;}
.fp-ap-grid div{padding:18px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);}
.fp-ap-grid b{display:block; color:#F3D08F; font-size:16px;} .fp-ap-grid span{display:block; margin-top:6px; font-size:14px; line-height:1.55; color:rgba(234,240,246,.82);}
@media (max-width:980px){ .fp-ap-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .fp-ap-grid{grid-template-columns:1fr;} .fp-twelve li{font-size:13px; padding:8px 12px;} }
@media (prefers-reduced-motion: reduce){ .fp-four-lg.reveal .fp-book, .fp-apostles.reveal .fp-twelve li{opacity:1; transform:none;} }

/* Faith hero v2: letter-by-letter titles that flip between the two sides */
.fp-hero{overflow:hidden;}
.fp-hero h1.fp-title{font-size:clamp(58px,10vw,150px); line-height:.9; margin-top:14px; perspective:900px; min-height:1.85em;}
.fp-tt{display:none;} .fp-tt.is-show{display:block;}
.fp-ln{display:block; white-space:nowrap;}
.fp-ln .w{display:inline-block; white-space:nowrap;}
.fp-ln .c{display:inline-block; transform-origin:50% 100%; backface-visibility:hidden;}
.fp-tt.is-in .c{animation:fpCharIn .95s calc(var(--li) * 260ms + var(--ci) * 38ms) cubic-bezier(.2,.9,.25,1) both;}
.fp-tt.is-out .c{animation:fpCharOut .45s calc(var(--ci) * 18ms) cubic-bezier(.6,0,.8,.4) both;}
@keyframes fpCharIn{0%{opacity:0; transform:translateY(.55em) rotateX(-95deg) scale(.8); filter:blur(10px);} 60%{opacity:1; filter:blur(0);} 100%{opacity:1; transform:none; filter:none;}}
@keyframes fpCharOut{to{opacity:0; transform:translateY(-.45em) rotateX(95deg) scale(.9); filter:blur(8px);}}
.fp-hero h1.fp-title .fp-g .c{background-image:linear-gradient(90deg,#F3D08F,#fff 42%,#7DBE84 68%,#7FB0DE); -webkit-background-clip:text; background-clip:text; color:transparent; background-repeat:no-repeat;}
.fp-hero h1.fp-title .fp-tt, .fp-hero h1.fp-title .fp-ln, .fp-hero h1.fp-title .w, .fp-hero h1.fp-title .fp-strike, .fp-hero h1.fp-title .fp-found{background:none; -webkit-background-clip:border-box; background-clip:border-box;}
.fp-hero h1.fp-title .c{color:#fff;}
.fp-hero h1.fp-title .fp-g .c{color:transparent;}
.fp-strike{position:relative; display:inline-block; opacity:.55;}
.fp-strike::after{content:""; position:absolute; left:-4%; right:-4%; top:52%; height:.075em; border-radius:.05em; background:#F3D08F; box-shadow:0 0 18px rgba(243,208,143,.8); transform:rotate(-4deg) scaleX(0); transform-origin:0 50%;}
.fp-tt.is-in .fp-strike::after{animation:fpStrike .6s 1s cubic-bezier(.6,0,.3,1) forwards;}
@keyframes fpStrike{to{transform:rotate(-4deg) scaleX(1);}}
.fp-tt.is-in .fp-found .c{animation:fpCharIn .95s calc(var(--li) * 260ms + var(--ci) * 38ms) cubic-bezier(.2,.9,.25,1) both, fpGlow 2.4s 1.7s ease-in-out infinite alternate;}
@keyframes fpGlow{from{text-shadow:0 0 0 rgba(243,208,143,0);} to{text-shadow:0 0 28px rgba(243,208,143,.75);}}
.fp-title::after{content:""; position:absolute; inset:0; pointer-events:none;}
.fp-bgword{position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); z-index:0; pointer-events:none; white-space:nowrap; overflow:hidden; height:1em; font-family:"Anton",Impact,sans-serif; font-size:clamp(140px,24vw,340px); line-height:1;}
.fp-bgword span{position:absolute; left:0; top:0; color:transparent; -webkit-text-stroke:1.5px rgba(243,208,143,.14); opacity:0; transform:translateY(20%) scale(1.05); filter:blur(8px); transition:opacity .8s, transform 1s cubic-bezier(.2,.9,.25,1), filter .8s; animation:fpDrift 60s linear infinite;}
.fp.is-salvation .fp-bgword [data-w="salvation"], .fp.is-believe .fp-bgword [data-w="believe"]{opacity:1; transform:none; filter:none;}
@keyframes fpDrift{from{translate:0 0;} to{translate:-50% 0;}}
.fp-hero .bf-hero-inner{position:relative; z-index:1;}
.sv-cross-wrap.fp-flash{animation:fpFlash 1s ease;}
@keyframes fpFlash{0%{filter:drop-shadow(0 0 0 rgba(243,208,143,0));} 35%{filter:drop-shadow(0 0 26px rgba(243,208,143,.95)); transform:scale(1.08) rotate(-2deg);} 100%{filter:none; transform:none;}}
@media (max-width:560px){ .fp-hero h1.fp-title{font-size:clamp(48px,15vw,72px);} }
@media (prefers-reduced-motion: reduce){ .fp-tt.is-in .c, .fp-tt.is-out .c{animation:none;} .fp-strike::after{transform:rotate(-4deg);} .fp-bgword span{animation:none;} }
.fp-tt.is-out .fp-found .c, .fp-tt.is-out .fp-g .c{animation:fpCharOut .45s calc(var(--ci) * 18ms) cubic-bezier(.6,0,.8,.4) both;} .fp-tt.is-out .fp-strike::after{transform:rotate(-4deg) scaleX(1); opacity:0; transition:opacity .3s;}
.fc2-name .fc2-kind{font-style:normal; display:inline-block; margin-left:4px; background:linear-gradient(90deg,#8A6436,#D9A441 50%,#2E6B3E); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:mhShine 3.5s ease-in-out infinite alternate; text-shadow:none;}
/* New Give & Events photos: aim at faces */
.cube-grid .cube-give .cube-front.has-img{background-position:center 30%, center 30%;}
.cube-grid .cube-events .cube-front.has-img{background-position:center 40%, center 40%;}
/* Phones: "I'm New" shows the whole photo inside the square (no zoom) */
@media (max-width:560px){
  .cube-grid .cube-visit .cube-kb, .cube-grid .cube-visit .cube-front.has-img{background-image:var(--cube-visit-m) !important; background-position:center !important;}
  .cube-grid .cube.is-wide .cube-kb{animation:none; transform:none;}
}

/* Make Room plans v2: the drawing is revealed exactly behind a pen that stays on the sheet (phones and touch screens only; computers keep the original sweep) */
@media (max-width:760px), (hover:none){
  .mr-sheet-img{position:relative;}
  .mr-sheet-img img{-webkit-mask-image:none; mask-image:none; clip-path:inset(0 100% 0 0);}
  .mr-sheet.in .mr-sheet-img img{animation:mrClip 2.4s calc(var(--i) * 250ms + .3s) cubic-bezier(.45,.05,.35,1) forwards;}
  .mr-sheet-img::after{content:""; position:absolute; top:0; bottom:0; left:0; width:3px; background:#fff; box-shadow:0 0 14px 4px rgba(191,230,255,.9); opacity:0;}
  .mr-sheet.in .mr-sheet-img::after{animation:mrPenX 2.4s calc(var(--i) * 250ms + .3s) cubic-bezier(.45,.05,.35,1) forwards;}
  @keyframes mrClip{to{clip-path:inset(0 0 0 0);}}
  @keyframes mrPenX{0%{left:0; opacity:1;} 92%{opacity:1;} 100%{left:calc(100% - 3px); opacity:0;}}
  .mr-board-art img{-webkit-mask-image:none !important; mask-image:none !important; clip-path:inset(0 100% 0 0);}
  .mr-board.is-open .mr-board-art img{animation:mrClip 2.6s .75s cubic-bezier(.45,.05,.35,1) forwards;}
  .mr-board .mr-pen{top:0; bottom:0; width:4px; transform:none; left:0;}
  .mr-board.is-open .mr-pen{animation:mrPenX 2.6s .75s cubic-bezier(.45,.05,.35,1) forwards;}
  .mr-board-inner{transform:translateX(70px) rotate(1.5deg) scale(.95); opacity:0; transition:transform .7s cubic-bezier(.2,.9,.25,1), opacity .5s;}
  .mr-board.is-open .mr-board-inner{transform:none; opacity:1;}
  .mr-titleblock{transition-delay:3s, 3s;}
  @media (prefers-reduced-motion: reduce){ .mr-sheet-img img, .mr-board-art img{clip-path:none; animation:none;} .mr-sheet-img::after{display:none;} }
}
/* Start Here photos (2026-09-30): kids with glow sticks, overhead of the church, ladies talking, prayer at the front */
.cube-grid .cube-midweek .cube-front.has-img{background-position:center 0%, center 0%;}
.cube-grid .cube-events .cube-front.has-img{background-position:center 50%, center 50%;}
.cube-grid .cube-groups .cube-front.has-img{background-position:center 0%, center 0%;}
.cube-grid .cube-give .cube-front.has-img{background-position:center 45%, center 45%;}

/* Students & Kids: About headline and "what happens" chips */
.mw-about-h{font-size:clamp(34px,4.4vw,56px); line-height:1; margin:10px 0 16px; background:var(--grad, linear-gradient(90deg,#22D3C6,#8B5CF6,#EC4899)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.mw-vibes{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px;}
.mw-vibes span{padding:7px 14px; border-radius:999px; font-weight:800; font-size:13.5px; color:#fff; background:rgba(255,255,255,.06); border:1.5px solid transparent; background-image:linear-gradient(#11131a,#11131a), linear-gradient(90deg,#22D3C6,#8B5CF6,#EC4899); background-origin:border-box; background-clip:padding-box, border-box; animation:mwVibe .6s calc(var(--n,0) * 80ms) cubic-bezier(.3,1.5,.5,1) both;}
.mw-vibes span:nth-child(1){--n:0;} .mw-vibes span:nth-child(2){--n:1;} .mw-vibes span:nth-child(3){--n:2;} .mw-vibes span:nth-child(4){--n:3;} .mw-vibes span:nth-child(5){--n:4;}
@keyframes mwVibe{from{opacity:0; transform:translateY(12px) scale(.85);}}
.reveal:not(.in) .mw-vibes span{animation-play-state:paused;}

/* ---------- Make Room plans v3 (all devices): sheets wipe in cleanly; the board zooms out of the tapped sheet ---------- */
.mr-plans .mr-sheet-img{position:relative;}
.mr-plans .mr-sheet-img img{-webkit-mask-image:none; mask-image:none; clip-path:inset(0 100% 0 0); animation:none;}
.mr-plans .mr-sheet.in .mr-sheet-img img{animation:mrClip 2.2s calc(var(--i) * 250ms + .3s) cubic-bezier(.45,.05,.35,1) forwards;}
.mr-plans .mr-sheet-img::after{content:""; position:absolute; top:0; bottom:0; left:0; width:2px; background:#fff; box-shadow:0 0 8px 2px rgba(191,230,255,.7); opacity:0;}
.mr-plans .mr-sheet.in .mr-sheet-img::after{animation:mrPenX 2.2s calc(var(--i) * 250ms + .3s) cubic-bezier(.45,.05,.35,1) forwards;}
.mr-board.mr-v3 .mr-board-inner{transform:none; opacity:1; transition:none;}
.mr-board.mr-v3 .mr-board-art img{-webkit-mask-image:none !important; mask-image:none !important; clip-path:inset(0 100% 0 0); animation:none; filter:none; opacity:1;}
.mr-board.mr-v3.is-open .mr-board-art img{animation:mrClip 2.2s cubic-bezier(.45,.05,.35,1) forwards;}
.mr-board.mr-v3 .mr-pen{top:0; bottom:0; left:0; width:2px; transform:none; opacity:0; box-shadow:0 0 8px 2px rgba(191,230,255,.7);}
.mr-board.mr-v3.is-open .mr-pen{animation:mrPenX 2.2s cubic-bezier(.45,.05,.35,1) forwards;}
.mr-board.mr-v3 .mr-titleblock{transition:opacity .6s 2.2s, transform .6s 2.2s;}
.mr-board.mr-v3::backdrop{animation:mrFadeIn .4s ease;}
@keyframes mrFadeIn{from{opacity:0;}}
@media (prefers-reduced-motion: reduce){ .mr-plans .mr-sheet-img img, .mr-board.mr-v3 .mr-board-art img{clip-path:none; animation:none;} .mr-plans .mr-sheet-img::after, .mr-board.mr-v3 .mr-pen{display:none;} }
@keyframes mrClip{to{clip-path:inset(0 0 0 0);}} @keyframes mrPenX{0%{left:0; opacity:1;} 92%{opacity:1;} 100%{left:calc(100% - 3px); opacity:0;}}

/* Make Room: the header logo is the blueprint RH from the load-in */
body.bp-page header.nav .lf-front{background:#0f2d57; background-image:linear-gradient(rgba(191,230,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(191,230,255,.14) 1px, transparent 1px); background-size:12px 12px; border:1.5px solid rgba(191,230,255,.55); box-shadow:0 10px 28px -12px rgba(0,0,0,.7), 0 0 18px -6px rgba(127,212,255,.6);}
.hb-logo{display:block; width:100%; height:100%; padding:8px 10px; box-sizing:border-box; overflow:visible;}
.hb-lines path{stroke:#EAF4FF; stroke-width:7; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; animation:bpDraw 1.8s .2s cubic-bezier(.45,.05,.25,1) forwards;}
.hb-lines path:nth-child(n+5){animation-delay:.45s;}
.hb-fill{opacity:0; animation:bpFade .7s 1.6s ease forwards;}
.hb-dim{stroke:rgba(191,230,255,.6); stroke-width:3;}
@media (prefers-reduced-motion: reduce){ .hb-lines path{animation:none; stroke-dashoffset:0;} .hb-fill{animation:none; opacity:1;} }

/* Your Salvation: smoother scrolling */
.sv-line span{will-change:transform;}
.sv-node{transition:background-color .6s ease, border-color .6s ease, box-shadow .6s ease, transform .6s cubic-bezier(.2,.9,.25,1);}
.sv-timeline{perspective:1400px;}
.sv-card{will-change:transform, opacity; backface-visibility:hidden;}
.fp .sv-rail{-webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(11,19,32,.92);}
.fp-toggle{-webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); background:rgba(11,19,32,.86);}
.fp-bar, .fp .sv-rail{transform:translateZ(0);}
.fp .sv-step, .fp #baptize, .fp #get-baptized{scroll-margin-top:170px;}

/* 3D photo ring v2: level, with a glowing stage floor, reflections, depth of field and a caption for the photo in front */
.ring3d{perspective:1200px; perspective-origin:50% 42%; height:clamp(420px,48vw,600px);}
.ring3d-spin{top:42%;}
.ring3d::before{content:""; position:absolute; left:50%; top:74%; width:min(1100px,110vw); height:180px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(closest-side, rgba(127,176,222,.45), rgba(127,176,222,.12) 55%, transparent 75%); filter:blur(6px); pointer-events:none; animation:ringFloor 5s ease-in-out infinite alternate;}
@keyframes ringFloor{to{opacity:.65; transform:translateX(-50%) scaleX(.94);}}
.ring3d::after{content:""; position:absolute; left:50%; top:8%; width:2px; height:60%; transform:translateX(-50%); background:linear-gradient(180deg, transparent, rgba(243,208,143,.55), transparent); box-shadow:0 0 30px 12px rgba(243,208,143,.12); pointer-events:none;}
.ring3d-item{transition:filter .25s linear, box-shadow .4s; -webkit-box-reflect:below 14px linear-gradient(transparent 62%, rgba(255,255,255,.22));}
.ring3d-item.is-front{box-shadow:0 40px 70px -24px rgba(0,0,0,.85), 0 0 0 2px rgba(243,208,143,.85), 0 0 50px -6px rgba(243,208,143,.55);}
.ring3d-item .rt{opacity:0; transition:opacity .4s;} .ring3d-item.is-front .rt{opacity:1;}
.ring3d-cap{position:absolute; left:50%; bottom:2%; transform:translateX(-50%); text-align:center; color:#fff; width:min(560px,90vw); pointer-events:none;}
.ring3d-cap b{display:block; font-family:"Anton",Impact,sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.14em; font-size:14px; color:#F3D08F;}
.ring3d-cap span{display:block; margin-top:4px; font-size:16px; color:rgba(234,240,246,.85);}
.ring3d-cap.pop{animation:ringCap .6s cubic-bezier(.2,.9,.25,1);}
@keyframes ringCap{from{opacity:0; transform:translate(-50%,10px);}}
@media (max-width:640px){ .ring3d{height:440px; perspective:900px;} .ring3d::before{top:70%; height:120px;} }
@media (prefers-reduced-motion: reduce){ .ring3d::before{animation:none;} }
.tn-next{text-align:center; color:var(--ink-soft); font-weight:700;} .gp-arrow{color:#F4EEE2;}

/* ---------- Site search ---------- */
.srch-btn{position:relative; width:44px; height:44px; flex:none; border-radius:50%; border:1.5px solid rgba(46,107,62,.35); background:rgba(255,255,255,.55); color:#1C2A1E; display:grid; place-items:center; cursor:pointer; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); transition:transform .3s cubic-bezier(.3,1.5,.5,1), box-shadow .3s, border-color .3s, background .3s;}
body.hero-dark header.nav:not(.scrolled) .srch-btn, body.theme-midweek .srch-btn, body.bp-page .srch-btn{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.35);}
.srch-btn svg{width:21px; height:21px; overflow:visible;}
.srch-btn .sb-lens{transform-origin:10.5px 10.5px; transition:transform .5s cubic-bezier(.3,1.5,.5,1);}
.srch-btn .sb-handle{transform-origin:15.5px 15.5px; transition:transform .4s cubic-bezier(.3,1.5,.5,1);}
.srch-btn .sb-glint{stroke-width:1.6; opacity:.0; transition:opacity .3s;}
.srch-btn::after{content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid rgba(243,208,143,.7); opacity:0; animation:srchPing 4.5s 2s ease-out infinite;}
@keyframes srchPing{0%{opacity:.8; transform:scale(.85);} 30%,100%{opacity:0; transform:scale(1.35);}}
@media (hover:hover){
  .srch-btn:hover{transform:translateY(-2px) scale(1.06); border-color:#D9B36E; box-shadow:0 10px 24px -10px rgba(217,179,110,.9);}
  .srch-btn:hover .sb-lens{transform:scale(1.12) rotate(-18deg);}
  .srch-btn:hover .sb-handle{transform:rotate(12deg) scale(1.1);}
  .srch-btn:hover .sb-glint{opacity:1;}
}
.srch-btn:active{transform:scale(.94);}
.srch-lock, .srch-lock body{overflow:hidden;}
.srch{position:fixed; inset:0; z-index:100000; display:flex; justify-content:center; align-items:flex-start; padding:min(11vh,110px) 16px 16px;}
.srch[hidden]{display:none;}
.srch-back{position:absolute; inset:0; background:radial-gradient(60% 50% at 50% 20%, rgba(42,86,128,.35), transparent 70%), rgba(4,8,14,.72); -webkit-backdrop-filter:blur(10px) saturate(1.2); backdrop-filter:blur(10px) saturate(1.2); opacity:0; transition:opacity .28s ease;}
.srch.is-open .srch-back{opacity:1;}
.srch-panel{position:relative; width:min(720px,100%); max-height:min(78vh,760px); display:flex; flex-direction:column; border-radius:26px; overflow:hidden; color:#EAF0F6;
  background:linear-gradient(160deg, rgba(16,28,42,.97), rgba(9,16,26,.97)); box-shadow:0 60px 120px -40px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.08);
  opacity:0; transform:translateY(-18px) scale(.96); transition:opacity .28s ease, transform .45s cubic-bezier(.2,.9,.25,1);}
.srch.is-open .srch-panel{opacity:1; transform:none;}
.srch-panel::before{content:""; position:absolute; inset:0; padding:1.5px; border-radius:inherit; pointer-events:none; background:conic-gradient(from var(--sa,0deg), #F3D08F, #7DBE84, #7FB0DE, #C9A0FF, #F3D08F); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.75; animation:srchSpin 6s linear infinite;}
@property --sa{syntax:'<angle>'; initial-value:0deg; inherits:false;}
@keyframes srchSpin{to{--sa:360deg;}}
.srch-bar{display:flex; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.08);}
.srch-lens{width:26px; height:26px; flex:none; color:#F3D08F;}
.srch-lens svg{width:100%; height:100%;}
.srch.has-q .srch-lens svg{animation:srchScan 1.4s ease-in-out infinite;}
@keyframes srchScan{0%,100%{transform:translateX(0) rotate(0);} 50%{transform:translateX(3px) rotate(-10deg);}}
.srch-in{flex:1; min-width:0; border:0; outline:none; background:none; color:#fff; font:inherit; font-size:clamp(19px,2.4vw,24px); font-weight:700; padding:6px 0;}
.srch-in::placeholder{color:rgba(234,240,246,.45);}
.srch-in::-webkit-search-cancel-button{display:none;}
.srch-x{flex:none; font:inherit; font-size:12px; font-weight:800; letter-spacing:.06em; color:rgba(234,240,246,.7); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:8px; padding:6px 10px; cursor:pointer;}
.srch-x:hover{color:#fff; background:rgba(255,255,255,.16);}
.srch-list{overflow-y:auto; overscroll-behavior:contain; padding:8px 10px 12px; scrollbar-width:thin;}
.srch-h{margin:14px 12px 6px; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(234,240,246,.5);}
.srch-row{display:flex; align-items:center; gap:14px; padding:11px 12px; border-radius:14px; color:inherit; text-decoration:none; position:relative; animation:srchIn .4s calc(var(--i) * 22ms) cubic-bezier(.2,.9,.25,1) both; transition:background .15s;}
@keyframes srchIn{from{opacity:0; transform:translateY(8px);}}
.srch-row.is-sel{background:linear-gradient(90deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); box-shadow:inset 3px 0 0 var(--c);}
.srch-row.is-top{background:rgba(243,208,143,.08); border:1px solid rgba(243,208,143,.25);}
.srch-row.is-top.is-sel{background:rgba(243,208,143,.16);}
.srch-ic{width:38px; height:38px; flex:none; border-radius:11px; display:grid; place-items:center; color:var(--c); background:color-mix(in srgb, var(--c) 16%, transparent); border:1px solid color-mix(in srgb, var(--c) 35%, transparent);}
.srch-ic svg{width:20px; height:20px;}
.srch-tx{flex:1; min-width:0; display:grid; gap:2px;}
.srch-tx b{font-size:15.5px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.srch-tx span{font-size:13px; color:rgba(234,240,246,.62); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.srch-tx mark{background:none; color:#F3D08F; box-shadow:inset 0 -2px 0 rgba(243,208,143,.55);}
.srch-kind{flex:none; font-size:11px; font-weight:800; letter-spacing:.06em; color:var(--c); padding:3px 8px; border-radius:999px; border:1px solid color-mix(in srgb, var(--c) 40%, transparent);}
.srch-go{flex:none; width:26px; height:26px; border-radius:8px; display:grid; place-items:center; font-size:14px; color:#0B1320; background:#F3D08F; opacity:0; transform:translateX(-6px); transition:opacity .15s, transform .2s;}
.srch-row.is-sel .srch-go{opacity:1; transform:none;}
.srch-chips{display:flex; flex-wrap:wrap; gap:8px; padding:0 12px;}
.srch-chip{font:inherit; font-size:14px; font-weight:700; color:#EAF0F6; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:8px 14px; cursor:pointer; animation:srchIn .45s calc(var(--i) * 35ms) cubic-bezier(.2,.9,.25,1) both; transition:background .2s, border-color .2s, transform .2s;}
.srch-chip:hover{background:rgba(243,208,143,.14); border-color:rgba(243,208,143,.6); transform:translateY(-2px);}
.srch-quick{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:0 12px 6px;}
.srch-q{display:flex; flex-direction:column; align-items:center; gap:8px; padding:16px 8px; border-radius:16px; text-decoration:none; color:#fff; font-weight:800; font-size:13.5px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); animation:srchIn .45s calc(.2s + var(--i) * 50ms) cubic-bezier(.2,.9,.25,1) both; transition:transform .25s cubic-bezier(.3,1.5,.5,1), border-color .2s;}
.srch-q svg{width:26px; height:26px; color:var(--c);}
.srch-q:hover{transform:translateY(-4px); border-color:var(--c);}
.srch-empty{display:grid; place-items:center; gap:6px; text-align:center; padding:40px 20px; color:rgba(234,240,246,.7);}
.srch-empty-ico{width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.06); color:#F3D08F; margin-bottom:6px;}
.srch-empty-ico svg{width:26px; height:26px;}
.srch-empty b{color:#fff; font-size:17px;} .srch-empty a{color:#F3D08F;}
.srch-foot{display:flex; justify-content:space-between; gap:12px; padding:10px 18px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; color:rgba(234,240,246,.5);}
.srch-foot kbd{font:inherit; font-size:11px; padding:1px 6px; border-radius:5px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); margin:0 2px;}
@media (max-width:640px){
  .srch{padding:0; align-items:stretch;}
  .srch-panel{max-height:none; height:100%; border-radius:0;}
  .srch-panel::before{display:none;}
  .srch-keys, .srch-kind{display:none;}
  .srch-quick{grid-template-columns:1fr 1fr;}
  .srch-btn{width:40px; height:40px;}
}
@media (prefers-reduced-motion: reduce){ .srch-btn::after, .srch-panel::before, .srch-row, .srch-chip, .srch-q{animation:none;} }
/* Phones: room for the search button in the header */
@media (max-width:480px){
  header.nav .nav-inner{gap:8px;}
  header.nav .logo-flip, header.nav.scrolled .logo-flip{width:92px; height:54px;}
  header.nav .nav-cta{gap:4px;}
  header.nav .srch-btn{width:36px; height:36px;}
  header.nav .srch-btn svg{width:18px; height:18px;}
  header.nav .nav-cta .btn-sm{padding-left:10px; padding-right:10px;}
  header.nav .burger{width:40px; height:40px;}
}
@media (max-width:360px){ header.nav .btn-pray .bp-short{display:none;} }

/* ---------- Groups: 3D volunteer photo wall ---------- */
.vwall{position:relative; margin:34px auto 40px; padding:40px 0 70px; perspective:1600px; perspective-origin:50% 30%;}
.vwall::before{content:""; position:absolute; left:10%; right:10%; bottom:10px; height:60px; border-radius:50%; background:radial-gradient(closest-side, rgba(12,20,30,.35), transparent); filter:blur(10px);}
.vwall-plane{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; max-width:1040px; margin:0 auto; transform-style:preserve-3d; transform:rotateX(26deg) rotateZ(-10deg); will-change:transform;}
.vwall-tile{position:relative; padding:0; border:4px solid #fff; border-radius:14px; overflow:hidden; cursor:pointer; background:#dcd5c5; aspect-ratio:1; transform-style:preserve-3d;
  box-shadow:0 18px 30px -16px rgba(12,20,30,.6); opacity:0; transform:translateZ(-160px) rotateX(-40deg); transition:transform .9s calc(var(--i) * 60ms) cubic-bezier(.2,.9,.25,1), opacity .6s calc(var(--i) * 60ms) ease, box-shadow .35s;}
.vwall.is-in .vwall-tile{opacity:1; transform:translateZ(calc(var(--z) * 10px));}
.vwall-tile:nth-child(3n+2){aspect-ratio:1; }
.vwall-tile img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.9,.25,1);}
.vwall-cap{position:absolute; left:0; right:0; bottom:0; padding:22px 10px 8px; font-size:12px; font-weight:800; color:#fff; text-align:left; background:linear-gradient(180deg, transparent, rgba(8,17,26,.8)); opacity:0; transition:opacity .3s;}
.vwall-tile::after{content:""; position:absolute; inset:0; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.35) 50%, transparent 65%); transform:translateX(-130%); pointer-events:none;}
.vwall.is-in .vwall-tile::after{animation:vwShine 1.2s calc(.6s + var(--i) * 60ms) ease;}
@keyframes vwShine{to{transform:translateX(130%);}}
@media (hover:hover){
  .vwall.is-in .vwall-tile:hover{transform:translateZ(90px) scale(1.08); z-index:5; box-shadow:0 40px 60px -20px rgba(12,20,30,.7); transition-delay:0s;}
  .vwall-tile:hover img{transform:scale(1.08);} .vwall-tile:hover .vwall-cap{opacity:1;}
}
@media (max-width:900px){ .vwall-plane{grid-template-columns:repeat(4,1fr); gap:10px;} .vwall-tile:nth-child(n+13){display:none;} }
@media (max-width:560px){ .vwall{perspective:1000px; padding:20px 0 40px;} .vwall-plane{grid-template-columns:repeat(3,1fr); gap:8px;} .vwall-tile{border-width:3px; border-radius:10px;} .vwall-tile:nth-child(n+13){display:none;} }
@media (prefers-reduced-motion: reduce){ .vwall-plane{transform:none !important;} .vwall-tile{opacity:1; transform:none; transition:none;} .vwall-tile::after{display:none;} }
@media (max-width:560px){ .vwall-plane{max-width:92%;} }

/* Search results: photos and themed looks */
.srch-ic.has-img{padding:0; overflow:hidden; background:#10202e; border-color:rgba(255,255,255,.18);}
.srch-ic.has-img img{width:100%; height:100%; object-fit:cover; display:block;}
.srch-ic.is-person{border-radius:50%; box-shadow:0 0 0 2px var(--c), 0 6px 14px -6px rgba(0,0,0,.7);}
.srch-row.is-top .srch-ic{width:58px; height:58px; border-radius:14px;}
.srch-row.is-top .srch-ic.is-person{border-radius:50%;}
.srch-row.is-top{padding:14px;}
.srch-row.is-top .srch-tx b{font-size:17px;}
.srch-theme{margin-right:-4px;}
/* Midweek: neon */
.srch-row.th-midweek{--c:#C084FC; background:linear-gradient(100deg, rgba(139,92,246,.16), rgba(236,72,153,.1) 55%, rgba(34,211,198,.08)); box-shadow:inset 0 0 0 1px rgba(192,132,252,.28);}
.srch-row.th-midweek .srch-ic:not(.has-img){color:#fff; background:linear-gradient(135deg,#3E7BFA,#8B5CF6 45%,#EC4899 80%); border:0; box-shadow:0 0 16px -2px rgba(236,72,153,.7);}
.srch-row.th-midweek .srch-ic.has-img{box-shadow:0 0 0 2px #EC4899, 0 0 16px -2px rgba(236,72,153,.8);}
.srch-row.th-midweek .srch-tx b{text-shadow:0 0 12px rgba(192,132,252,.55);}
.srch-row.th-midweek .srch-theme{color:#22D3C6; border-color:rgba(34,211,198,.55);}
.srch-row.th-midweek.is-sel{box-shadow:inset 3px 0 0 #EC4899, inset 0 0 0 1px rgba(192,132,252,.5);}
/* Make Room: blueprint */
.srch-row.th-blueprint{--c:#BFE6FF; background-color:#0f2d57; background-image:linear-gradient(rgba(191,230,255,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(191,230,255,.13) 1px, transparent 1px); background-size:14px 14px; box-shadow:inset 0 0 0 1px rgba(191,230,255,.4);}
.srch-row.th-blueprint .srch-ic:not(.has-img){color:#fff; background:transparent; border:1.5px dashed rgba(191,230,255,.8);}
.srch-row.th-blueprint .srch-tx b{font-family:"Anton",Impact,sans-serif; font-weight:400; letter-spacing:.04em; text-transform:uppercase;}
.srch-row.th-blueprint .srch-tx span{font-family:"Space Mono",monospace; font-size:12px; color:rgba(191,230,255,.8);}
.srch-row.th-blueprint.is-sel{box-shadow:inset 3px 0 0 #fff, inset 0 0 0 1px rgba(191,230,255,.8);}
/* Baptism: water */
.srch-row.th-water{--c:#7FD4FF; background:linear-gradient(100deg, rgba(26,111,176,.3), rgba(127,212,255,.08)); overflow:hidden;}
.srch-row.th-water::before{content:""; position:absolute; left:-10%; right:-10%; bottom:-14px; height:26px; border-radius:40%; background:rgba(127,212,255,.16); animation:srchWave 6s linear infinite;}
@keyframes srchWave{from{transform:translateX(-4%) rotate(0);} 50%{transform:translateX(4%) rotate(1deg);} to{transform:translateX(-4%) rotate(0);}}
.srch-row.th-water .srch-ic:not(.has-img){color:#fff; background:linear-gradient(135deg,#1a6fb0,#7FD4FF); border:0;}
/* Faith: warm gold */
.srch-row.th-faith{--c:#F3D08F; background:linear-gradient(100deg, rgba(243,208,143,.12), rgba(243,208,143,.03));}
.srch-row.th-faith .srch-ic:not(.has-img){box-shadow:0 0 14px -4px rgba(243,208,143,.8);}
/* Fall festival */
.srch-row.th-fall{--c:#FFB067; background:linear-gradient(100deg, rgba(232,120,40,.22), rgba(200,60,30,.08));}
.srch-row.th-fall .srch-ic:not(.has-img){color:#fff; background:linear-gradient(135deg,#E8782A,#C23B22); border:0;}
.srch-row.th-fall .srch-theme{color:#FFB067;}
@media (prefers-reduced-motion: reduce){ .srch-row.th-water::before{animation:none;} }

/* ---------- Fall Festival page (styled like the festival flyer) ---------- */
.ff{--ff-cream:#FDF3E3; --ff-orange:#E8782A; --ff-teal:#2E8B7A; --ff-deep:#1F5E54; --ff-red:#C23B22; --ff-gold:#F2A93B; --ff-ink:#1a1410; background:var(--ff-cream); color:var(--ff-ink);}
.ff h1, .ff h2, .ff h3{font-family:"Archivo Black","Anton",Impact,sans-serif; text-transform:uppercase; letter-spacing:.01em; color:var(--ff-ink);}
.ff-hero{position:relative; overflow:hidden; padding:118px 16px 60px; background:radial-gradient(60% 60% at 50% 40%, #FFF8EC, var(--ff-cream));}
.ff-ticket{position:relative; max-width:1100px; margin:0 auto; padding:clamp(30px,5vw,60px) clamp(16px,4vw,50px) clamp(34px,5vw,56px); background:var(--ff-cream); border:clamp(8px,1.3vw,14px) solid var(--ff-orange); border-radius:28px; box-shadow:0 40px 80px -40px rgba(120,50,10,.5); text-align:center; animation:ffPop .9s cubic-bezier(.2,.9,.25,1) both;}
.ff-dots{position:absolute; inset:10px; border:3px dotted var(--ff-orange); border-radius:18px; pointer-events:none;}
.ff-dots::after{content:""; position:absolute; inset:8px; border:2px solid var(--ff-teal); border-radius:12px;}
@keyframes ffPop{from{opacity:0; transform:scale(.92) rotate(-1.5deg);}}
.ff-hero-inner{position:relative; z-index:1;}
.ff-title{margin:0; line-height:.9; font-size:clamp(62px,14vw,190px); perspective:900px;}
.ff-row{display:block; white-space:nowrap;}
.ff-ch{display:inline-block; color:#fff; -webkit-text-stroke:0; text-shadow:1px 1px 0 var(--c),2px 2px 0 var(--c),3px 3px 0 var(--c),4px 4px 0 var(--c),5px 5px 0 var(--c),6px 6px 0 var(--c),7px 7px 0 var(--c),8px 8px 0 var(--c),9px 9px 0 var(--c),10px 10px 0 var(--c),11px 11px 0 var(--c),12px 12px 0 var(--c),14px 16px 24px rgba(90,40,10,.35);
  animation:ffDrop .9s calc(.25s + var(--i) * 70ms) cubic-bezier(.3,1.6,.5,1) both, ffBob 3.2s calc(1.4s + var(--i) * 120ms) ease-in-out infinite alternate;}
@keyframes ffDrop{0%{opacity:0; transform:translateY(-120%) rotateX(80deg) rotate(-8deg);} 100%{opacity:1; transform:none;}}
@keyframes ffBob{to{transform:translateY(-6px) rotate(calc(var(--i) * .3deg - 1deg));}}
@media (max-width:560px){ .ff-ch{text-shadow:1px 1px 0 var(--c),2px 2px 0 var(--c),3px 3px 0 var(--c),4px 4px 0 var(--c),5px 5px 0 var(--c),6px 6px 0 var(--c),8px 10px 14px rgba(90,40,10,.35);} }
.ff-ribbon{display:inline-flex; align-items:center; gap:14px; margin-top:22px; padding:10px 34px; background:var(--ff-deep); color:#fff; font-family:"Poppins",sans-serif; font-weight:800; letter-spacing:.06em; font-size:clamp(16px,2.4vw,28px); text-transform:uppercase; clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%); transform-origin:50% 50%; animation:ffRibbon .8s 1.1s cubic-bezier(.2,.9,.25,1) both;}
.ff-ribbon span{color:var(--ff-gold);}
@keyframes ffRibbon{from{transform:scaleX(0); opacity:0;}}
.ff-info{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 22px; margin:20px 0 0; font-family:"Poppins",sans-serif; font-weight:900; font-size:clamp(18px,3vw,36px); text-transform:uppercase; letter-spacing:-.01em; animation:fnTitle .8s 1.4s ease both;}
.ff-info i{width:4px; height:1.1em; border-radius:2px; background:var(--ff-orange);}
.ff-ctas{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:26px; animation:fnTitle .8s 1.6s ease both;}
.ff-btn{font-family:"Poppins",sans-serif; font-weight:800; font-size:15px; padding:14px 24px; border-radius:999px; border:2.5px solid var(--ff-ink); background:#fff; color:var(--ff-ink); text-decoration:none; cursor:pointer; box-shadow:4px 4px 0 var(--ff-ink); transition:transform .15s, box-shadow .15s;}
.ff-btn:hover{transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ff-ink);}
.ff-btn:active{transform:translate(3px,3px); box-shadow:1px 1px 0 var(--ff-ink);}
.ff-btn-main{background:var(--ff-orange); color:#fff;}
.ff-leaves{position:absolute; inset:0; pointer-events:none; z-index:2;}
.ff-leaf{position:absolute; top:-60px; left:var(--x); width:var(--s); height:var(--s); fill:var(--c); stroke:rgba(0,0,0,.18); stroke-width:2; opacity:.9; animation:ffFall var(--d) var(--dl) linear infinite;}
@keyframes ffFall{0%{transform:translate(0,-10vh) rotate(0);} 25%{transform:translate(40px,25vh) rotate(90deg);} 50%{transform:translate(-30px,55vh) rotate(200deg);} 75%{transform:translate(35px,85vh) rotate(290deg);} 100%{transform:translate(0,115vh) rotate(380deg);}}
.ff-kicker{font-family:"Poppins",sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.16em; font-size:13px; color:var(--ff-orange);}
.ff-count-sec{padding:40px 0 30px; text-align:center;}
.ff-count{display:flex; justify-content:center; gap:clamp(8px,2vw,20px); margin-top:14px;}
.ff-tile{width:clamp(70px,14vw,130px); padding:14px 0 10px; border-radius:18px; background:var(--ff-deep); color:#fff; box-shadow:5px 5px 0 var(--ff-ink); border:2.5px solid var(--ff-ink); perspective:400px;}
.ff-tile:nth-child(2){background:var(--ff-orange);} .ff-tile:nth-child(3){background:var(--ff-red);} .ff-tile:nth-child(4){background:var(--ff-gold); color:var(--ff-ink);}
.ff-tile b{display:block; font-family:"Archivo Black",Impact,sans-serif; font-size:clamp(30px,6vw,60px); line-height:1; font-variant-numeric:tabular-nums;}
.ff-tile b.flip{animation:ffFlip .45s cubic-bezier(.3,1.4,.5,1);}
@keyframes ffFlip{0%{transform:rotateX(-90deg); opacity:.3;} 100%{transform:none; opacity:1;}}
.ff-tile span{display:block; margin-top:6px; font-family:"Poppins",sans-serif; font-weight:800; font-size:11px; letter-spacing:.14em; text-transform:uppercase; opacity:.9;}
.ff-count.is-live .ff-tile, .ff-count.is-done .ff-tile{display:none;}
.ff-expect{padding:50px 0 40px;}
.ff-head{text-align:center; max-width:680px; margin:0 auto 34px;}
.ff-head h2{font-size:clamp(32px,5vw,56px); margin-top:6px;}
.ff-head p:not(.ff-kicker){margin-top:10px; font-size:17px; color:#5a4636;}
.ff-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; perspective:1200px;}
.ff-card{position:relative; padding:26px 22px 24px; border-radius:22px; background:#fff; border:2.5px solid var(--ff-ink); box-shadow:6px 6px 0 var(--c); transition:transform .5s cubic-bezier(.2,.9,.25,1), box-shadow .3s, opacity .7s, translate .8s;}
.ff-card.reveal{opacity:0; translate:0 50px;} .ff-card.reveal.in{opacity:1; translate:0 0; transition-delay:calc(var(--i) * 110ms);}
@media (hover:hover){ .ff-card:hover{transform:translateY(-8px) rotateX(6deg) rotateZ(-1deg); box-shadow:10px 12px 0 var(--c);} }
.ff-card-ico{width:58px; height:58px; border-radius:16px; display:grid; place-items:center; background:var(--c); color:#fff; border:2.5px solid var(--ff-ink); transform:rotate(-6deg);}
.ff-card-ico svg{width:30px; height:30px;}
.ff-card h3{font-size:20px; margin-top:16px;}
.ff-card p{margin-top:8px; color:#5a4636; line-height:1.55; font-size:15px;}
.ff-soon{text-align:center; margin-top:26px; font-weight:800; color:var(--ff-deep);}
@media (max-width:980px){ .ff-cards{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .ff-cards{grid-template-columns:1fr;} }
.ff-plan{padding:50px 0 60px; background:linear-gradient(180deg, var(--ff-cream), #F9E4C4);}
.ff-plan-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center;}
.ff-plan h2{font-size:clamp(34px,5vw,60px); margin-top:6px;}
.ff-facts{list-style:none; margin:20px 0 0; padding:0; display:grid; gap:10px;}
.ff-facts li{display:grid; grid-template-columns:80px 1fr; gap:12px; padding:14px 16px; background:#fff; border:2px solid var(--ff-ink); border-radius:14px;}
.ff-facts b{font-family:"Poppins",sans-serif; font-weight:900; text-transform:uppercase; color:var(--ff-orange);}
.ff-poster{border-radius:22px; overflow:hidden; border:3px solid var(--ff-ink); box-shadow:10px 10px 0 var(--ff-teal); transform:rotate(2deg); transition:transform .5s cubic-bezier(.2,.9,.25,1);}
.ff-poster img{display:block; width:100%;}
@media (hover:hover){ .ff-poster:hover{transform:rotate(0) scale(1.02);} }
@media (max-width:860px){ .ff-plan-grid{grid-template-columns:1fr;} }
.ff-line-sec{padding:60px 0 30px; overflow:hidden;}
.ff-line{position:relative; max-width:1200px; margin:0 auto; padding:0 16px 40px;}
.ff-string{position:absolute; left:0; right:0; top:0; width:100%; height:80px;}
.ff-string path{fill:none; stroke:#8a5a2b; stroke-width:3;}
.ff-pics{position:relative; display:flex; justify-content:space-between; gap:10px; padding-top:6px;}
.ff-pic{position:relative; flex:1; max-width:170px; margin-top:var(--sag); padding:8px 8px 24px; border:0; background:#fff; box-shadow:0 14px 24px -12px rgba(60,30,10,.5); cursor:pointer; transform-origin:50% 0; transform:rotate(var(--r)); opacity:0; translate:0 -60px; transition:opacity .6s calc(var(--i) * 90ms), translate .9s calc(var(--i) * 90ms) cubic-bezier(.3,1.5,.5,1);}
.ff-line.is-in .ff-pic{opacity:1; translate:0 0; animation:ffSway 4s calc(var(--i) * -.5s) ease-in-out infinite alternate;}
@keyframes ffSway{from{transform:rotate(calc(var(--r) - 3deg));} to{transform:rotate(calc(var(--r) + 3deg));}}
.ff-pic img{display:block; width:100%; aspect-ratio:1; object-fit:cover;}
.ff-pin{position:absolute; top:-10px; left:50%; width:10px; height:26px; margin-left:-5px; border-radius:3px; background:linear-gradient(90deg,#c9954f,#e8c087); box-shadow:0 2px 3px rgba(0,0,0,.3);}
@media (hover:hover){ .ff-pic:hover{z-index:3; scale:1.12;} }
@media (max-width:760px){ .ff-pics{flex-wrap:wrap; justify-content:center; gap:14px;} .ff-pic{flex:0 0 42%; margin-top:0;} .ff-string{display:none;} }
.ff-end{padding:40px 0 90px; text-align:center;}
.ff-end h2{font-size:clamp(34px,5vw,60px);}
.ff-end p{margin-top:8px; color:#5a4636; font-size:17px;}
.ff-back{margin-top:24px;} .ff-back a{color:var(--ff-deep); font-weight:800;}
.ev-ff{background:linear-gradient(100deg,#E8782A,#C23B22) !important; color:#fff !important;}
@media (prefers-reduced-motion: reduce){ .ff-leaf, .ff-ch, .ff-pic{animation:none !important;} .ff-card.reveal{opacity:1; translate:none;} .ff-pic{opacity:1; translate:none;} }


/* ---------- Homepage wordmark: the logo's R and H pull apart and "Rising Hills Church" writes itself ---------- */
.hero .rh-wm{font-family:"Archivo Black","Anton",Impact,sans-serif; font-weight:400; font-size:clamp(40px,7.4vw,104px); line-height:1.05; letter-spacing:-.01em; text-transform:uppercase; color:#fff; margin-top:16px;}
.wm{display:inline-flex; flex-wrap:wrap; justify-content:center; column-gap:.32em; row-gap:.06em;}
.wm-word{display:inline-flex; align-items:baseline; white-space:nowrap;}
.wm-L{display:inline-block; height:.72em; width:auto; overflow:visible; vertical-align:baseline; margin-right:.015em; position:relative; z-index:2; transform-origin:0 0;
  filter:drop-shadow(0 4px 22px rgba(0,0,0,.55));}
.wm-R{aspect-ratio:366/367;} .wm-H{aspect-ratio:377/367;}
.wm-L path{stroke:#fff; stroke-width:9; stroke-linejoin:round; paint-order:stroke; transition:fill .9s ease, stroke-width .9s ease, stroke .9s ease;}
.wm-R path{fill:#404E3D;} .wm-H path{fill:#01334A;}
.wm-c{display:inline-block; text-shadow:0 4px 26px rgba(0,0,0,.55); transition:color .9s ease;}
.wm-g{color:#7DBE84;} .wm-b{color:#7FB0DE;}
/* Before the show starts, only the logo is visible */
.rh-wm:not(.is-done) .wm-c{opacity:0; transform:translateX(-.35em) scale(.9); filter:blur(6px);}
.rh-wm:not(.is-ready):not(.is-done) .wm-L{opacity:0;}
.rh-wm.is-ready .wm-L{opacity:1; animation:wmPop .8s cubic-bezier(.3,1.5,.5,1) both;}
@keyframes wmPop{from{opacity:0; scale:.6;}}
.rh-wm.is-split .wm-L{transition:transform 1.1s cubic-bezier(.65,0,.25,1);}
.rh-wm.is-split .wm-c{opacity:1; transform:none; filter:none; transition:opacity .5s calc(.55s + var(--n) * 55ms) ease, transform .7s calc(.55s + var(--n) * 55ms) cubic-bezier(.2,.9,.25,1), filter .5s calc(.55s + var(--n) * 55ms) ease, color .9s ease;}
.rh-wm.is-white .wm-L path{fill:#fff; stroke-width:0;}
.rh-wm.is-white .wm-c{color:#fff;}
.rh-wm.is-done .wm-L{transform:none !important;}
@media (max-width:560px){ .hero .rh-wm{font-size:clamp(36px,11vw,54px);} }

/* Wordmark v2: smoother (no blur, GPU movement, gentle easing) + phone sizing + smaller tagline */
.wm-L{filter:none; will-change:transform, opacity;}
.rh-wm.is-done .wm-L{filter:drop-shadow(0 4px 18px rgba(0,0,0,.5)); will-change:auto;}
.wm-c{will-change:transform, opacity;}
.rh-wm.is-done .wm-c{will-change:auto;}
.rh-wm:not(.is-done) .wm-c{opacity:0; transform:translate3d(-.18em,.12em,0); filter:none;}
.rh-wm.is-ready .wm-L{animation:wmIn 1s cubic-bezier(.22,.61,.36,1) both;}
@keyframes wmIn{from{opacity:0;}}
.rh-wm.is-split .wm-L{transition:transform 1.05s cubic-bezier(.65,0,.35,1);}
.rh-wm.is-split .wm-c{opacity:1; transform:translate3d(0,0,0); transition:opacity .7s calc(.75s + var(--n) * 45ms) cubic-bezier(.22,.61,.36,1), transform .9s calc(.75s + var(--n) * 45ms) cubic-bezier(.22,.61,.36,1), color 1.2s ease;}
.wm-L path{transition:fill 1.2s ease, stroke-width 1.2s ease;}
.rh-wm.is-white .wm-L path{stroke-width:0;}
.hero .hero-tag{font-size:clamp(20px,3vw,38px);}
@media (max-width:560px){
  .hero .rh-wm{font-size:clamp(28px,8.6vw,46px); line-height:1.08;}
  .wm{column-gap:.28em;}
  .hero .hero-tag{font-size:clamp(18px,5.6vw,24px); margin-top:18px;}
}

/* What We Believe: 66 books, one author, one story, one hero */
.fp-66{padding:40px 0 80px;}
.fp-shelf{display:flex; align-items:flex-end; justify-content:center; gap:3px; height:150px; max-width:900px; margin:10px auto 0; padding:0 10px 10px; border-bottom:6px solid #8A6436; border-radius:0 0 4px 4px;}
.fp-shelf i{flex:1; max-width:12px; height:var(--h); border-radius:3px 3px 1px 1px; box-shadow:inset -2px 0 0 rgba(0,0,0,.18), inset 0 6px 0 rgba(255,255,255,.18); transform-origin:50% 100%;}
.fp-shelf i.ot{background:linear-gradient(180deg,#2E6B3E,#24512E);} .fp-shelf i.nt{background:linear-gradient(180deg,#2A5680,#1d3f60);}
.fp-shelf i:nth-child(39){margin-right:12px;}
.fp-shelf.reveal i{transform:scaleY(0);} .fp-shelf.reveal.in i{transform:none; transition:transform .55s calc(var(--b) * 22ms) cubic-bezier(.3,1.5,.5,1);}
.fp-shelf-key{display:flex; justify-content:center; gap:22px; margin-top:12px; font-weight:800; font-size:13.5px; color:var(--ink-soft);}
.fp-shelf-key i{display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:6px; vertical-align:-1px;}
.fp-shelf-key i.ot{background:#2E6B3E;} .fp-shelf-key i.nt{background:#2A5680;}
.fp-four-ones{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:40px; perspective:1200px;}
.fp-one{position:relative; padding:26px 22px; border-radius:22px; background:var(--surface); border:1px solid var(--line); box-shadow:0 24px 44px -30px rgba(12,20,30,.5); overflow:hidden;}
.fp-one::before{content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,#2E6B3E,#B8925A,#2A5680);}
.fp-one.reveal{opacity:0; transform:translateY(40px) rotateX(14deg);} .fp-one.reveal.in{opacity:1; transform:none; transition:opacity .7s calc(var(--i) * 120ms), transform .9s calc(var(--i) * 120ms) cubic-bezier(.2,.9,.25,1);}
.fp-big{display:block; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:clamp(64px,7vw,96px); line-height:.9; color:#8A6436; font-variant-numeric:tabular-nums;}
.fp-one h3{font-size:28px; margin-top:4px;}
.fp-one p{margin-top:10px; color:var(--ink-soft); font-size:15px; line-height:1.6;}
.fp-one cite{display:block; margin-top:12px; font-style:normal; font-weight:800; font-size:12.5px; color:#8A6436;}
.fp-one.is-hero{background:linear-gradient(160deg,#0B1320,#1c2f3f); border-color:rgba(243,208,143,.5); color:#fff; box-shadow:0 30px 60px -26px rgba(11,19,32,.8), 0 0 40px -10px rgba(243,208,143,.5);}
.fp-one.is-hero h3{color:#fff;} .fp-one.is-hero p{color:rgba(255,255,255,.85);} .fp-one.is-hero .fp-big, .fp-one.is-hero cite{color:#F3D08F;}
@media (max-width:980px){ .fp-four-ones{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .fp-four-ones{grid-template-columns:1fr;} .fp-shelf{height:110px; gap:2px;} .fp-shelf i:nth-child(39){margin-right:6px;} }
@media (prefers-reduced-motion: reduce){ .fp-shelf.reveal i{transform:none;} .fp-one.reveal{opacity:1; transform:none;} }

/* Wordmark v3: ends in the same green-tan-blue as "Don't stay as you are." */
.wm-gp{opacity:0; transition:opacity 1.3s ease;}
.rh-wm.is-grad .wm-gp{opacity:1;}
.rh-wm.is-grad .wm-L path:not(.wm-gp){stroke-width:0;}
.rh-wm.is-split .wm-c{background-image:linear-gradient(90deg,#7DBE84 0%,#D9C7A3 50%,#7FB0DE 100%); background-repeat:no-repeat; -webkit-background-clip:text; background-clip:text;}
.rh-wm .wm-g{-webkit-text-fill-color:#5FD08A;} .rh-wm .wm-b{-webkit-text-fill-color:#5CB3FF;}
.rh-wm.is-grad .wm-c{-webkit-text-fill-color:transparent; color:transparent; text-shadow:none; transition:-webkit-text-fill-color 1.3s ease, color 1.3s ease;}
.rh-wm.is-grad .wm{filter:drop-shadow(0 4px 18px rgba(0,0,0,.55));}
.rh-wm.is-done .wm-L{filter:none;}
.wm-R path.wm-gp{fill:url(#wmgR); stroke:none;} .wm-H path.wm-gp{fill:url(#wmgH); stroke:none;}

/* ---------- Groups: "Three Vehicles" 3D comparison ---------- */
.vh{padding:30px 0 70px;}
.vh .gp-head h2{color:var(--ink);} .vh-lede{color:var(--ink-soft); margin-top:10px; font-size:16.5px;}
#view-groups .vh .eyebrow{color:#8A6436;} #view-groups .vh .eyebrow::before{background:#8A6436;}
.vh-rowbar{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:-8px 0 28px;}
.vh-rowbar button{font:inherit; font-weight:800; font-size:14px; padding:10px 18px; border-radius:999px; border:1.5px solid var(--line-strong); background:var(--surface); color:var(--ink); cursor:pointer; transition:background .25s, color .25s, border-color .25s, transform .2s;}
.vh-rowbar button:hover{transform:translateY(-2px);}
.vh-rowbar button.is-on{background:linear-gradient(100deg,#24512E,#2A5680); color:#fff; border-color:transparent; box-shadow:0 12px 24px -12px rgba(42,86,128,.8);}
.vh-grid{display:grid; grid-template-columns:130px repeat(3,1fr); gap:16px; perspective:1600px; perspective-origin:50% 20%;}
.vh-labels{display:grid; grid-template-rows:84px repeat(5,minmax(112px,auto)); gap:10px;}
.vh-lab{display:flex; align-items:center; justify-content:flex-end; padding-right:6px; font-family:"Anton",Impact,sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:19px; color:#8a8a80; cursor:pointer; transition:color .3s, transform .4s cubic-bezier(.2,.9,.25,1);}
.vh-col{display:grid; grid-template-rows:84px repeat(5,minmax(112px,auto)); gap:10px; padding:10px; border-radius:26px; background:color-mix(in srgb, var(--c) 14%, #fff); border:1px solid color-mix(in srgb, var(--c) 35%, transparent); box-shadow:0 30px 60px -36px color-mix(in srgb, var(--c) 70%, #000);
  transform-origin:50% 100%; transition:transform .7s cubic-bezier(.2,.9,.25,1), opacity .5s, filter .5s, box-shadow .5s;}
.vh-grid:where(.reveal:not(.in)) .vh-col{opacity:0; transform:rotateX(-70deg) translateY(40px);}
.vh-grid:where(.reveal.in) .vh-col{opacity:1; transform:none; transition-delay:calc(var(--i) * 140ms);}
.vh-top{display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; border:0; border-radius:18px; cursor:pointer; color:#fff; background:linear-gradient(140deg, var(--c), color-mix(in srgb, var(--c) 60%, #0B1320)); box-shadow:0 12px 24px -14px var(--c); font:inherit; transition:transform .3s cubic-bezier(.3,1.5,.5,1);}
.vh-top b{font-family:"Anton",Impact,sans-serif; font-weight:400; text-transform:uppercase; font-size:26px; letter-spacing:.03em; line-height:1;}
.vh-top span{font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; opacity:.85;}
.vh-top:hover{transform:translateY(-3px) scale(1.02);}
.vh-cell{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:4px; padding:14px 12px; border-radius:16px; background:#fff; border:1px solid color-mix(in srgb, var(--c) 22%, transparent); cursor:pointer;
  transition:transform .5s cubic-bezier(.2,.9,.25,1), opacity .4s, box-shadow .4s, background .4s; transform-style:preserve-3d;}
.vh-grid:where(.reveal:not(.in)) .vh-cell{opacity:0; transform:translateY(16px);}
.vh-grid:where(.reveal.in) .vh-cell{opacity:1; transform:none; transition-delay:calc(.35s + var(--i) * 140ms);}
.vh-cell b{font-family:"Anton",Impact,sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.03em; font-size:22px; color:var(--c); line-height:1;}
.vh-note{font-size:13.5px; line-height:1.45; color:var(--ink-soft); font-style:italic;}
.vh-cell-lab{display:none; font-size:10.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint);}
.vh-seats{width:70px; height:56px; fill:color-mix(in srgb, var(--c) 75%, #fff); margin-bottom:2px;}
.vh-seats .vh-front{fill:var(--c);}
.vh-seats.is-circle{animation:vhSpin 18s linear infinite;}
@keyframes vhSpin{to{transform:rotate(360deg);}}
/* Compare one row: that row lifts toward you across all three; the rest fade back */
.vh-grid:not([data-row="all"]) .vh-cell{opacity:.32; transform:scale(.97);}
.vh-grid[data-row="setup"] .vh-cell[data-row="setup"], .vh-grid[data-row="leader"] .vh-cell[data-row="leader"], .vh-grid[data-row="content"] .vh-cell[data-row="content"], .vh-grid[data-row="rhythm"] .vh-cell[data-row="rhythm"], .vh-grid[data-row="access"] .vh-cell[data-row="access"]{opacity:1; transform:translateZ(60px) scale(1.06); box-shadow:0 26px 40px -18px color-mix(in srgb, var(--c) 80%, #000), 0 0 0 2px var(--c); z-index:2;}
.vh-grid[data-row="setup"] .vh-lab[data-row="setup"], .vh-grid[data-row="leader"] .vh-lab[data-row="leader"], .vh-grid[data-row="content"] .vh-lab[data-row="content"], .vh-grid[data-row="rhythm"] .vh-lab[data-row="rhythm"], .vh-grid[data-row="access"] .vh-lab[data-row="access"],
.vh-grid[data-hover="setup"] .vh-lab[data-row="setup"], .vh-grid[data-hover="leader"] .vh-lab[data-row="leader"], .vh-grid[data-hover="content"] .vh-lab[data-row="content"], .vh-grid[data-hover="rhythm"] .vh-lab[data-row="rhythm"], .vh-grid[data-hover="access"] .vh-lab[data-row="access"]{color:var(--ink); transform:translateX(-6px);}
.vh-grid[data-hover="setup"] .vh-cell[data-row="setup"], .vh-grid[data-hover="leader"] .vh-cell[data-row="leader"], .vh-grid[data-hover="content"] .vh-cell[data-row="content"], .vh-grid[data-hover="rhythm"] .vh-cell[data-row="rhythm"], .vh-grid[data-hover="access"] .vh-cell[data-row="access"]{transform:translateZ(30px); box-shadow:0 0 0 2px var(--c);}
/* Spotlight one group: it steps forward, the others turn away */
.vh-grid[data-focus="hg"] .vh-col:not(.vh-hg), .vh-grid[data-focus="dt"] .vh-col:not(.vh-dt), .vh-grid[data-focus="eg"] .vh-col:not(.vh-eg){opacity:.45; filter:saturate(.4); transform:translateZ(-80px) rotateY(var(--away,0deg));}
.vh-grid[data-focus] .vh-hg{--away:14deg;} .vh-grid[data-focus] .vh-eg{--away:-14deg;}
.vh-grid[data-focus="hg"] .vh-hg, .vh-grid[data-focus="dt"] .vh-dt, .vh-grid[data-focus="eg"] .vh-eg{transform:translateZ(50px) scale(1.03); box-shadow:0 50px 80px -40px color-mix(in srgb, var(--c) 80%, #000); z-index:3;}
@media (max-width:900px){
  .vh-grid{grid-template-columns:repeat(3,minmax(250px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; padding:10px 4px 26px; margin:0 -16px; padding-inline:16px; scrollbar-width:none;}
  .vh-grid::-webkit-scrollbar{display:none;}
  .vh-labels{display:none;}
  .vh-col{scroll-snap-align:center; grid-template-rows:76px; grid-auto-rows:auto;}
  .vh-cell-lab{display:block;}
  .vh-grid[data-focus] .vh-col{transform:none !important; opacity:1 !important; filter:none !important;}
}
@media (prefers-reduced-motion: reduce){ .vh-grid.reveal .vh-col, .vh-grid.reveal .vh-cell{opacity:1; transform:none;} .vh-seats.is-circle{animation:none;} }
.vh-grid.vh-ready .vh-col, .vh-grid.vh-ready .vh-cell{transition-delay:0s !important;}
/* Wordmark: the colors sweep left to right through the whole name, R and H included */
.rh-wm .wm-gp{transition:opacity .9s cubic-bezier(.4,0,.2,1) var(--gd,0s);}
.rh-wm .wm-L path:not(.wm-gp){transition:stroke-width .9s ease var(--gd,0s);}
.rh-wm.is-grad .wm-c{transition:-webkit-text-fill-color .9s cubic-bezier(.4,0,.2,1) var(--gd,0s), color .9s cubic-bezier(.4,0,.2,1) var(--gd,0s);}
@media (max-width:900px), (hover:none){ header.nav.scrolled{-webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(var(--bg-rgb),.97);} body.theme-midweek header.nav.scrolled{background:rgba(10,10,18,.96);} }

/* ---------- Groups: "Three Ways to Grow" (all three tabs + 3D room stage) ---------- */
@property --c{syntax:'<color>'; inherits:true; initial-value:#3FAF6E;}
.g3{padding:20px 0 80px;}
.g3-shell{--c:#3FAF6E; position:relative; isolation:isolate; overflow:hidden; border-radius:34px; padding:64px 52px 44px; color:#fff;
  background:radial-gradient(55% 45% at 18% 78%, color-mix(in srgb, var(--c) 30%, transparent), transparent 72%), radial-gradient(45% 38% at 92% 8%, color-mix(in srgb, var(--c) 20%, transparent), transparent 70%), linear-gradient(160deg,#112130 0%,#0a131b 62%,#0e1a25 100%);
  box-shadow:0 40px 90px -34px rgba(8,17,26,.6), inset 0 1px 0 rgba(255,255,255,.07); transition:--c .9s ease;}
.g3-shell[data-k="hg"]{--c:#3FAF6E;} .g3-shell[data-k="dt"]{--c:#4A9BE0;} .g3-shell[data-k="eg"]{--c:#E0675F;}
.g3-head{text-align:center;}
.g3-eyebrow{font-weight:800; font-size:12.5px; letter-spacing:.24em; text-transform:uppercase; color:#F3D08F; margin:0;}
.g3-head h2{color:#fff; font-size:clamp(34px,4.8vw,58px); margin:8px 0 0;}

/* I want to... */
.g3-want{display:grid; grid-template-columns:auto minmax(0,640px); justify-content:center; align-items:baseline; gap:0 16px; margin:30px auto 34px; font-size:clamp(24px,3vw,38px); line-height:1.2;}
.g3-want-lab{font-family:"Anton",Impact,sans-serif; text-transform:uppercase; letter-spacing:.01em; color:rgba(255,255,255,.92); white-space:nowrap;}
.g3-want-btn{all:unset; box-sizing:border-box; cursor:pointer; min-height:2.45em; display:block; color:var(--c); font-weight:800; font-family:inherit; -webkit-tap-highlight-color:transparent;}
.g3-want-txt{display:inline; perspective:600px; text-shadow:0 0 28px color-mix(in srgb, var(--c) 55%, transparent); transition:opacity .35s ease, filter .35s ease, transform .35s ease; display:inline-block;}
.g3-want-btn.is-out .g3-want-txt{opacity:0; filter:blur(8px); transform:translateY(-.3em);}
.g3-w{display:inline-block; transform-origin:50% 100%;}
.g3-want-btn.is-in .g3-w{animation:g3w .75s cubic-bezier(.2,.8,.2,1) calc(var(--w) * 70ms) both;}
@keyframes g3w{from{opacity:0; transform:translateY(.5em) rotateX(-80deg); filter:blur(8px);} to{opacity:1; transform:none; filter:blur(0);}}
.g3-want-go{display:inline-grid; place-items:center; width:1.15em; height:1.15em; margin-left:.25em; vertical-align:-.12em; border-radius:50%; background:var(--c); color:#fff; font-size:.62em; transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.g3-want-btn:hover .g3-want-go, .g3-want-btn:focus-visible .g3-want-go{transform:translateX(6px) scale(1.08);}
.g3-want-btn:focus-visible{outline:2px solid var(--c); outline-offset:6px; border-radius:10px;}

/* the three tabs, always visible */
.g3-tabs{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.g3-tab{position:relative; display:flex; align-items:center; gap:14px; padding:16px 18px; text-align:left; color:#fff; cursor:pointer; font:inherit; border-radius:20px;
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1); -webkit-tap-highlight-color:transparent;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), background .45s ease, border-color .45s ease, box-shadow .45s ease;}
.g3-tab:hover{transform:translateY(-3px); background:rgba(255,255,255,.08);}
.g3-tab-l{flex:none; display:grid; place-items:center; width:58px; height:58px; border-radius:16px; font-family:"Anton",Impact,sans-serif; font-size:34px; line-height:1;
  color:var(--c); border:2px solid var(--c); transition:background .45s ease, color .45s ease, transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease;}
.g3-tab-t b{display:block; font-size:19px; font-weight:800; line-height:1.15;}
.g3-tab-t em{display:block; font-style:normal; font-size:13px; font-weight:600; color:rgba(255,255,255,.62); margin-top:3px;}
.g3-tab.is-on{background:linear-gradient(135deg, color-mix(in srgb, var(--c) 26%, transparent), rgba(255,255,255,.04)); border-color:var(--c); transform:translateY(-4px); box-shadow:0 20px 44px -22px var(--c);}
.g3-tab.is-on .g3-tab-l{background:var(--c); color:#fff; transform:rotate(-6deg) scale(1.05); box-shadow:0 12px 26px -8px var(--c);}
.g3-tab.is-on::after{content:""; position:absolute; left:50%; bottom:-9px; width:16px; height:16px; margin-left:-8px; background:inherit; border:inherit; border-width:0 1px 1px 0; transform:rotate(45deg); background:color-mix(in srgb, var(--c) 14%, #0d1822);}
.g3-tab:focus-visible{outline:2px solid #fff; outline-offset:3px;}
.g3-soon{position:absolute; top:-9px; right:12px; padding:3px 9px; border-radius:6px; font-size:10.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#1b1b18; background:#F2C230; box-shadow:0 0 0 2px #0d1822; transform:rotate(4deg);}

/* the stage */
.g3-stage{display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr); gap:26px 44px; align-items:center; margin-top:22px; padding:34px 36px 24px; border-radius:26px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08);}
.g3-room{position:relative; width:100%; max-width:440px; aspect-ratio:5/4; margin:0 auto; perspective:1100px; touch-action:pan-y;}
.g3-floor{--rx:56deg; --rz:0deg; position:absolute; inset:4% 6% 12%; transform-style:preserve-3d; transform:rotateX(var(--rx)) rotateZ(var(--rz)); border-radius:28px;
  background:radial-gradient(closest-side, color-mix(in srgb, var(--c) 30%, transparent), transparent), rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.1);
  transition:transform .9s cubic-bezier(.2,.8,.2,1), border-radius .9s cubic-bezier(.65,0,.35,1);}
.g3-shell[data-k="hg"] .g3-floor{border-radius:50%;}
.g3-grid{position:absolute; inset:0; border-radius:inherit; background-image:linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size:10% 10%;
  -webkit-mask-image:radial-gradient(closest-side, #000 40%, transparent); mask-image:radial-gradient(closest-side, #000 40%, transparent);}
.g3-table{position:absolute; left:50%; top:50%; width:38%; height:38%; margin:-19% 0 0 -19%; border-radius:50%; border:2px solid color-mix(in srgb, var(--c) 70%, transparent);
  background:radial-gradient(circle, rgba(255,255,255,.14), rgba(255,255,255,.03)); transform:translateZ(1px); transition:opacity .6s ease, transform .9s cubic-bezier(.2,.8,.2,1);}
.g3-front{position:absolute; left:30%; right:30%; top:22%; height:5%; border-radius:99px; background:var(--c); box-shadow:0 0 22px var(--c); opacity:0; transform:translateZ(1px) scaleX(.2); transition:opacity .6s ease, transform .9s cubic-bezier(.2,.8,.2,1);}
.g3-shell:not([data-k="hg"]) .g3-table{opacity:0; transform:translateZ(1px) scale(.3);}
.g3-shell:not([data-k="hg"]) .g3-front{opacity:1; transform:translateZ(1px) scaleX(1);}
.g3-p{position:absolute; left:var(--x,50%); top:var(--y,50%); width:0; height:0; transform-style:preserve-3d;
  transition:left .95s cubic-bezier(.65,0,.35,1) calc(var(--n,0) * 32ms), top .95s cubic-bezier(.65,0,.35,1) calc(var(--n,0) * 32ms);}
.g3-p::before{content:""; position:absolute; left:-13px; top:-5px; width:26px; height:10px; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.6), transparent);}
.g3-p i{position:absolute; left:-10px; bottom:0; width:20px; height:32px; transform-origin:50% 100%; transform:rotateZ(calc(var(--rz) * -1)) rotateX(calc(var(--rx) * -1)); transition:transform .9s cubic-bezier(.2,.8,.2,1);}
.g3-p i::before{content:""; position:absolute; left:4px; top:0; width:12px; height:12px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #fff, #c9d4de);}
.g3-p i::after{content:""; position:absolute; left:0; bottom:0; width:20px; height:18px; border-radius:10px 10px 4px 4px; background:linear-gradient(180deg, var(--c), color-mix(in srgb, var(--c) 55%, #000));}
.g3-lead{left:50%; top:16%; transition:opacity .6s ease;}
.g3-lead i{scale:1.22;}
.g3-lead i::after{background:linear-gradient(180deg,#F3D08F,#b8904f);}
.g3-shell[data-k="hg"] .g3-lead{opacity:0;}
.g3-room-lab{position:absolute; left:0; right:0; bottom:2%; text-align:center; font-size:12px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.62);}
/* each room has its own little life */
.g3-shell.is-live[data-k="hg"] .g3-p i{animation:g3bob 2.8s ease-in-out calc(var(--n,0) * -.23s) infinite;}
@keyframes g3bob{50%{translate:0 -5px;}}
.g3-shell.is-live[data-k="dt"] .g3-p i::before{animation:g3lit 3.2s ease-in-out calc(var(--n,0) * .11s) infinite;}
@keyframes g3lit{0%,60%,100%{box-shadow:0 0 0 0 transparent;} 30%{box-shadow:0 0 14px 4px var(--c);}}
.g3-shell.is-live[data-k="eg"] .g3-p:not(.g3-lead)::after{content:""; position:absolute; left:-16px; top:-16px; width:32px; height:32px; border-radius:50%; border:2px solid var(--c); opacity:0; animation:g3rip 2.6s ease-out calc(var(--n,0) * .21s) infinite;}
@keyframes g3rip{0%{transform:scale(.4); opacity:.85;} 100%{transform:scale(2.8); opacity:0;}}

/* the details */
.g3-panel h3{color:#fff; font-size:clamp(40px,4.6vw,62px); line-height:.95; margin:6px 0 12px;}
.g3-means{margin:0; color:var(--c); font-size:13px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;}
.g3-means b{font-size:1.5em; letter-spacing:0;}
.g3-line{margin:0 0 16px; font-size:17.5px; line-height:1.55; color:rgba(255,255,255,.84);}
.g3-chips{display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0 0 18px; padding:0;}
.g3-chips li{padding:7px 14px; border-radius:99px; font-size:13.5px; font-weight:700; border:1px solid color-mix(in srgb, var(--c) 65%, transparent); background:color-mix(in srgb, var(--c) 18%, transparent);}
.g3-dl{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 20px;}
.g3-dl div{padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);}
.g3-dl dt{font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.52);}
.g3-dl dd{margin:3px 0 0;} .g3-dl dd b{display:block; font-size:16px;} .g3-dl dd span{display:block; font-size:13px; line-height:1.4; color:rgba(255,255,255,.66); margin-top:2px;}
.g3-go{display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:99px; border:0; cursor:pointer; font:inherit; font-weight:800; font-size:15px; color:#fff; background:var(--c); box-shadow:0 14px 30px -12px var(--c); transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;}
.g3-go:hover{transform:translateY(-2px); box-shadow:0 18px 36px -12px var(--c);}
.g3-go.is-soon{cursor:default; color:#1b1b18; background:repeating-linear-gradient(-45deg,#F2C230 0 14px,#e2b11f 14px 28px); box-shadow:none;}
.g3-panel.is-on > *, .g3-panel.is-on .g3-dl > div{animation:g3in .65s cubic-bezier(.2,.8,.2,1) calc(var(--s,0) * 55ms) both;}
@keyframes g3in{from{opacity:0; transform:translateX(calc(var(--dir,1) * 34px)); filter:blur(6px);} to{opacity:1; transform:none; filter:blur(0);}}
.g3-nav{grid-column:1 / -1; display:flex; justify-content:center; align-items:center; gap:16px;}
.g3-arrow{width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.04); color:#fff; font-size:18px; cursor:pointer; transition:background .3s ease, border-color .3s ease, transform .3s ease;}
.g3-arrow:hover{background:var(--c); border-color:var(--c); transform:scale(1.06);}
.g3-dots{display:flex; gap:7px;} .g3-dots i{width:8px; height:8px; border-radius:99px; background:rgba(255,255,255,.25); transition:width .45s cubic-bezier(.2,.8,.2,1), background .45s ease;}
.g3-shell[data-k="hg"] .g3-dots i[data-k="hg"], .g3-shell[data-k="dt"] .g3-dots i[data-k="dt"], .g3-shell[data-k="eg"] .g3-dots i[data-k="eg"]{width:26px; background:var(--c);}
@media (max-width:860px){
  .g3{padding:10px 0 60px;}
  .g3-shell{padding:42px 16px 22px; border-radius:26px;}
  .g3-want{grid-template-columns:1fr; text-align:center; font-size:clamp(23px,6.4vw,30px); margin:22px 0 24px;}
  .g3-want-btn{min-height:3.7em;}
  .g3-tabs{gap:8px;}
  .g3-tab{flex-direction:column; text-align:center; gap:8px; padding:14px 6px 12px; border-radius:16px;}
  .g3-tab-l{width:46px; height:46px; font-size:27px; border-radius:13px;}
  .g3-tab-t b{font-size:14.5px;} .g3-tab-t em{font-size:10.5px; letter-spacing:.02em;}
  .g3-soon{right:6px; font-size:9px; padding:2px 6px;}
  .g3-stage{grid-template-columns:1fr; padding:16px 16px 18px; gap:14px;}
  .g3-room{max-width:300px;}
  .g3-p i{width:16px; height:26px; left:-8px;} .g3-p i::before{width:10px; height:10px; left:3px;} .g3-p i::after{width:16px; height:14px;}
  .g3-panel{text-align:center;} .g3-chips{justify-content:center;}
  .g3-line{font-size:16px;} .g3-dl{text-align:left; gap:8px;} .g3-dl div{padding:10px 12px;}
}
@media (prefers-reduced-motion: reduce){
  .g3-shell, .g3-p, .g3-p i, .g3-floor{transition:none;}
  .g3-shell.is-live .g3-p i, .g3-shell.is-live .g3-p i::before, .g3-shell.is-live .g3-p::after, .g3-panel.is-on > *, .g3-panel.is-on .g3-dl > div, .g3-want-btn.is-in .g3-w{animation:none;}
}
/* "I want to..." in hand lettering, quicker and smoother */
.g3-want{font-family:"Caveat Brush","Manrope",cursive; font-size:clamp(32px,4vw,52px); line-height:1.1; gap:0 18px;}
.g3-want-lab{font-family:inherit; text-transform:none; letter-spacing:0; color:#fff; transform:rotate(-3deg); display:inline-block;}
.g3-want-btn{font-weight:400; min-height:2.3em;}
.g3-want-txt{position:relative; padding-bottom:.12em;}
.g3-want-txt::after{content:""; position:absolute; left:0; right:0; bottom:0; height:.09em; border-radius:99px; background:var(--c); transform-origin:0 50%; transform:scaleX(0) rotate(-.6deg); opacity:.85;}
.g3-want-btn.is-in .g3-want-txt::after{transition:transform .55s cubic-bezier(.65,0,.35,1) .25s; transform:scaleX(1) rotate(-.6deg);}
.g3-want-btn.is-in .g3-w{animation:g3w .5s cubic-bezier(.2,.8,.2,1) calc(var(--w) * 38ms) both;}
@keyframes g3w{from{opacity:0; transform:translateY(.35em) rotate(-4deg); filter:blur(5px);} to{opacity:1; transform:none; filter:blur(0);}}
.g3-want-txt{transition:opacity .22s ease, filter .22s ease, transform .22s ease;}
.g3-want-go{font-family:"Manrope",sans-serif; font-size:.5em; vertical-align:.05em;}
@media (max-width:860px){ .g3-want{font-size:clamp(30px,8.4vw,40px);} .g3-want-btn{min-height:2.4em;} }

/* Homepage name: one vivid green-to-blue flow that the letters are born in */
.rh-wm.is-split .wm-c, .rh-wm.is-flow .wm-c{background-image:linear-gradient(90deg,#5FD08A 0%,#3FCCC0 50%,#5CB3FF 100%); background-repeat:no-repeat; -webkit-background-clip:text; background-clip:text;}
.rh-wm.is-flow .wm-c{-webkit-text-fill-color:transparent; color:transparent; text-shadow:none;}
.rh-wm.is-flow .wm{filter:drop-shadow(0 4px 18px rgba(0,0,0,.55));}
.rh-wm.is-flow.is-split .wm-c{transition:opacity .8s calc(.5s + var(--n) * 42ms) cubic-bezier(.22,.61,.36,1), transform 1s calc(.5s + var(--n) * 42ms) cubic-bezier(.22,.61,.36,1);}
.rh-wm.is-flow:not(.is-done) .wm-c{opacity:0; transform:translate3d(-.22em,0,0);}
.rh-wm.is-flow .wm-gp{transition:opacity 1.3s cubic-bezier(.4,0,.2,1) calc(.2s + var(--gd,0s));}
.rh-wm.is-flow .wm-L path:not(.wm-gp){transition:stroke-width 1.1s ease calc(.2s + var(--gd,0s));}
.g3-want{align-items:start;}
.g3-want-lab{padding-top:.02em;}
.g3-want-go{white-space:nowrap;}
@media (max-width:860px){ .g3-want-lab{transform:rotate(-2deg);} }
/* "I want to..." v3: a clean editorial serif, underline that flows line to line */
.g3-want{font-family:"Instrument Serif",Georgia,serif; font-size:clamp(36px,4.4vw,58px); line-height:1.08; letter-spacing:-.005em;}
.g3-want-lab{transform:none; color:rgba(255,255,255,.95);}
.g3-want-btn{font-style:italic;}
.g3-want-txt::after{display:none;}
.g3-ul{background-image:linear-gradient(var(--c),var(--c)); background-repeat:no-repeat; background-position:0 96%; background-size:0% .055em; padding-bottom:.06em;}
.g3-want-btn.is-in .g3-ul{background-size:100% .055em; transition:background-size 1s cubic-bezier(.65,0,.35,1) .15s;}
@keyframes g3w{from{opacity:0; transform:translateY(.3em); filter:blur(6px);} to{opacity:1; transform:none; filter:blur(0);}}
.g3-want-go{font-style:normal;}
@media (max-width:860px){ .g3-want{font-size:clamp(32px,9vw,42px);} .g3-want-lab{transform:none;} }

/* Homepage name v3: logo colors (R on top of H) -> split -> type out in white -> one color wave */
.rh-wm .wm-R{z-index:3;} .rh-wm .wm-H{z-index:2;}
.rh-wm .wm{filter:drop-shadow(0 4px 18px rgba(0,0,0,.55));}
.rh-wm .wm-c, .rh-wm .wm-g, .rh-wm .wm-b{-webkit-text-fill-color:#fff; color:#fff; text-shadow:none;
  background-image:linear-gradient(90deg,#5FD08A 0%,#3FCCC0 50%,#5CB3FF 100%); background-repeat:no-repeat; -webkit-background-clip:text; background-clip:text;}
.rh-wm:not(.is-done) .wm-c{opacity:0; transform:translate3d(0,.05em,0) scale(.82);}
.rh-wm.is-split .wm-c{opacity:1; transform:none; transition:opacity .16s linear calc(.38s + var(--n) * 40ms), transform .38s cubic-bezier(.3,1.6,.5,1) calc(.38s + var(--n) * 40ms);}
.rh-wm.is-grad .wm-c{-webkit-text-fill-color:transparent; color:transparent; transition:-webkit-text-fill-color .6s cubic-bezier(.4,0,.2,1) var(--gd,0s), color .6s cubic-bezier(.4,0,.2,1) var(--gd,0s);}
.rh-wm.is-grad .wm-gp{opacity:1; transition:opacity .6s cubic-bezier(.4,0,.2,1) var(--gd,0s);}
.rh-wm.is-grad .wm-L path:not(.wm-gp){stroke-width:0; transition:stroke-width .6s ease var(--gd,0s);}
.rh-wm.is-grad .wm-c, .rh-wm.is-grad .wm-L{animation:wmWave .75s cubic-bezier(.4,0,.2,1) var(--gd,0s) both;}
@keyframes wmWave{0%{translate:0 0; filter:brightness(1);} 45%{translate:0 -.07em; filter:brightness(1.6);} 100%{translate:0 0; filter:brightness(1);}}
@media (prefers-reduced-motion: reduce){ .rh-wm.is-grad .wm-c, .rh-wm.is-grad .wm-L{animation:none;} }
/* "I want to..." v4: sketchy label, architect's lettering for the answers */
.g3-want{font-family:"Architects Daughter","Manrope",sans-serif; font-size:clamp(28px,3.4vw,44px); line-height:1.25; letter-spacing:.01em;}
.g3-want-lab{font-family:"Cabin Sketch","Architects Daughter",cursive; font-weight:700; font-size:1.18em; line-height:1.05; letter-spacing:.01em; color:#fff;}
.g3-want-btn{font-style:normal; font-weight:400;}
.g3-ul{background-position:0 98%; background-size:0% 2px;}
.g3-want-btn.is-in .g3-ul{background-size:100% 2px;}
@media (max-width:860px){ .g3-want{font-size:clamp(25px,7vw,32px);} }
.g3-want{grid-template-columns:auto minmax(0,1fr); max-width:900px;}
.g3-want-btn{min-height:2.6em;}
@media (max-width:860px){ .g3-want{grid-template-columns:1fr; max-width:none;} }
.g3-want-lab{margin-top:.1em;} @media (max-width:860px){ .g3-want-lab{margin-top:0;} }
/* answers in all caps, like architectural lettering */
.g3-want-btn{text-transform:uppercase; letter-spacing:.06em; font-size:.86em; line-height:1.35;}
/* Home Group tile icon */
.g3-tab-l svg{display:block;}
@media (max-width:860px){ .g3-tab-l svg{width:23px; height:23px;} }
/* E-Group: trained -> turn gold -> spread out -> each stands before a new class */
.g3-p{transition:left .95s cubic-bezier(.65,0,.35,1) calc(var(--n,0) * 32ms), top .95s cubic-bezier(.65,0,.35,1) calc(var(--n,0) * 32ms), --c .7s ease calc(.15s + var(--n,0) * 32ms), opacity .4s ease;}
.g3-p.is-gold{--c:#E8BE62;}
.g3-p.is-gold i::before{box-shadow:0 0 12px 2px rgba(243,208,143,.55);}
.g3-shell.eg-out .g3-p::after{display:none;}
.g3-new{opacity:0; transition:opacity .35s ease calc(var(--n,0) * 40ms);}
.g3-new::after{display:none !important;}
.g3-new i{scale:.3; transition:transform .9s cubic-bezier(.2,.8,.2,1), scale .55s cubic-bezier(.3,1.6,.5,1) calc(var(--n,0) * 40ms);}
.g3-shell.eg-new .g3-new{opacity:1;}
.g3-shell.eg-new .g3-new i{scale:.78;}
.g3-shell:not([data-k="eg"]) .g3-new{opacity:0 !important;}
/* E-Group loop v2: walk out, zoom out, gather, go into the world, a new class walks in */
.g3-floor{transform:rotateX(var(--rx)) rotateZ(var(--rz)) scale3d(var(--zs,1),var(--zs,1),var(--zs,1));}
.g3-shell[data-k="eg"] .g3-floor{transition:transform 1.6s cubic-bezier(.45,0,.2,1), border-radius .9s cubic-bezier(.65,0,.35,1);}
.g3-shell.eg-zoom .g3-floor{--zs:.6;}
.g3-shell[data-k="eg"] .g3-room{overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);}
.g3-p{transition:left var(--dur,.95s) var(--ez,cubic-bezier(.65,0,.35,1)) calc(var(--n,0) * 32ms), top var(--dur,.95s) var(--ez,cubic-bezier(.65,0,.35,1)) calc(var(--n,0) * 32ms), --c .7s ease calc(.15s + var(--n,0) * 32ms), opacity .5s ease;}
.g3-shell.eg-zoom .g3-p{--dur:1.6s; --ez:cubic-bezier(.45,0,.25,1);}
.g3-shell.eg-away .g3-p{--dur:2.3s; --ez:cubic-bezier(.5,0,.9,.55);}
.g3-shell.eg-away .g3-p.is-walk{--dur:2.2s; --ez:cubic-bezier(.25,.55,.3,1);}
.g3-p.is-off{opacity:0;}
.g3-shell:not([data-k="eg"]) .g3-alt{opacity:0 !important;}
.g3-p.no-tr, .g3-p.no-tr i{transition:none !important;}
.g3-new{transition:left 2.3s cubic-bezier(.5,0,.9,.55), top 2.3s cubic-bezier(.5,0,.9,.55), opacity .4s ease calc(var(--n,0) * 25ms);}
.g3-new i{transition:transform .9s cubic-bezier(.2,.8,.2,1), scale .55s cubic-bezier(.3,1.6,.5,1) calc(var(--n,0) * 25ms);}
.g3-shell.eg-new .g3-new i{scale:.8;}
.g3-shell.eg-out .g3-p:not(.g3-lead)::after{display:none;}
/* Smooth motion: people move by transform only (no layout), no per-frame masks */
.g3-p{left:0 !important; top:0 !important; transform:translate3d(var(--x,0px),var(--y,0px),0);
  transition:transform var(--dur,.95s) var(--ez,cubic-bezier(.65,0,.35,1)) calc(var(--n,0) * 32ms), --c .7s ease calc(.15s + var(--n,0) * 32ms), opacity .5s ease;}
.g3-p i{bottom:auto; top:-32px; backface-visibility:hidden;}
.g3-lead{transition:transform .9s cubic-bezier(.65,0,.35,1), opacity .6s ease;}
.g3-new{transition:transform 2.3s cubic-bezier(.5,0,.9,.55), opacity .4s ease calc(var(--n,0) * 25ms);}
.g3-shell[data-k="eg"] .g3-room{-webkit-mask-image:none; mask-image:none;}
.g3-shell[data-k="eg"] .g3-p{will-change:transform;}
/* leaving people fade out softly before they reach the edge */
.g3-shell.eg-away .g3-p:not(.is-walk):not(.g3-lead){opacity:0; transition:transform var(--dur) var(--ez), --c .7s ease, opacity 1.3s ease .7s;}
.g3-shell.eg-away.eg-new .g3-new{opacity:0; transition:transform 2.3s cubic-bezier(.5,0,.9,.55), opacity 1.3s ease .7s;}
.g3-shell.eg-away .g3-p.is-walk{transition:transform var(--dur) var(--ez) calc(var(--n,0) * 40ms), opacity .8s ease calc(var(--n,0) * 40ms);}
@media (max-width:860px){ .g3-p i{top:-26px;} }
/* Smooth group switching: the color glow crossfades (compositor only) instead of repainting the panel */
.g3-shell{background:linear-gradient(160deg,#112130 0%,#0a131b 62%,#0e1a25 100%); transition:none;}
.g3-glow{position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; border-radius:inherit;}
.g3-glow i{position:absolute; inset:0; opacity:0; transition:opacity .9s ease; will-change:opacity;}
.g3-glow i[data-k="hg"]{background:radial-gradient(55% 45% at 18% 78%, rgba(63,175,110,.30), transparent 72%), radial-gradient(45% 38% at 92% 8%, rgba(63,175,110,.20), transparent 70%);}
.g3-glow i[data-k="dt"]{background:radial-gradient(55% 45% at 18% 78%, rgba(74,155,224,.30), transparent 72%), radial-gradient(45% 38% at 92% 8%, rgba(74,155,224,.20), transparent 70%);}
.g3-glow i[data-k="eg"]{background:radial-gradient(55% 45% at 18% 78%, rgba(224,103,95,.30), transparent 72%), radial-gradient(45% 38% at 92% 8%, rgba(224,103,95,.20), transparent 70%);}
.g3-shell[data-k="hg"] .g3-glow i[data-k="hg"], .g3-shell[data-k="dt"] .g3-glow i[data-k="dt"], .g3-shell[data-k="eg"] .g3-glow i[data-k="eg"]{opacity:1;}
.g3-floor{transition:transform .9s cubic-bezier(.2,.8,.2,1), border-radius .9s cubic-bezier(.65,0,.35,1), --c .6s ease;}
.g3-shell[data-k="eg"] .g3-floor{transition:transform 1.6s cubic-bezier(.45,0,.2,1), border-radius .9s cubic-bezier(.65,0,.35,1), --c .6s ease;}
@keyframes g3in{from{opacity:0; transform:translate3d(calc(var(--dir,1) * 34px),0,0);} to{opacity:1; transform:none;}}
/* Lighter group switching: people recolor with a plain background-color fade, only where it shows */
.g3-p{transition:transform var(--dur,.95s) var(--ez,cubic-bezier(.65,0,.35,1)) calc(var(--n,0) * 32ms), opacity .5s ease;}
.g3-p i::after{background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.45)), var(--c); transition:none;}
.g3-lead i::after{background:linear-gradient(180deg,#F3D08F,#b8904f);}
.g3-shell[data-k="eg"] .g3-p:not(.is-off):not(.g3-new):not(.g3-lead) i::after{transition:background-color .7s ease calc(.15s + var(--n,0) * 32ms);}
.g3-shell[data-k="eg"] .g3-p{will-change:auto;}
.g3-shell.eg-away .g3-p:not(.is-walk):not(.g3-lead){transition:transform var(--dur) var(--ez), opacity 1.3s ease .7s;}
.g3-shell:not([data-k="eg"]) .g3-alt, .g3-shell:not([data-k="eg"]) .g3-new{display:none;}
.g3-shell[data-k="eg"]:not(.eg-new) .g3-new{visibility:hidden;}
.g3-shell.eg-new .g3-new, .g3-shell.eg-away .g3-new{visibility:visible;}
.g3-p.is-off{visibility:hidden;}
.g3-shell.eg-away .g3-p.is-walk{visibility:visible;}
/* Projected sprites: the floor is one flat 3D plane; people are 2D sprites placed by the script */
.g3-floor{transform-style:flat; transition:border-radius .9s cubic-bezier(.65,0,.35,1), --c .6s ease;}
.g3-shell[data-k="eg"] .g3-floor{transition:border-radius .9s cubic-bezier(.65,0,.35,1), --c .6s ease;}
.g3-crowd{position:absolute; inset:0; pointer-events:none; isolation:isolate;}
.g3-crowd .g3-p{position:absolute; left:0 !important; top:0 !important; width:0; height:0; transform-style:flat; transition:opacity .5s ease;}
.g3-shell .g3-crowd .g3-p{will-change:transform;}
.g3-crowd .g3-p i{transform:none !important;}
.g3-crowd .g3-p::after{height:16px !important; top:-8px !important;}
.g3-crowd .g3-new{transition:opacity .4s ease calc(var(--n,0) * 25ms);}
.g3-shell.eg-away .g3-crowd .g3-p:not(.is-walk):not(.g3-lead){transition:opacity 1.3s ease .7s;}
.g3-shell.eg-away .g3-crowd .g3-p.is-walk{transition:opacity .8s ease calc(var(--n,0) * 40ms);}
.g3-shell.eg-away.eg-new .g3-crowd .g3-new{transition:opacity 1.3s ease .7s;}
/* Fall Festival header logo: the RH turns autumn and drops a few leaves */
.fl-logo{display:block; width:100%; height:100%; padding:6px 10px; box-sizing:border-box; overflow:visible;}
.fl-leaf{opacity:0; transform-box:fill-box; transform-origin:50% 50%; animation:flLeaf 7s calc(1.8s + var(--ld)) cubic-bezier(.4,0,.6,1) infinite;}
.fl-leaf path{stroke:rgba(0,0,0,.18); stroke-width:1.2;}
@keyframes flLeaf{
  0%{opacity:0; transform:translate(var(--lx),var(--ly)) rotate(0deg) scale(.6);}
  8%{opacity:1; transform:translate(var(--lx),var(--ly)) rotate(-10deg) scale(1);}
  45%{opacity:1; transform:translate(calc(var(--lx) + 28px),calc(var(--ly) + 170px)) rotate(120deg);}
  70%{opacity:.9; transform:translate(calc(var(--lx) - 16px),calc(var(--ly) + 290px)) rotate(210deg);}
  82%,100%{opacity:0; transform:translate(calc(var(--lx) + 6px),calc(var(--ly) + 380px)) rotate(260deg);}
}
@media (prefers-reduced-motion: reduce){ .fl-leaf{animation:none;} }
/* ---------- Fall Festival v2: tickets, polaroid ring, fold-out map ---------- */
.ff-acts{padding:56px 0 50px;}
.ff-tix{display:grid; grid-template-columns:repeat(2,1fr); gap:18px 22px; perspective:1400px; max-width:1060px; margin:0 auto;}
.ff-tk{--tx:0deg; --ty:0deg; transform-style:preserve-3d;}
.ff-tk-in{position:relative; display:flex; align-items:stretch; min-height:118px; background:#fff; border:2.5px solid var(--ff-ink); border-radius:18px; box-shadow:6px 6px 0 var(--c); overflow:hidden;
  transform-origin:50% 0; transform:rotateX(var(--tx)) rotateY(var(--ty)); transition:transform .45s cubic-bezier(.2,.9,.25,1), box-shadow .3s ease;}
.ff-tk:hover .ff-tk-in{box-shadow:9px 9px 0 var(--c);}
/* dealt in like tickets off a roll */
.ff-tix:not(.is-in) .ff-tk-in{opacity:0; transform:translateY(-30px) rotateX(-85deg);}
.ff-tix.is-in .ff-tk-in{animation:ffDeal .8s cubic-bezier(.2,1.25,.4,1) calc(var(--i) * 70ms) both;}
@keyframes ffDeal{from{opacity:0; transform:translateY(-30px) rotateX(-85deg);} 60%{opacity:1;} to{opacity:1; transform:rotateX(0) rotateY(0);}}
.ff-tk-stub{position:relative; flex:none; width:96px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:var(--c); color:#fff; border-right:2.5px dashed rgba(26,20,16,.55);}
.ff-tk-stub::before, .ff-tk-stub::after{content:""; position:absolute; right:-12px; width:22px; height:22px; border-radius:50%; background:var(--ff-cream); border:2.5px solid var(--ff-ink);}
.ff-tk-stub::before{top:-13px;} .ff-tk-stub::after{bottom:-13px;}
.ff-tk-stub svg{width:38px; height:38px; transition:transform .5s cubic-bezier(.3,1.6,.5,1);}
.ff-tk:hover .ff-tk-stub svg{transform:rotate(-10deg) scale(1.12);}
.ff-tk-stub b{font-family:"Poppins",sans-serif; font-weight:800; font-size:11px; letter-spacing:.14em; opacity:.92;}
.ff-tk-body{padding:16px 20px 16px 24px; display:flex; flex-direction:column; justify-content:center;}
.ff-tk-body h3{font-size:21px; line-height:1.05;}
.ff-tk-body p{margin:6px 0 0; color:#5a4636; font-size:15px; line-height:1.5;}
.ff-tk-badge{position:absolute; top:10px; right:12px; padding:4px 11px; border-radius:999px; background:var(--ff-gold); color:var(--ff-ink); border:2px solid var(--ff-ink); font-family:"Archivo Black",Impact,sans-serif; font-size:15px; text-transform:uppercase; transform:rotate(6deg);}
.ff-tix.is-in .ff-tk-badge{animation:ffBadge .6s cubic-bezier(.3,1.8,.5,1) calc(.5s + var(--i) * 70ms) both;}
@keyframes ffBadge{from{transform:rotate(6deg) scale(0);} to{transform:rotate(6deg) scale(1);}}
.ff-tk-body:has(+ .ff-tk-badge){padding-right:64px;}

.ff-ring-sec{padding:60px 0 40px; overflow:hidden; background:linear-gradient(180deg, var(--ff-cream), #F7DDB8 55%, var(--ff-cream));}
.ff-ring{position:relative; height:400px; margin-top:-6px; perspective:1300px; perspective-origin:50% 40%; touch-action:pan-y; cursor:grab; user-select:none; -webkit-user-select:none;}
.ff-ring:active{cursor:grabbing;}
.ff-ring-spin{position:absolute; left:50%; top:46%; width:0; height:0; transform-style:preserve-3d; will-change:transform;}
.ff-pola{position:absolute; left:-105px; top:-130px; width:210px; padding:0; border:0; background:none; cursor:pointer; transform-style:preserve-3d; opacity:0; -webkit-tap-highlight-color:transparent;}
.ff-pola-f, .ff-pola-b{display:block; backface-visibility:hidden; -webkit-backface-visibility:hidden; background:#fffdf8; padding:10px 10px 0; box-shadow:0 18px 30px -16px rgba(60,30,10,.55); transform:rotateZ(var(--r));}
.ff-pola-f img{display:block; width:100%; aspect-ratio:1; object-fit:cover; -webkit-user-drag:none; pointer-events:none;}
.ff-pola-cap{display:block; padding:9px 2px 12px; font-family:"Architects Daughter","Poppins",cursive; font-weight:700; font-size:14px; line-height:1.25; color:#3a2a1c; text-align:center;}
.ff-pola-b{position:absolute; inset:0; padding:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; transform:rotateY(180deg) rotateZ(calc(var(--r) * -1)); background:repeating-linear-gradient(45deg,#FBEBD3 0 10px,#F6E0C0 10px 20px);}
.ff-pola-b b{font-family:"Archivo Black",Impact,sans-serif; text-transform:uppercase; color:var(--ff-orange); font-size:22px;}
.ff-pola-b span{font-family:"Poppins",sans-serif; font-weight:800; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ff-deep);}
.ff-pola:focus-visible .ff-pola-f{outline:3px solid var(--ff-orange); outline-offset:3px;}
.ff-ring-hint{text-align:center; margin:4px 0 0; font-family:"Poppins",sans-serif; font-weight:800; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ff-deep);}
.ff-ring-hint span{display:inline-block; animation:ffNudge 1.6s ease-in-out infinite alternate;}
.ff-ring-hint span:last-child{animation-direction:alternate-reverse;}
@keyframes ffNudge{from{transform:translateX(-4px);} to{transform:translateX(4px);}}

.ff-know{padding:56px 0 50px;}
.ff-map{position:relative; display:grid; grid-template-columns:repeat(4,1fr); max-width:1100px; margin:0 auto; perspective:1600px; filter:drop-shadow(0 26px 30px rgba(90,40,10,.22));}
.ff-map-trail{position:absolute; left:3%; right:3%; top:38px; width:94%; height:90px; z-index:2; pointer-events:none;}
.ff-map-trail path{fill:none; stroke:var(--ff-red); stroke-width:3; stroke-dasharray:10 9; stroke-linecap:round; opacity:0; transition:opacity .6s ease 1.3s;}
.ff-map.is-open .ff-map-trail path{opacity:.55; animation:ffTrail 1.4s linear infinite;}
@keyframes ffTrail{to{stroke-dashoffset:-38;}}
.ff-fold{position:relative; padding:30px 22px 30px; min-height:280px; background:#FFF8EA; border:2.5px solid var(--ff-ink); margin-left:-2.5px;
  background-image:linear-gradient(rgba(46,139,122,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(46,139,122,.07) 1px, transparent 1px); background-size:22px 22px;
  transform-origin:0 50%; transition:transform 1s cubic-bezier(.3,1.25,.45,1) calc(var(--i) * 160ms), filter 1s ease calc(var(--i) * 160ms);}
.ff-fold:first-child{border-radius:18px 0 0 18px; margin-left:0;} .ff-fold:last-child{border-radius:0 18px 18px 0;}
.ff-fold:nth-child(odd){background-color:#FFF3DF;}
.ff-map:not(.is-open) .ff-fold{transform:rotateY(-88deg); filter:brightness(.8);}
.ff-map:not(.is-open) .ff-fold:nth-of-type(even){transform:rotateY(88deg); transform-origin:100% 50%;}
.ff-pin{position:relative; z-index:3; display:grid; place-items:center; width:58px; height:58px; border-radius:50% 50% 50% 6px; transform:rotate(-45deg); background:var(--c); color:#fff; border:2.5px solid var(--ff-ink); box-shadow:3px 3px 0 var(--ff-ink);}
.ff-pin svg{width:28px; height:28px; transform:rotate(45deg);}
.ff-map.is-open .ff-pin{animation:ffPinDrop .7s cubic-bezier(.3,1.6,.5,1) calc(.5s + var(--i) * 160ms) both;}
@keyframes ffPinDrop{from{transform:translateY(-40px) rotate(-45deg); opacity:0;} to{transform:rotate(-45deg); opacity:1;}}
.ff-fold h3{font-size:20px; margin-top:20px; line-height:1.08;}
.ff-fold p{margin:10px 0 0; color:#5a4636; font-size:15px; line-height:1.55;}
.ff-trolley{position:absolute; left:16px; bottom:10px; width:58px; animation:ffTrolley 6s ease-in-out infinite;}
.ff-trolley svg{display:block; width:100%;}
@keyframes ffTrolley{0%,100%{transform:translateX(0);} 45%,55%{transform:translateX(calc(100% + 60px));}}
@media (max-width:900px){
  .ff-tix{grid-template-columns:1fr;}
  .ff-map{grid-template-columns:1fr 1fr;}
  .ff-fold:first-child{border-radius:18px 0 0 0;} .ff-fold:nth-child(2){border-radius:0 18px 0 0;} .ff-fold:nth-child(3){border-radius:0 0 0 18px; margin-left:0;} .ff-fold:last-child{border-radius:0 0 18px 0;}
  .ff-fold:nth-child(n+3){margin-top:-2.5px;}
  .ff-map-trail{display:none;}
}
@media (max-width:600px){
  .ff-tk-stub{width:78px;} .ff-tk-stub svg{width:32px; height:32px;}
  .ff-tk-body{padding:14px 14px 14px 20px;} .ff-tk-body h3{font-size:19px;} .ff-tk-body p{font-size:14.5px;}
  .ff-ring{height:330px;}
  .ff-pola{left:-78px; top:-100px; width:156px;} .ff-pola-f{padding:7px 7px 0;} .ff-pola-cap{font-size:12px; padding:7px 2px 9px;}
  .ff-map{grid-template-columns:1fr; perspective:1200px;}
  .ff-fold, .ff-fold:nth-child(n){border-radius:0; margin:-2.5px 0 0; min-height:0; transform-origin:50% 0;}
  .ff-fold:first-child{border-radius:18px 18px 0 0; margin-top:0;} .ff-fold:last-child{border-radius:0 0 18px 18px;}
  .ff-map:not(.is-open) .ff-fold, .ff-map:not(.is-open) .ff-fold:nth-of-type(even){transform:rotateX(-88deg); transform-origin:50% 0;}
  .ff-fold{padding:24px 20px 26px 92px;} .ff-pin{position:absolute; left:20px; top:24px; width:50px; height:50px;} .ff-fold h3{margin-top:0;}
  .ff-trolley{left:auto; right:14px; bottom:8px; width:46px;}
  .ff-trolley{animation-name:ffTrolleyM;}
}
@media (prefers-reduced-motion: reduce){
  .ff-tix .ff-tk-in, .ff-tix.is-in .ff-tk-in{animation:none; opacity:1; transform:none;}
  .ff-map .ff-fold{transform:none !important; filter:none !important; transition:none;}
  .ff-trolley, .ff-ring-hint span, .ff-map.is-open .ff-map-trail path{animation:none;}
}
@keyframes ffTrolleyM{0%,100%{transform:translateX(0);} 50%{transform:translateX(-30px);}}
.ff-fold:has(.ff-trolley){padding-bottom:58px;}
@media (max-width:600px){ .ff-fold:has(.ff-trolley){padding-bottom:44px;} }
.ff-ring-sec .container{position:relative; z-index:2;}
.ff-ring{height:440px;}
.ff-pola{left:-120px; top:-150px; width:240px;}
@media (max-width:600px){ .ff-ring{height:340px;} .ff-pola{left:-82px; top:-104px; width:164px;} }
.ff-map-trail{top:32px; height:58px;}
/* Prayer Requests: a warmer, creamier brown everywhere (midweek keeps its own look) */
.btn-pray{background:linear-gradient(135deg,#BC9A6E,#A07A4F); border-color:#A07A4F; box-shadow:0 10px 22px -12px rgba(160,122,79,.85);}
.btn-pray:hover, .btn-pray.active{background:linear-gradient(135deg,#AE8A5E,#8E6A42); border-color:#8E6A42;}
/* Fall Festival: the prize wheel */
.ff-spin{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px 50px; align-items:center; max-width:1060px; margin:0 auto;}
.ff-wheel-wrap{position:relative; width:min(440px,100%); margin:0 auto; padding-bottom:58px; perspective:1100px;}
.ff-wheel-tilt{--wx:16deg; --wy:0deg; position:relative; z-index:1; aspect-ratio:1; transform-style:preserve-3d; transform:rotateX(var(--wx)) rotateY(var(--wy)); transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.ff-wheel-disc{position:absolute; inset:0; border-radius:50%; box-shadow:0 14px 0 #7a3a12, 0 16px 0 #1a1410, 0 40px 50px -14px rgba(90,40,10,.55);}
.ff-wheel{position:absolute; inset:0; border-radius:50%; will-change:transform; cursor:pointer;}
.ff-wheel svg, .ff-bulbs{position:absolute; inset:0; width:100%; height:100%; display:block;}
.ff-bulbs{pointer-events:none;}
.ff-wedge path{transition:filter .3s ease;}
.ff-wedge:hover path{filter:brightness(1.12);}
.ff-wedge.is-on path{filter:brightness(1.18) saturate(1.1);}
.ff-bulb{fill:#FFE8A8; stroke:#1a1410; stroke-width:1.5; animation:ffBulb 1.1s steps(1) infinite;}
.ff-bulb.is-alt{animation-delay:-.55s;}
.ff-spin.is-spinning .ff-bulb{animation-duration:.3s;}
@keyframes ffBulb{0%{fill:#FFF6D8; filter:drop-shadow(0 0 4px #FFD25E);} 50%{fill:#C9963E; filter:none;}}
.ff-pointer{position:absolute; left:50%; top:-20px; z-index:3; width:40px; height:52px; margin-left:-20px; transform-origin:50% 12px; filter:drop-shadow(0 4px 0 #1a1410);}
.ff-pointer::before{content:""; position:absolute; inset:0; background:#C23B22; clip-path:polygon(50% 100%, 0 22%, 22% 0, 78% 0, 100% 22%);}
.ff-pointer::after{content:""; position:absolute; left:13px; top:8px; width:14px; height:14px; border-radius:50%; background:#FDF3E3; border:2.5px solid #1a1410;}
.ff-pointer.is-tick{animation:ffTick .14s ease-out;}
@keyframes ffTick{40%{transform:rotate(-16deg);} 100%{transform:rotate(0);}}
.ff-hub{position:absolute; left:50%; top:50%; z-index:3; width:25%; aspect-ratio:1; transform:translate(-50%,-50%) translateZ(24px); border-radius:50%; border:3px solid #1a1410; background:radial-gradient(circle at 35% 30%, #FFB25C, #E8782A 55%, #B8521C); color:#fff; cursor:pointer;
  box-shadow:0 6px 0 #7a3a12, 0 10px 18px -6px rgba(0,0,0,.45); font-family:"Archivo Black",Impact,sans-serif; font-size:clamp(16px,2.2vw,22px); text-transform:uppercase; letter-spacing:.02em; transition:transform .15s ease, box-shadow .15s ease;}
.ff-hub span{display:block; transform:rotate(-8deg); text-shadow:2px 2px 0 #1a1410;}
.ff-hub:hover{transform:translate(-50%,-50%) translateZ(24px) scale(1.06);}
.ff-hub:active{transform:translate(-50%,-50%) translateZ(24px) translateY(4px); box-shadow:0 2px 0 #7a3a12;}
.ff-spin.is-spinning .ff-hub{pointer-events:none;}
.ff-stand{position:absolute; left:50%; bottom:0; width:46%; height:96px; transform:translateX(-50%); background:linear-gradient(90deg,#B8521C,#E8782A 45%,#B8521C); clip-path:polygon(38% 0,62% 0,100% 100%,0 100%); border-bottom:6px solid #1a1410;}
.ff-pick{perspective:1200px;}
.ff-tk-big .ff-tk-in{min-height:200px; box-shadow:10px 10px 0 var(--c); transition:box-shadow .4s ease;}
.ff-tk-big .ff-tk-stub{width:130px;} .ff-tk-big .ff-tk-stub svg{width:58px; height:58px;} .ff-tk-big .ff-tk-stub b{font-size:13px;}
.ff-tk-big .ff-tk-body{padding:24px 28px 24px 34px;} .ff-tk-big .ff-tk-body h3{font-size:clamp(28px,3.4vw,40px);} .ff-tk-big .ff-tk-body p{font-size:17px; margin-top:10px;}
.ff-tk-big .ff-tk-badge{font-size:18px; top:14px; right:16px;}
.ff-tk-big.is-flip-out .ff-tk-in{transform:rotateY(90deg); transition:transform .23s cubic-bezier(.55,0,1,.45);}
.ff-tk-big.is-flip-in .ff-tk-in{animation:ffFlipIn .55s cubic-bezier(.2,1.3,.4,1) both;}
@keyframes ffFlipIn{from{transform:rotateY(-90deg);} to{transform:rotateY(0);}}
.ff-tk-big.is-flip-in .ff-tk-badge:not([hidden]){animation:ffBadge .55s cubic-bezier(.3,1.8,.5,1) .25s both;}
.ff-pick-nav{display:flex; align-items:center; justify-content:center; gap:16px; margin-top:22px; font-family:"Poppins",sans-serif; font-weight:800; font-size:14px; letter-spacing:.1em; color:var(--ff-deep);}
.ff-arrow{width:46px; height:46px; border-radius:50%; border:2.5px solid var(--ff-ink); background:#fff; font-size:18px; cursor:pointer; box-shadow:3px 3px 0 var(--ff-ink); transition:transform .15s, box-shadow .15s;}
.ff-arrow:hover{transform:translate(-1px,-1px); box-shadow:4px 4px 0 var(--ff-ink);}
.ff-arrow:active{transform:translate(2px,2px); box-shadow:1px 1px 0 var(--ff-ink);}
@media (max-width:900px){
  .ff-spin{grid-template-columns:1fr; gap:18px;}
  .ff-wheel-wrap{width:min(360px,88vw); padding-bottom:44px;}
  .ff-stand{height:70px;}
  .ff-tk-big .ff-tk-in{min-height:150px;}
  .ff-tk-big .ff-tk-stub{width:96px;} .ff-tk-big .ff-tk-stub svg{width:42px; height:42px;}
  .ff-tk-big .ff-tk-body{padding:18px 18px 18px 26px;} .ff-tk-big .ff-tk-body p{font-size:15.5px;}
}
@media (prefers-reduced-motion: reduce){ .ff-bulb{animation:none;} .ff-tk-big .ff-tk-in{animation:none !important; transition:none !important; transform:none !important;} }
.ff-tk-big .ff-tk-body:has(+ .ff-tk-badge:not([hidden])){padding-right:84px;}
/* Fall Festival: the big half-moon wheel (game-show style) */
.ff-wof{max-width:1000px; margin:0 auto;}
.ff-wof-clip{position:relative; overflow:hidden; border-radius:34px 34px 0 0; padding:26px 22px 0; background:radial-gradient(70% 90% at 50% 100%, #8A3A16 0%, #4A1C0E 55%, #23100A 100%); box-shadow:inset 0 0 0 3px #1a1410, inset 0 0 60px rgba(0,0,0,.45);}
.ff-wof-clip::before{content:""; position:absolute; inset:10px 10px 0; border:3px dotted rgba(246,213,138,.55); border-bottom:0; border-radius:26px 26px 0 0; pointer-events:none;}
.ff-wof-clip::after{content:""; position:absolute; left:50%; top:-30%; width:70%; height:120%; transform:translateX(-50%); background:radial-gradient(closest-side, rgba(255,214,140,.22), transparent); pointer-events:none;}
.ff-wof-stage{position:relative; z-index:1; width:100%; aspect-ratio:1000/560; overflow:hidden;}
.ff-wof-wheel{position:absolute; left:0; top:3.5714%; width:100%; aspect-ratio:1; will-change:transform; cursor:pointer; filter:drop-shadow(0 0 18px rgba(0,0,0,.35));}
.ff-wof-wheel svg, .ff-wof-over{position:absolute; inset:0; width:100%; height:100%; display:block;}
.ff-wof-over{pointer-events:none;}
.ff-wlab{font-family:"Archivo Black",Impact,sans-serif; font-size:25px; letter-spacing:1px; fill:#fff; stroke:rgba(26,20,16,.6); stroke-width:5px; paint-order:stroke; text-anchor:start;}
.ff-wlab.is-long{font-size:21px;}
.ff-wedge path{transition:filter .35s ease;}
.ff-wedge.is-on path{filter:brightness(1.22) saturate(1.1);}
.ff-wof .ff-bulb{fill:#FFF3C9; stroke:#3a1a08; stroke-width:2.5; animation:ffChase 1.2s linear infinite; animation-delay:calc(var(--b) * -.05s);}
.ff-wof.is-spinning .ff-bulb{animation-duration:.4s;}
@keyframes ffChase{0%,100%{fill:#FFF6D8; filter:drop-shadow(0 0 6px #FFD25E);} 50%{fill:#B97E2E; filter:none;}}
.ff-wof .ff-pointer{position:absolute; left:50%; top:0; z-index:3; width:6.2%; height:15.5%; margin:0; transform:translateX(-50%); transform-origin:50% 14%; filter:drop-shadow(0 5px 0 #1a1410) drop-shadow(0 8px 10px rgba(0,0,0,.4));}
.ff-wof .ff-pointer::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg,#E04A2F,#C23B22 50%,#9A2A16); clip-path:polygon(50% 100%, 4% 28%, 18% 0, 82% 0, 96% 28%);}
.ff-wof .ff-pointer::after{content:""; position:absolute; left:50%; top:11%; width:34%; aspect-ratio:1; height:auto; transform:translateX(-50%); border-radius:50%; background:#FDF3E3; border:2.5px solid #1a1410;}
.ff-wof .ff-pointer.is-tick{animation:ffTick2 .16s ease-out;}
@keyframes ffTick2{40%{transform:translateX(-50%) rotate(-14deg);} 100%{transform:translateX(-50%) rotate(0);}}
.ff-wof .ff-hub{position:absolute; left:50%; top:92.857%; z-index:3; width:19.6%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; border:0; background:transparent; box-shadow:none; cursor:pointer; padding:0; color:#fff;}
.ff-wof .ff-hub span{position:absolute; left:0; right:0; top:22%; transform:rotate(-6deg); font-family:"Archivo Black",Impact,sans-serif; font-size:clamp(15px,2.6vw,28px); text-transform:uppercase; color:#fff; text-shadow:2px 2px 0 #5a2a0c, 0 0 14px rgba(255,200,100,.6); transition:transform .15s ease;}
.ff-wof .ff-hub:hover span{transform:rotate(-6deg) scale(1.1);}
.ff-wof .ff-hub:active span{transform:rotate(-6deg) scale(.95);}
.ff-wof .ff-hub:focus-visible{outline:3px solid #FFE3A3; outline-offset:2px;}
.ff-wof.is-spinning .ff-hub{pointer-events:none;}
.ff-wof.is-spinning .ff-hub span{opacity:.6;}
.ff-wof .ff-pick{display:flex; align-items:center; justify-content:center; gap:18px; margin-top:-8px; position:relative; z-index:2; perspective:1200px;}
.ff-wof .ff-tk-big{flex:1; max-width:660px;}
.ff-pick-count{text-align:center; margin:14px 0 0; font-family:"Poppins",sans-serif; font-weight:800; font-size:14px; letter-spacing:.1em; color:var(--ff-deep);}
@media (max-width:700px){
  .ff-wof-clip{padding:16px 0 0; border-radius:26px 26px 0 0;}
  .ff-wof-stage{width:168%; margin-left:-34%;}
  .ff-wof .ff-pick{gap:8px; margin-top:-4px;}
  .ff-wof .ff-arrow{width:40px; height:40px; flex:none;}
  .ff-wof .ff-hub span{top:20%;}
}
@media (prefers-reduced-motion: reduce){ .ff-wof .ff-bulb{animation:none;} }
/* ---------- Footer v2: hills, a Sunday invite, tidy link grids ---------- */
footer.ft{position:relative; padding-top:0; margin-top:70px; border-top:0;}
.ft-hills{position:absolute; left:0; right:0; top:-69px; width:100%; height:70px; display:block; pointer-events:none;}
.ft-hill-f{fill:var(--foot-bg);}
.ft-hill-b{fill:var(--foot-bg); opacity:.55;}
.ft-cta{display:flex; align-items:center; justify-content:space-between; gap:20px 30px; flex-wrap:wrap; padding-top:22px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.12);}
.ft-eyebrow{margin:0; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#D9C7A3;}
.ft-cta h3{margin:6px 0 4px; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:clamp(30px,4vw,44px); line-height:1; letter-spacing:.01em; color:#fff;}
.ft-cta-sub{margin:0; font-size:14.5px; color:rgba(255,255,255,.7);}
.ft-cta-btns{display:flex; gap:10px; flex-wrap:wrap;}
footer .ft-btn{display:inline-flex; align-items:center; padding:13px 22px; border-radius:999px; font-weight:800; font-size:14.5px; text-decoration:none; color:#fff; border:1.5px solid rgba(255,255,255,.35); transition:transform .2s ease, background .2s ease, border-color .2s ease;}
footer .ft-btn:hover{transform:translateY(-2px); border-color:#fff; color:#fff; background:rgba(255,255,255,.06);}
footer .ft-btn-main{background:#F3EBDD; color:#132A1C; border-color:#F3EBDD;}
footer .ft-btn-main:hover{background:#fff; color:#132A1C;}
.ft-grid{display:grid; grid-template-columns:1.25fr 1.15fr 1.15fr 1fr; gap:36px; padding-top:40px; padding-bottom:40px;}
.ft-social{display:flex; gap:10px; margin-top:18px;}
footer .ft-social a{display:grid; place-items:center; width:42px; height:42px; padding:0; border-radius:50%; border:1.5px solid rgba(255,255,255,.22); color:#fff; transition:transform .2s ease, background .2s ease, border-color .2s ease;}
footer .ft-social a:hover{transform:translateY(-3px); background:#F3EBDD; border-color:#F3EBDD; color:#132A1C;}
.ft-social svg{width:19px; height:19px;}
footer ul.ft-links{display:grid; grid-template-columns:1fr 1fr; gap:2px 16px;}
footer .ft-links a{position:relative; display:inline-block; padding-block:7px; font-size:14.5px;}
footer .ft-links a::after{content:"\2192"; position:absolute; margin-left:6px; opacity:0; transform:translateX(-4px); transition:opacity .2s ease, transform .2s ease; color:#D9C7A3;}
footer .ft-links a:hover::after{opacity:1; transform:none;}
footer ul.ft-contact{gap:12px;}
.ft-contact li{display:flex; align-items:flex-start; gap:10px;}
.ft-contact svg{flex:none; width:18px; height:18px; margin-top:3px; color:#D9C7A3;}
footer .ft-contact a{padding-block:0; line-height:1.45;}
footer .ft-contact a.foot-addr{color:rgba(255,255,255,.84); font-size:14.5px;}
@media (max-width:980px){ .ft-grid{grid-template-columns:1fr 1fr; gap:30px;} }
@media (max-width:560px){
  .ft-cta{padding-top:12px;} .ft-cta-btns{width:100%;} footer .ft-btn{flex:1; justify-content:center;}
  .ft-grid{grid-template-columns:1fr 1fr; gap:26px 18px;}
  .ft-brand-col{grid-column:1 / -1;}
  footer ul.ft-links{grid-template-columns:1fr;}
  .ft-grid > .ft-col:last-child{grid-column:1 / -1;}
}
/* Fall RH v2: leaves sway in place (no falling), a vine creeps in, pumpkins grow */
.fl-logo .fl-leaf{opacity:1; animation:none;}
.fl-leaf-in{transform-box:fill-box; transform-origin:50% 100%; opacity:0; animation:flLeafIn .5s ease calc(2.4s + var(--ld)) forwards, flSway 2.8s ease-in-out calc(2.9s + var(--ld)) infinite alternate;}
@keyframes flLeafIn{from{opacity:0; transform:scale(.2) rotate(-30deg);} to{opacity:1; transform:scale(1);}}
@keyframes flSway{from{transform:rotate(-12deg);} to{transform:rotate(12deg);}}
.fl-vine{stroke-dasharray:1; stroke-dashoffset:1; animation:flVine 1.1s cubic-bezier(.45,0,.25,1) 1.8s forwards;}
@keyframes flVine{to{stroke-dashoffset:0;}}
.fl-pk-in{transform-box:fill-box; transform-origin:50% 100%; transform:scale(0); animation:flGrow .9s cubic-bezier(.3,1.6,.5,1) var(--pd) forwards;}
@keyframes flGrow{to{transform:scale(1);}}
@media (prefers-reduced-motion: reduce){ .fl-leaf-in, .fl-pk-in{animation:none; opacity:1; transform:none;} .fl-vine{animation:none; stroke-dashoffset:0;} }
/* Wheel v3: a full, bright wheel right on the page; the ticket covers its lower half while it spins behind */
.ff-wof{max-width:1000px; margin:0 auto;}
.ff-wof-clip{padding:0; border-radius:0; background:none; box-shadow:none; overflow:visible;}
.ff-wof-clip::before, .ff-wof-clip::after{display:none;}
.ff-wof-stage{width:min(760px,100%); margin:0 auto; aspect-ratio:1; overflow:visible;}
.ff-wof-wheel{top:1.923%; left:1.923%; width:96.154%; filter:drop-shadow(0 22px 26px rgba(150,80,20,.28));}
.ff-wof .ff-pointer{top:-2.2%; width:5.4%; height:9.5%;}
.ff-wof .ff-hub{top:50%; width:18.85%;}
.ff-wof .ff-hub span{top:50%; transform:translateY(-50%) rotate(-6deg);}
.ff-wof .ff-hub:hover span{transform:translateY(-50%) rotate(-6deg) scale(1.1);}
.ff-wof .ff-hub:active span{transform:translateY(-50%) rotate(-6deg) scale(.95);}
.ff-wof .ff-bulb{stroke:#9A5A1A;}
@keyframes ffChase{0%,100%{fill:#FFFBEA; filter:drop-shadow(0 0 6px #FFD25E);} 50%{fill:#F2C46A; filter:none;}}
.ff-wof .ff-pick{margin-top:-38%; z-index:4;}
.ff-wof .ff-tk-big .ff-tk-in{box-shadow:10px 10px 0 var(--c), 0 30px 50px -20px rgba(90,40,10,.45);}
.ff-pick-count{position:relative; z-index:4;}
@media (max-width:700px){
  .ff-wof-clip{overflow:hidden; margin:0 -16px; padding-top:18px;}
  .ff-wof-stage{width:150%; margin-left:-25%;}
  .ff-wof .ff-pick{margin-top:-62%;}
}
.ff-wof .ff-pick{margin-top:calc(-.37 * min(760px, 100%));}
@media (max-width:700px){ .ff-wof .ff-pick{margin-top:calc(-.58 * (100% + 32px));} }
.ff-pick-count{display:table; margin:14px auto 0; padding:5px 14px; border-radius:999px; background:#FDF3E3; border:2px solid var(--ff-ink); box-shadow:3px 3px 0 var(--ff-ink);}
/* The trolley's route (computer layout): across the next two panels, turn around, back home, then rock back and forth */
.ff-fold:has(.ff-trolley){z-index:5;}
@media (min-width:901px){
  .ff-trolley{animation:ffRoute 15s ease-in-out infinite;}
  .ff-map:not(.is-open) .ff-trolley{animation-play-state:paused;}
}
@keyframes ffRoute{
  0%, 4%{left:16px; transform:scaleX(1);}
  32%{left:calc(300% - 92px); transform:scaleX(1);}
  35%{left:calc(300% - 92px); transform:scaleX(-1);}
  63%{left:16px; transform:scaleX(-1);}
  66%{left:16px; transform:scaleX(1);}
  73%{left:70px;} 80%{left:16px;} 87%{left:70px;} 94%, 100%{left:16px; transform:scaleX(1);}
}
/* Wordmark: the R and H are laid out big during the logo moment (sharp), then shrink into place */
.rh-wm.is-big .wm-L{height:calc(.72em * var(--wmB, 1)); margin-top:calc(.72em * (1 - var(--wmB, 1))); transform-origin:0 100%;}
.rh-wm.is-big .wm-R{margin-right:calc(.72em * (1 - var(--wmB, 1)) * 366 / 367 + .015em);}
.rh-wm.is-big .wm-H{margin-right:calc(.72em * (1 - var(--wmB, 1)) * 377 / 367 + .015em);}
.rh-wm.is-done .wm-L{transition:none;}
@media (max-width:700px){
  .ff-wof .ff-pick{flex-wrap:wrap; gap:12px 18px;}
  .ff-wof .ff-tk-big{flex:1 1 100%; order:-1; min-width:0; max-width:100%;}
  .ff-wof .ff-tk-big .ff-tk-body h3{font-size:24px;}
  .ff-wof .ff-tk-big .ff-tk-stub{width:84px;}
  .ff-pick-count{margin-top:-46px; pointer-events:none;}
}
@media (max-width:700px){
  .ff-wof .ff-pick{gap:12px 116px;}
  .ff-wof .ff-tk-big .ff-tk-body, .ff-wof .ff-tk-big .ff-tk-body:has(+ .ff-tk-badge:not([hidden])){padding-right:46px;}
  .ff-wof .ff-tk-big .ff-tk-badge{font-size:14px; top:10px; right:10px; padding:3px 9px;}
  .ff-pick-count{margin-top:-44px;}
}
.sealed-foot{margin:0; padding:26px 16px 34px; text-align:center; font-size:13px; letter-spacing:.04em; color:#8a7560; background:var(--ff-cream, #FDF3E3);}
/* Sealed pages (Fall Festival): no bar across the top, just the RH floating, even after scrolling */
body.is-sealed header.nav, body.is-sealed header.nav.scrolled{background:transparent !important; box-shadow:none !important; border-bottom-color:transparent !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; pointer-events:none;}
body.is-sealed header.nav .brand{pointer-events:auto;}

/* Fall Festival: polaroids drifting left to right in two rows */
.ff-pan{position:relative; overflow:hidden; padding:26px 0 30px;}
.ff-pan::before, .ff-pan::after{content:""; position:absolute; top:0; bottom:0; z-index:5; width:9%; pointer-events:none;}
.ff-pan::before{left:0; background:linear-gradient(90deg, #F8E6C9, rgba(248,230,201,0));}
.ff-pan::after{right:0; background:linear-gradient(270deg, #F8E6C9, rgba(248,230,201,0));}
.ff-pan-row{position:relative;}
.ff-pan-track{display:flex; width:max-content; animation:ffPan 70s linear infinite; will-change:transform;}
.ff-pan-set{display:flex; align-items:flex-start; gap:38px; padding-right:38px;}
@keyframes ffPan{from{transform:translate3d(-50%,0,0);} to{transform:translate3d(0,0,0);}}
.ff-pan-row:hover .ff-pan-track, .ff-pan.is-off .ff-pan-track{animation-play-state:paused;}
.ff-pan-back{z-index:1; opacity:.78;}
.ff-pan-back .ff-pan-track{animation-duration:110s;}
.ff-pan-back .ff-pan-set{gap:60px; padding-right:60px; padding-left:90px;}
.ff-pan-back .ff-pp{width:150px; pointer-events:none;}
.ff-pan-front{z-index:2; margin-top:-92px;}
.ff-pp{position:relative; flex:none; width:236px; padding:11px 11px 0; border:0; background:#fffdf8; cursor:pointer; box-shadow:0 22px 34px -18px rgba(60,30,10,.55), 0 2px 0 rgba(0,0,0,.04);
  transform-origin:50% 0; rotate:var(--r); animation:ffPpSway 5s ease-in-out var(--sd) infinite alternate; transition:transform .35s cubic-bezier(.2,.9,.25,1), box-shadow .35s ease; -webkit-tap-highlight-color:transparent;}
.ff-pan-front .ff-pp:nth-child(odd){margin-top:34px;}
.ff-pan-back .ff-pp:nth-child(even){margin-top:26px;}
@keyframes ffPpSway{from{rotate:calc(var(--r) - 2.2deg);} to{rotate:calc(var(--r) + 2.2deg);}}
.ff-pp img{display:block; width:100%; aspect-ratio:1; object-fit:cover; pointer-events:none;}
.ff-pp-cap{display:block; padding:10px 2px 13px; font-family:"Architects Daughter","Poppins",cursive; font-weight:700; font-size:14.5px; line-height:1.25; color:#3a2a1c; text-align:center;}
.ff-pp-tape{position:absolute; left:50%; top:-12px; z-index:1; width:78px; height:24px; margin-left:-39px; transform:rotate(-4deg); background:rgba(250,232,190,.78); box-shadow:0 1px 2px rgba(0,0,0,.12); -webkit-clip-path:polygon(3% 0,97% 4%,100% 50%,96% 100%,2% 96%,0 50%); clip-path:polygon(3% 0,97% 4%,100% 50%,96% 100%,2% 96%,0 50%);}
.ff-pp:nth-child(3n) .ff-pp-tape{transform:rotate(5deg); background:rgba(236,206,170,.8);}
.ff-pan-front .ff-pp:hover, .ff-pan-front .ff-pp:focus-visible{transform:translateY(-12px) scale(1.07); box-shadow:0 34px 46px -20px rgba(60,30,10,.6); z-index:3; animation-play-state:paused;}
.ff-pp:focus-visible{outline:3px solid var(--ff-orange); outline-offset:4px;}
@media (max-width:700px){
  .ff-pp{width:168px; padding:8px 8px 0;} .ff-pp-cap{font-size:12.5px; padding:8px 2px 10px;}
  .ff-pan-set{gap:24px; padding-right:24px;}
  .ff-pan-back .ff-pp{width:112px;} .ff-pan-back .ff-pan-set{gap:40px; padding-right:40px;}
  .ff-pan-front{margin-top:-70px;}
  .ff-pan-track{animation-duration:50s;} .ff-pan-back .ff-pan-track{animation-duration:80s;}
}
@media (prefers-reduced-motion: reduce){
  .ff-pan-track, .ff-pp{animation:none;}
  .ff-pan-front{overflow-x:auto;}
}
.ff-pan-back .ff-pp-cap{visibility:hidden;}

/* =====================================================================
   10 YEARS (2016-2026): night sky + gold foil. Scoped to .tn / .ten-*
   ===================================================================== */
/* ---- the seal (used on the page, in the header and on the homepage) ---- */
.ten-seal{display:block; width:100%; height:auto; overflow:visible;}
.ten-seal-rt{font-family:"Manrope",system-ui,sans-serif; font-weight:800; font-size:24px; letter-spacing:.02em;}
.ten-seal-num{font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:156px; letter-spacing:-.04em;}
.ten-seal-yr{font-family:"Manrope",system-ui,sans-serif; font-weight:800; font-size:19px; letter-spacing:.44em;}
.ten-seal-ring{transform-origin:200px 200px; animation:tenSpin 46s linear infinite;}
@keyframes tenSpin{to{transform:rotate(360deg);}}
.ten-seal-shine{animation:tenShine 4.2s cubic-bezier(.4,0,.2,1) 1.2s infinite;}
@keyframes tenShine{0%{transform:translateX(0);} 45%,100%{transform:translateX(520px);}}
@media (prefers-reduced-motion: reduce){ .ten-seal-ring, .ten-seal-shine{animation:none;} }
/* header logo on the 10 Years page */
.tl-logo{display:block; width:100%; height:100%; padding:4px 8px; box-sizing:border-box; overflow:visible;}
.tl-seal{transform-box:fill-box; transform-origin:50% 50%; animation:tlStamp .9s cubic-bezier(.3,1.5,.5,1) 1.7s both;}
@keyframes tlStamp{from{transform:scale(0) rotate(-140deg); opacity:0;} 60%{opacity:1;}}
@media (prefers-reduced-motion: reduce){ .tl-seal{animation:none;} }

.tn{--tn-night:#0A131D; --tn-navy:#0F1D2B; --tn-gold:#EBC660; --tn-gold-d:#B8862E; --tn-cream:#F6EFDF; --tn-grad:linear-gradient(100deg,#FFF3C4 0%,#EBC660 30%,#B8862E 58%,#F3D684 82%,#A9781F 100%);
  background:var(--tn-night); color:var(--tn-cream); overflow:hidden;}
.tn h1, .tn h2, .tn h3{font-family:"Playfair Display",Georgia,serif; font-weight:900; letter-spacing:-.01em; text-transform:none; color:#fff;}
.tn-kicker{margin:0; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--tn-gold);}
.tn-head{text-align:center; max-width:760px; margin:0 auto 46px;}
.tn-head h2{font-size:clamp(34px,5vw,62px); line-height:1.04; margin-top:10px;}
.tn-btn{display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:999px; font-weight:800; font-size:15.5px; text-decoration:none; color:#1a1305; background:var(--tn-grad); background-size:200% 100%; box-shadow:0 16px 34px -14px rgba(235,198,96,.7); transition:transform .25s ease, background-position .6s ease, box-shadow .25s ease;}
.tn-btn:hover{transform:translateY(-3px); background-position:100% 0; color:#1a1305; box-shadow:0 22px 40px -14px rgba(235,198,96,.85);}
.tn-btn-ghost{background:transparent; color:var(--tn-gold); box-shadow:inset 0 0 0 1.5px rgba(235,198,96,.6);}
.tn-btn-ghost:hover{color:#fff; box-shadow:inset 0 0 0 1.5px #fff;}

/* ---- hero ---- */
.tn-hero{position:relative; min-height:min(100vh,940px); display:grid; place-items:center; padding:150px 16px 150px; text-align:center; isolation:isolate;
  background:radial-gradient(70% 60% at 50% 34%, #1C3550 0%, #0F1D2B 52%, var(--tn-night) 100%);}
.tn-stars{position:absolute; inset:0; z-index:-1; pointer-events:none;}
.tn-stars i{position:absolute; left:var(--x); top:var(--y); width:var(--s); height:var(--s); border-radius:50%; background:#FFE9A8; box-shadow:0 0 8px 1px rgba(255,220,130,.7); animation:tnTwinkle 3.6s ease-in-out var(--d) infinite;}
@keyframes tnTwinkle{0%,100%{opacity:.15; transform:scale(.6);} 50%{opacity:1; transform:scale(1);}}
.tn-hero-in{position:relative; z-index:2; max-width:900px;}
.tn-coin{position:relative; width:clamp(190px,26vw,300px); aspect-ratio:1; margin:0 auto 26px; perspective:1100px;}
.tn-coin-in{position:absolute; inset:0; transform-style:preserve-3d; transition:transform 2.1s cubic-bezier(.3,.9,.3,1);}
.tn-coin.is-flipped .tn-coin-in{transform:rotateY(900deg);}
.tn-coin-f{position:absolute; inset:0; display:grid; place-items:center; border-radius:50%; -webkit-backface-visibility:hidden; backface-visibility:hidden;}
.tn-coin-front{background:radial-gradient(circle at 35% 28%, #FFF7DD, #EBC660 48%, #B8862E 100%); box-shadow:inset 0 0 0 7px rgba(122,90,27,.55), 0 30px 60px -20px rgba(0,0,0,.7);}
.tn-coin-front img{width:62%; height:auto; border-radius:14px; box-shadow:0 6px 18px -6px rgba(60,35,5,.6);}
.tn-coin-back{transform:rotateY(180deg); filter:drop-shadow(0 30px 40px rgba(0,0,0,.6));}
.tn-rays{position:absolute; inset:-38%; z-index:-1; border-radius:50%; opacity:0; transition:opacity 1.6s ease 1.4s;
  background:repeating-conic-gradient(from 0deg, rgba(235,198,96,.22) 0 6deg, transparent 6deg 18deg); -webkit-mask-image:radial-gradient(closest-side, #000 30%, transparent 78%); mask-image:radial-gradient(closest-side, #000 30%, transparent 78%); animation:tenSpin 70s linear infinite;}
.tn-coin.is-flipped .tn-rays{opacity:1;}
.tn-hero-k{animation:tnUp .9s ease 1.5s both;}
.tn-title{margin:12px 0 0; font-size:clamp(48px,8.6vw,118px); line-height:.98;}
.tn-title span{display:inline-block; animation:tnUp 1s cubic-bezier(.2,.9,.25,1) 1.7s both;}
.tn-title span:last-child{font-style:italic; font-weight:700; animation-delay:1.95s; background:var(--tn-grad); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em;}
.tn-lede{max-width:620px; margin:22px auto 30px; font-size:clamp(16.5px,1.6vw,19.5px); line-height:1.6; color:rgba(246,239,223,.82); animation:tnUp .9s ease 2.2s both;}
.tn-hero .tn-btn{animation:tnUp .9s ease 2.4s both;}
@keyframes tnUp{from{opacity:0; transform:translateY(26px);}}
.tn-hills{position:absolute; left:0; right:0; bottom:-1px; width:100%; height:120px; display:block; z-index:1;}
.tn-hill-b{fill:#142638;} .tn-hill-f{fill:var(--tn-night);}

/* ---- where it all began ---- */
.tn-began{padding:70px 0 90px;}
.tn-began-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:54px; align-items:center;}
.tn-began h2{font-size:clamp(30px,4vw,50px); line-height:1.08; margin:12px 0 18px;}
.tn-began p{font-size:17.5px; line-height:1.65; color:rgba(246,239,223,.82);}
.tn-began-note{margin-top:16px; font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:700; font-size:20px !important; color:var(--tn-gold) !important;}
.tn-first{position:relative; perspective:1200px;}
.tn-first-tag{position:absolute; top:-16px; right:-10px; z-index:3; padding:8px 16px; border-radius:6px; background:var(--tn-grad); color:#1a1305; font-family:"Space Mono",monospace; font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; transform:rotate(6deg); box-shadow:0 10px 20px -8px rgba(0,0,0,.6);}

/* ---- video buttons ---- */
.tn-vid{display:block; width:100%; padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; -webkit-tap-highlight-color:transparent;}
.tn-vid-img{position:relative; display:block; aspect-ratio:16/9; overflow:hidden; border-radius:14px; background:#060b11; box-shadow:0 0 0 1.5px rgba(235,198,96,.35), 0 24px 40px -22px rgba(0,0,0,.9); transition:box-shadow .3s ease, transform .45s cubic-bezier(.2,.9,.25,1);}
.tn-vid-img img{display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.9,.25,1), filter .4s ease; filter:saturate(.9) brightness(.86);}
.tn-vid:hover .tn-vid-img, .tn-vid:focus-visible .tn-vid-img{box-shadow:0 0 0 2.5px var(--tn-gold), 0 30px 46px -20px rgba(235,198,96,.45);}
.tn-vid:hover img, .tn-vid:focus-visible img{transform:scale(1.06); filter:none;}
.tn-vid:focus-visible{outline:none;}
.tn-play{position:absolute; left:50%; top:50%; display:grid; place-items:center; width:58px; height:58px; margin:-29px 0 0 -29px; border-radius:50%; background:var(--tn-grad); color:#1a1305; box-shadow:0 10px 24px -8px rgba(0,0,0,.8); transition:transform .35s cubic-bezier(.3,1.6,.5,1);}
.tn-play svg{width:24px; height:24px; margin-left:3px;}
.tn-vid:hover .tn-play, .tn-frame:hover .tn-play{transform:scale(1.14);}
.tn-vid-cap{display:block; padding:10px 2px 0;}
.tn-vid-cap b{display:block; font-size:14.5px; line-height:1.3; color:#fff;}
.tn-vid-cap small{display:block; margin-top:2px; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(235,198,96,.85);}
.tn-vid-first .tn-vid-img{border-radius:22px; box-shadow:0 0 0 10px #060b11, 0 0 0 12px rgba(235,198,96,.55), 0 50px 70px -30px #000; transform:rotateY(-7deg) rotateX(2deg);}
.tn-vid-first:hover .tn-vid-img{transform:none; box-shadow:0 0 0 10px #060b11, 0 0 0 13px var(--tn-gold), 0 50px 70px -30px rgba(235,198,96,.4);}
.tn-vid-first .tn-play{width:84px; height:84px; margin:-42px 0 0 -42px;} .tn-vid-first .tn-play svg{width:34px; height:34px;}
.tn-vid-first .tn-vid-cap{padding-top:22px; text-align:center;} .tn-vid-first .tn-vid-cap b{font-size:17px;}

/* ---- the trail ---- */
.tn-trail-sec{padding:40px 0 60px; background:linear-gradient(180deg, var(--tn-night), #0D1926 30%, #0D1926 70%, var(--tn-night));}
.tn-trail{position:relative; max-width:1120px; margin:0 auto; padding:10px 20px 20px;}
.tn-line{position:absolute; left:50%; top:0; bottom:0; width:4px; margin-left:-2px; border-radius:4px; background:rgba(255,255,255,.09);}
.tn-line i{position:absolute; inset:0; border-radius:inherit; background:linear-gradient(180deg,#FFF3C4,#EBC660 40%,#B8862E); transform-origin:50% 0; transform:scaleY(0); box-shadow:0 0 18px rgba(235,198,96,.7); will-change:transform;}
.tn-ch{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0 110px; align-items:center; padding:46px 0; perspective:1400px;}
.tn-node{position:absolute; left:50%; top:50%; z-index:2; width:22px; height:22px; margin:-11px 0 0 -11px; border-radius:50%; background:#0D1926; box-shadow:inset 0 0 0 3px rgba(255,255,255,.22); transition:box-shadow .5s ease, background .5s ease, transform .5s cubic-bezier(.3,1.6,.5,1);}
.tn-ch.is-lit .tn-node{background:var(--tn-gold); box-shadow:inset 0 0 0 3px #FFF3C4, 0 0 0 8px rgba(235,198,96,.18), 0 0 26px rgba(235,198,96,.9); transform:scale(1.25);}
.tn-year{font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:clamp(84px,13vw,200px); line-height:.86; letter-spacing:-.04em; text-align:right; color:transparent; -webkit-text-stroke:1.5px rgba(235,198,96,.38); transition:color 1s ease, -webkit-text-stroke-color 1s ease, text-shadow 1s ease, opacity .9s ease, transform 1.1s cubic-bezier(.2,.9,.25,1);}
.tn-ch.is-lit .tn-year{color:#EBC660; -webkit-text-stroke-color:transparent; text-shadow:0 10px 60px rgba(235,198,96,.35);}
.tn-ch:nth-of-type(even) .tn-year{order:2; text-align:left;}
.tn-card{position:relative; padding:30px 30px 28px; border-radius:22px; background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); border:1px solid rgba(235,198,96,.22); box-shadow:0 30px 60px -34px #000; transform-origin:0 50%; transition:opacity .9s ease, transform 1.1s cubic-bezier(.2,.9,.25,1);}
.tn-ch:nth-of-type(even) .tn-card{transform-origin:100% 50%;}
.tn-ch:not(.is-in) .tn-card{opacity:0; transform:translateX(70px) rotateY(-26deg);}
.tn-ch:nth-of-type(even):not(.is-in) .tn-card{transform:translateX(-70px) rotateY(26deg);}
.tn-ch:not(.is-in) .tn-year{opacity:0; transform:translateY(50px) scale(.92);}
.tn-date{margin:0 0 8px; font-family:"Space Mono",monospace; font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--tn-gold);}
.tn-card h3{font-size:clamp(26px,3vw,38px); line-height:1.08;}
.tn-card > p:not(.tn-date){margin:12px 0 0; font-size:16.5px; line-height:1.65; color:rgba(246,239,223,.82);}
.tn-vids{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:22px;}
.tn-vids.n1{grid-template-columns:minmax(0,1fr);} .tn-vids.n3{grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
.tn-vids .tn-vid{transition:opacity .7s ease calc(.35s + var(--j) * .14s), transform .9s cubic-bezier(.2,.9,.25,1) calc(.35s + var(--j) * .14s);}
.tn-ch:not(.is-in) .tn-vids .tn-vid{opacity:0; transform:translateY(26px) rotate(calc((var(--j) - 1) * 5deg));}
.tn-vids.n3 .tn-vid-cap b{font-size:13px;} .tn-vids.n3 .tn-play{width:44px; height:44px; margin:-22px 0 0 -22px;} .tn-vids.n3 .tn-play svg{width:18px; height:18px;}
.tn-link{display:inline-block; margin-top:16px; font-weight:800; color:var(--tn-gold); text-decoration:none;}
.tn-link:hover{color:#fff;}
.tn-ch-now .tn-card{background:linear-gradient(160deg, rgba(235,198,96,.2), rgba(255,255,255,.03)); border-color:rgba(235,198,96,.6);}
/* testimonial spots between chapters */
.tn-story{position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:28px; align-items:center; max-width:860px; margin:26px auto; padding:22px; border-radius:24px; background:#0A131D; border:1.5px solid rgba(235,198,96,.55); box-shadow:0 0 0 8px #0D1926, 0 40px 70px -40px rgba(235,198,96,.5);}
.tn-story blockquote{margin:10px 0 0; font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:700; font-size:clamp(20px,2.4vw,28px); line-height:1.3; color:#fff;}
.tn-story cite{display:block; margin-top:12px; font-style:normal; font-weight:800; font-size:14px; letter-spacing:.06em; color:var(--tn-gold);}
.tn-stories{padding:30px 0 50px;} .tn-stories-grid{display:grid; gap:22px;}

/* ---- where we are / where we're going ---- */
.tn-now{padding:70px 0 40px;}
.tn-now-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; perspective:1400px;}
.tn-tile{position:relative; display:flex; flex-direction:column; gap:6px; min-height:210px; padding:24px 22px; border-radius:20px; text-decoration:none; color:var(--tn-cream); background:linear-gradient(170deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border:1px solid rgba(235,198,96,.22); overflow:hidden; transition:transform .45s cubic-bezier(.2,.9,.25,1), border-color .3s ease, box-shadow .3s ease;}
.tn-tile::after{content:"10"; position:absolute; right:-10px; bottom:-34px; font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:130px; line-height:1; color:rgba(235,198,96,.07); pointer-events:none;}
.tn-tile:hover{transform:translateY(-8px) rotateX(4deg); border-color:var(--tn-gold); box-shadow:0 30px 50px -28px rgba(235,198,96,.5); color:var(--tn-cream);}
.tn-tile small{font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--tn-gold);}
.tn-tile b{font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:25px; line-height:1.12; color:#fff;}
.tn-tile span{font-size:15px; line-height:1.5; color:rgba(246,239,223,.76);}
.tn-tile em{margin-top:auto; font-style:normal; font-weight:800; font-size:14px; color:var(--tn-gold);}
.tn-tile.reveal.in{transition-delay:calc(var(--i) * 90ms);}
.tn-next{padding:60px 0 70px;}
.tn-next-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.tn-next-card{position:relative; display:flex; align-items:flex-end; min-height:340px; border-radius:26px; overflow:hidden; text-decoration:none; color:var(--tn-cream); border:1px solid rgba(235,198,96,.3); isolation:isolate; transition:transform .45s cubic-bezier(.2,.9,.25,1), box-shadow .3s ease;}
.tn-next-card:hover{transform:translateY(-6px); box-shadow:0 36px 60px -30px rgba(235,198,96,.5); color:var(--tn-cream);}
.tn-next-card img{position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.9,.25,1);}
.tn-next-card:hover img{transform:scale(1.06);}
.tn-next-room::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,19,29,.15), rgba(10,19,29,.92) 78%);}
.tn-next-succ{background:radial-gradient(90% 90% at 80% 10%, rgba(235,198,96,.28), transparent 60%), linear-gradient(160deg,#1C3550,#0F1D2B);}
.tn-next-body{display:flex; flex-direction:column; gap:8px; padding:28px;}
.tn-next-body small{font-family:"Space Mono",monospace; font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--tn-gold);}
.tn-next-body > b{font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:clamp(28px,3.2vw,40px); line-height:1.06; color:#fff;}
.tn-next-body > span{font-size:16px; line-height:1.55; color:rgba(246,239,223,.82);}
.tn-next-body em{margin-top:6px; font-style:normal; font-weight:800; color:var(--tn-gold);}
.tn-days{display:flex !important; align-items:baseline; gap:10px; margin-top:4px; font-family:"Space Mono",monospace; font-size:12px !important; letter-spacing:.14em; text-transform:uppercase;}
.tn-days b{font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:54px; letter-spacing:-.02em; line-height:1; background:var(--tn-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.tn-quote{max-width:820px; margin:54px auto 0; text-align:center; font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:700; font-size:clamp(24px,3.4vw,40px); line-height:1.25; color:#fff;}
.tn-quote cite{display:block; margin-top:16px; font-family:"Space Mono",monospace; font-style:normal; font-size:12px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--tn-gold);}

/* ---- the highlight reel: a strip of film ---- */
.tn-reel-sec{padding:50px 0 60px;}
.tn-film{position:relative; overflow:hidden; padding:26px 0; background:#05090E; transform:rotate(-1.4deg) scale(1.03); box-shadow:0 30px 60px -30px #000;}
.tn-film::before, .tn-film::after{content:""; position:absolute; left:0; right:0; height:14px; z-index:2; background:repeating-linear-gradient(90deg, transparent 0 14px, rgba(246,239,223,.82) 14px 30px, transparent 30px 44px); opacity:.5;}
.tn-film::before{top:6px;} .tn-film::after{bottom:6px;}
.tn-film-track{display:flex; width:max-content; animation:tnFilm 80s linear infinite; will-change:transform;}
.tn-film:hover .tn-film-track, .tn-film.is-off .tn-film-track{animation-play-state:paused;}
@keyframes tnFilm{from{transform:translate3d(0,0,0);} to{transform:translate3d(-50%,0,0);}}
.tn-film-set{display:flex; gap:14px; padding-right:14px;}
.tn-frame{position:relative; flex:none; width:300px; aspect-ratio:16/10; padding:0; border:0; border-radius:8px; overflow:hidden; background:#000; cursor:pointer; color:#fff; font:inherit; text-align:left;}
.tn-frame img{display:block; width:100%; height:100%; object-fit:cover; filter:sepia(.35) saturate(.8) brightness(.82); transition:filter .4s ease, transform .7s cubic-bezier(.2,.9,.25,1);}
.tn-frame:hover img, .tn-frame:focus-visible img{filter:none; transform:scale(1.07);}
.tn-frame-cap{position:absolute; left:0; right:0; bottom:0; padding:26px 12px 10px; background:linear-gradient(180deg, transparent, rgba(0,0,0,.86));}
.tn-frame-cap b{display:block; font-size:14.5px; line-height:1.25;} .tn-frame-cap small{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; color:var(--tn-gold);}
.tn-frame .tn-play{width:46px; height:46px; margin:-30px 0 0 -23px;} .tn-frame .tn-play svg{width:19px; height:19px;}
.tn-frame:focus-visible{outline:3px solid var(--tn-gold); outline-offset:-3px;}

/* ---- ending ---- */
.tn-end{padding:70px 0 90px; text-align:center; background:radial-gradient(60% 70% at 50% 20%, #1C3550, var(--tn-night) 70%);}
.tn-end-seal{width:clamp(150px,18vw,210px); margin:0 auto 26px; filter:drop-shadow(0 24px 34px rgba(0,0,0,.6));}
.tn-end h2{font-size:clamp(36px,5.4vw,68px); line-height:1.04;}
.tn-end p{max-width:600px; margin:16px auto 28px; font-size:18px; line-height:1.6; color:rgba(246,239,223,.82);}
.tn-end-btns{display:flex; flex-wrap:wrap; justify-content:center; gap:12px;}

/* ---- the year dial ---- */
.tn-dial{position:fixed; left:50%; bottom:18px; z-index:40; display:flex; gap:2px; padding:6px; border-radius:999px; background:rgba(8,15,23,.88); border:1px solid rgba(235,198,96,.35); box-shadow:0 18px 40px -14px #000; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  transform:translate(-50%,90px); opacity:0; pointer-events:none; transition:transform .5s cubic-bezier(.2,.9,.25,1), opacity .4s ease;}
.tn-dial.is-on{transform:translate(-50%,0); opacity:1; pointer-events:auto;}
.tn-dial a{padding:8px 13px; border-radius:999px; font-family:"Space Mono",monospace; font-size:12.5px; font-weight:700; letter-spacing:.04em; color:rgba(246,239,223,.6); text-decoration:none; transition:background .35s ease, color .35s ease;}
.tn-dial a:hover{color:#fff;}
.tn-dial a.is-on{background:var(--tn-grad); color:#1a1305;}

/* ---- video player ---- */
.tn-modal{position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:18px;}
.tn-modal[hidden]{display:none;}
.tn-modal-back{position:absolute; inset:0; background:rgba(4,8,13,.9); opacity:0; transition:opacity .3s ease;}
.tn-modal-panel{position:relative; width:min(1040px,100%); opacity:0; transform:scale(.92) translateY(20px); transition:opacity .3s ease, transform .4s cubic-bezier(.2,.9,.25,1);}
.tn-modal.is-open .tn-modal-back{opacity:1;} .tn-modal.is-open .tn-modal-panel{opacity:1; transform:none;}
.tn-modal-frame{aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#000; box-shadow:0 0 0 2px rgba(235,198,96,.6), 0 50px 90px -30px #000;}
.tn-modal-frame iframe{display:block; width:100%; height:100%; border:0;}
.tn-modal-title{margin:14px 0 0; text-align:center; font-family:"Playfair Display",Georgia,serif; font-weight:700; font-size:19px; color:#fff;}
.tn-modal-x{position:absolute; right:0; top:-50px; width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(235,198,96,.6); background:rgba(8,15,23,.8); color:#fff; font-size:24px; line-height:1; cursor:pointer;}
.tn-modal-x:hover{background:var(--tn-gold); color:#1a1305;}
body.ten-page footer.ft{margin-top:0;} body.ten-page .ft-hills{display:none;}

@media (max-width:900px){
  .tn-hero{padding:130px 16px 130px;}
  .tn-began-grid{grid-template-columns:1fr; gap:34px;}
  .tn-vid-first .tn-vid-img{transform:none;}
  .tn-first-tag{right:6px;}
  .tn-trail{padding:10px 16px 10px 46px;}
  .tn-line{left:22px;}
  .tn-ch{grid-template-columns:1fr; gap:6px; padding:26px 0;}
  .tn-node{left:-24px; top:54px; margin:0 0 0 -11px;}
  .tn-year, .tn-ch:nth-of-type(even) .tn-year{order:0; text-align:left; font-size:clamp(70px,22vw,120px);}
  .tn-card, .tn-ch:nth-of-type(even) .tn-card{transform-origin:0 50%; padding:22px 20px;}
  .tn-ch:not(.is-in) .tn-card, .tn-ch:nth-of-type(even):not(.is-in) .tn-card{transform:translateX(40px) rotateY(-16deg);}
  .tn-vids.n3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tn-story{grid-template-columns:1fr; margin-left:-30px;}
  .tn-now-grid{grid-template-columns:1fr 1fr;}
  .tn-next-grid{grid-template-columns:1fr;}
  .tn-frame{width:230px;}
  .tn-dial{bottom:12px; max-width:calc(100vw - 20px); overflow-x:auto;}
  .tn-dial a{padding:7px 9px; font-size:11.5px;}
}
@media (max-width:520px){ .tn-now-grid{grid-template-columns:1fr;} .tn-tile{min-height:0;} .tn-vids{grid-template-columns:1fr;} .tn-vids.n3{grid-template-columns:1fr 1fr;} }
@media (prefers-reduced-motion: reduce){
  .tn-stars i, .tn-film-track, .tn-rays{animation:none;}
  .tn-coin-in{transition:none;} .tn-hero-k, .tn-title span, .tn-lede, .tn-hero .tn-btn{animation:none;}
  .tn-ch .tn-card, .tn-ch .tn-year, .tn-vids .tn-vid{opacity:1 !important; transform:none !important; transition:none;}
  .tn-film{overflow-x:auto;}
}

/* ---- Homepage: the 10-year moment (gold name, flying seal, button) ---- */
.rh-wm.is-gold .wm-c{animation:wmGold .8s cubic-bezier(.4,0,.2,1) var(--gd2,0s) both;}
@keyframes wmGold{
  0%{translate:0 0; filter:brightness(1); background-image:linear-gradient(90deg,#5FD08A 0%,#3FCCC0 50%,#5CB3FF 100%);}
  44%{translate:0 -.08em; filter:brightness(1.9); background-image:linear-gradient(90deg,#5FD08A 0%,#3FCCC0 50%,#5CB3FF 100%);}
  46%{background-image:linear-gradient(90deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 80%,#C99C3A 100%);}
  100%{translate:0 0; filter:brightness(1); background-image:linear-gradient(90deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 80%,#C99C3A 100%);}
}
.rh-wm.is-gold .wm-L{animation:wmGoldL .8s cubic-bezier(.4,0,.2,1) var(--gd2,0s) both;}
@keyframes wmGoldL{0%{translate:0 0; filter:brightness(1);} 44%{translate:0 -.08em; filter:brightness(1.9);} 100%{translate:0 0; filter:brightness(1);}}
.hero .hero-content{position:relative;}
.ten-fly{position:absolute; z-index:6; pointer-events:none; opacity:0; perspective:900px; transform-origin:50% 50%; filter:drop-shadow(0 26px 40px rgba(0,0,0,.6));}
.ten-fly.is-out{opacity:1;}
.ten-fly.is-out .ten-fly-in{animation:tenBurst 1.1s cubic-bezier(.2,.9,.25,1) both;}
@keyframes tenBurst{0%{transform:scale(0) rotateY(-540deg); opacity:0;} 25%{opacity:1;} 100%{transform:scale(1) rotateY(0deg); opacity:1;}}
.ten-fly.is-land{transition:transform .7s cubic-bezier(.6,0,.3,1), opacity .25s ease .5s; opacity:0;}
.hero .ten-cta{display:inline-flex; align-items:center; gap:10px; padding:7px 22px 7px 8px; color:#1a1305; font-weight:800; border:0;
  background:linear-gradient(100deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 82%,#B8862E 100%); background-size:220% 100%; box-shadow:0 14px 34px -12px rgba(235,198,96,.85);
  opacity:0; transform:translateY(10px) scale(.94); pointer-events:none; transition:opacity .6s ease .35s, transform .7s cubic-bezier(.3,1.5,.5,1) .35s, background-position .7s ease, box-shadow .3s ease;}
.hero .ten-cta.is-on{opacity:1; transform:none; pointer-events:auto;}
.hero .ten-cta:hover{background-position:100% 0; color:#1a1305; transform:translateY(-2px); box-shadow:0 20px 40px -12px rgba(235,198,96,1);}
.ten-cta-seal{flex:none; width:42px; height:42px; opacity:0; transition:opacity .2s ease .85s;}
.ten-cta.is-on .ten-cta-seal{opacity:1;}
.ten-cta i{font-style:normal; transition:transform .3s ease;}
.ten-cta:hover i{transform:translateX(4px);}
.ten-cta.is-set{animation:tenGlow 3.2s ease-in-out infinite;}
@keyframes tenGlow{50%{box-shadow:0 14px 44px -8px rgba(255,214,120,1);}}
@media (prefers-reduced-motion: reduce){
  .rh-wm.is-gold .wm-c{animation:none; background-image:linear-gradient(90deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 80%,#C99C3A 100%);}
  .rh-wm.is-gold .wm-L, .ten-cta.is-set{animation:none;}
  .hero .ten-cta{transition:none;} .ten-cta-seal{transition:none;}
}
/* 10 Years: the top bar stays night-and-gold after scrolling */
body.ten-page header.nav.scrolled{background:rgba(8,15,23,.9) !important; border-bottom-color:rgba(235,198,96,.28) !important; box-shadow:0 12px 30px -22px #000 !important;}
body.ten-page header.nav.scrolled nav.links > a, body.ten-page header.nav.scrolled .more-btn{color:rgba(255,255,255,.9);}
body.ten-page header.nav.scrolled nav.links > a:hover, body.ten-page header.nav.scrolled .more-btn:hover{color:#fff; background:rgba(255,255,255,.12);}
body.ten-page header.nav.scrolled .burger{color:#fff; border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.1);}

/* ---- Homepage: the 3D "Celebrate 10 Years" button (a solid gold bar with a spinning coin) ---- */
.hero .ten-cta{--tx:0deg; --ty:0deg; position:relative; display:inline-block; padding:0; border:0; background:none; box-shadow:none; text-decoration:none; perspective:700px; -webkit-tap-highlight-color:transparent;
  opacity:0; transform:translateY(12px) scale(.9); pointer-events:none; transition:opacity .6s ease .35s, transform .8s cubic-bezier(.3,1.6,.5,1) .35s;}
.hero .ten-cta.is-on{opacity:1; transform:none; pointer-events:auto;}
.hero .ten-cta:hover{transform:none; background:none; box-shadow:none;}
.ten-cta-in{position:relative; display:flex; align-items:center; gap:14px; padding:9px 26px 9px 10px; border-radius:999px; color:#1a1305; transform-style:preserve-3d;
  background:linear-gradient(180deg,#FFF6D6 0%,#F1CF73 34%,#D9A63C 70%,#B8862E 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.75), inset 0 -3px 0 rgba(120,80,10,.35), 0 3px 0 #9A7220, 0 6px 0 #7C5A16, 0 9px 0 #5E430F, 0 26px 30px -10px rgba(0,0,0,.6), 0 0 40px -6px rgba(255,214,120,.55);
  transform:rotateX(var(--tx)) rotateY(var(--ty)); transition:transform .25s ease, box-shadow .2s ease;}
.ten-cta:active .ten-cta-in{transform:rotateX(var(--tx)) rotateY(var(--ty)) translateY(7px); box-shadow:inset 0 2px 0 rgba(255,255,255,.75), inset 0 -3px 0 rgba(120,80,10,.35), 0 2px 0 #5E430F, 0 10px 16px -8px rgba(0,0,0,.6);}
.ten-cta-shine{position:absolute; inset:0; border-radius:inherit; overflow:hidden; pointer-events:none;}
.ten-cta-shine::after{content:""; position:absolute; top:-20%; bottom:-20%; left:-40%; width:34%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.85), transparent); transform:skewX(-20deg); animation:tenBtnShine 3.6s cubic-bezier(.4,0,.2,1) 1.4s infinite;}
@keyframes tenBtnShine{0%{left:-40%;} 38%,100%{left:120%;}}
.ten-cta-seal{flex:none; position:relative; width:58px; height:58px; opacity:0; transform:translateZ(34px); transform-style:preserve-3d; transition:opacity .2s ease .85s; filter:drop-shadow(0 8px 8px rgba(60,35,0,.5));}
.ten-cta.is-on .ten-cta-seal{opacity:1;}
.ten-cta-coin{position:absolute; inset:0; transform-style:preserve-3d; animation:tenCoin 5.5s cubic-bezier(.5,0,.5,1) 2.4s infinite;}
.ten-cta-coin > span{position:absolute; inset:0; -webkit-backface-visibility:hidden; backface-visibility:hidden;}
.ten-cta-coin > span:last-child{transform:rotateY(180deg);}
@keyframes tenCoin{0%,55%{transform:rotateY(0);} 100%{transform:rotateY(360deg);}}
.ten-cta:hover .ten-cta-coin{animation-duration:1.6s; animation-delay:0s;}
.ten-cta-txt{display:flex; flex-direction:column; align-items:flex-start; line-height:1.05; transform:translateZ(16px);}
.ten-cta-txt small{font-family:"Space Mono",monospace; font-size:10.5px; font-weight:700; letter-spacing:.22em; color:#6B4C0F;}
.ten-cta-txt b{font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:20px; letter-spacing:-.01em; white-space:nowrap; text-shadow:0 1px 0 rgba(255,255,255,.6);}
.ten-cta-in > i{font-style:normal; font-weight:800; font-size:18px; transform:translateZ(16px); transition:transform .3s ease;}
.ten-cta:hover .ten-cta-in > i{transform:translateZ(16px) translateX(5px);}
.ten-cta-sp{position:absolute; inset:-14px -10px; pointer-events:none;}
.ten-cta-sp i{position:absolute; width:12px; height:12px; background:#FFF3C4; -webkit-clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); opacity:0;}
.ten-cta.is-set .ten-cta-sp i{animation:tenSpark 2.6s ease-in-out infinite;}
.ten-cta-sp i:nth-child(1){left:4%; top:6%;} .ten-cta-sp i:nth-child(2){right:6%; top:0; animation-delay:.7s !important; width:9px; height:9px;}
.ten-cta-sp i:nth-child(3){right:16%; bottom:0; animation-delay:1.3s !important;} .ten-cta-sp i:nth-child(4){left:30%; bottom:-2%; animation-delay:1.9s !important; width:8px; height:8px;}
@keyframes tenSpark{0%,100%{opacity:0; transform:scale(.2) rotate(0);} 50%{opacity:1; transform:scale(1) rotate(90deg);}}
.ten-cta.is-set{animation:none;}
@media (max-width:560px){ .ten-cta-seal{width:48px; height:48px;} .ten-cta-txt b{font-size:17.5px;} .ten-cta-in{padding:8px 20px 8px 8px; gap:11px;} }
@media (prefers-reduced-motion: reduce){ .ten-cta-shine::after, .ten-cta-coin, .ten-cta.is-set .ten-cta-sp i{animation:none;} .ten-cta-in{transition:none;} }

/* ---- 10 Years: photos, the 2023 showpiece, the finale ---- */
.tn-fw{position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1;}
.tn-pic{display:block; width:100%; padding:0; border:0; background:#0A131D; cursor:pointer; overflow:hidden; border-radius:16px; aspect-ratio:var(--ar, 3/2); box-shadow:0 0 0 1.5px rgba(235,198,96,.3), 0 26px 40px -24px #000; transition:box-shadow .3s ease, transform .5s cubic-bezier(.2,.9,.25,1); -webkit-tap-highlight-color:transparent;}
.tn-pic img{display:block; width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.2,.9,.25,1);}
.tn-pic:hover, .tn-pic:focus-visible{box-shadow:0 0 0 2.5px var(--tn-gold), 0 34px 50px -22px rgba(235,198,96,.5); outline:none;}
.tn-pic:hover img{transform:scale(1.06);}

/* 2023: the building. A full-width showpiece that breaks out of the trail. */
.tn-ch-big{display:block; padding:70px 0;}
.tn-ch-big .tn-node{top:28px; width:30px; height:30px; margin:0 0 0 -15px;}
.tn-home{position:relative; z-index:3; overflow:hidden; isolation:isolate; border-radius:34px; border:2px solid rgba(235,198,96,.7); background:#0A131D;
  box-shadow:0 0 0 10px #0D1926, 0 0 90px -10px rgba(235,198,96,.55), 0 60px 90px -40px #000; transition:opacity 1s ease, transform 1.2s cubic-bezier(.2,.9,.25,1);}
.tn-ch-big:not(.is-in) .tn-home{opacity:0; transform:perspective(1400px) rotateX(18deg) translateY(80px) scale(.94);}
.tn-home-bg{position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover;}
.tn-home::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,19,29,.72) 0%, rgba(10,19,29,.55) 40%, rgba(10,19,29,.94) 100%);}
.tn-home-year{position:absolute; right:-10px; top:-34px; z-index:0; font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:clamp(120px,22vw,300px); line-height:1; letter-spacing:-.04em; color:transparent; -webkit-text-stroke:2px rgba(235,198,96,.3); pointer-events:none;}
.tn-home-in{position:relative; z-index:2; padding:clamp(34px,6vw,76px) clamp(22px,5vw,70px); text-align:center;}
.tn-home .tn-date{font-size:13px;}
.tn-home h3{margin:8px 0 0; font-size:clamp(44px,8vw,112px); line-height:.98;}
.tn-home h3 span, .tn-home h3 em{display:block;}
.tn-home h3 em{font-style:italic; font-weight:700; background:var(--tn-grad); -webkit-background-clip:text; background-clip:text; color:transparent; padding-bottom:.08em;}
.tn-home-in > p:not(.tn-date){max-width:760px; margin:20px auto 0; font-size:clamp(16.5px,1.7vw,19.5px); line-height:1.65; color:rgba(246,239,223,.9);}
.tn-home-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:900px; margin:34px auto 0; padding:0; list-style:none;}
.tn-home-stats li{padding:20px 16px; border-radius:18px; background:rgba(8,15,23,.62); border:1px solid rgba(235,198,96,.4); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:opacity .8s ease, transform .9s cubic-bezier(.3,1.5,.5,1);}
.tn-home-stats li:nth-child(2){transition-delay:.15s;} .tn-home-stats li:nth-child(3){transition-delay:.3s;}
.tn-ch-big:not(.is-in) .tn-home-stats li{opacity:0; transform:translateY(40px) scale(.9);}
.tn-home-stats b{display:block; font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:clamp(44px,6vw,76px); line-height:1; background:var(--tn-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.tn-home-stats span{display:block; margin-top:8px; font-size:14.5px; line-height:1.45; color:rgba(246,239,223,.86);}
.tn-home-vid{max-width:520px; margin:34px auto 0;}
.tn-home-vid .tn-vid-img{box-shadow:0 0 0 2.5px var(--tn-gold), 0 30px 50px -20px #000;}
.tn-home-vid .tn-vid-cap{text-align:center;} .tn-home-vid .tn-vid-cap b{font-size:16.5px;}
.tn-home-vid .tn-play{width:76px; height:76px; margin:-38px 0 0 -38px;} .tn-home-vid .tn-play svg{width:30px; height:30px;}

/* 2025: Taylor and his family, as a fan of photos */
.tn-fan{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:22px; align-items:center;}
.tn-fan .tn-pic{rotate:calc((var(--j) - 1.5) * 1.6deg); transition:opacity .8s ease calc(.3s + var(--j) * .13s), transform .9s cubic-bezier(.3,1.4,.5,1) calc(.3s + var(--j) * .13s), box-shadow .3s ease, rotate .4s ease;}
.tn-fan .tn-pic:hover{rotate:0deg;}
.tn-ch:not(.is-in) .tn-fan .tn-pic{opacity:0; transform:translateY(40px) scale(.8) rotate(calc((var(--j) - 1.5) * 9deg));}

/* 2026: the finale */
.tn-joy{position:relative; padding:90px 0 60px; isolation:isolate; background:radial-gradient(80% 40% at 50% 0%, #1C3550 0%, #0F1D2B 45%, var(--tn-night) 100%);}
.tn-joy > .tn-fw{height:min(120vh,1100px); z-index:0;}
.tn-joy .container{position:relative; z-index:2;}
.tn-joy-head{max-width:920px; margin:0 auto 54px; text-align:center;}
.tn-joy-head h2{margin-top:12px; font-size:clamp(46px,9vw,128px); line-height:.98;}
.tn-joy-head h2 span, .tn-joy-head h2 em{display:block;}
.tn-joy-head h2 em{font-style:italic; font-weight:700; font-size:.46em; line-height:1.15; margin-top:.25em; background:var(--tn-grad); -webkit-background-clip:text; background-clip:text; color:transparent; padding-bottom:.1em;}
.tn-joy-head p:not(.tn-kicker){max-width:680px; margin:22px auto 0; font-size:clamp(16.5px,1.7vw,19.5px); line-height:1.65; color:rgba(246,239,223,.84);}
.tn-wall{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:start;}
.tn-wcol{display:flex; flex-direction:column; gap:16px; will-change:transform;}
.tn-wcol:nth-child(even){margin-top:60px;}
.tn-mw{position:relative; z-index:2; padding:100px 0 30px; overflow:hidden;}
.tn-mw-head{margin-bottom:40px;}
.tn-mw-head h2{font-size:clamp(46px,8vw,110px);}
.tn-mw-row{position:relative; padding:9px 0; transform:rotate(-1.2deg);}
.tn-mw-row.is-rev{transform:rotate(1deg);}
.tn-mw-track{display:flex; width:max-content; animation:tnMw 70s linear infinite; will-change:transform;}
.tn-mw-row.is-rev .tn-mw-track{animation-direction:reverse; animation-duration:84s;}
.tn-mw-row:hover .tn-mw-track, .tn-mw-row.is-off .tn-mw-track{animation-play-state:paused;}
@keyframes tnMw{from{transform:translate3d(0,0,0);} to{transform:translate3d(-50%,0,0);}}
.tn-mw-set{display:flex; gap:16px; padding-right:16px;}
.tn-mw-set .tn-pic{flex:none; width:auto; height:clamp(200px,26vw,330px); aspect-ratio:auto; border-radius:18px;}
.tn-mw-set .tn-pic img{width:auto; height:100%; object-fit:contain;}
.tn-mw-go{margin:40px 0 0; text-align:center;}

@media (max-width:900px){
  .tn-ch-big{padding:44px 0; margin-left:-30px;}
  .tn-ch-big .tn-node{left:6px; top:14px; margin:0 0 0 -15px;}
  .tn-home{border-radius:26px; box-shadow:0 0 0 6px #0D1926, 0 0 60px -10px rgba(235,198,96,.5);}
  .tn-home-stats{grid-template-columns:1fr; gap:10px;}
  .tn-home-stats li{display:flex; align-items:center; gap:16px; text-align:left; padding:14px 16px;} .tn-home-stats b{flex:none; min-width:1.9em; text-align:center; font-size:44px;} .tn-home-stats span{margin:0;}
  .tn-wall{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;} .tn-wcol{gap:12px;} .tn-wcol:nth-child(even){margin-top:0;}
  .tn-wcol:nth-child(n+3){margin-top:0;}
  .tn-joy{padding:70px 0 40px;} .tn-mw{padding:70px 0 20px;}
}
@media (prefers-reduced-motion: reduce){
  .tn-mw-track{animation:none;} .tn-mw-row{overflow-x:auto;}
  .tn-home, .tn-home-stats li, .tn-fan .tn-pic{opacity:1 !important; transform:none !important; transition:none;}
}

/* 10 Years: Kids and Students growth block (flows out of the photo wall) */
.tn-mw{margin-top:40px; padding:150px 0 40px; background:linear-gradient(180deg, transparent, rgba(28,53,80,.5) 30%, transparent 100%);}
.tn-rise{position:absolute; left:0; right:0; top:0; width:100%; height:min(460px,60vw); z-index:0; pointer-events:none; overflow:visible;}
.tn-rise-fill{fill:url(#tnRiseG); opacity:0; transition:opacity 1.6s ease .9s;}
.tn-mw.is-in .tn-rise-fill{opacity:.09;}
.tn-rise-line{fill:none; stroke:url(#tnRiseG); stroke-width:4; stroke-linecap:round; vector-effect:non-scaling-stroke; stroke-dasharray:1; stroke-dashoffset:1; filter:drop-shadow(0 0 10px rgba(235,198,96,.8));}
.tn-mw.is-in .tn-rise-line{transition:stroke-dashoffset 2.4s cubic-bezier(.45,0,.2,1); stroke-dashoffset:0;}
.tn-rise-dots circle{fill:#FFF3C4; opacity:0; transform-box:fill-box; transform-origin:50% 50%; transform:scale(0); transition:opacity .4s ease, transform .6s cubic-bezier(.3,1.8,.5,1);}
.tn-mw.is-in .tn-rise-dots circle{opacity:1; transform:scale(1);}
.tn-mw.is-in .tn-rise-dots circle:nth-child(1){transition-delay:.75s;} .tn-mw.is-in .tn-rise-dots circle:nth-child(2){transition-delay:1.3s;}
.tn-mw.is-in .tn-rise-dots circle:nth-child(3){transition-delay:1.85s;} .tn-mw.is-in .tn-rise-dots circle:nth-child(4){transition-delay:2.35s;}
.tn-mw .container{position:relative; z-index:2;}
.tn-mw-head{max-width:1000px;}
.tn-mw-head h2{font-size:clamp(30px,4.6vw,62px); line-height:1.08;}
.tn-mw-head h2 span{font-weight:700;}
.tn-mw-head h2 em{font-size:1.5em; line-height:1.02; margin-top:.12em;}
.tn-mw-row{z-index:2;}
.tn-mw-go{position:relative; z-index:2; display:flex; flex-wrap:wrap; justify-content:center; gap:12px;}
@media (max-width:900px){ .tn-mw{padding:110px 0 24px;} .tn-mw-head h2 em{font-size:1.35em;} }
@media (prefers-reduced-motion: reduce){ .tn-rise-line{stroke-dashoffset:0;} .tn-rise-fill{opacity:.09; transition:none;} .tn-rise-dots circle{opacity:1; transform:none; transition:none;} }

/* Wordmark: quicker logo fade-in */
.rh-wm.is-ready .wm-L{animation-duration:.6s;}
.hero .ten-cta{transition:opacity .45s ease .25s, transform .6s cubic-bezier(.3,1.6,.5,1) .25s;}
.ten-cta-seal{transition:opacity .2s ease .62s;}

/* ---- Homepage: just the coin (no bar). The coin is the button, with a small gold label beside it. ---- */
.hero .ten-cta{display:inline-flex; align-items:center; gap:14px; padding:0 6px 0 0; vertical-align:middle; perspective:700px;}
.hero .ten-cta .ten-cta-seal{position:relative; flex:none; width:82px; height:82px; transform:rotateX(var(--tx)) rotateY(var(--ty)); transform-style:preserve-3d; transition:opacity .2s ease .5s, transform .25s ease; filter:drop-shadow(0 12px 14px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(255,214,120,.45));}
.hero .ten-cta:hover .ten-cta-seal{filter:drop-shadow(0 16px 18px rgba(0,0,0,.6)) drop-shadow(0 0 28px rgba(255,214,120,.8));}
.hero .ten-cta:active .ten-cta-seal{transform:rotateX(var(--tx)) rotateY(var(--ty)) scale(.94);}
.hero .ten-cta .ten-cta-coin{animation:tenCoin 5s cubic-bezier(.5,0,.5,1) 2s infinite;}
.hero .ten-cta:hover .ten-cta-coin{animation-duration:1.4s; animation-delay:0s;}
.hero .ten-cta .ten-cta-sp{position:absolute; inset:-12px; pointer-events:none;}
.hero .ten-cta .ten-cta-txt{display:flex; flex-direction:column; align-items:flex-start; line-height:1.1; transform:none; text-align:left;}
.hero .ten-cta .ten-cta-txt small{font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.22em; color:rgba(255,236,180,.8);}
.hero .ten-cta .ten-cta-txt b{margin-top:3px; font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:21px; white-space:nowrap; text-shadow:none;
  background:linear-gradient(100deg,#FFF3C4 0%,#EBC660 35%,#C49234 62%,#F3D684 100%); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 3px 10px rgba(0,0,0,.6));}
.hero .ten-cta .ten-cta-txt b i{display:inline-block; font-style:normal; transition:transform .3s ease; -webkit-text-fill-color:#EBC660;}
.hero .ten-cta:hover .ten-cta-txt b i{transform:translateX(5px);}
.hero .ten-cta:focus-visible{outline:2px solid #EBC660; outline-offset:6px; border-radius:14px;}
@media (max-width:560px){ .hero .ten-cta .ten-cta-seal{width:68px; height:68px;} .hero .ten-cta .ten-cta-txt b{font-size:18px;} .hero .ten-cta{flex-basis:100%; justify-content:center;} }

/* 10 Years: play buttons are just a small gold triangle */
.tn .tn-play, .tn-vid-first .tn-play, .tn-home-vid .tn-play, .tn-frame .tn-play, .tn-vids.n3 .tn-play{width:40px; height:40px; margin:-20px 0 0 -20px; border-radius:0; background:none; box-shadow:none; color:#F1CF73; filter:drop-shadow(0 2px 6px rgba(0,0,0,.85)) drop-shadow(0 0 10px rgba(0,0,0,.5));}
.tn .tn-play svg, .tn-vid-first .tn-play svg, .tn-home-vid .tn-play svg, .tn-frame .tn-play svg, .tn-vids.n3 .tn-play svg{width:100%; height:100%; margin:0;}
.tn-vid-first .tn-play, .tn-home-vid .tn-play{width:52px; height:52px; margin:-26px 0 0 -26px;}
.tn-vids.n3 .tn-play, .tn-frame .tn-play{width:30px; height:30px; margin:-15px 0 0 -15px;}
.tn-frame .tn-play{margin-top:-24px;}
.tn-vid:hover .tn-play, .tn-frame:hover .tn-play{color:#FFF3C4;}

/* Kids and Students block: the growth line stays above the words, never through them */
.tn-mw{padding-top:190px;}
.tn-rise{top:24px; height:130px;}
.tn-rise-fill{display:none;}
@media (max-width:900px){ .tn-mw{padding-top:130px;} .tn-rise{top:18px; height:86px;} }

/* 2023: a big step (rising gold stairs instead of fireworks) */
.tn-steps{display:inline-flex; align-items:flex-end; gap:6px; height:54px; margin-bottom:14px;}
.tn-steps i{display:block; width:20px; border-radius:4px 4px 0 0; background:var(--tn-grad); transform-origin:50% 100%; transform:scaleY(0); transition:transform .7s cubic-bezier(.3,1.5,.5,1);}
.tn-steps i:nth-child(1){height:25%;} .tn-steps i:nth-child(2){height:50%; transition-delay:.15s;} .tn-steps i:nth-child(3){height:75%; transition-delay:.3s;} .tn-steps i:nth-child(4){height:100%; transition-delay:.45s; box-shadow:0 0 18px rgba(235,198,96,.8);}
.tn-ch.is-in .tn-steps i{transform:scaleY(1);}
/* 2026: the expansion, two-thirds wide so the page clearly keeps going */
.tn-ch-wide .tn-home{width:66.666%; margin:0 auto;}
.tn-room::before{background:linear-gradient(180deg, rgba(8,20,38,.78) 0%, rgba(8,20,38,.66) 45%, rgba(8,15,23,.95) 100%);}
.tn-room h3{font-size:clamp(38px,5.4vw,74px);}
.tn-room .tn-home-in{padding:clamp(30px,4.4vw,56px) clamp(20px,3.6vw,48px);}
.tn-room .tn-home-year{font-size:clamp(100px,15vw,210px);}
.tn-room-list{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:26px 0 0; padding:0; list-style:none;}
.tn-room-list li{padding:10px 18px; border-radius:999px; font-weight:800; font-size:14.5px; color:#fff; background:rgba(8,15,23,.6); border:1px solid rgba(235,198,96,.55); transition:opacity .7s ease, transform .8s cubic-bezier(.3,1.5,.5,1);}
.tn-room-list li:nth-child(2){transition-delay:.12s;} .tn-room-list li:nth-child(3){transition-delay:.24s;} .tn-room-list li:nth-child(4){transition-delay:.36s;}
.tn-ch:not(.is-in) .tn-room-list li{opacity:0; transform:translateY(24px) scale(.9);}
.tn-room-verse{margin:28px 0 0; font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:700; font-size:clamp(24px,3vw,38px); line-height:1.2; background:var(--tn-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.tn-room-verse cite{display:block; margin-top:8px; font-family:"Space Mono",monospace; font-style:normal; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; -webkit-text-fill-color:var(--tn-gold);}
.tn-room-go{margin:26px 0 0;}
@media (max-width:900px){ .tn-ch-wide .tn-home{width:100%;} }
@media (prefers-reduced-motion: reduce){ .tn-steps i, .tn-room-list li{transform:none !important; opacity:1 !important; transition:none;} }
@media (max-width:900px){ .tn-home-year{display:none;} }
/* The RH side of the hero coin: engraved gold */
.tn-coin-front{background:none; box-shadow:none; filter:drop-shadow(0 30px 40px rgba(0,0,0,.6));}
.ten-coin-t{font-family:"Manrope",system-ui,sans-serif; font-weight:800; font-size:21px; letter-spacing:.22em;}
.tl-logo{padding:0;}

/* 10 Years: gold-gradient text keeps the tails of letters like g, y and p (room below, pulled back so spacing is unchanged) */
.tn-title span:last-child, .tn-home h3 em, .tn-joy-head h2 em, .tn-mw-head h2 em, .tn-room-verse, .tn-quote, .tn-began-note{padding-bottom:.24em; margin-bottom:-.24em;}
.tn-title span{padding-bottom:.24em; margin-bottom:-.24em;}
.tn-home h3 em, .tn-joy-head h2 em, .tn-mw-head h2 em{line-height:1.12;}
.hero .ten-cta .ten-cta-txt b{padding-bottom:.2em; margin-bottom:-.2em;}

/* 10 Years: "It started with a video" details */
.tn-began-grid{align-items:start;}
.tn-first{position:sticky; top:120px;}
.tn-began p b{color:#fff; font-weight:800;}
.tn-invite{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0; padding:0; list-style:none;}
.tn-invite li{padding:14px 14px 15px; border-radius:16px; background:linear-gradient(170deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border:1px solid rgba(235,198,96,.35);}
.tn-invite small{display:block; font-family:"Space Mono",monospace; font-size:10.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--tn-gold);}
.tn-invite b{display:block; margin-top:6px; font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:18px; line-height:1.15; color:#fff;}
.tn-invite span{display:block; margin-top:4px; font-size:13.5px; line-height:1.4; color:rgba(246,239,223,.78);}
.tn-began-copy.reveal .tn-invite li{opacity:0; transform:translateY(22px) scale(.94); transition:opacity .7s ease, transform .8s cubic-bezier(.3,1.5,.5,1);}
.tn-began-copy.reveal.in .tn-invite li{opacity:1; transform:none;}
.tn-began-copy.reveal.in .tn-invite li:nth-child(1){transition-delay:.35s;} .tn-began-copy.reveal.in .tn-invite li:nth-child(2){transition-delay:.5s;} .tn-began-copy.reveal.in .tn-invite li:nth-child(3){transition-delay:.65s;}
.tn-began-quote{margin:24px 0 0; padding:4px 0 4px 20px; border-left:3px solid var(--tn-gold); font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:700; font-size:clamp(20px,2.2vw,26px); line-height:1.32; color:#fff;}
.tn-began-quote cite{display:block; margin-top:10px; font-family:"Space Mono",monospace; font-style:normal; font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--tn-gold);}
@media (max-width:900px){ .tn-first{position:static;} .tn-invite{grid-template-columns:1fr;} .tn-invite li{display:grid; grid-template-columns:auto 1fr; column-gap:14px; align-items:baseline;} .tn-invite small{grid-row:1 / 3; align-self:center; min-width:92px;} .tn-invite b{margin-top:0;} }
@media (prefers-reduced-motion: reduce){ .tn-began-copy.reveal .tn-invite li{opacity:1; transform:none; transition:none;} }
.tn-began-grid{align-items:center;} .tn-first{position:relative; top:auto;}
.tn-began-copy p + p{margin-top:14px;}

/* ---- Homepage: the coin covers the whole screen, then reveals the gold name as it flies down ---- */
.ten-cover{position:fixed; z-index:9990; display:none; pointer-events:none; will-change:transform, opacity; transform-origin:50% 50%; backface-visibility:visible;}
.ten-cover.is-on{display:block;}
.ten-cover .ten-seal{width:100%; height:100%;}
.ten-cover .ten-seal-ring, .ten-cover .ten-seal-shine{animation:none;}
/* gold applied in one go (no wave) while the coin hides the name, then a quick gleam as it's revealed */
.rh-wm.is-gold.is-snap .wm-c{animation:wmGleam 1.1s ease-out 1.05s both; background-image:linear-gradient(90deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 80%,#C99C3A 100%);}
.rh-wm.is-gold.is-snap .wm-L{animation:wmGleam 1.1s ease-out 1.05s both;}
@keyframes wmGleam{0%{filter:brightness(1);} 35%{filter:brightness(1.75);} 100%{filter:brightness(1);}}
.hero .ten-cta{transition:opacity .01s linear, transform .01s linear;}
.hero .ten-cta .ten-cta-seal{opacity:0; transition:opacity .15s ease, transform .25s ease;}
.hero .ten-cta.is-set .ten-cta-seal{opacity:1;}
.hero .ten-cta .ten-cta-txt{opacity:0; transform:translateX(-12px); transition:opacity .5s ease, transform .6s cubic-bezier(.2,.9,.25,1);}
.hero .ten-cta.is-set .ten-cta-txt{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .rh-wm.is-gold.is-snap .wm-c, .rh-wm.is-gold.is-snap .wm-L{animation:none;} .hero .ten-cta .ten-cta-txt{transition:none;} }

/* ---- 10 Years: flow between sections ---- */
.tn-flow{display:block; width:2px; height:110px; margin:0 auto; position:relative; z-index:2;}
.tn-flow i{position:absolute; inset:0; border-radius:2px; background:linear-gradient(180deg, rgba(235,198,96,0), #EBC660 45%, #FFF3C4); transform-origin:50% 0; transform:scaleY(0); transition:transform 1.1s cubic-bezier(.45,0,.2,1);}
.tn-flow::after{content:""; position:absolute; left:50%; bottom:-7px; width:12px; height:12px; margin-left:-6px; background:#FFF3C4; transform:rotate(45deg) scale(0); box-shadow:0 0 16px rgba(235,198,96,.9); transition:transform .5s cubic-bezier(.3,1.8,.5,1) .9s;}
.tn-flow.in i{transform:scaleY(1);} .tn-flow.in::after{transform:rotate(45deg) scale(1);}
.tn-flow.reveal{opacity:1 !important; transform:none !important; translate:none !important;}
.tn-head-sub{max-width:620px; margin:14px auto 0; font-size:17px; line-height:1.6; color:rgba(246,239,223,.78);}
/* even rhythm: every section breathes the same amount, with no hard bands between them */
.tn-began{padding:70px 0 50px;}
.tn-trail-sec{padding:50px 0 30px; background:none;}
.tn-joy{padding:60px 0 40px; background:radial-gradient(70% 520px at 50% 0%, rgba(28,53,80,.9) 0%, rgba(15,29,43,.5) 55%, rgba(10,19,29,0) 100%);}
.tn-mw{margin-top:30px; background:none;}
.tn-reel-sec{padding:50px 0 60px;}
.tn-next{padding:50px 0 60px;}
.tn-next-one{grid-template-columns:minmax(0,760px); justify-content:center;}
.tn-next-one .tn-next-card{min-height:0;} .tn-next-one .tn-next-body{padding:38px 40px; text-align:center; align-items:center;}
.tn-now{padding:40px 0 30px;}
.tn-end{padding:60px 0 90px; background:radial-gradient(60% 420px at 50% 100%, rgba(28,53,80,.95), rgba(10,19,29,0) 100%);}
@media (max-width:900px){ .tn-flow{height:76px;} .tn-next-one .tn-next-body{padding:28px 22px;} }
@media (prefers-reduced-motion: reduce){ .tn-flow i{transform:none; transition:none;} .tn-flow::after{transform:rotate(45deg); transition:none;} }
/* keep the coin moment light: no per-letter effects while the coin is moving */
.rh-wm.is-gold.is-snap .wm-c, .rh-wm.is-gold.is-snap .wm-L{animation:none;}
.ten-cover{contain:layout paint style;}

/* ---- Homepage 10-year coin v3: the gold spreads outward from under the coin, letter by letter (cheap: a small hop and a color switch). ---- */
.rh-wm.is-gold.is-flow .wm-c{animation:wmGoldF .5s cubic-bezier(.4,0,.2,1) var(--gd2,0s) both;}
.rh-wm.is-gold.is-flow .wm-L{animation:wmGoldLF .5s cubic-bezier(.4,0,.2,1) var(--gd2,0s) both;}
@keyframes wmGoldF{
  0%{translate:0 0; background-image:linear-gradient(90deg,#5FD08A 0%,#3FCCC0 50%,#5CB3FF 100%);}
  40%{translate:0 -.09em; background-image:linear-gradient(90deg,#5FD08A 0%,#3FCCC0 50%,#5CB3FF 100%);}
  41%{background-image:linear-gradient(90deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 80%,#C99C3A 100%);}
  100%{translate:0 0; background-image:linear-gradient(90deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 80%,#C99C3A 100%);}
}
@keyframes wmGoldLF{0%{translate:0 0;} 40%{translate:0 -.09em;} 100%{translate:0 0;}}
@media (prefers-reduced-motion: reduce){ .rh-wm.is-gold.is-flow .wm-c{animation:none; background-image:linear-gradient(90deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 80%,#C99C3A 100%);} .rh-wm.is-gold.is-flow .wm-L{animation:none;} }

/* ---- 10 Years: the Buddies note and a parent's words, inside Kids and Students ---- */
.tn-bud{position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; max-width:1080px; margin:64px auto 0; border-radius:28px; overflow:hidden; border:1px solid rgba(235,198,96,.38); background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); box-shadow:0 40px 80px -40px rgba(0,0,0,.8); text-align:left;}
.tn-bud-note{padding:46px 46px 44px;}
.tn-bud-note h3{margin:12px 0 16px; font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:clamp(30px,4vw,50px); line-height:1.08; letter-spacing:-.01em; color:#fff;}
.tn-bud-note h3 em{font-style:italic; background:linear-gradient(180deg,#FFF6D6,#EBC660 55%,#B8862E); -webkit-background-clip:text; background-clip:text; color:transparent; padding:0 .08em .24em 0; margin-bottom:-.24em; display:inline-block;}
.tn-bud-note p:not(.tn-kicker){margin:0 0 12px; font-size:17px; line-height:1.65; color:rgba(255,255,255,.84);}
.tn-bud-note p:last-child{margin-bottom:0; color:#fff; font-weight:600;}
.tn-bud-q{position:relative; margin:0; padding:62px 44px 44px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(160deg, rgba(235,198,96,.2), rgba(235,198,96,.05)); border-left:1px solid rgba(235,198,96,.32);}
.tn-bud-q::before{content:"\201C"; position:absolute; left:38px; top:8px; font-family:"Playfair Display",Georgia,serif; font-weight:900; font-size:96px; line-height:1; color:var(--tn-gold,#EBC660); opacity:.9;}
.tn-bud-q p{margin:0; font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:700; font-size:clamp(21px,2.3vw,28px); line-height:1.36; color:#fff;}
.tn-bud-q cite{display:block; margin-top:22px; font-family:"Space Mono",monospace; font-style:normal; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--tn-gold,#EBC660);}
.tn-bud-q cite span{display:block; margin-top:6px; letter-spacing:.18em; color:rgba(255,255,255,.62);}
@media (max-width:820px){
  .tn-bud{grid-template-columns:1fr; margin-top:44px; border-radius:22px;}
  .tn-bud-note{padding:32px 24px 28px;}
  .tn-bud-q{padding:58px 24px 30px; border-left:0; border-top:1px solid rgba(235,198,96,.32);}
  .tn-bud-q::before{left:20px;}
}

/* ---- 10 Years: Buddies block in the Buddies colors (purple, mint, sunny yellow), still framed in the anniversary gold ---- */
.tn-bud{--bd-purple:#7B5CB8; --bd-purple-d:#5E3F9C; --bd-mint:#8FDCCF; --bd-yellow:#F6C945; --bd-orange:#F59A3C; overflow:visible; border:2px solid transparent;
  background:linear-gradient(135deg, #1B1535, #120F26) padding-box, linear-gradient(120deg, var(--bd-purple), #EBC660 55%, var(--bd-mint)) border-box;}
.tn-bud-note{border-radius:26px 0 0 26px; background:radial-gradient(120% 90% at 0% 0%, rgba(123,92,184,.38), rgba(123,92,184,0) 60%);}
.tn-bud-note h3 em.tn-bud-band{display:inline-block; font-style:normal; color:#fff; background:var(--bd-purple); -webkit-background-clip:border-box; background-clip:border-box; padding:.06em .32em .12em; margin:.08em 0 0; border-radius:14px; transform:rotate(-2deg); box-shadow:0 12px 24px -12px rgba(123,92,184,1), inset 0 -3px 0 var(--bd-purple-d);}
.tn-bud-note p:last-child{color:var(--bd-mint);}
.tn-bud-q{border-radius:0 26px 26px 0; border-left:0; background:linear-gradient(160deg, var(--bd-purple), var(--bd-purple-d));}
.tn-bud-q::before{color:var(--bd-mint); opacity:1;}
.tn-bud-q cite{color:var(--bd-yellow);}
.tn-bud-q cite span{color:rgba(255,255,255,.78);}
.tn-bud-sun{position:absolute; right:24px; top:-22px; width:54px; height:54px; border-radius:50%; background:radial-gradient(circle, var(--bd-yellow) 0 15px, transparent 16px), repeating-conic-gradient(from 0deg, var(--bd-orange) 0 12deg, transparent 12deg 30deg); -webkit-mask:radial-gradient(circle, #000 0 26px, transparent 27px); mask:radial-gradient(circle, #000 0 26px, transparent 27px); animation:tnBudSun 14s linear infinite;}
@keyframes tnBudSun{to{transform:rotate(360deg);}}
.tn-bud-dots{position:absolute; right:26px; bottom:18px; width:86px; height:40px; pointer-events:none; background:radial-gradient(circle at 14% 62%, var(--bd-yellow) 0 6px, transparent 7px), radial-gradient(circle at 52% 30%, var(--bd-mint) 0 8px, transparent 9px), radial-gradient(circle at 88% 70%, var(--bd-orange) 0 5px, transparent 6px); opacity:.9;}
.tn-btn.tn-btn-bud{background:var(--bd-purple,#7B5CB8); color:#fff; box-shadow:0 14px 30px -14px rgba(123,92,184,.95);}
.tn-btn.tn-btn-bud:hover{background:#5E3F9C; color:#fff; box-shadow:0 22px 40px -14px rgba(123,92,184,.95);}
@media (max-width:820px){ .tn-bud-note{border-radius:20px 20px 0 0;} .tn-bud-q{border-radius:0 0 20px 20px; border-top:0;} .tn-bud-sun{right:18px;} }
@media (prefers-reduced-motion: reduce){ .tn-bud-sun{animation:none;} }

/* ---- Groups: the E-Group examples line under its description ---- */
.g3-eg{margin:-6px 0 16px; font-size:14.5px; line-height:1.55; opacity:.82;}
.g3-eg b{font-weight:800; color:var(--c); opacity:1;}

/* ---- Group cards: the whole picture always shows (the group's title is printed on it), never cropped.
   The picture sits on top of the card at its own shape; a soft blurred copy fills any leftover space. ---- */
.gcard.has-img{grid-template-columns:minmax(0,1fr) !important;}
.gcard.has-img .g-img{position:relative; aspect-ratio:16/9 !important; min-height:0 !important; overflow:hidden; background:#10202c;}
.gcard .g-img-bg{position:absolute; inset:-24px; background-size:cover; background-position:center; filter:blur(18px) brightness(.7); transform:translateZ(0);}
.gcard.has-img .g-img img{position:relative; width:100%; height:100%; object-fit:contain; transition:none;}
.gcard.has-img:hover .g-img img{transform:none;}
.gcard.has-img .g-open{top:-15px !important;}

/* ---- Small Group cards: a gathered-people photo with the title written over it, to match the Home Group pictures ---- */
.gcard .g-art{container-type:inline-size;}
.gcard.has-img .g-art img{object-fit:cover; object-position:50% 30%; filter:saturate(.9) brightness(.92);}
.gcard .g-art::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(238,226,205,.20) 0%, rgba(40,30,18,.18) 45%, rgba(20,16,10,.62) 100%);}
.g-art-t{position:absolute; left:4%; right:4%; bottom:7%; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.45);}
.g-art-t b{font-family:"Manrope",system-ui,sans-serif; font-weight:800; font-size:clamp(26px,5vw,56px); line-height:.92; letter-spacing:-.01em; text-transform:uppercase; white-space:nowrap;}
.g-art-t em{margin-top:.5em; font-style:normal; font-family:"Manrope",system-ui,sans-serif; font-weight:700; font-size:clamp(15px,5.4cqw,30px); letter-spacing:.01em;}

/* ---- Homepage 10-year coin: a small line that says it can be opened ---- */
.hero .ten-cta .ten-cta-tap{display:inline-flex; align-items:center; gap:7px; margin-top:7px; padding:5px 11px 5px 9px; border-radius:999px; border:1px solid rgba(235,198,96,.7); background:rgba(235,198,96,.12); font-family:"Space Mono",monospace; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#FFE9A8; white-space:nowrap; transition:background .25s ease, color .25s ease;}
.hero .ten-cta .ten-cta-tap::before{content:""; width:7px; height:7px; border-radius:50%; background:#FFE9A8; box-shadow:0 0 0 0 rgba(255,233,168,.7); animation:tenTap 1.8s ease-out infinite;}
@keyframes tenTap{0%{box-shadow:0 0 0 0 rgba(255,233,168,.7);} 100%{box-shadow:0 0 0 9px rgba(255,233,168,0);}}
.hero .ten-cta:hover .ten-cta-tap{background:#EBC660; color:#1a1305;}
.ten-cta-tap .t-click{display:none;}
@media (hover:hover) and (pointer:fine){ .ten-cta-tap .t-tap{display:none;} .ten-cta-tap .t-click{display:inline;} }
@media (prefers-reduced-motion: reduce){ .hero .ten-cta .ten-cta-tap::before{animation:none;} }

/* ---- Groups: E-Groups can be opened while still "coming soon" ---- */
.gp-opt.is-soon{cursor:pointer;}
.gp-tab.is-soon{cursor:pointer; color:var(--ink);}
.gp-tab.is-soon.is-on{background:none; color:#fff;}
.gp-search[hidden]{display:none;}
.g3-go.is-soon{cursor:pointer;}
.g3-go.is-soon:hover{transform:translateY(-2px);}

/* The E-Groups "building site": hazard tape, a road sign, cones and a blinking barricade light. Transform and opacity only. */
.eg-site{position:relative; max-width:1060px; margin:6px auto 0; border-radius:26px; overflow:hidden; color:#fff; background:radial-gradient(120% 90% at 20% 0%, #26323d, #121a22 70%); box-shadow:0 40px 80px -44px rgba(12,20,30,.9);}
.eg-tape{display:block; height:26px; overflow:hidden; background:#FFD23F;}
.eg-tape i{display:block; height:100%; width:calc(100% + 104px); background:repeating-linear-gradient(-45deg,#FFD23F 0 26px,#111 26px 52px); animation:egTape 2.6s linear infinite;}
.eg-tape-b i{animation-direction:reverse;}
@keyframes egTape{from{transform:translateX(-73.54px);} to{transform:translateX(0);}}
.eg-in{display:grid; grid-template-columns:.9fr 1.1fr; gap:10px; align-items:stretch;}
.eg-scene{position:relative; min-height:420px; overflow:hidden;}
.eg-grid{position:absolute; inset:0; background-image:linear-gradient(rgba(120,190,255,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(120,190,255,.13) 1px, transparent 1px); background-size:28px 28px; -webkit-mask:radial-gradient(90% 80% at 50% 45%, #000 30%, transparent 85%); mask:radial-gradient(90% 80% at 50% 45%, #000 30%, transparent 85%);}
.eg-ground{position:absolute; left:6%; right:6%; bottom:44px; height:4px; border-radius:4px; background:rgba(255,255,255,.22);}
.eg-sign{position:absolute; left:50%; bottom:48px; width:190px; margin-left:-95px; height:300px; transform-origin:50% 100%; animation:egSway 4.2s ease-in-out infinite;}
@keyframes egSway{0%,100%{transform:rotate(-2.2deg);} 50%{transform:rotate(2.2deg);}}
.eg-post{position:absolute; left:50%; bottom:0; width:10px; height:190px; margin-left:-5px; border-radius:3px; background:linear-gradient(90deg,#8d959c,#d5dade 45%,#737b82);}
.eg-sign-face{position:absolute; left:50%; top:0; width:158px; height:158px; margin-left:-79px; transform:rotate(45deg); border-radius:16px; background:#FFD23F; border:6px solid #111; box-shadow:0 0 0 4px #FFD23F, 0 18px 30px -12px rgba(0,0,0,.8); z-index:1;}
.eg-sign-face b, .eg-sign-face em{position:absolute; left:50%; transform:translateX(-50%) rotate(-45deg); color:#111; font-style:normal; text-align:center; white-space:nowrap;}
.eg-sign-face b{top:8px; left:38%; font-family:"Anton","Archivo Black",sans-serif; font-size:78px; line-height:1;}
.eg-sign-face em{top:74px; left:66%; font-family:"Space Mono",monospace; font-weight:700; font-size:11.5px; line-height:1.15; letter-spacing:.1em; text-transform:uppercase;}
.eg-barr{position:absolute; left:8%; bottom:48px; width:132px; height:74px;}
.eg-barr i{position:absolute; left:0; right:0; top:8px; height:24px; border-radius:4px; background:repeating-linear-gradient(-45deg,#F59A3C 0 16px,#fff 16px 32px); box-shadow:0 6px 12px -6px rgba(0,0,0,.7);}
.eg-barr u{position:absolute; bottom:0; width:7px; height:74px; border-radius:2px; background:#c9ced2;} .eg-barr u:nth-of-type(1){left:16px;} .eg-barr u:nth-of-type(2){right:16px;}
.eg-lamp{position:absolute; left:calc(8% + 56px); bottom:118px; width:20px; height:20px; border-radius:50%; background:#FFB020; box-shadow:0 0 22px 8px rgba(255,176,32,.75); animation:egBlink 1.2s steps(1,end) infinite;}
@keyframes egBlink{0%,49%{opacity:1;} 50%,100%{opacity:.15;}}
.eg-cone{position:absolute; bottom:48px; width:0; height:0; border-left:19px solid transparent; border-right:19px solid transparent; border-bottom:56px solid #F26B21; filter:drop-shadow(0 6px 6px rgba(0,0,0,.5));}
.eg-cone::before{content:""; position:absolute; left:-12px; top:22px; width:24px; height:9px; background:#fff; clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);}
.eg-cone::after{content:""; position:absolute; left:-26px; top:54px; width:52px; height:7px; border-radius:3px; background:#D4571A;}
.eg-cone-a{right:13%;} .eg-cone-b{right:27%; transform:scale(.72); transform-origin:50% 100%;}
.eg-copy{padding:38px 40px 36px 8px; text-align:left;}
.eg-kick{margin:0; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#FFD23F;}
.eg-kick span{display:inline-block; margin-right:8px; padding:3px 9px; border-radius:6px; background:#FFD23F; color:#111; letter-spacing:.1em;}
.eg-copy h3{margin:12px 0 2px; font-size:clamp(40px,5.4vw,66px); line-height:1; color:#fff;}
.eg-means{margin:0 0 12px; font-family:"Space Mono",monospace; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#F0A79F;}
.eg-means b{font-size:1.5em; color:#E0675F;}
.eg-lead{margin:0 0 18px; font-size:18px; line-height:1.55; color:rgba(255,255,255,.9); max-width:520px;}
.eg-lab{margin:0 0 9px; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(160,205,255,.85);}
.eg-list{list-style:none; margin:0 0 22px; padding:0; display:flex; flex-wrap:wrap; gap:8px;}
.eg-list li{padding:7px 12px; border-radius:8px; border:1px dashed rgba(160,205,255,.55); background:rgba(120,190,255,.08); font-size:14px; font-weight:700; color:#E6F1FF;}
.eg-build{margin:0 0 22px;}
.eg-build-bar{display:block; height:14px; border-radius:99px; overflow:hidden; background:rgba(255,255,255,.12); max-width:420px;}
.eg-build-bar i{display:block; height:100%; width:62%; border-radius:99px; overflow:hidden; position:relative; background:#FFD23F;}
.eg-build-bar i::after{content:""; position:absolute; top:0; bottom:0; left:-40px; right:0; background:repeating-linear-gradient(-45deg, rgba(17,17,17,.9) 0 10px, transparent 10px 20px); animation:egBar 1s linear infinite;}
@keyframes egBar{from{transform:translateX(0);} to{transform:translateX(28.28px);}}
.eg-build-t{display:block; margin-top:8px; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7);}
.eg-go{margin:0; display:flex; flex-wrap:wrap; gap:10px;}
.eg-btn2{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5);}
.eg-btn2:hover{background:rgba(255,255,255,.12); color:#fff;}
.gp-panel.is-on .eg-site{animation:gpCard .7s cubic-bezier(.2,.9,.25,1) both;}
@media (max-width:860px){
  .eg-in{grid-template-columns:1fr;}
  .eg-scene{min-height:352px;} .eg-sign{transform-origin:50% 100%; height:250px; bottom:40px;} .eg-post{height:140px;} .eg-ground, .eg-barr, .eg-cone{bottom:40px;} .eg-lamp{bottom:110px;}
  .eg-copy{padding:8px 22px 30px; text-align:center;} .eg-lead{margin-inline:auto;} .eg-list, .eg-go{justify-content:center;} .eg-build-bar{margin-inline:auto;}
}
@media (prefers-reduced-motion: reduce){ .eg-tape i, .eg-sign, .eg-lamp, .eg-build-bar i::after{animation:none;} }

/* ---- Homepage: the gold name catches the light. A bright band sweeps across every few seconds. ---- */
@property --wsh{syntax:'<percentage>'; inherits:true; initial-value:-25%;}
.rh-wm.is-gold.is-shine{animation:wmShine 5.2s linear infinite;}
@keyframes wmShine{0%,58%{--wsh:-25%;} 88%,100%{--wsh:125%;}}
.rh-wm.is-gold.is-shine .wm-c{animation:none; background-image:
  linear-gradient(105deg, rgba(255,255,255,0) calc(var(--wsh) - 9%), rgba(255,255,255,.55) calc(var(--wsh) - 3%), #fff var(--wsh), rgba(255,255,255,.55) calc(var(--wsh) + 3%), rgba(255,255,255,0) calc(var(--wsh) + 9%)),
  linear-gradient(90deg,#FFF3C4 0%,#EBC660 30%,#C49234 58%,#F3D684 80%,#C99C3A 100%);}
.rh-wm.is-gold.is-shine .wm-L{animation:wmShineL 5.2s linear var(--shd,0s) infinite;}
@keyframes wmShineL{0%{filter:brightness(1);} 2.4%{filter:brightness(1.9);} 5.5%,100%{filter:brightness(1);}}
@media (prefers-reduced-motion: reduce){ .rh-wm.is-gold.is-shine, .rh-wm.is-gold.is-shine .wm-L{animation:none;} }

/* ---- Group cards with Alfred's own thumbnails: shown whole, at their own 3:2 shape ---- */
.gcard.has-img .g-img.g-own{aspect-ratio:3/2 !important; background:#1a120b;}

/* ================= Shop ================= */
/* Header: the Shop button (desktop), and a Shop row in the phone menu. */
.btn-shop{display:inline-flex; align-items:center; gap:7px; background:#16202E; color:#F1E6C8; border:1px solid #16202E; box-shadow:0 10px 22px -12px rgba(22,32,46,.9);}
.btn-shop:hover, .btn-shop.active{background:#F1E6C8; color:#16202E; border-color:#F1E6C8;}
.btn-shop svg{width:16px; height:16px; flex:none;}
body.hero-dark header.nav:not(.scrolled) .btn-shop, body.theme-midweek .btn-shop{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.4); color:#fff;}
@media (max-width:1240px){ .btn-shop span{display:none;} .btn-shop{padding-left:11px; padding-right:11px;} }
@media (max-width:920px){ header.nav .btn-shop{display:none;} }
.mobile-menu .mm-shop{display:flex; align-items:center; gap:10px; margin:4px 0; padding:14px 16px; border-radius:14px; background:#16202E; color:#F1E6C8 !important; font-weight:800;}
.mobile-menu .mm-shop svg{width:20px; height:20px;}

/* ---- Shop v2: a dark showroom. Cut-out garments float in colored light; the verse orbits the one on the turntable. ---- */
.sh{--sh-ink:#0B0F15; --sh-navy:#16202E; --sh-cream:#F1E6C8; --sh-paper:#F3EEE3; --sh-gold:#D9B45A; --sh-green:#1F5A38; background:var(--sh-ink); color:#fff; overflow-x:clip;}
.sh h1, .sh h2, .sh h3{font-family:"Anton","Archivo Black",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.01em; margin:0;}
.sh-eyebrow, .sh-kick{font-family:"Michroma","Space Mono",monospace; font-size:11.5px; letter-spacing:.3em; text-transform:uppercase; margin:0;}
.sh-eyebrow{color:var(--sh-gold);}

/* Hero */
.sh-hero{--hx:0deg; --hy:0deg; position:relative; min-height:min(94vh,900px); display:flex; align-items:flex-end; color:#fff; background:#0c1219; overflow:hidden;}
.sh-hero-vid{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.sh-hero-shade{position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,11,16,.7) 0%, rgba(8,11,16,.32) 36%, rgba(11,15,21,.94) 100%);}
.sh-hero-in{position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:20px; align-items:end; padding-top:150px; padding-bottom:112px;}
.sh-kick span{display:inline-block; padding:8px 14px; border:1px solid rgba(241,230,200,.6); border-radius:99px; color:var(--sh-cream);}
.sh-hero h1{margin:18px 0 0; font-size:clamp(64px,9.2vw,150px); line-height:.86; color:#fff;}
.sh-w{display:inline-block; opacity:0; transform:translateY(.5em) rotateX(-70deg); transform-origin:50% 100%; animation:shWord .9s cubic-bezier(.2,.9,.25,1) forwards;}
.sh-w:nth-child(2){animation-delay:.12s;} .sh-w:nth-child(3){animation-delay:.24s;}
.sh-hl{color:var(--sh-cream);}
@keyframes shWord{to{opacity:1; transform:none;}}
.sh-hero-verse{margin:20px 0 0; font-size:clamp(16px,2vw,21px); color:rgba(255,255,255,.92);}
.sh-hero-verse span{margin-left:10px; font-family:"Michroma","Space Mono",monospace; font-size:.62em; letter-spacing:.24em; text-transform:uppercase; color:var(--sh-cream);}
.sh-hero-go{margin:26px 0 0;}
.sh-btn{display:inline-flex; align-items:center; gap:10px; padding:15px 26px; border-radius:99px; background:var(--sh-cream); color:var(--sh-navy); font-weight:800; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease;}
.sh-btn:hover{transform:translateY(-3px); color:var(--sh-navy); box-shadow:0 20px 36px -16px rgba(241,230,200,.8);}
/* Three garments floating beside the headline; they lean with the mouse. */
.sh-fan{position:relative; height:clamp(300px,36vw,520px); perspective:1200px; pointer-events:none;}
.sh-fan-i{position:absolute; bottom:0; width:54%; aspect-ratio:4/5; transition:transform .5s cubic-bezier(.2,.8,.3,1);}
.sh-fan-i img{display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 30px 30px rgba(0,0,0,.6)); animation:shFloat 6s ease-in-out infinite; animation-delay:calc(var(--n) * -1.7s);}
.sh-fan-i:nth-child(1){left:0; transform:rotateY(var(--hy)) rotateX(var(--hx)) translate3d(0,-6%,-80px) rotate(-11deg) scale(.86);}
.sh-fan-i:nth-child(3){right:0; transform:rotateY(var(--hy)) rotateX(var(--hx)) translate3d(0,-8%,-60px) rotate(10deg) scale(.9);}
.sh-fan-i:nth-child(2){left:23%; z-index:1; transform:rotateY(calc(var(--hy) * 1.6)) rotateX(calc(var(--hx) * 1.6)) translate3d(0,0,60px);}
@keyframes shFloat{0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);}}
.sh-tick{position:absolute; left:0; right:0; bottom:0; z-index:2; overflow:hidden; background:var(--sh-cream); color:var(--sh-navy);}
.sh-tick-in{display:flex; width:max-content; animation:shTick 38s linear infinite;}
.sh-tick span{flex:none; padding:13px 0; font-family:"Michroma","Space Mono",monospace; font-size:12.5px; letter-spacing:.26em; white-space:nowrap;}
@keyframes shTick{to{transform:translateX(-50%);}}

/* The showroom */
.sh-show{position:relative; padding:96px 0 84px; overflow:hidden; background:var(--sh-ink);}
.sh-auras i{position:absolute; inset:0; opacity:0; transition:opacity .9s ease; background:radial-gradient(46% 52% at 64% 58%, var(--g), transparent 72%), radial-gradient(40% 30% at 12% 8%, var(--g), transparent 70%);}
.sh-auras i.is-on{opacity:.5;}
.sh-horizon{position:absolute; left:0; right:0; bottom:0; width:100%; height:44%; fill:rgba(255,255,255,.035);}
.sh-dust i{position:absolute; left:var(--x); top:var(--y); width:var(--s); height:var(--s); border-radius:50%; background:#fff; opacity:0; animation:shDust var(--d) ease-in-out infinite; animation-play-state:paused;}
.sh-show.is-live .sh-dust i{animation-play-state:running;}
@keyframes shDust{0%{opacity:0; transform:translate3d(0,20px,0);} 30%{opacity:.55;} 100%{opacity:0; transform:translate3d(24px,-90px,0);}}
.sh-show > .container{position:relative; z-index:1;}
.sh-head{text-align:center; max-width:640px; margin:0 auto 30px;}
.sh-head h2{font-size:clamp(54px,9vw,124px); line-height:.9; margin-top:10px; color:#fff;}
.sh-head p:not(.sh-eyebrow){margin:14px 0 0; font-size:17px; line-height:1.55; color:rgba(255,255,255,.72);}
.sh-stage{--w:min(430px,72vw); display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); grid-template-areas:"info floor" "rack rack"; gap:10px 30px; align-items:center;}
.sh-info{grid-area:info; position:relative;}
.sh-floor{grid-area:floor; position:relative; display:flex; flex-direction:column; align-items:center; padding:34px 0 0; perspective:1500px;}
.sh-scene{position:relative; width:var(--w); aspect-ratio:4/5; transform-style:preserve-3d;}
.sh-ring{position:absolute; left:50%; top:84%; width:0; height:0; transform-style:preserve-3d; transform:rotateX(-11deg); pointer-events:none;}
.sh-ring-in{position:absolute; left:0; top:0; transform-style:preserve-3d; animation:shRing 30s linear infinite; animation-play-state:paused;}
.sh-show.is-live .sh-ring-in{animation-play-state:running;}
@keyframes shRing{to{transform:rotateY(-360deg);}}
.sh-ring b{position:absolute; left:-.5em; top:-.6em; width:1em; text-align:center; font-family:"Anton","Archivo Black",sans-serif; font-weight:400; font-size:clamp(20px,2.5vw,34px); line-height:1.2; color:var(--sh-cream); transform:rotateY(var(--a)) translateZ(calc(var(--w) * .8));}
.sh-spin{position:absolute; inset:0; transform-style:preserve-3d; cursor:grab; touch-action:pan-y; -webkit-user-select:none; user-select:none; outline:none;}
.sh-spin.is-grab{cursor:grabbing;}
.sh-spin:focus-visible{outline:2px solid var(--sh-cream); outline-offset:8px; border-radius:18px;}
.sh-bob{position:absolute; inset:0; transform-style:preserve-3d; animation:shBob 5.5s ease-in-out infinite; animation-play-state:paused;}
.sh-show.is-live .sh-bob{animation-play-state:running;}
@keyframes shBob{0%,100%{transform:translateY(0) rotateY(-6deg);} 50%{transform:translateY(-12px) rotateY(6deg);}}
.sh-card{position:absolute; inset:0; transform-style:preserve-3d; will-change:transform;}
.sh-face{position:absolute; inset:0; -webkit-backface-visibility:hidden; backface-visibility:hidden;}
.sh-face img{position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; visibility:hidden;}
.sh-face img.is-on{visibility:visible;}
.sh-back{transform:rotateY(180deg);}
.sh-shadow{position:absolute; left:50%; bottom:-7%; width:66%; height:30px; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.7), rgba(0,0,0,0)); transform:translateX(-50%); pointer-events:none;}
.sh-pad{position:absolute; left:50%; bottom:-13%; width:118%; height:16%; margin-left:-59%; border-radius:50%; pointer-events:none; background:radial-gradient(closest-side, var(--g), transparent 78%); opacity:.5; transition:background .9s ease; transform:translateZ(-1px);}
.sh-pad::after{content:""; position:absolute; inset:18% 10%; border-radius:50%; border:1.5px solid rgba(255,255,255,.35);}
.sh-turn{position:relative; z-index:2; display:flex; align-items:center; gap:14px; margin-top:calc(var(--w) * .2 + 56px);}
.sh-side{font:inherit; font-family:"Michroma","Space Mono",monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase; padding:10px 16px; border-radius:99px; border:1.5px solid rgba(255,255,255,.3); background:rgba(255,255,255,.05); color:#fff; cursor:pointer; transition:background .25s, color .25s, border-color .25s;}
.sh-side.is-on{background:var(--sh-cream); color:var(--sh-navy); border-color:var(--sh-cream);}
.sh-hint{display:inline-flex; flex-direction:column; align-items:center; gap:2px; font-size:12px; font-weight:700; color:rgba(255,255,255,.6); white-space:nowrap;}
.sh-info-in.is-in > *{animation:shIn .55s cubic-bezier(.2,.9,.25,1) both;}
.sh-info-in.is-in > *:nth-child(2){animation-delay:.05s;} .sh-info-in.is-in > *:nth-child(3){animation-delay:.1s;} .sh-info-in.is-in > *:nth-child(4){animation-delay:.15s;} .sh-info-in.is-in > *:nth-child(5){animation-delay:.2s;}
@keyframes shIn{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}
.sh-color{display:flex; align-items:center; gap:9px; margin:0; font-family:"Michroma","Space Mono",monospace; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--g); transition:color .6s ease;}
.sh-color i{width:14px; height:14px; border-radius:50%; background:var(--g); box-shadow:0 0 14px var(--g); transition:background .6s ease;}
.sh-info h3{margin:14px 0 14px; font-size:clamp(46px,6.2vw,96px); line-height:.9; color:#fff;}
.sh-info .sh-line{margin:0; max-width:440px; font-size:17.5px; line-height:1.55; color:rgba(255,255,255,.8);}
.sh-price{margin:18px 0 0; font-family:"Anton",sans-serif; font-size:38px; line-height:1; color:var(--sh-cream);}
.sh-buy-row{margin:22px 0 0;}
.sh-buy{display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:99px; background:var(--sh-cream); color:var(--sh-navy); font-weight:800; font-size:15.5px; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease;}
a.sh-buy:hover{transform:translateY(-3px); color:var(--sh-navy); box-shadow:0 20px 36px -16px rgba(241,230,200,.8);}
.sh-buy.is-soon{background:transparent; color:var(--sh-cream); border:1.5px dashed rgba(241,230,200,.7); font-family:"Michroma","Space Mono",monospace; font-size:11px; letter-spacing:.22em; text-transform:uppercase;}
.sh-buy[hidden]{display:none;}
.sh-rack{grid-area:rack; display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:34px;}
.sh-pick{font:inherit; width:112px; padding:0; border:0; background:none; cursor:pointer; text-align:center; color:#fff;}
.sh-pick-img{position:relative; display:block; aspect-ratio:1/1; border-radius:18px; overflow:hidden; border:1.5px solid rgba(255,255,255,.14); background:linear-gradient(rgba(13,17,24,.5), rgba(13,17,24,.86)), radial-gradient(120% 100% at 50% 0%, var(--g), #0d1118 80%); transition:transform .3s cubic-bezier(.3,1.4,.5,1), border-color .3s, box-shadow .3s;}
.sh-pick-img img{position:absolute; left:8%; top:6%; width:84%; height:105%; object-fit:contain; object-position:50% 0;}
.sh-pick:hover .sh-pick-img{transform:translateY(-5px);}
.sh-pick.is-on .sh-pick-img{transform:translateY(-5px); border-color:var(--g); box-shadow:0 0 0 2px var(--g), 0 18px 34px -14px var(--g);}
.sh-pick-t{display:block; margin-top:9px; line-height:1.2;}
.sh-pick-t b{display:block; font-size:12.5px; font-weight:800;}
.sh-pick-t em{display:block; margin-top:2px; font-style:normal; font-size:11px; color:rgba(255,255,255,.6);}

/* See it all: every piece is its own card, leaning toward the mouse with a moving glare. */
.sh-all-sec{position:relative; padding:40px 0 110px; background:var(--sh-ink);}
.sh-all{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px 20px;}
.sh-item{--rx:0deg; --ry:0deg; --px:50%; --py:0%; display:flex; flex-direction:column; font:inherit; text-align:left; padding:0; border:0; background:none; color:#fff; cursor:pointer; text-decoration:none; perspective:900px; -webkit-tap-highlight-color:transparent;}
.sh-item.reveal{transition-delay:calc(var(--i,0) * 60ms);}
.sh-item-card{position:relative; display:block; aspect-ratio:4/5; border-radius:22px; border:1px solid rgba(255,255,255,.12); background:linear-gradient(rgba(13,17,24,.42), rgba(13,17,24,.9)), radial-gradient(130% 100% at 30% 0%, var(--g), #0d1118 78%); transform:rotateX(var(--rx)) rotateY(var(--ry)); transform-style:preserve-3d; transition:transform .25s ease, box-shadow .35s ease, border-color .35s ease; box-shadow:0 30px 50px -34px #000;}
.sh-item:hover .sh-item-card, .sh-item:focus-visible .sh-item-card{border-color:var(--g); box-shadow:0 34px 60px -30px var(--g);}
.sh-item-glare{position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .3s ease; background:radial-gradient(60% 50% at var(--px) var(--py), rgba(255,255,255,.24), transparent 70%);}
.sh-item:hover .sh-item-glare{opacity:1;}
.sh-item-n{position:absolute; left:16px; top:10px; font-family:"Anton",sans-serif; font-size:44px; line-height:1; color:transparent; -webkit-text-stroke:1.2px rgba(255,255,255,.3);}
.sh-item-flip{position:absolute; inset:7% 5% 3%; transform-style:preserve-3d; transform:translateZ(46px); transition:transform .7s cubic-bezier(.3,.9,.3,1);}
.sh-item-flip img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; -webkit-backface-visibility:hidden; backface-visibility:hidden; filter:drop-shadow(0 18px 16px rgba(0,0,0,.55));}
.sh-item-flip img.sh-item-b{transform:rotateY(180deg);}
.sh-item-flip img.sh-item-photo{inset:8% 4% 6%; width:92%; height:86%; object-fit:cover; object-position:50% 74%; border-radius:16px;}
.sh-item-t{display:block; margin-top:16px; line-height:1.2;}
.sh-item-t b{display:block; font-family:"Anton","Archivo Black",sans-serif; font-weight:400; font-size:22px; letter-spacing:.01em; text-transform:uppercase; color:#fff;}
.sh-item-t em{display:flex; align-items:center; gap:7px; margin-top:6px; font-style:normal; font-size:13.5px; color:rgba(255,255,255,.66);}
.sh-item-t em i{width:10px; height:10px; border-radius:50%; background:var(--g); box-shadow:0 0 10px var(--g);}
.sh-item-go{display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-top:13px; padding:9px 16px; border-radius:99px; border:1.5px solid rgba(255,255,255,.4); font-weight:800; font-size:13.5px; color:#fff; transition:background .25s, color .25s, border-color .25s;}
.sh-item:hover .sh-item-go, .sh-item:focus-visible .sh-item-go{background:var(--sh-cream); border-color:var(--sh-cream); color:var(--sh-navy);}
.sh-item:focus-visible{outline:none;}
@media (hover:hover) and (pointer:fine){ .sh-item.has-back:hover .sh-item-flip{transform:translateZ(46px) rotateY(180deg);} }

/* The hat (on warm paper, after the dark room) */
.sh-hat-sec{padding:96px 0 104px; background:var(--sh-paper); color:#1b1b18;}
.sh-hat{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.sh-hat-pic{--rx:0deg; --ry:0deg; position:relative; max-width:460px; margin:0 auto; width:100%; aspect-ratio:4/5; perspective:1100px;}
.sh-hat-plate, .sh-hat-img{position:absolute; inset:0; border-radius:26px; transition:transform .25s ease;}
.sh-hat-plate{background:var(--sh-green); transform:rotateX(var(--rx)) rotateY(var(--ry)) translate3d(22px,22px,-40px);}
.sh-hat-img{overflow:hidden; transform:rotateX(var(--rx)) rotateY(var(--ry)); box-shadow:0 40px 70px -40px rgba(22,32,46,.7);}
.sh-hat-img img{display:block; width:100%; height:100%; object-fit:cover; object-position:50% 70%;}
.sh-hat-tag{position:absolute; left:-18px; bottom:42px; padding:12px 18px 10px; border-radius:12px; background:var(--sh-cream); color:var(--sh-green); text-align:center; line-height:1; box-shadow:0 18px 30px -16px rgba(0,0,0,.6); transform:rotateX(var(--rx)) rotateY(var(--ry)) translateZ(50px) rotate(-6deg); transition:transform .25s ease;}
.sh-hat-tag b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:30px; letter-spacing:.06em;}
.sh-hat-tag em{display:block; margin-top:2px; font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:700; font-size:19px;}
.sh-hat-copy .sh-eyebrow{color:#8A6A1E;}
.sh-hat-copy h2{margin:10px 0 14px; font-size:clamp(46px,6.4vw,92px); line-height:.92; color:var(--sh-green);}
.sh-hat-copy .sh-line{margin:0; font-size:18px; line-height:1.6; color:#4a463e; max-width:460px;}
.sh-hat-copy .sh-price{color:var(--sh-green);}
.sh-hat-copy .sh-buy{background:var(--sh-green); color:var(--sh-cream);} .sh-hat-copy a.sh-buy:hover{color:var(--sh-cream);}
.sh-hat-copy .sh-buy.is-soon{background:transparent; color:var(--sh-green); border-color:var(--sh-green);}

/* The verse */
.sh-verse{position:relative; padding:210px 0 110px; background:var(--sh-navy); color:var(--sh-cream); overflow:hidden; text-align:center;}
.sh-ridge{position:absolute; left:0; right:0; top:26px; width:100%; height:170px; fill:none; stroke-linecap:round; stroke-linejoin:round; opacity:1 !important; transform:none !important;}
.sh-ridge path{stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 2.4s cubic-bezier(.45,0,.2,1);}
.sh-ridge-b{stroke:var(--sh-cream); stroke-width:2.5;}
.sh-ridge-a{stroke:rgba(241,230,200,.4); stroke-width:1.5; transition-delay:.3s !important;}
.sh-ridge-s{stroke:rgba(241,230,200,.6); stroke-width:1.5; transition-delay:1.1s !important;}
.sh-ridge.in path{stroke-dashoffset:0;}
.sh-verse blockquote{margin:0 auto; max-width:900px;}
.sh-verse blockquote p{margin:0; font-family:"Anton",sans-serif; text-transform:uppercase; font-size:clamp(26px,4.2vw,54px); line-height:1.12; letter-spacing:.01em;}
.sh-verse cite{display:block; margin-top:22px; font-style:normal; font-family:"Michroma","Space Mono",monospace; font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--sh-gold);}

/* Lookbook (appears when shop-look-*.jpg photos exist) and the optional note */
.sh-looks{padding:90px 0 70px; background:var(--sh-ink);}
.sh-look-row{display:flex; gap:22px; overflow-x:auto; padding:20px max(18px, calc((100vw - 1180px) / 2)) 36px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;}
.sh-look{flex:none; width:min(300px,70vw); aspect-ratio:4/5; margin:0; border-radius:18px; overflow:hidden; background:#222; transform:rotate(var(--r,0deg)); scroll-snap-align:center; box-shadow:0 30px 50px -30px #000; transition:transform .35s cubic-bezier(.3,1.4,.5,1);}
.sh-look:hover{transform:rotate(0deg) scale(1.04);}
.sh-look img{display:block; width:100%; height:100%; object-fit:cover; object-position:50% 20%;}
.sh-note{padding:60px 0 90px; text-align:center; background:var(--sh-paper);}
.sh-note p{margin:0 auto; max-width:720px; font-size:20px; line-height:1.5; font-weight:700; color:var(--sh-navy);}

@media (max-width:1000px){
  .sh-hero-in{grid-template-columns:1fr; padding-bottom:96px;}
  .sh-fan{height:clamp(210px,52vw,360px); max-width:520px; width:100%; margin:6px auto 0;}
  .sh-stage{grid-template-columns:1fr; grid-template-areas:"floor" "info" "rack"; gap:26px;}
  .sh-info{text-align:center;} .sh-color{justify-content:center;} .sh-info .sh-line{margin-inline:auto;}
  .sh-floor{padding-top:10px;}
  .sh-all{grid-template-columns:repeat(3,minmax(0,1fr));}
  .sh-hat{grid-template-columns:1fr; gap:44px;} .sh-hat-copy{text-align:center;} .sh-hat-copy .sh-line{margin-inline:auto;}
  .sh-hat-pic{max-width:340px;} .sh-hat-tag{left:-8px;}
  .sh-verse{padding:160px 0 80px;} .sh-ridge{height:110px;}
}
@media (max-width:640px){
  .sh-show{padding:72px 0 60px;}
  .sh-all{grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px;} .sh-item-t b{font-size:17px;} .sh-item-t em{font-size:12.5px;} .sh-item-go{font-size:12.5px; padding:8px 13px;} .sh-item-n{font-size:32px;}
  .sh-pick{width:calc(25% - 9px); min-width:70px;} .sh-pick-t b{font-size:11.5px;} .sh-pick-t em{font-size:10.5px;}
  .sh-turn{gap:8px;} .sh-side{padding:9px 12px;}
  .sh-hat-sec{padding:70px 0 80px;}
}
@media (prefers-reduced-motion: reduce){ .sh-w{animation:none; opacity:1; transform:none;} .sh-tick-in, .sh-bob, .sh-ring-in, .sh-dust i, .sh-fan-i img{animation:none;} .sh-ridge path{transition:none; stroke-dashoffset:0;} .sh-info-in.is-in > *{animation:none;} .sh-item-flip, .sh-item-card{transition:none;} }

/* ---- The Shop v3: the brand (hang-tag logo), kinetic type, sizes, a verse per piece, the rack, where it goes ---- */
/* The logo: a hang tag that swings from its string. */
.sh-logo{display:block; overflow:visible;}
.sh-logo-tag, .sh-logo text, .sh-logo path, .sh-logo circle, .sh-logo g{transform-box:view-box;}
.sh-tagwrap{display:inline-block; width:clamp(170px,19vw,250px); transform-origin:15% 50%; animation:shTagIn 1.1s cubic-bezier(.3,1.5,.5,1) both, shTagSwing 5s ease-in-out 1.1s infinite; filter:drop-shadow(0 18px 20px rgba(0,0,0,.55));}
@keyframes shTagIn{from{opacity:0; transform:translateY(-60px) rotate(-26deg);} to{opacity:1; transform:rotate(-5deg);}}
@keyframes shTagSwing{0%,100%{transform:rotate(-5deg);} 50%{transform:rotate(-1deg);}}
header.nav .lf-front .sh-brand{display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:9px 12px 9px 14px; box-sizing:border-box; background:#0B0F15;}
header.nav .lf-front .sh-brand .sh-logo{width:100%; height:100%;}
body.shop-page header.nav .lf-front{background:#0B0F15;}
/* Giant outlined words drifting behind the hero */
.sh-bigtype{position:absolute; left:0; right:0; top:15%; pointer-events:none; opacity:.5;}
.sh-bigtype div{display:flex; width:max-content; animation:shTick 60s linear infinite;}
.sh-bigtype div:nth-child(2){animation-direction:reverse; animation-duration:76s; margin-top:-1vw;}
.sh-bigtype span{flex:none; font-family:"Anton","Archivo Black",sans-serif; font-size:clamp(90px,17vw,260px); line-height:1; white-space:nowrap; color:transparent; -webkit-text-stroke:1.5px rgba(241,230,200,.34); padding-right:.2em;}
.sh-hero h1{margin-top:22px;}
.sh-hero-go{display:flex; flex-wrap:wrap; align-items:center; gap:12px;}
.sh-pill{display:inline-flex; align-items:center; gap:9px; padding:11px 16px; border-radius:99px; border:1px solid rgba(241,230,200,.5); background:rgba(11,15,21,.45); color:var(--sh-cream); font-size:13.5px; font-weight:700; text-decoration:none; transition:background .25s, color .25s;}
.sh-pill:hover{background:var(--sh-cream); color:var(--sh-navy);}
.sh-pill i{width:9px; height:9px; border-radius:50%; background:#6EE7A0; box-shadow:0 0 0 0 rgba(110,231,160,.7); animation:tenTap 1.8s ease-out infinite;}

/* Showroom: spotlights and a floor that runs to the horizon */
.sh-beams i{position:absolute; top:-12%; width:46%; height:120%; opacity:.5; pointer-events:none; background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0) 72%); -webkit-clip-path:polygon(44% 0, 56% 0, 100% 100%, 0 100%); clip-path:polygon(44% 0, 56% 0, 100% 100%, 0 100%); transform-origin:50% 0; animation:shBeam 9s ease-in-out infinite; animation-play-state:paused;}
.sh-beams i:nth-child(1){left:34%; transform:rotate(9deg);} .sh-beams i:nth-child(2){left:52%; transform:rotate(-8deg); animation-delay:-4.5s;}
.sh-show.is-live .sh-beams i{animation-play-state:running;}
@keyframes shBeam{0%,100%{transform:rotate(10deg);} 50%{transform:rotate(-9deg);}}
.sh-grid{position:absolute; left:-25%; right:-25%; bottom:0; height:46%; pointer-events:none; opacity:.5; background-image:linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size:64px 64px; transform:perspective(600px) rotateX(64deg); transform-origin:50% 100%; -webkit-mask:linear-gradient(180deg, transparent, #000 60%); mask:linear-gradient(180deg, transparent, #000 60%);}
.sh-horizon{height:38%;}
.sh-ring-in{visibility:hidden;}
.sh-ring-in.is-on{visibility:visible;}
.sh-ring-in[data-verse="kids"] b{color:#FFE27A;}
.sh-nav{position:absolute; top:38%; z-index:3; width:50px; height:50px; border-radius:50%; display:grid; place-items:center; border:1.5px solid rgba(255,255,255,.3); background:rgba(11,15,21,.5); color:#fff; cursor:pointer; transition:background .25s, color .25s, transform .25s, border-color .25s;}
.sh-nav:hover{background:var(--sh-cream); color:var(--sh-navy); border-color:var(--sh-cream); transform:scale(1.08);}
.sh-nav-p{left:0;} .sh-nav-n{right:0;}
.sh-price-row{display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:18px 0 0;}
.sh-price-row .sh-price{margin:0;}
.sh-price{position:relative; display:inline-block; padding:8px 16px 7px 28px; font-size:34px; color:var(--sh-navy); background:var(--sh-cream); -webkit-clip-path:polygon(16px 0, 100% 0, 100% 100%, 16px 100%, 0 50%); clip-path:polygon(16px 0, 100% 0, 100% 100%, 16px 100%, 0 50%);}
.sh-price::before{content:""; position:absolute; left:11px; top:50%; width:7px; height:7px; margin-top:-3.5px; border-radius:50%; background:var(--sh-ink);}
.sh-price[hidden]{display:none;}
.sh-gives-note{font-family:"Michroma","Space Mono",monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.6);}
.sh-size-row{display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:18px;}
.sh-size-lab{font-family:"Michroma","Space Mono",monospace; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,255,255,.6);}
.sh-sizes{display:flex; flex-wrap:wrap; gap:8px;}
.sh-size{font:inherit; min-width:46px; height:44px; padding:0 12px; display:inline-grid; place-items:center; border-radius:12px; border:1.5px solid rgba(255,255,255,.3); background:rgba(255,255,255,.04); color:#fff; font-weight:800; font-size:14px; cursor:pointer; transition:background .2s, color .2s, border-color .2s, transform .2s cubic-bezier(.3,1.6,.5,1);}
button.sh-size:hover{border-color:#fff; transform:translateY(-2px);}
.sh-size.is-on{background:var(--g, var(--sh-cream)); border-color:var(--g, var(--sh-cream)); color:#0B0F15; transform:translateY(-2px);}
/* The kids tee brings its own mood */
.sh-show[data-theme="kids"] .sh-dust i{background:#FFE27A; width:calc(var(--s) * 2.2); height:calc(var(--s) * 2.2);}
.sh-show[data-theme="kids"] .sh-dust i:nth-child(3n){background:#fff;} .sh-show[data-theme="kids"] .sh-dust i:nth-child(3n+1){background:#7CC4F5;}

/* The rack: a rail of hangers you can slide; the garments swing as it moves */
.sh-rack-sec{position:relative; padding:50px 0 100px; background:linear-gradient(180deg, var(--sh-ink), #0E141C);}
.sh-rail-wrap{position:relative;}
.sh-rail{--swing:0deg; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -webkit-overflow-scrolling:touch; cursor:grab; outline:none; padding:0 max(22px, calc((100vw - 1180px) / 2));}
.sh-rail::-webkit-scrollbar{display:none;}
.sh-rail.is-drag{cursor:grabbing;} .sh-rail.is-drag .sh-hang{pointer-events:none;}
.sh-rail-in{position:relative; display:flex; gap:22px; width:max-content; padding:34px 0 10px;}
.sh-rail-in::before{content:""; position:absolute; left:-100vw; right:-100vw; top:39px; height:9px; border-radius:9px; background:linear-gradient(180deg,#f4f6f8,#9aa3ad 55%,#5d6670); box-shadow:0 8px 16px -4px rgba(0,0,0,.7);}
.sh-hang{flex:none; width:clamp(210px,22vw,280px); display:flex; flex-direction:column; font:inherit; text-align:left; padding:0; border:0; background:none; color:#fff; cursor:pointer; text-decoration:none; -webkit-tap-highlight-color:transparent;}
.sh-hang-g{position:relative; display:block; transform-origin:50% 8px; transform:rotate(var(--swing)); transition:transform .7s cubic-bezier(.3,1.9,.4,1); transition-delay:calc(var(--i,0) * 22ms);}
.sh-hanger{display:block; width:62%; margin:0 auto -9%; position:relative; z-index:0;}
.sh-hang-g > img{position:relative; z-index:1; display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; filter:drop-shadow(0 22px 18px rgba(0,0,0,.6)); transition:transform .4s cubic-bezier(.3,1.5,.5,1);}
.sh-hang:hover .sh-hang-g > img, .sh-hang:focus-visible .sh-hang-g > img{transform:translateY(-6px) scale(1.04);}
.sh-hang-photo{position:relative; z-index:1; display:block; width:78%; margin:6% auto 0; aspect-ratio:4/5; border-radius:18px; overflow:hidden; box-shadow:0 22px 30px -16px rgba(0,0,0,.8);}
.sh-hang-photo img{display:block; width:100%; height:100%; object-fit:cover; object-position:50% 74%;}
.sh-hang-t{display:block; margin-top:14px; line-height:1.2;}
.sh-hang-t b{display:block; font-family:"Anton","Archivo Black",sans-serif; font-weight:400; font-size:21px; text-transform:uppercase; letter-spacing:.01em;}
.sh-hang-t em{display:flex; align-items:center; gap:7px; margin-top:6px; font-style:normal; font-size:13.5px; color:rgba(255,255,255,.66);}
.sh-hang-t em i{width:10px; height:10px; border-radius:50%; background:var(--g); box-shadow:0 0 10px var(--g);}
.sh-hang-p{display:flex; align-items:center; gap:12px; margin-top:12px;}
.sh-hang-p strong{font-family:"Anton",sans-serif; font-weight:400; font-size:24px; color:var(--sh-cream);}
.sh-hang-p > span{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:99px; border:1.5px solid rgba(255,255,255,.4); font-weight:800; font-size:13px; transition:background .25s, color .25s, border-color .25s;}
.sh-hang:hover .sh-hang-p > span, .sh-hang:focus-visible .sh-hang-p > span{background:var(--sh-cream); border-color:var(--sh-cream); color:var(--sh-navy);}
.sh-hang:focus-visible{outline:none;}
.sh-rail-btn{position:absolute; top:42%; z-index:3; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; border:1.5px solid rgba(255,255,255,.3); background:rgba(11,15,21,.72); color:#fff; cursor:pointer; transition:background .25s, color .25s, transform .25s;}
.sh-rail-btn:hover{background:var(--sh-cream); color:var(--sh-navy); transform:scale(1.08);}
.sh-rail-p{left:14px;} .sh-rail-n{right:14px;}

/* Where it goes */
.sh-give{position:relative; padding:96px 0 104px; background:#0E141C; color:#fff;}
.sh-give .sh-head{max-width:860px;}
.sh-give .sh-head h2{font-size:clamp(40px,6.4vw,92px); line-height:.95;}
.sh-give .sh-head h2 em{font-style:normal; color:var(--sh-cream);}
.sh-gives{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:8px;}
.sh-g{--rx:0deg; --ry:0deg; --px:50%; --py:0%; display:block; color:#fff; text-decoration:none; perspective:900px;}
.sh-g.reveal{transition-delay:calc(var(--i,0) * 70ms);}
.sh-g-card{position:relative; display:flex; flex-direction:column; min-height:230px; padding:22px 20px 20px; border-radius:22px; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:linear-gradient(rgba(13,17,24,.3), rgba(13,17,24,.88)), radial-gradient(130% 110% at 20% 0%, var(--g), #0d1118 80%); transform:rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .25s ease, border-color .3s, box-shadow .3s;}
.sh-g:hover .sh-g-card{border-color:var(--g); box-shadow:0 30px 54px -30px var(--g);}
.sh-g:hover .sh-item-glare{opacity:1;}
.sh-g-n{font-family:"Anton",sans-serif; font-size:40px; line-height:1; color:transparent; -webkit-text-stroke:1.2px rgba(255,255,255,.35);}
.sh-g-card b{margin-top:auto; padding-top:26px; font-family:"Anton","Archivo Black",sans-serif; font-weight:400; font-size:34px; line-height:1; text-transform:uppercase;}
.sh-g-l{margin-top:8px; font-size:14.5px; line-height:1.45; color:rgba(255,255,255,.78);}
.sh-g-go{margin-top:14px; font-weight:800; font-size:13.5px; color:var(--g);}
/* The hat sits on paper: its price tag and size chips need dark ink there */
.sh-hat-copy .sh-price{background:var(--sh-green); color:var(--sh-cream);} .sh-hat-copy .sh-price::before{background:var(--sh-paper);}
.sh-hat-copy .sh-gives-note, .sh-hat-copy .sh-size-lab{color:#6b665b;}
.sh-hat-copy .sh-size{border-color:var(--sh-green); background:var(--sh-green); color:var(--sh-cream); cursor:default; transform:none;}

@media (max-width:1000px){
  .sh-price-row, .sh-size-row{justify-content:center;}
  .sh-gives{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sh-nav{top:34%; width:44px; height:44px;}
  .sh-rail-btn{display:none;}
  .sh-bigtype{top:11%;}
}
@media (max-width:640px){
  .sh-hang{width:62vw;}
  .sh-gives{grid-template-columns:1fr 1fr; gap:12px;} .sh-g-card{min-height:200px; padding:18px 16px;} .sh-g-card b{font-size:26px;} .sh-g-l{font-size:13px;}
  .sh-nav-p{left:-6px;} .sh-nav-n{right:-6px;}
  .sh-pill{font-size:12.5px; padding:10px 14px;}
  .sh-give{padding:72px 0 80px;}
}
@media (prefers-reduced-motion: reduce){ .sh-tagwrap{animation:none; transform:rotate(-4deg);} .sh-bigtype div, .sh-beams i, .sh-pill i{animation:none;} .sh-hang-g{transition:none;} }

/* ---- Homepage: this month's big event (just above Start Here). One big link that leans toward the mouse. ---- */
.feat-ev-wrap{padding:56px 0 6px;}
.feat-ev{--rx:0deg; --ry:0deg; position:relative; display:block; overflow:hidden; border-radius:30px; min-height:330px; padding:44px clamp(22px,4.5vw,60px) 40px; color:#fff; text-decoration:none; background:linear-gradient(120deg,#24512E,#2A5680); box-shadow:0 44px 80px -44px rgba(12,20,30,.8); transform:perspective(1400px) rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .25s ease, box-shadow .35s ease;}
.feat-ev:hover{color:#fff; box-shadow:0 54px 90px -40px rgba(12,20,30,.9);}
.feat-ev.is-fall{background:#1F6F68; box-shadow:0 0 0 6px #F26B21, 0 44px 80px -40px rgba(120,50,10,.7);}
.feat-ev.is-fall:hover{box-shadow:0 0 0 6px #F9B21F, 0 54px 90px -40px rgba(120,50,10,.8);}
.fe-shine{position:absolute; top:-40%; bottom:-40%; left:-30%; width:22%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent); transform:skewX(-18deg) translateX(0); animation:feShine 5.5s cubic-bezier(.4,0,.2,1) 1.2s infinite; animation-play-state:paused; pointer-events:none;}
.feat-ev.is-live .fe-shine{animation-play-state:running;}
@keyframes feShine{0%,55%{transform:skewX(-18deg) translateX(0);} 100%{transform:skewX(-18deg) translateX(720%);}}
.fe-body{position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; max-width:760px;}
.fe-kick{display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#FCEFD2;}
.fe-kick i{width:10px; height:10px; border-radius:50%; background:#F9B21F; box-shadow:0 0 0 0 rgba(249,178,31,.7); animation:tenTap 1.8s ease-out infinite;}
.fe-count{padding:5px 11px; border-radius:99px; background:#F9B21F; color:#3b2a00; letter-spacing:.1em; font-weight:700;}
.fe-count[hidden]{display:none;}
.fe-title{margin-top:14px; font-family:"Archivo Black","Anton",sans-serif; font-size:clamp(46px,9vw,124px); line-height:.9; text-transform:uppercase; letter-spacing:-.01em; color:#fff; padding-bottom:.12em;}
.feat-ev.is-fall .fe-title{text-shadow:.03em .03em 0 #F9B21F, .06em .06em 0 #E8452C, .09em .09em 0 #7A1F2B, .12em .12em 0 #23284F;}
.fe-when{margin-top:18px; font-weight:800; font-size:clamp(16px,2vw,21px); color:#fff;}
.fe-note{margin-top:6px; font-size:16px; color:rgba(255,255,255,.88);}
.fe-go{margin-top:20px; display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border-radius:99px; background:#FCEFD2; color:#1F4E49; font-weight:800; font-size:15.5px; transition:transform .25s ease, background .25s;}
.feat-ev:hover .fe-go{transform:translateX(6px); background:#F9B21F;}
.feat-ev:focus-visible{outline:3px solid #F9B21F; outline-offset:6px;}
/* fall scene: bunting along the top, leaves on the breeze, a hayride rolling past the pumpkins */
.fe-bunting{position:absolute; left:-2%; right:-2%; top:0; height:34px; display:flex; justify-content:space-between; border-top:3px solid rgba(252,239,210,.55);}
.fe-bunting i{width:26px; height:30px; -webkit-clip-path:polygon(0 0,100% 0,50% 100%); clip-path:polygon(0 0,100% 0,50% 100%); background:#F26B21; transform-origin:50% 0; animation:feFlag 2.6s ease-in-out infinite; animation-delay:calc(var(--n) * -.19s); animation-play-state:paused;}
.fe-bunting i:nth-child(4n+1){background:#F9B21F;} .fe-bunting i:nth-child(4n+2){background:#E8452C;} .fe-bunting i:nth-child(4n+3){background:#FCEFD2;}
@keyframes feFlag{0%,100%{transform:rotate(-7deg);} 50%{transform:rotate(7deg);}}
.fe-leaves i{position:absolute; left:var(--x); top:-12%; width:var(--s); height:var(--s); opacity:0; animation:feLeaf var(--d) linear var(--o) infinite; animation-play-state:paused;}
.fe-leaves svg{display:block; width:100%; height:100%; fill:var(--c); color:var(--c); overflow:visible;}
@keyframes feLeaf{0%{opacity:0; transform:translate3d(0,0,0) rotate(0);} 8%{opacity:.95;} 50%{transform:translate3d(var(--dx),190px,0) rotate(200deg);} 92%{opacity:.9;} 100%{opacity:0; transform:translate3d(calc(var(--dx) * -.6),400px,0) rotate(420deg);}}
.fe-ground{position:absolute; left:0; right:0; bottom:0; height:92px; z-index:1; pointer-events:none; background:linear-gradient(180deg, transparent, rgba(16,60,56,.75));}
.fe-truck{position:absolute; bottom:8px; left:0; width:150px; animation:feDrive 15s linear infinite; animation-play-state:paused;}
.fe-truck svg{display:block; width:100%; height:auto; animation:feBump .5s ease-in-out infinite; animation-play-state:paused;}
@keyframes feDrive{from{transform:translateX(-180px);} to{transform:translateX(min(1320px, 100vw));}}
@keyframes feBump{0%,100%{transform:translateY(0);} 50%{transform:translateY(-2px);}}
.fe-pump{position:absolute; bottom:6px; width:56px; transform-origin:50% 100%; animation:fePump 2.4s ease-in-out infinite; animation-play-state:paused;}
.fe-pump svg{display:block; width:100%; height:auto;}
.fe-pump-a{right:5%;} .fe-pump-b{right:calc(5% + 46px); width:40px; animation-delay:-.8s;} .fe-pump-c{right:calc(5% + 96px); width:66px; animation-delay:-1.5s;}
@keyframes fePump{0%,100%{transform:scale(1,1);} 50%{transform:scale(1.06,.94);}}
.feat-ev.is-live .fe-bunting i, .feat-ev.is-live .fe-leaves i, .feat-ev.is-live .fe-truck, .feat-ev.is-live .fe-truck svg, .feat-ev.is-live .fe-pump, .feat-ev.is-live .fe-sparks i{animation-play-state:running;}
.fe-sparks i{position:absolute; left:var(--x); top:var(--y); width:10px; height:10px; background:#FFF3C4; -webkit-clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); opacity:0; animation:tenSpark 2.6s ease-in-out var(--o) infinite; animation-play-state:paused;}
@media (max-width:700px){
  .feat-ev-wrap{padding-top:40px;}
  .feat-ev{min-height:0; padding:52px 22px 112px; border-radius:24px;}
  .fe-bunting i{width:20px; height:24px;} .fe-bunting i:nth-child(n+10){display:none;}
  .fe-pump-c{display:none;}
}
@media (prefers-reduced-motion: reduce){ .fe-shine, .fe-bunting i, .fe-leaves i, .fe-truck, .fe-truck svg, .fe-pump, .fe-kick i{animation:none !important;} .fe-leaves{display:none;} .fe-truck{left:8%;} .feat-ev{transform:none;} }

/* ---- Fall Festival: the event map at the bottom, with cars pulling in and parking ---- */
.ff-map2{padding:70px 0 30px;}
.ff-map2-head{text-align:center; max-width:640px; margin:0 auto 26px;}
.ff-map2-head h2{font-size:clamp(34px,5.4vw,64px);}
.ff-map2-head p{margin-top:10px; font-size:17px; line-height:1.55;}
.ff-map2-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:22px; box-shadow:0 40px 70px -40px rgba(60,30,10,.7);}
.ff-map2-in{position:relative; min-width:860px;}
.ff-map2-in img{display:block; width:100%; height:auto;}
.ff-map2-cars{position:absolute; inset:0; width:100%; height:100%; pointer-events:none; filter:drop-shadow(0 3px 3px rgba(0,0,0,.35));}
.ff-map2-tip{margin:14px 0 0; text-align:center; font-size:14.5px;}
.ff-map2-tip a{font-weight:800; text-decoration:underline; text-underline-offset:3px;}
.ff-map2-swipe{display:none;}
@media (max-width:900px){ .ff-map2-swipe{display:inline;} }

/* ---- Midweek: what a Wednesday feels like ---- */
.mw-night{padding:30px 0 80px;}
.mw-night-in{display:grid; grid-template-columns:1.25fr .75fr; gap:44px; align-items:center;}
.mw-night-pic{position:relative; margin:0; border-radius:26px; padding:4px; background:linear-gradient(120deg,#EC4899,#8B5CF6 55%,#22D3C6); transform:rotate(-1.5deg); box-shadow:0 40px 80px -40px rgba(139,92,246,.9); transition:transform .5s cubic-bezier(.3,1.4,.5,1);}
.mw-night-pic:hover{transform:rotate(0deg) scale(1.015);}
.mw-night-pic img{display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:42% 40%; border-radius:22px;}
.mw-night-pic figcaption{position:absolute; left:18px; bottom:18px; padding:8px 13px; border-radius:99px; background:rgba(10,10,18,.78); color:#fff; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.mw-night-copy h2{font-size:clamp(46px,7vw,96px); line-height:.92; margin:8px 0 14px;}
.mw-night-copy p:not(.eyebrow){font-size:18px; line-height:1.6; margin:0 0 20px;}
@media (max-width:860px){ .mw-night-in{grid-template-columns:1fr; gap:26px;} .mw-night-copy{text-align:center;} .mw-night-copy .eyebrow{justify-content:center;} .mw-night{padding-bottom:60px;} }
@media (prefers-reduced-motion: reduce){ .mw-night-pic{transition:none;} }

/* ---- The Shop v4: a bigger, animated logo; the collection in series with a filter; a rack that really hangs ---- */
/* Logo: the tag drops in on its string, sways like a pendulum, and prints itself (ridge draws, SHOP stamps, a glint crosses it). */
.sh-tagwrap{width:clamp(250px,31vw,440px); margin-left:-6px; transform-origin:15% -300%; animation:shTagDrop 1.5s cubic-bezier(.3,1.25,.4,1) both, shTagSway 6s ease-in-out 1.5s infinite; filter:drop-shadow(0 26px 26px rgba(0,0,0,.6));}
@keyframes shTagDrop{0%{opacity:0; transform:translateY(-140%) rotate(9deg);} 55%{opacity:1; transform:translateY(0) rotate(-3.2deg);} 78%{transform:translateY(0) rotate(1.8deg);} 100%{opacity:1; transform:translateY(0) rotate(-1.1deg);}}
@keyframes shTagSway{0%,100%{transform:rotate(-1.1deg);} 50%{transform:rotate(1.1deg);}}
.sh-logo-big .sh-logo-back{transform-box:view-box; transform-origin:62px 125px; transform:rotate(8deg); animation:shTagBack 6s ease-in-out 1.5s infinite;}
@keyframes shTagBack{0%,100%{transform:rotate(8deg);} 50%{transform:rotate(5deg);}}
.sh-logo:not(.sh-logo-big) .sh-logo-back{transform-box:view-box; transform-origin:62px 125px; transform:rotate(7deg);}
.sh-logo-big .sh-logo-ridge{stroke-dasharray:1; stroke-dashoffset:1; animation:shInk 1s cubic-bezier(.45,0,.2,1) 1.25s forwards;}
@keyframes shInk{to{stroke-dashoffset:0;}}
.sh-logo-big .sh-logo-the{opacity:0; animation:shThe .6s ease 1.05s forwards;}
@keyframes shThe{from{opacity:0; transform:translateX(-14px);} to{opacity:1; transform:none;}}
.sh-logo-big .sh-logo-word{transform-box:fill-box; transform-origin:50% 60%; opacity:0; animation:shStamp .55s cubic-bezier(.2,1.5,.4,1) 1.5s forwards;}
@keyframes shStamp{0%{opacity:0; transform:scale(1.5) rotate(-4deg);} 60%{opacity:1;} 100%{opacity:1; transform:none;}}
.sh-logo-big .sh-logo-bars, .sh-logo-big .sh-logo-no{opacity:0; animation:shThe .5s ease 2s forwards;}
.sh-logo-big .sh-logo-shine{animation:shGlint 5s cubic-bezier(.4,0,.2,1) 2.4s infinite;}
@keyframes shGlint{0%,62%{transform:skewX(-18deg) translateX(0);} 100%{transform:skewX(-18deg) translateX(760px);}}
.sh-logo-big .sh-logo-eye{transform-box:fill-box; transform-origin:50% 50%; animation:shEye 5s linear 2s infinite;}
@keyframes shEye{to{transform:rotate(360deg);}}
header.nav .lf-front .sh-brand{overflow:hidden; padding:7px 10px;}
.sh-hero h1{margin-top:34px;}
@media (prefers-reduced-motion: reduce){ .sh-tagwrap, .sh-logo-big *{animation:none !important; opacity:1 !important;} .sh-logo-big .sh-logo-ridge{stroke-dashoffset:0;} }

/* The collection: series, a filter, and a card for every piece */
.sh-store{position:relative; padding:60px 0 90px; background:linear-gradient(180deg, var(--sh-ink), #0E141C);}
.sh-bar{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin:0 0 10px; padding:12px 14px 12px 18px; border-radius:18px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04);}
.sh-filter{display:flex; align-items:center; gap:12px; font-family:"Michroma","Space Mono",monospace; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,255,255,.7);}
.sh-select{position:relative; display:inline-block;}
.sh-select select{-webkit-appearance:none; appearance:none; font:inherit; font-family:"Manrope",system-ui,sans-serif; font-size:15.5px; font-weight:800; letter-spacing:0; text-transform:none; color:var(--sh-navy); background:var(--sh-cream); border:0; border-radius:99px; padding:12px 44px 12px 20px; cursor:pointer; min-width:240px;}
.sh-select select:focus-visible{outline:3px solid #fff; outline-offset:2px;}
.sh-select svg{position:absolute; right:18px; top:50%; margin-top:-6px; color:var(--sh-navy); pointer-events:none;}
.sh-found{margin:0; font-family:"Michroma","Space Mono",monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--sh-gold);}
.sh-series{padding-top:44px;}
.sh-series[hidden]{display:none;}
.sh-series-head{display:grid; grid-template-columns:auto 1fr; align-items:end; gap:4px 22px; margin-bottom:22px; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.14);}
.sh-series-k{grid-column:1 / -1; margin:0; font-family:"Michroma","Space Mono",monospace; font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--sh-gold);}
.sh-series-head h3{font-size:clamp(36px,5.2vw,68px); line-height:.95; color:#fff;}
.sh-series-l{margin:0 0 6px; font-size:16px; color:rgba(255,255,255,.7); justify-self:end; text-align:right;}
.sh-grid2{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.sh-prod{--rx:0deg; --ry:0deg; --px:50%; --py:0%; display:flex; flex-direction:column; border-radius:24px; overflow:hidden; border:1px solid rgba(255,255,255,.12); background:#121924; transition:border-color .3s, box-shadow .3s, transform .3s cubic-bezier(.3,1.4,.5,1);}
.sh-prod[hidden]{display:none;}
.sh-prod:hover{border-color:var(--g); box-shadow:0 34px 60px -34px var(--g); transform:translateY(-6px);}
.sh-prod.is-pop{animation:shPop .5s cubic-bezier(.2,1.2,.4,1) both;}
@keyframes shPop{from{opacity:0; transform:translateY(18px) scale(.96);} to{opacity:1; transform:none;}}
.sh-prod-pic{position:relative; display:block; width:100%; aspect-ratio:1/1.08; padding:0; border:0; cursor:pointer; font:inherit; color:#fff; text-decoration:none; overflow:hidden; perspective:900px; background:linear-gradient(rgba(13,17,24,.36), rgba(13,17,24,.88)), radial-gradient(130% 100% at 30% 0%, var(--g), #0d1118 78%);}
.sh-prod-pic .sh-item-flip{inset:6% 6% 2%; transform:rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .6s cubic-bezier(.3,.9,.3,1);}
.sh-prod:hover .sh-item-glare{opacity:1;}
@media (hover:hover) and (pointer:fine){ .sh-prod.has-back:hover .sh-item-flip{transform:rotateY(180deg);} }
.sh-prod-see{position:absolute; left:50%; bottom:12px; transform:translate(-50%,12px); padding:8px 14px; border-radius:99px; background:var(--sh-cream); color:var(--sh-navy); font-weight:800; font-size:12.5px; white-space:nowrap; opacity:0; transition:opacity .25s, transform .25s;}
.sh-prod:hover .sh-prod-see, .sh-prod-pic:focus-visible .sh-prod-see{opacity:1; transform:translate(-50%,0);}
.sh-prod-pic:focus-visible{outline:3px solid var(--sh-cream); outline-offset:-3px;}
.sh-prod-body{display:flex; flex-direction:column; gap:10px; padding:16px 16px 18px; flex:1;}
.sh-prod-top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.sh-prod-top h4{margin:0; font-family:"Anton","Archivo Black",sans-serif; font-weight:400; font-size:21px; line-height:1.05; text-transform:uppercase; letter-spacing:.01em; color:#fff;}
.sh-prod .sh-price{flex:none; font-size:22px; padding:6px 11px 5px 22px;}
.sh-prod .sh-price::before{left:8px; width:6px; height:6px; margin-top:-3px;}
.sh-prod-c{display:flex; align-items:center; gap:7px; margin:-4px 0 0; font-size:13.5px; color:rgba(255,255,255,.66);}
.sh-prod-c i{width:10px; height:10px; border-radius:50%; background:var(--g); box-shadow:0 0 10px var(--g);}
.sh-prod .sh-sizes{gap:6px;}
.sh-prod .sh-size{min-width:40px; height:38px; padding:0 9px; border-radius:10px; font-size:13px;}
.sh-prod span.sh-size{cursor:default; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.3); color:#fff; transform:none;}
.sh-prod-go{margin:auto 0 0; padding-top:4px;}
.sh-prod .sh-buy{padding:11px 18px; font-size:13.5px;}
.sh-prod .sh-buy.is-soon{font-size:10px;}
.sh-none{margin:40px 0 0; text-align:center; color:rgba(255,255,255,.7);}

/* The rack, fixed: every garment hangs from its collar on a hook that loops over the rail, and swings from that hook. */
.sh-rack-sec{background:#0E141C; padding:70px 0 100px;}
.sh-rail-in{padding-top:30px;}
.sh-rail-in::before{top:36px;}
.sh-hang-g{padding-top:calc(clamp(210px,22vw,280px) * .225); transform-origin:50% 12px; transform:rotate(calc(var(--swing) * var(--m, 1))); transition:none; will-change:transform;}
.sh-hanger{position:absolute; left:50%; top:0; width:66%; margin:0 0 0 -33%;}
.sh-hang-g > img{margin-top:calc(var(--t, 0) * -125%); margin-bottom:calc((var(--t, 0) - .04) * -125%);}
.sh-hang-photo{margin-top:6%;}
@media (max-width:640px){ .sh-hang-g{padding-top:calc(62vw * .225);} }

@media (max-width:1100px){ .sh-grid2{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:820px){ .sh-grid2{grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;} .sh-series-head{grid-template-columns:1fr;} .sh-series-l{justify-self:start; text-align:left;} .sh-prod-see{display:none;} }
@media (max-width:640px){
  .sh-bar{flex-direction:column; align-items:stretch; padding:14px;} .sh-filter{justify-content:space-between;} .sh-select, .sh-select select{width:100%; min-width:0;} .sh-select{flex:1;} .sh-found{text-align:center;}
  .sh-prod-top{flex-direction:column; gap:8px;} .sh-prod-top h4{font-size:18px;} .sh-prod-body{padding:14px 12px 16px;}
  .sh-prod .sh-size{min-width:36px; height:36px; padding:0 7px; font-size:12.5px;}
}
@media (prefers-reduced-motion: reduce){ .sh-prod.is-pop{animation:none;} .sh-prod, .sh-prod-pic .sh-item-flip{transition:none;} }
/* rack: every hanger column is the same height, so names and prices line up */
.sh-hang{--hw:clamp(210px,22vw,280px); width:var(--hw);}
.sh-hang-g{padding-top:calc(var(--hw) * .225); height:calc(var(--hw) * 1.40);}
@media (max-width:640px){ .sh-hang{--hw:62vw;} .sh-hang-g{padding-top:calc(var(--hw) * .225);} }

/* Shop logo without the string: it drops in and rocks on its eyelet instead of hanging. */
.sh-tagwrap{transform-origin:14% 50%; animation:shTagDrop2 1.2s cubic-bezier(.3,1.4,.4,1) both, shTagRock 6s ease-in-out 1.2s infinite;}
@keyframes shTagDrop2{0%{opacity:0; transform:translateY(-70px) rotate(-22deg) scale(.9);} 60%{opacity:1; transform:translateY(0) rotate(3deg);} 100%{opacity:1; transform:rotate(-3deg);}}
@keyframes shTagRock{0%,100%{transform:rotate(-3deg);} 50%{transform:rotate(1deg);}}

/* ================= Rising Hills Podcast: an "on air" studio in tungsten and red ================= */
.pc{--pc-ink:#0D0D10; --pc-panel:#17171C; --pc-amber:#FFB347; --pc-red:#FF3B30; --pc-cream:#F5EBD8; background:var(--pc-ink); color:#fff; overflow-x:clip;}
.pc h1, .pc h2, .pc h3{font-family:"Anton","Archivo Black",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.01em; margin:0;}
.pc-eyebrow{margin:0; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--pc-amber);}
.pc-head{text-align:center; max-width:680px; margin:0 auto 34px;}
.pc-head h2{font-size:clamp(46px,8vw,110px); line-height:.92; margin-top:10px;}
.pc-head p:not(.pc-eyebrow){margin:14px 0 0; font-size:17px; line-height:1.55; color:rgba(255,255,255,.72);}
.pc-btn{display:inline-flex; align-items:center; gap:10px; padding:15px 26px; border-radius:99px; background:var(--pc-amber); color:#1a1205; font-weight:800; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease;}
.pc-btn:hover{transform:translateY(-3px); color:#1a1205; box-shadow:0 20px 40px -16px rgba(255,179,71,.9);}
/* a small red "on air" light on the header logo */
body.pod-page header.nav .logo-flip::after{content:"ON AIR"; position:absolute; right:-10px; bottom:-8px; z-index:3; padding:3px 7px 2px; border-radius:6px; background:var(--pc-red, #FF3B30); color:#fff; font-family:"Space Mono",monospace; font-size:9.5px; font-weight:700; letter-spacing:.14em; box-shadow:0 0 14px rgba(255,59,48,.9); animation:pcBlink 2.4s steps(1,end) infinite;}
body.pod-page header.nav .logo-flip{position:relative;}
@keyframes pcBlink{0%,82%{opacity:1;} 83%,91%{opacity:.35;} 92%,100%{opacity:1;}}

/* Hero: the podcast room */
.pc-hero{position:relative; min-height:min(96vh,920px); display:flex; align-items:flex-end; overflow:hidden; background:radial-gradient(120% 90% at 78% 30%, #3a2410 0%, #17110b 42%, var(--pc-ink) 78%);}
.pc-hero-vid{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.pc-hero-room i{position:absolute; border-radius:50%; filter:blur(60px); opacity:.5; animation:pcGlow 9s ease-in-out infinite; animation-play-state:paused;}
.pc-hero-room i:nth-child(1){right:8%; top:12%; width:42vw; height:42vw; max-width:560px; max-height:560px; background:#FF8A2B;}
.pc-hero-room i:nth-child(2){left:-8%; bottom:-10%; width:36vw; height:36vw; max-width:480px; max-height:480px; background:#B3261E; animation-delay:-3s;}
.pc-hero-room i:nth-child(3){right:30%; bottom:6%; width:22vw; height:22vw; max-width:300px; max-height:300px; background:#FFD27A; opacity:.25; animation-delay:-6s;}
@keyframes pcGlow{0%,100%{transform:scale(1);} 50%{transform:scale(1.14);}}
.pc-hero-shade{position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,13,16,.6) 0%, rgba(13,13,16,.15) 40%, rgba(13,13,16,.96) 100%);}
.pc-wave{position:absolute; left:0; right:0; bottom:0; height:46%; display:flex; align-items:flex-end; gap:.5%; padding:0 1%; opacity:.5; -webkit-mask:linear-gradient(180deg, transparent, #000 55%); mask:linear-gradient(180deg, transparent, #000 55%);}
.pc-wave i{flex:1; height:var(--h); border-radius:4px 4px 0 0; background:linear-gradient(180deg, var(--pc-amber), rgba(255,59,48,.7)); transform-origin:50% 100%; transform:scaleY(.25); animation:pcBar var(--d) ease-in-out var(--o) infinite alternate; animation-play-state:paused;}
@keyframes pcBar{from{transform:scaleY(.18);} to{transform:scaleY(1);}}
.pc-hero.is-live .pc-wave i, .pc-hero.is-live .pc-hero-room i{animation-play-state:running;}
.pc-hero-in{position:relative; z-index:2; padding-top:160px; padding-bottom:84px;}
.pc-onair{display:inline-block; margin:0; padding:5px; border-radius:14px; background:#1c0907; border:2px solid #3a0f0b; box-shadow:0 0 0 1px rgba(0,0,0,.6), 0 20px 40px -18px rgba(0,0,0,.9);}
.pc-onair span{display:block; padding:9px 20px 7px; border-radius:9px; font-family:"Anton",sans-serif; font-size:26px; letter-spacing:.2em; text-transform:uppercase; color:#fff; background:var(--pc-red); text-shadow:0 0 12px rgba(255,255,255,.8); box-shadow:0 0 34px rgba(255,59,48,.95), inset 0 0 14px rgba(255,255,255,.35); animation:pcOn 3.2s steps(1,end) .3s both, pcBlink 5s steps(1,end) 4s infinite;}
@keyframes pcOn{0%{background:#3a0f0b; color:#6b2a25; box-shadow:none; text-shadow:none;} 8%{background:var(--pc-red); color:#fff; box-shadow:0 0 34px rgba(255,59,48,.95);} 12%{background:#3a0f0b; color:#6b2a25; box-shadow:none;} 20%,100%{background:var(--pc-red); color:#fff; box-shadow:0 0 34px rgba(255,59,48,.95), inset 0 0 14px rgba(255,255,255,.35); text-shadow:0 0 12px rgba(255,255,255,.8);}}
.pc-hero h1{margin:26px 0 0; line-height:.86;}
.pc-h-s{display:block; font-size:clamp(34px,5.4vw,78px); color:var(--pc-cream); animation:pcRise .9s cubic-bezier(.2,.9,.25,1) .2s both;}
.pc-h-b{display:block; font-size:clamp(84px,17vw,270px); color:#fff; padding-bottom:.04em; background:linear-gradient(180deg,#fff 30%, var(--pc-amber)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:pcRise 1s cubic-bezier(.2,.9,.25,1) .34s both;}
@keyframes pcRise{from{opacity:0; transform:translateY(.4em);} to{opacity:1; transform:none;}}
.pc-lede{margin:16px 0 0; font-size:clamp(17px,2.1vw,23px); color:rgba(255,255,255,.9);}
.pc-hero-go{display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:26px 0 0;}
.pc-status{display:inline-flex; align-items:center; gap:9px; padding:11px 16px; border-radius:99px; border:1px solid rgba(255,255,255,.3); font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pc-cream);}
.pc-status i{width:9px; height:9px; border-radius:50%; background:var(--pc-red); box-shadow:0 0 0 0 rgba(255,59,48,.7); animation:pcPing 1.8s ease-out infinite;}
@keyframes pcPing{0%{box-shadow:0 0 0 0 rgba(255,59,48,.7);} 100%{box-shadow:0 0 0 9px rgba(255,59,48,0);}}
.pc-listen{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:22px 0 0; font-size:13.5px;}
.pc-listen > span{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-right:4px;}
.pc-listen a, .pc-listen em{font-style:normal; font-weight:800; padding:8px 13px; border-radius:99px; border:1px solid rgba(255,255,255,.28); color:#fff; text-decoration:none;}
.pc-listen em{color:rgba(255,255,255,.5); border-style:dashed;}
.pc-listen a:hover{background:#fff; color:#111;}
.pc-listen b{font-family:"Space Mono",monospace; font-size:10.5px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-left:4px;}
.pc-mic{position:absolute; right:clamp(10px,7vw,120px); bottom:-40px; z-index:1; width:clamp(150px,19vw,270px); transform:rotate(9deg); filter:drop-shadow(0 30px 40px rgba(0,0,0,.8)) drop-shadow(0 0 40px rgba(255,150,60,.25)); animation:pcMic 7s ease-in-out infinite;}
.pc-mic svg{display:block; width:100%; height:auto;}
@keyframes pcMic{0%,100%{transform:rotate(9deg) translateY(0);} 50%{transform:rotate(7deg) translateY(-10px);}}

/* The tuner */
.pc-tuner-sec{padding:90px 0 60px;}
.pc-radio{--c:#FF6B3D; max-width:1060px; margin:0 auto; padding:18px; border-radius:34px; background:linear-gradient(180deg,#26262d,#141418); border:1px solid rgba(255,255,255,.1); box-shadow:0 60px 100px -50px #000, inset 0 2px 0 rgba(255,255,255,.08);}
.pc-screen{position:relative; overflow:hidden; border-radius:22px; min-height:330px; background:radial-gradient(120% 120% at 0% 0%, var(--c), #0b0b0e 62%); transition:background .5s ease; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), inset 0 30px 60px -30px rgba(0,0,0,.8);}
.pc-screen::after{content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 4px);}
.pc-static{position:absolute; inset:-50%; z-index:2; opacity:0; pointer-events:none; transition:opacity .15s; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); animation:pcStatic .35s steps(4) infinite; animation-play-state:paused;}
.pc-radio.is-static .pc-static{opacity:.55; animation-play-state:running;}
@keyframes pcStatic{0%{transform:translate(0,0);} 25%{transform:translate(-6%,4%);} 50%{transform:translate(5%,-7%);} 75%{transform:translate(-3%,-4%);} 100%{transform:translate(4%,6%);}}
.pc-show{position:absolute; inset:0; display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center; padding:34px; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .35s ease, transform .45s cubic-bezier(.2,.9,.25,1), visibility 0s .35s;}
.pc-show.is-on{opacity:1; visibility:visible; transform:none; transition-delay:0s;}
.pc-radio.is-static .pc-show.is-on{opacity:.25;}
.pc-show-f{margin:0; font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.75);}
.pc-show-f b{font-size:1.5em; color:#fff;}
.pc-show h3{margin:10px 0 12px; font-size:clamp(38px,5.6vw,80px); line-height:.92;}
.pc-show-l{margin:0; max-width:520px; font-size:18px; line-height:1.55; color:rgba(255,255,255,.88);}
.pc-show-s{margin:18px 0 0;}
.pc-show-s span{display:inline-block; padding:9px 14px; border-radius:99px; border:1.5px dashed rgba(255,255,255,.6); font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;}
/* cover art: a "coming soon" sleeve */
.pc-cover{position:relative; display:block; width:230px; aspect-ratio:1/1; flex:none; border-radius:16px; overflow:hidden; background:linear-gradient(150deg, var(--c), #16161b 82%); box-shadow:0 30px 50px -24px #000, inset 0 0 0 1px rgba(255,255,255,.14);}
.pc-cover.is-lg{width:100%;}
.pc-cover-rings{position:absolute; left:50%; top:54%; width:150%; aspect-ratio:1/1; transform:translate(-50%,-50%); border-radius:50%; background:repeating-radial-gradient(circle, rgba(0,0,0,.22) 0 2px, transparent 2px 9px); opacity:.7;}
.pc-cover-top{position:absolute; left:14px; top:12px; font-family:"Space Mono",monospace; font-size:9.5px; font-weight:700; line-height:1.4; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.9);}
.pc-cover-in{position:absolute; left:12px; bottom:28px; font-family:"Anton",sans-serif; font-size:118px; line-height:.8; letter-spacing:-.02em; color:#fff; mix-blend-mode:overlay;}
.pc-cover.is-lg .pc-cover-in{font-size:clamp(90px,11vw,150px);}
.pc-cover-name{position:absolute; left:14px; right:14px; bottom:10px; font-family:"Anton",sans-serif; font-size:15px; line-height:1.08; letter-spacing:.04em; text-transform:uppercase; color:#fff; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.pc-cover-soon{position:absolute; right:-44px; top:26px; width:180px; padding:6px 0; text-align:center; transform:rotate(38deg); background:var(--pc-cream); color:#15151a; font-family:"Space Mono",monospace; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; box-shadow:0 6px 14px -6px rgba(0,0,0,.7);}
/* the dial */
.pc-deck{display:grid; grid-template-columns:1fr auto; gap:26px; align-items:center; padding:22px 12px 8px 12px;}
.pc-band{position:relative; height:118px; border-radius:16px; background:#0c0c0f; box-shadow:inset 0 0 0 1px rgba(255,255,255,.1), inset 0 16px 26px -14px rgba(0,0,0,.9); cursor:ew-resize; touch-action:pan-y; outline:none; overflow:hidden;}
.pc-band:focus-visible{box-shadow:inset 0 0 0 2px var(--pc-amber);}
.pc-ticks{position:absolute; left:0; right:0; top:0; height:30px; background:repeating-linear-gradient(90deg, rgba(255,255,255,.5) 0 1.5px, transparent 1.5px 2%), repeating-linear-gradient(90deg, rgba(255,255,255,.9) 0 2px, transparent 2px 10%); background-size:auto 46%, auto 100%; background-repeat:repeat-x;}
.pc-needle{position:absolute; left:0; top:0; bottom:0; width:0; z-index:2; will-change:transform;}
.pc-needle::before{content:""; position:absolute; left:-2px; top:0; bottom:0; width:4px; border-radius:4px; background:var(--pc-red); box-shadow:0 0 16px 3px rgba(255,59,48,.85);}
.pc-st{position:absolute; top:38px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:3px; font:inherit; padding:6px 8px; border:0; background:none; color:rgba(255,255,255,.55); cursor:pointer; text-align:center; transition:color .25s;}
.pc-st b{font-family:"Space Mono",monospace; font-size:17px; font-weight:700;}
.pc-st span{font-size:11.5px; font-weight:800; line-height:1.15; max-width:110px;}
.pc-st.is-on{color:var(--c);}
.pc-st:hover{color:#fff;}
.pc-knob-wrap{display:flex; align-items:center; gap:12px;}
.pc-step{width:44px; height:44px; border-radius:50%; border:1.5px solid rgba(255,255,255,.3); background:rgba(255,255,255,.05); color:#fff; font-size:18px; cursor:pointer; transition:background .2s, color .2s;}
.pc-step:hover{background:var(--pc-amber); color:#1a1205; border-color:var(--pc-amber);}
.pc-knob{width:112px; height:112px; border-radius:50%; padding:9px; background:conic-gradient(from 0deg, #3b3b44, #17171b, #4a4a55, #17171b, #3b3b44); box-shadow:0 18px 30px -12px #000, inset 0 2px 0 rgba(255,255,255,.18); cursor:grab; touch-action:none; -webkit-user-select:none; user-select:none;}
.pc-knob.is-grab{cursor:grabbing;}
.pc-knob-in{position:relative; display:block; width:100%; height:100%; border-radius:50%; background:radial-gradient(circle at 34% 28%, #6a6a76, #26262c 62%); box-shadow:inset 0 0 0 2px rgba(0,0,0,.5); will-change:transform;}
.pc-knob-in i{position:absolute; left:50%; top:8px; width:5px; height:22px; margin-left:-2.5px; border-radius:4px; background:var(--pc-amber); box-shadow:0 0 10px var(--pc-amber);}

/* The shows as records */
.pc-shows-sec{padding:50px 0 90px;}
.pc-shows{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px;}
.pc-card{--rx:0deg; --ry:0deg; display:flex; flex-direction:column; font:inherit; text-align:left; padding:0; border:0; background:none; color:#fff; cursor:pointer; perspective:900px; -webkit-tap-highlight-color:transparent;}
.pc-card.reveal{transition-delay:calc(var(--i,0) * 70ms);}
.pc-card-art{position:relative; display:block; transform:rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .25s ease;}
.pc-card-art .pc-cover{position:relative; z-index:1;}
.pc-card-disc{position:absolute; right:0; top:4%; width:92%; aspect-ratio:1/1; border-radius:50%; background:radial-gradient(circle, var(--c) 0 13%, #0b0b0d 13.5% 15%, #1c1c20 15.5%), repeating-radial-gradient(circle, #101013 0 2px, #1f1f24 2px 4px); background-blend-mode:normal; box-shadow:0 20px 30px -16px #000; transform:translateX(0) rotate(0deg); transition:transform .6s cubic-bezier(.3,1.2,.4,1);}
.pc-card:hover .pc-card-disc, .pc-card:focus-visible .pc-card-disc{transform:translateX(26%) rotate(160deg);}
.pc-card-t{display:block; margin-top:18px;}
.pc-card-t b{display:block; font-family:"Anton","Archivo Black",sans-serif; font-weight:400; font-size:26px; line-height:1; text-transform:uppercase;}
.pc-card-t > span{display:block; margin-top:8px; font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.72);}
.pc-card-t em span{display:inline; margin:0; font-size:inherit; color:inherit;}
.pc-card-t em{display:inline-block; margin-top:12px; font-style:normal; font-weight:800; font-size:13.5px; color:var(--c);}
.pc-card:focus-visible{outline:none;} .pc-card:focus-visible .pc-cover{box-shadow:0 0 0 3px var(--pc-amber);}

/* Episodes */
.pc-eps-sec{padding:80px 0 110px; background:var(--pc-panel);}
.pc-eps-in{display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center;}
.pc-eps-copy h2{font-size:clamp(40px,5.6vw,80px); line-height:.94; margin:10px 0 14px;}
.pc-eps-copy p:not(.pc-eyebrow){font-size:17.5px; line-height:1.6; color:rgba(255,255,255,.78); margin:0 0 20px;}
.pc-eps{list-style:none; margin:0; padding:0; display:grid; gap:12px;}
.pc-ep{display:grid; grid-template-columns:auto auto 1fr; gap:16px; align-items:center; padding:16px 18px; border-radius:18px; background:#0f0f13; border:1px solid rgba(255,255,255,.08);}
.pc-ep-play{width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.07); color:rgba(255,255,255,.6);}
.pc-ep-t b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:20px; text-transform:uppercase; letter-spacing:.02em;}
.pc-ep-t span{font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--pc-amber);}
.pc-ep-wave{display:flex; align-items:center; gap:3px; height:38px; opacity:.35;}
.pc-ep-wave i{flex:1; height:var(--h); border-radius:3px; background:#fff;}

@media (max-width:1000px){
  .pc-cover:not(.is-lg) .pc-cover-soon, .pc-cover:not(.is-lg) .pc-cover-new{right:-50px; top:16px; width:160px; padding:5px 0; font-size:8.5px; letter-spacing:.12em;}
  .pc-cover:not(.is-lg) .pc-cover-top{font-size:8.5px; letter-spacing:.12em;}
  .pc-shows{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pc-eps-in{grid-template-columns:1fr; gap:30px;}
  .pc-show{grid-template-columns:1fr; gap:18px; padding:26px 22px; text-align:center; justify-items:center; position:relative; inset:auto; display:none;}
  .pc-show.is-on{display:grid;}
  .pc-cover{width:170px;} .pc-cover-in{font-size:86px;}
  .pc-screen{min-height:0;}
  .pc-show-l{margin-inline:auto;}
}
@media (max-width:700px){
  .pc-hero-in{padding-bottom:70px;}
  .pc-mic{right:-30px; opacity:.55; width:150px;}
  .pc-radio{padding:12px; border-radius:26px;}
  .pc-deck{grid-template-columns:1fr; gap:16px; justify-items:center; padding:16px 4px 6px;}
  .pc-band{width:100%; height:112px;}
  .pc-st b{font-size:14px;} .pc-st span{font-size:10px; max-width:74px;}
  .pc-knob{width:96px; height:96px;}
  .pc-shows{gap:16px 12px;} .pc-card-t b{font-size:20px;} .pc-card-t > span{font-size:13px;}
  .pc-cover.is-lg .pc-cover-soon, .pc-cover.is-lg .pc-cover-new{right:-50px; top:16px; width:160px; padding:5px 0; font-size:8.5px; letter-spacing:.12em;}
  .pc-cover.is-lg .pc-cover-top{font-size:8.5px; letter-spacing:.12em;}
  .pc-ep{grid-template-columns:auto 1fr; } .pc-ep-wave{display:none;}
  .pc-tuner-sec{padding-top:64px;}
}
@media (prefers-reduced-motion: reduce){ .pc-wave i, .pc-hero-room i, .pc-onair span, .pc-mic, .pc-static, .pc-status i, .pc-h-s, .pc-h-b{animation:none !important;} .pc-wave i{transform:scaleY(.6);} .pc-show, .pc-card-disc, .pc-card-art{transition:none;} body.pod-page header.nav .logo-flip::after{animation:none;} }
/* podcast headings are light on the dark studio */
.pc h1, .pc h2, .pc h3{color:#fff;}
.pc-eps-copy h2, .pc-head h2{color:#fff;}

/* ---- Homepage event banner v2: a slim band across the page, calm, with a green tractor pulling hay ---- */
.feat-ev-wrap{padding:44px 0 0;}
.feat-ev{min-height:0; padding:22px clamp(18px,3vw,38px) 66px; border-radius:24px; transform:none !important; transition:box-shadow .3s ease, transform .3s ease;}
.feat-ev.is-fall{box-shadow:0 0 0 4px #F26B21, 0 30px 60px -36px rgba(120,50,10,.7);}
.feat-ev.is-fall:hover{box-shadow:0 0 0 4px #F9B21F, 0 34px 64px -34px rgba(120,50,10,.8);}
.fe-body{position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px 34px; max-width:none;}
.fe-main{display:flex; flex-direction:column; align-items:flex-start; min-width:0;}
.fe-kick{font-size:11px;}
.fe-title{margin-top:6px; font-size:clamp(34px,5.2vw,68px); line-height:.95; white-space:nowrap; padding-bottom:.1em;}
.feat-ev.is-fall .fe-title{text-shadow:.03em .03em 0 #F9B21F, .06em .06em 0 #E8452C, .09em .09em 0 #7A1F2B;}
.fe-info{display:flex; flex-direction:column; min-width:0;}
.fe-when{margin:0; font-size:clamp(15px,1.5vw,19px);}
.fe-note{margin-top:4px; font-size:14.5px;}
.fe-go{margin:0; padding:13px 22px; white-space:nowrap;}
.feat-ev:hover .fe-go{transform:translateX(4px);}
/* the scene: a road along the bottom, a tractor rolling by at an easy pace, three pumpkins by the roadside */
.fe-ground{height:54px; background:none; border-top:0;}
.fe-ground::before{content:""; position:absolute; left:0; right:0; bottom:0; height:16px; background:#17524C;}
.fe-ground::after{content:""; position:absolute; left:0; right:0; bottom:16px; height:2px; background:rgba(252,239,210,.35);}
.fe-tractor{position:absolute; left:0; bottom:9px; width:178px; z-index:1; animation:feRoll 34s linear infinite; animation-play-state:paused; will-change:transform;}
.fe-tractor svg{display:block; width:100%; height:auto; overflow:visible;}
@keyframes feRoll{from{transform:translate3d(-200px,0,0);} to{transform:translate3d(min(1300px, 100vw),0,0);}}
.fe-wheel{transform-box:view-box; animation:feSpin 1.5s linear infinite; animation-play-state:paused;}
@keyframes feSpin{to{transform:rotate(360deg);}}
.feat-ev.is-live .fe-tractor, .feat-ev.is-live .fe-wheel{animation-play-state:running;}
.fe-pump{bottom:12px; z-index:2; animation:none !important;}
.fe-pump-a{right:3%; width:40px;} .fe-pump-b{right:calc(3% + 34px); width:28px;} .fe-pump-c{right:calc(3% + 66px); width:46px; display:block;}
.fe-leafs i{position:absolute; width:34px; height:34px; opacity:.5;}
.fe-leafs svg{display:block; width:100%; height:100%; overflow:visible;}
.fe-lf-a{right:20%; top:12px; transform:rotate(-24deg);} .fe-lf-a svg{fill:#F9B21F; color:#F9B21F;}
.fe-lf-b{right:8%; top:30px; width:24px; height:24px; transform:rotate(38deg);} .fe-lf-b svg{fill:#E8452C; color:#E8452C;}
.fe-lf-c{left:46%; top:8px; width:22px; height:22px; transform:rotate(12deg); opacity:.35;} .fe-lf-c svg{fill:#FCEFD2; color:#FCEFD2;}
@media (max-width:980px){
  .fe-body{grid-template-columns:1fr auto; }
  .fe-main{grid-column:1 / -1;}
}
@media (max-width:700px){
  .feat-ev-wrap{padding-top:30px;}
  .feat-ev{padding:20px 18px 70px; border-radius:20px;}
  .fe-body{grid-template-columns:1fr; gap:10px;}
  .fe-title{white-space:normal; font-size:clamp(38px,12vw,56px);}
  .fe-go{justify-self:start;}
  .fe-tractor{width:120px;} .fe-pump-c{display:none;} .fe-lf-c{display:none;}
}
@media (prefers-reduced-motion: reduce){ .fe-tractor{animation:none !important; transform:translate3d(8vw,0,0);} .fe-wheel{animation:none !important;} }

/* ---- Shop: the shirts' mountain above the verse ---- */
.sh-verse{padding:70px 0 110px;}
.sh-mtn{display:block; width:min(880px, 92%); height:auto; margin:0 auto 46px; overflow:visible;}
.sh-mtn.reveal{transition:opacity .9s ease, transform 1.1s cubic-bezier(.2,.9,.25,1);}
.js .sh-mtn.reveal{transform:translateY(40px);} .js .sh-mtn.reveal.in{transform:none;}
@media (max-width:700px){ .sh-verse{padding:54px 0 80px;} .sh-mtn{margin-bottom:30px;} }

/* ---- The rack: hangers inside the shirts. The frame sits behind the garment with its neck tucked under the
   collar, so only the hook shows above; on a front-facing shirt the hanger's neck shows through the collar opening. ---- */
.sh-hang-g{padding-top:calc(var(--hw) * .118); height:calc(var(--hw) * 1.30);}
@media (max-width:640px){ .sh-hang-g{padding-top:calc(var(--hw) * .118);} }
.sh-hanger{z-index:0;}
.sh-hang-g > img{z-index:1;}
.sh-hanger-in{position:absolute; left:50%; top:0; z-index:2; width:66%; margin-left:-33%; pointer-events:none; -webkit-clip-path:ellipse(13% calc(var(--nk, 0) * 440%) at 50% 43%); clip-path:ellipse(13% calc(var(--nk, 0) * 440%) at 50% 43%);}
.sh-hanger-in svg{display:block; width:100%; height:auto;}
.sh-hang:hover .sh-hanger-in, .sh-hang:focus-visible .sh-hanger-in{transform:translateY(-6px) scale(1.04); transition:transform .4s cubic-bezier(.3,1.5,.5,1);}
.sh-hanger-in{transition:transform .4s cubic-bezier(.3,1.5,.5,1); transform-origin:50% 60%;}
.sh-ring-in[data-verse="buddies"] b{color:#DCC6FF;}
/* only the hook and neck of the frame are ever outside the garment (matters for the hoodie, whose hood is narrower than a hanger) */
.sh-hanger{-webkit-clip-path:inset(0 0 46% 0); clip-path:inset(0 0 46% 0);}

/* ---- Shop: color dots (one shirt, more than one color) ---- */
.sh-swatches{display:inline-flex; align-items:center; gap:8px;}
.sh-sw{width:26px; height:26px; padding:0; border-radius:50%; border:2px solid rgba(255,255,255,.35); background:var(--sw); cursor:pointer; box-shadow:inset 0 0 0 2px rgba(0,0,0,.25); transition:transform .2s cubic-bezier(.3,1.6,.5,1), border-color .2s, box-shadow .2s;}
button.sh-sw:hover{transform:scale(1.12);}
.sh-sw.is-on{border-color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.28), inset 0 0 0 2px rgba(0,0,0,.25); transform:scale(1.12);}
.sh-sw:focus-visible{outline:2px solid #fff; outline-offset:3px;}
.sh-prod-c .sh-swatches{margin-left:auto;}
.sh-prod-c{min-height:28px;}
.sh-sw-row{display:flex; align-items:center; gap:12px; margin-top:12px;}
.sh-sw-row[hidden]{display:none;}
.sh-pick[hidden]{display:none;}
@media (max-width:1000px){ .sh-sw-row{justify-content:center;} }

/* ---- A staff member's own page (/staff/name/) ---- */
.sp-one{padding:150px 0 90px;}
.sp-one-in{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:50px; align-items:center;}
.sp-one-pic{margin:0; border-radius:28px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 40px 70px -40px rgba(12,20,30,.6);}
.sp-one-pic img{display:block; width:100%; height:100%; object-fit:cover;}
.sp-one-copy h1{font-size:clamp(44px,6.4vw,92px); line-height:.95; margin:10px 0 8px;}
.sp-one-copy .eyebrow a{text-decoration:none; color:inherit;}
.sp-one-title{font-family:"Space Mono",monospace; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-ink); margin:0 0 18px;}
.sp-one-title span{opacity:.6;}
.sp-one-copy p:not(.eyebrow):not(.sp-one-title):not(.sp-one-go){font-size:18px; line-height:1.65; margin:0 0 14px; color:var(--ink-soft);}
.sp-one-go{display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 0;}
.sp-one-gal{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:54px;}
.sp-one-gal img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:50% 25%; border-radius:18px;}
@media (max-width:860px){ .sp-one{padding:120px 0 70px;} .sp-one-in{grid-template-columns:1fr; gap:26px;} .sp-one-pic{max-width:340px;} .sp-one-gal{grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:36px;} }

/* ---- Church Center forms on the site (page-forms.php) ---- */
.ccf-wrap{--cc:var(--teal); --cc-rgb:var(--teal-rgb); position:relative; padding:150px 0 110px; overflow:clip; min-height:80vh;}
.ccf-buddies{--cc:#8B5CF6; --cc-rgb:139,92,246;}
.ccf-room{--cc:#B08A4F; --cc-rgb:176,138,79;}
.ccf-next{--cc:#3E7C5A; --cc-rgb:62,124,90;}
.ccf-glow{position:absolute; inset:-10% -10% auto -10%; height:620px; background:radial-gradient(60% 70% at 22% 20%, rgba(var(--cc-rgb),.2), transparent 70%), radial-gradient(40% 60% at 85% 0%, rgba(var(--cc-rgb),.12), transparent 70%); pointer-events:none;}
.ccf-in{position:relative; display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:56px; align-items:start;}
.ccf-side{position:sticky; top:120px;}
.ccf-eye{font-family:"Space Mono",monospace; font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cc); margin:0 0 14px;}
.ccf-eye a{color:inherit; text-decoration:none;}
.ccf-wrap h1{font-size:clamp(40px,5.4vw,76px); line-height:.98; margin:0 0 16px; color:var(--ink);}
.ccf-desc{font-size:18px; line-height:1.6; color:var(--ink-soft); margin:0 0 26px; max-width:46ch;}
.ccf-desc p{margin:0 0 10px;}
.ccf-meter{position:relative; width:132px; height:132px; margin:0 0 22px;}
.ccf-meter svg{display:block; width:100%; height:100%; transform:rotate(-90deg);}
.ccf-ring-bg{fill:none; stroke:rgba(var(--cc-rgb),.16); stroke-width:9;}
.ccf-ring{fill:none; stroke:var(--cc); stroke-width:9; stroke-linecap:round; stroke-dasharray:100; stroke-dashoffset:100; transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1);}
.ccf-meter-n{position:absolute; inset:0; display:grid; place-content:center; text-align:center; line-height:1;}
.ccf-meter-n b{font-size:40px; font-weight:800; color:var(--ink);}
.ccf-meter-n i{font-style:normal; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); margin-top:5px;}
.ccf-facts{list-style:none; margin:0; padding:0; display:grid; gap:9px; font-size:15px; color:var(--ink-soft);}
.ccf-facts li{position:relative; padding-left:26px;}
.ccf-facts li::before{content:""; position:absolute; left:2px; top:.42em; width:12px; height:7px; border-left:2.5px solid var(--cc); border-bottom:2.5px solid var(--cc); transform:rotate(-45deg);}
.ccf-card{position:relative; background:#fff; color:#1C2A1E; border-radius:26px; padding:54px 40px 40px; box-shadow:0 50px 90px -50px rgba(12,20,30,.55), 0 0 0 1px rgba(12,20,30,.06); overflow:hidden;}
.ccf-card-top{position:absolute; left:0; right:0; top:0; height:34px; display:flex; align-items:center; justify-content:center; gap:14px; background:var(--cc); color:#fff; font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.24em; text-transform:uppercase;}
.ccf-card-top b{font-weight:700;}
.ccf-card-top i{width:34px; height:1.5px; background:rgba(255,255,255,.55);}
.ccf-test{margin:0 0 20px; padding:12px 16px; border-radius:12px; background:#FFF6DA; border:1.5px solid #E7C65A; color:#5b4500; font-size:14px; line-height:1.5;}
.ccf-form{gap:20px;}
.ccf-card .rh-field label, .ccf-card .rh-choices legend{color:#1C2A1E; font-size:15.5px;}
.ccf-card .rh-choices label, .ccf-card .rh-check{color:#3a4a3d;}
.ccf-card .rh-fine{color:#6b776d;}
.ccf-head{margin-top:14px; padding-top:22px; border-top:1.5px dashed rgba(12,20,30,.14);}
.ccf-head-first{margin-top:0; padding-top:0; border-top:0;}
.ccf-head h3{font-size:24px; color:#1C2A1E; margin:0;}
.ccf-hint{font-size:13.5px; line-height:1.5; color:#6b776d; margin:0;}
.ccf-head .ccf-hint{margin-top:6px; font-size:15px;}
.ccf-q input:not([type=checkbox]):not([type=radio]), .ccf-q select, .ccf-q textarea{transition:border-color .2s, box-shadow .2s;}
.ccf-q input:focus, .ccf-q select:focus, .ccf-q textarea:focus{border-color:var(--cc); box-shadow:0 0 0 3px rgba(var(--cc-rgb),.2);}
.ccf-q.is-done > label::after, .ccf-q.is-done > legend::after{content:""; display:inline-block; width:11px; height:6px; margin-left:9px; border-left:2.5px solid var(--cc); border-bottom:2.5px solid var(--cc); transform:translateY(-3px) rotate(-45deg);}
.ccf-pillrow{display:flex; flex-wrap:wrap; gap:9px; margin-top:4px;}
.ccf-card .ccf-pill{position:relative; display:block; cursor:pointer;}
.ccf-pill input{position:absolute; opacity:0; width:100%; height:100%; inset:0; margin:0; cursor:pointer;}
.ccf-pill span{display:block; padding:11px 18px; border-radius:99px; border:1.5px solid rgba(12,20,30,.2); background:#fff; font-size:15px; font-weight:700; color:#2a3a2d; transition:background .2s, border-color .2s, color .2s, transform .2s;}
.ccf-pill:hover span{border-color:var(--cc);}
.ccf-pill input:checked + span{background:var(--cc); border-color:var(--cc); color:#fff; transform:scale(1.03);}
.ccf-pill input:focus-visible + span{box-shadow:0 0 0 3px rgba(var(--cc-rgb),.35);}
.ccf-pills.is-miss legend{color:#B4532F;}
.ccf-pills.is-miss .ccf-pill span{border-color:#B4532F;}
.ccf-yes .rh-check{font-size:16px; font-weight:700; color:#1C2A1E;}
.ccf-yes .rh-check input{accent-color:var(--cc);}
.ccf-yes .ccf-hint{margin:6px 0 0 30px;}
.ccf-card .rh-choices legend{padding:0;}
.ccf-addr{gap:10px;}
.ccf-addr .rh-field input{width:100%; height:auto; margin:0;}
.ccf-addr-row{grid-template-columns:1.5fr .6fr .8fr;}
.ccf-send{display:grid; gap:12px; margin-top:8px;}
.ccf-card .ccf-btn{position:relative; background-image:none; background-color:var(--cc); border-color:var(--cc); color:#fff; min-width:190px; justify-content:center;}
.ccf-btn-w{display:none; width:16px; height:16px; margin-left:10px; border-radius:50%; border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff; animation:ccfSpin .7s linear infinite;}
.is-sending .ccf-btn-w{display:inline-block;}
.is-sending .ccf-btn{opacity:.85; pointer-events:none;}
@keyframes ccfSpin{to{transform:rotate(360deg);}}
.ccf-thanks{position:relative; min-height:300px; padding:26px 0 6px;}
.ccf-thanks h2{font-size:clamp(34px,4.4vw,54px); color:#1C2A1E; margin:0 0 12px; max-width:11ch;}
.ccf-thanks p{font-size:18px; line-height:1.6; color:#3a4a3d; max-width:40ch; margin:0 0 22px;}
.ccf-stamp{position:absolute; right:4px; top:10px; display:grid; place-items:center; gap:2px; padding:14px 22px; border:4px double var(--cc); border-radius:12px; color:var(--cc); text-transform:uppercase; transform:rotate(-11deg); animation:ccfStamp .55s cubic-bezier(.2,1.5,.4,1) .25s both;}
.ccf-stamp b{font-size:26px; letter-spacing:.14em; font-weight:800; line-height:1;}
.ccf-stamp i{font-style:normal; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.16em;}
@keyframes ccfStamp{0%{opacity:0; transform:rotate(-24deg) scale(2.4);} 70%{opacity:1; transform:rotate(-9deg) scale(.94);} 100%{opacity:.92; transform:rotate(-11deg) scale(1);}}
.ccf-list h1{margin-bottom:10px;}
.ccf-grid{position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:34px;}
.ccf-tile{--cc:var(--teal); --cc-rgb:var(--teal-rgb); position:relative; display:grid; gap:8px; align-content:start; padding:26px 24px 24px; border-radius:22px; background:#fff; color:#1C2A1E; text-decoration:none; box-shadow:0 30px 60px -40px rgba(12,20,30,.5), 0 0 0 1px rgba(12,20,30,.06); border-top:6px solid var(--cc); transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; animation:ccfUp .6s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--i) * 60ms);}
.ccf-tile:hover{transform:translateY(-6px) rotate(-.6deg); box-shadow:0 40px 70px -36px rgba(var(--cc-rgb),.6), 0 0 0 1px rgba(12,20,30,.06);}
.ccf-tile-eye{font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cc);}
.ccf-tile b{font-size:24px; line-height:1.1;}
.ccf-tile-p{font-size:15px; line-height:1.5; color:#4a5a4d;}
.ccf-tile-go{margin-top:8px; font-weight:800; font-size:14.5px; color:var(--cc);}
@keyframes ccfUp{from{opacity:0; transform:translateY(18px);}}
@media (max-width:980px){ .ccf-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:860px){
  .ccf-wrap{padding:118px 0 80px;}
  .ccf-in{grid-template-columns:1fr; gap:26px;}
  .ccf-side{position:static;}
  .ccf-desc{margin-bottom:18px;}
  .ccf-meter{position:fixed; right:14px; bottom:14px; z-index:40; width:74px; height:74px; margin:0; background:#fff; border-radius:50%; box-shadow:0 14px 30px -12px rgba(12,20,30,.5);}
  .ccf-meter-n b{font-size:22px;} .ccf-meter-n i{font-size:8.5px; margin-top:2px;}
  .ccf-facts{display:none;}
  .ccf-card{padding:50px 20px 28px; border-radius:22px;}
  .ccf-addr-row{grid-template-columns:1fr 1fr;} .ccf-addr-row .rh-field:first-child{grid-column:1 / -1;}
  .ccf-stamp{position:relative; right:auto; top:auto; display:inline-grid; margin:0 0 18px;}
  .ccf-btn{width:100%;}
}
@media (max-width:600px){ .ccf-grid{grid-template-columns:1fr;} .ccf-pill span{padding:12px 16px;} }
@media (prefers-reduced-motion:reduce){ .ccf-stamp, .ccf-tile{animation:none;} .ccf-ring{transition:none;} }
.sp-one-in:not(:has(.sp-one-pic)){grid-template-columns:1fr; max-width:820px;}

/* ---- Prayer request: "send anonymously" switch ---- */
.pr-anon{align-items:center !important; font-weight:700; width:max-content; max-width:100%;}
.pr-anon input{position:absolute; opacity:0; width:1px !important; height:1px !important;}
.pr-anon-sw{flex:none; position:relative; width:44px; height:26px; border-radius:99px; background:var(--line-strong); transition:background .25s;}
.pr-anon-sw::after{content:""; position:absolute; left:3px; top:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.25); transition:transform .25s cubic-bezier(.2,.8,.2,1);}
.pr-anon input:checked + .pr-anon-sw{background:var(--teal);}
.pr-anon input:checked + .pr-anon-sw::after{transform:translateX(18px);}
.pr-anon input:focus-visible + .pr-anon-sw{box-shadow:0 0 0 3px rgba(var(--teal-rgb),.35);}
.pr-who[hidden]{display:none;}

/* ---- Staff page: the two pastors always side by side, joined by a seal; flat, smooth motion on phones ---- */
.staff-page .staff-featured{position:relative;}
.lead-amp{position:absolute; left:50%; top:50%; z-index:4; width:78px; height:78px; margin:-39px 0 0 -39px; border-radius:50%; display:grid; place-items:center; background:#fff; color:#1C2A1E; box-shadow:0 0 0 4px #C8A96A, 0 0 0 10px rgba(255,255,255,.85), 0 18px 34px -12px rgba(12,20,30,.6); pointer-events:none; animation:leadAmp .7s cubic-bezier(.2,1.5,.4,1) 1.5s both;}
.lead-amp i{font-style:normal; font-family:"Anton","Bebas Neue",Impact,sans-serif; font-size:40px; line-height:1; transform:translateY(-2px);}
@keyframes leadAmp{from{opacity:0; transform:scale(.2) rotate(-40deg);} to{opacity:1; transform:none;}}
@media (prefers-reduced-motion:no-preference){
  .staff-lead .staff-featured .staff-card:nth-child(1){translate:-60px 0;}
  .staff-lead .staff-featured .staff-card:nth-child(2){translate:60px 0;}
}
@media (prefers-reduced-motion:reduce){ .lead-amp{animation:none;} }
@media (max-width:640px){
  .staff-page .staff-featured{grid-template-columns:1fr 1fr; gap:10px;}
  .staff-page .lead-panel{padding:20px 12px 12px;}
  .staff-page .staff-card{border-radius:16px; aspect-ratio:3/4.5;}
  .staff-page .staff-info{padding:12px 11px;}
  .staff-page .staff-info .l-name{font-size:19px; line-height:1.05;}
  .staff-page .staff-info .l-tag{display:inline-block; font-size:9.5px; letter-spacing:.06em; padding:4px 8px; border-radius:99px; color:#fff; background:rgba(255,255,255,.2); margin-bottom:6px;}
  .staff-page .staff-view{font-size:10.5px; margin-top:7px; gap:4px; color:#F1E3BF;}
  .staff-page .staff-shade{background:linear-gradient(180deg, transparent 38%, rgba(8,14,10,.92) 100%);}
  .staff-page .staff-view svg{width:11px; height:11px;}
  .lead-amp{top:40%; width:50px; height:50px; margin:-25px 0 0 -25px; box-shadow:0 0 0 3px #C8A96A, 0 0 0 7px rgba(255,255,255,.85), 0 12px 24px -10px rgba(12,20,30,.6);}
  .lead-amp i{font-size:26px;}
}
@media (max-width:640px) and (prefers-reduced-motion:no-preference){
  .staff-lead .staff-featured .staff-card:nth-child(1){translate:-34px 0;}
  .staff-lead .staff-featured .staff-card:nth-child(2){translate:34px 0;}
}
/* Phones: the photo drifts inside its frame as you scroll (the card itself stays flat), and a soft ring lights up near the middle of the screen. */
.staff-page .staff-card .sp{transform:translate(calc(var(--mx,0) * -18px), calc(var(--my,0) * -18px + var(--sy,0) * -12px)) scale(1.02);}
.staff-page .crew-photo img{transform:translate(calc(var(--mx,0) * -8px), calc(var(--my,0) * -8px + var(--sy,0) * -7px));}
@media (hover:none){
  .staff-page .staff-card .sp, .staff-page .crew-photo img{transition:transform .35s cubic-bezier(.2,.8,.2,1);}
  .staff-page .crew-photo{box-shadow:0 0 0 calc(var(--near,0) * 6px) rgba(var(--teal-rgb),.22); transition:box-shadow .4s ease;}
  .js #crewGrid.io .crew-card{opacity:0; transform:translateY(38px) scale(.965); transition:opacity .7s ease, transform .85s cubic-bezier(.2,.8,.2,1); transition-delay:0s;}
  .js #crewGrid.io .crew-card.seen{opacity:1; transform:none;}
}
.staff-page .staff-card .l-tag{color:#fff !important;}
.staff-page .staff-card .staff-view{color:#F1E3BF !important;}

/* ================= Staff page, v2: the team in orbit, a role marquee, and cards with spinning halos ================= */
/* ---- Hero orbit ---- */
.staff-hero .container{position:relative;}
.so{position:relative; margin:34px auto 0; height:300px; max-width:520px; perspective:1100px; touch-action:pan-y; user-select:none; -webkit-user-select:none; opacity:0; animation:bpFade .9s .6s ease forwards;}
.so-ring{position:absolute; inset:0; display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-content:center;}
.so-face{position:relative; display:grid; justify-items:center; gap:5px; padding:0; border:0; background:none; cursor:pointer; color:var(--ink); font:inherit; -webkit-tap-highlight-color:transparent;}
.so-pic{display:block; width:64px; height:64px; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:0 14px 26px -12px rgba(12,20,30,.65), 0 0 0 2px rgba(200,169,106,.0); transition:box-shadow .3s ease, transform .3s cubic-bezier(.2,.8,.2,1); background:var(--surface-2);}
.so-pic img{display:block; width:100%; height:100%; object-fit:cover; pointer-events:none;}
.so-face b{font-family:"Space Mono",monospace; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; padding:2px 7px; border-radius:99px; background:rgba(255,255,255,.9); color:#1C2A1E; opacity:0; transition:opacity .25s ease;}
.so-face:hover .so-pic, .so-face:focus-visible .so-pic{transform:scale(1.14); box-shadow:0 18px 30px -12px rgba(12,20,30,.7), 0 0 0 3px #C8A96A;}
.so-face:hover b, .so-face:focus-visible b, .so-face.is-front b{opacity:1;}
.so-face:focus-visible{outline:none;}
.so.is-3d{cursor:grab;}
.so.is-3d.is-drag{cursor:grabbing;}
.so.is-3d .so-ring{display:block;}
.so.is-3d .so-face{position:absolute; left:50%; top:50%; margin:-40px 0 0 -32px; will-change:transform, opacity;}
.so-core{z-index:50; position:absolute; left:50%; top:50%; width:104px; height:104px; margin:-58px 0 0 -52px; border-radius:50%; display:none; place-items:center; background:radial-gradient(circle at 35% 30%, #fff, #EFE7D6); box-shadow:0 0 0 1px rgba(200,169,106,.6), 0 0 60px 8px rgba(200,169,106,.35), 0 26px 40px -18px rgba(12,20,30,.6); animation:soPulse 4.5s ease-in-out infinite;}
.so-core img{width:62%; height:auto; display:block;}
.so.is-3d .so-core{display:grid;}
.so-floor{position:absolute; left:50%; bottom:26px; width:78%; height:54px; margin-left:-39%; border-radius:50%; background:radial-gradient(closest-side, rgba(12,20,30,.22), transparent); display:none;}
.so.is-3d .so-floor{display:block;}
.so-hint{position:absolute; left:0; right:0; bottom:-6px; margin:0; text-align:center; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); display:none;}
.so.is-3d .so-hint{display:block;}
.so-hint span{display:inline-block; animation:soNudge 1.6s ease-in-out infinite;}
.so-hint span:last-child{animation-direction:reverse;}
@keyframes soPulse{50%{transform:scale(1.05);}}
@keyframes soNudge{50%{transform:translateX(-5px);}}
@media (min-width:1000px){
  .staff-hero .container{min-height:430px;}
  .staff-hero .back-link, .staff-hero .eyebrow, .staff-hero .sh-title, .staff-hero .intro{max-width:52%;}
  .so{position:absolute; right:0; top:6px; margin:0; width:46%; max-width:none; height:420px;}
  .so-pic{width:92px; height:92px;}
  .so.is-3d .so-face{margin:-56px 0 0 -46px;}
  .so-face b{font-size:11px;}
  .so-core{width:140px; height:140px; margin:-80px 0 0 -70px;}
}
/* ---- Role marquee ---- */
.sm-band{position:relative; z-index:1; margin:54px 0 0; padding:16px 0; background:#1C2A1E; color:#F4EEDF; transform:rotate(-1.6deg) scale(1.04); overflow:hidden; box-shadow:0 30px 60px -34px rgba(12,20,30,.7);}
.sm-row{overflow:hidden; white-space:nowrap;}
.sm-track{display:inline-flex; align-items:center; gap:22px; padding-right:22px; animation:smGo 46s linear infinite; will-change:transform;}
.sm-row.rev .sm-track{animation-direction:reverse; animation-duration:58s;}
.sm-track span{font-family:"Anton","Bebas Neue",Impact,sans-serif; font-size:clamp(24px,3.6vw,46px); letter-spacing:.03em; text-transform:uppercase; line-height:1.15;}
.sm-row.rev .sm-track span{color:transparent; -webkit-text-stroke:1.3px rgba(244,238,223,.75);}
.sm-track i{flex:none; width:11px; height:11px; border-radius:50%; background:#C8A96A;}
@keyframes smGo{to{transform:translateX(-50%);}}
/* ---- The team cards ---- */
.staff-crew{position:relative; overflow:clip;}
.sc-orb{position:absolute; width:44vmax; height:44vmax; border-radius:50%; filter:blur(70px); opacity:.2; pointer-events:none; animation:shFloat 16s ease-in-out infinite alternate;}
.sc-orb-a{background:#2E6B3E; left:-18vmax; top:8%;}
.sc-orb-b{background:#2A5680; right:-20vmax; bottom:4%; animation-delay:-7s;}
.staff-crew .container{position:relative;}
.staff-page .crew-card{--tc:#2E6B3E; --tc2:#2A5680; background:linear-gradient(180deg, color-mix(in srgb, var(--tc) 9%, #fff) 0, #fff 46%); border:1px solid color-mix(in srgb, var(--tc) 22%, transparent); box-shadow:0 26px 50px -34px rgba(12,20,30,.5);}
.staff-page .crew-card[data-team="pastors"]{--tc:#B08A4F; --tc2:#2E6B3E;}
.staff-page .crew-card[data-team="midweek"]{--tc:#8B5CF6; --tc2:#EC4899;}
.staff-page .crew-card.is-mw{--tc:var(--mc,#8B5CF6);}
.staff-page .crew-card h3{color:#1C2A1E;}
.staff-page .crew-card .c-title{color:var(--tc) !important;}
.crew-no{position:absolute; left:14px; top:8px; font-family:"Anton","Bebas Neue",Impact,sans-serif; font-size:54px; line-height:1; color:transparent; -webkit-text-stroke:1.4px color-mix(in srgb, var(--tc) 38%, transparent); pointer-events:none;}
.crew-ph{position:relative; width:max-content; margin:0 auto; transform-style:preserve-3d;}
.crew-halo{position:absolute; inset:-9px; border-radius:50%; background:conic-gradient(from 0deg, var(--tc), var(--tc2), #C8A96A, var(--tc)); -webkit-mask:radial-gradient(closest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)); mask:radial-gradient(closest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)); animation:crewSpin 9s linear infinite; opacity:.9;}
.crew-halo::after{content:""; position:absolute; inset:0; border-radius:50%; background:inherit; filter:blur(10px); opacity:.55;}
@keyframes crewSpin{to{transform:rotate(360deg);}}
.staff-page .crew-photo{border-color:#fff !important; border-width:4px;}
.staff-page .crew-card::after{content:""; position:absolute; top:-20%; bottom:-20%; left:-60%; width:38%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.75), transparent); transform:translateX(0) skewX(-14deg); opacity:0; pointer-events:none;}
@media (hover:hover){
  .staff-page .crew-card:hover{border-color:var(--tc); box-shadow:0 40px 70px -30px color-mix(in srgb, var(--tc) 60%, transparent);}
  .staff-page .crew-card:hover::after{opacity:1; transform:translateX(480%) skewX(-14deg); transition:transform .9s cubic-bezier(.2,.8,.2,1), opacity .2s;}
  .staff-page .crew-card:hover .crew-halo{animation-duration:2.4s;}
  .staff-page .crew-card:hover .crew-no{-webkit-text-stroke-color:var(--tc);}
  /* Cards are dealt in from the left like a hand of cards. */
  .js #crewGrid .crew-card{opacity:0; transform:perspective(1100px) translate3d(-60px,50px,-220px) rotateY(38deg) rotateZ(-5deg);}
  .js #crewGrid.in .crew-card{opacity:1; transform:none; transition:opacity .5s ease, transform .9s cubic-bezier(.16,1,.3,1), border-color .3s ease, box-shadow .3s ease; transition-delay:calc(var(--d,0) * 80ms);}
  .js #crewGrid.in .crew-card:hover{transition-delay:0s;}
}
@media (hover:none){
  .staff-page .crew-halo{animation-duration:calc(9s - var(--near,0) * 6s);}
}
@media (max-width:640px){ .sm-band{margin-top:40px; padding:12px 0;} .so{height:270px;} .crew-no{font-size:46px;} }
@media (prefers-reduced-motion:reduce){ .so{opacity:1; animation:none;} .so-core, .so-hint span, .sm-track, .crew-halo, .sc-orb{animation:none;} }
/* Staff cards: a short last row sits in the middle instead of hugging the left. */
@media (min-width:861px){
  .staff-page .crew-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:20px;}
  .staff-page .crew-grid .crew-card{flex:0 0 calc((100% - 40px) / 3); min-width:0;}
}
@media (min-width:1100px){
  .staff-page .crew-grid{gap:18px;}
  .staff-page .crew-grid .crew-card{flex-basis:calc((100% - 54px) / 4);}
}
/* Orbit centre: just the RH mark, big and solid-looking (stacked edges for thickness), slowly turning. No ball. */
.staff-page .so-core{width:190px; height:auto; aspect-ratio:687/367; margin:-62px 0 0 -95px; border-radius:0; background:none; box-shadow:none; animation:none; perspective:700px;}
.staff-page .so-core img{width:100%; filter:drop-shadow(1px 1px 0 #0E2233) drop-shadow(1px 1px 0 #0E2233) drop-shadow(1px 1px 0 #0E2233) drop-shadow(1px 1px 0 #0E2233) drop-shadow(1px 1px 0 #0A1926) drop-shadow(1px 1px 0 #0A1926) drop-shadow(0 22px 18px rgba(12,20,30,.45)); animation:soTurn 7s ease-in-out infinite alternate; will-change:transform;}
.staff-page .so-core::before{content:""; position:absolute; inset:-30% -20%; z-index:-1; background:radial-gradient(closest-side, rgba(255,255,255,.75), rgba(200,169,106,.22) 55%, transparent 75%); pointer-events:none;}
@keyframes soTurn{from{transform:rotateY(-24deg) rotateX(6deg);} to{transform:rotateY(24deg) rotateX(-4deg);}}
@media (min-width:1000px){ .staff-page .so-core{width:290px; margin:-96px 0 0 -145px;} }
@media (prefers-reduced-motion:reduce){ .staff-page .so-core img{animation:none;} }
.staff-page .so-core{margin-top:-92px;}
@media (min-width:1000px){ .staff-page .so-core{margin-top:-134px;} }

/* Orbit centre, final: a flat RH mark (no ball, no 3D), a bit smaller. During the 10-year anniversary it fades from its regular colours to gold and back. */
.staff-page .so-core{width:150px; margin:-70px 0 0 -75px; perspective:none;}
.staff-page .so-core::before{display:none;}
.staff-page .so-core img{filter:drop-shadow(0 10px 12px rgba(12,20,30,.22)); animation:none; transform:none; will-change:auto;}
.staff-page .so-core .so-gold{position:absolute; left:0; top:0; opacity:0; animation:soGold 9s ease-in-out 1.5s infinite;}
@keyframes soGold{0%, 22%{opacity:0;} 42%, 72%{opacity:1;} 92%, 100%{opacity:0;}}
@media (min-width:1000px){ .staff-page .so-core{width:210px; margin:-100px 0 0 -105px;} }
@media (prefers-reduced-motion:reduce){ .staff-page .so-core .so-gold{animation:none; opacity:1;} }
/* The mark sits at the middle of the ring, so the team passes behind it and in front of it. */
.staff-page .so-core{margin-top:-44px;}
@media (min-width:1000px){ .staff-page .so-core{margin-top:-62px;} }

/* Orbit centre, v3: no logo. The person at the front of the ring is featured in the middle, big, with their name and role above. */
.so-who{position:absolute; left:0; right:0; top:0; z-index:60; margin:0; text-align:center; pointer-events:none; display:none;}
.so.is-3d .so-who{display:block;}
.so-who b{display:block; font-family:"Anton","Bebas Neue",Impact,sans-serif; font-weight:400; font-size:24px; line-height:1.05; letter-spacing:.02em; text-transform:uppercase; color:var(--ink);}
.so-who span{display:block; margin-top:3px; font-family:"Space Mono",monospace; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#9C7A2E;}
.so-who.in b{animation:soWho .5s cubic-bezier(.2,.8,.2,1) both;}
.so-who.in span{animation:soWho .5s cubic-bezier(.2,.8,.2,1) .08s both;}
@keyframes soWho{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}
.so-star{position:absolute; left:50%; top:50%; z-index:50; width:112px; height:112px; margin:-84px 0 0 -56px; padding:0; border:0; border-radius:50%; background:none; cursor:pointer; display:none; -webkit-tap-highlight-color:transparent;}
.so.is-3d .so-star{display:block;}
.so-star-pic{position:absolute; inset:0; border-radius:50%; overflow:hidden; border:4px solid #fff; background:var(--surface-2); box-shadow:0 26px 40px -18px rgba(12,20,30,.65);}
.so-star-pic img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.08); transition:opacity .6s ease, transform .9s cubic-bezier(.2,.8,.2,1); pointer-events:none;}
.so-star-pic img.on{opacity:1; transform:none;}
.so-star-ring{position:absolute; inset:-9px; border-radius:50%; background:conic-gradient(from 0deg, #C8A96A, #2E6B3E, #2A5680, #F1E3BF, #C8A96A); -webkit-mask:radial-gradient(closest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)); mask:radial-gradient(closest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)); animation:crewSpin 7s linear infinite;}
.so-star:hover .so-star-pic, .so-star:focus-visible .so-star-pic{box-shadow:0 0 0 3px #C8A96A, 0 26px 40px -18px rgba(12,20,30,.65);}
.so-star:focus-visible{outline:none;}
.so.is-3d .so-face.is-front b{opacity:0;}
.so.is-3d .so-face.is-front:hover b{opacity:1;}
.staff-page .so-core{display:none !important;}
@media (min-width:1000px){
  .so-who b{font-size:34px;} .so-who span{font-size:12px; margin-top:5px;}
  .so-star{width:176px; height:176px; margin:-124px 0 0 -88px;}
  .so-star-pic{border-width:5px;} .so-star-ring{inset:-11px;}
}
@media (prefers-reduced-motion:reduce){ .so-star-ring, .so-who.in b, .so-who.in span{animation:none;} .so-star-pic img{transition:none;} }

/* Orbit, final: nothing in the middle and nobody singled out. Just the team circling, a little bigger. */
.so-who, .so-star{display:none !important;}
.so.is-3d .so-face.is-front b{opacity:0;}
.so.is-3d .so-face:hover b, .so.is-3d .so-face:focus-visible b{opacity:1;}
.so-floor{bottom:10px;}

/* A flatter, lower ring that takes less room. */
.so{height:210px; margin-top:18px;}
.so-floor{bottom:22px; height:40px;}
@media (max-width:640px){ .so{height:200px;} }
@media (min-width:1000px){ .so{height:300px; top:70px;} .staff-hero .container{min-height:360px;} }

/* Orbit smoothness: each face is its own layer, shadows are cheap, and photos are decoded once. */
.so.is-3d .so-face{will-change:transform, opacity; backface-visibility:hidden; contain:layout style;}
.so.is-3d .so-pic{box-shadow:0 10px 18px -10px rgba(12,20,30,.6); transition:box-shadow .3s ease;}
.so.is-3d .so-face:hover .so-pic, .so.is-3d .so-face:focus-visible .so-pic{transform:none; box-shadow:0 0 0 3px #C8A96A, 0 10px 18px -10px rgba(12,20,30,.6);}
.so-pic img{transform:translateZ(0);}

/* ---- Midweek: staff snapshots on a swipeable strip (whole pictures, nothing cropped) ---- */
.mw-snaps{margin-top:46px;}
.mw-snaps-row{display:flex; gap:22px; align-items:center; overflow-x:auto; overflow-y:hidden; padding:26px 6px 34px; margin:0 -6px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#8B5CF6 transparent;}
.mw-snaps-row:focus-visible{outline:2px solid #22D3C6; outline-offset:4px; border-radius:16px;}
.mw-snap{flex:none; margin:0; padding:5px; border-radius:20px; background:linear-gradient(130deg,#EC4899,#8B5CF6 55%,#22D3C6); scroll-snap-align:center; transform:rotate(calc((var(--i) * 37deg - 55deg) / 30)); box-shadow:0 30px 50px -28px rgba(139,92,246,.85); transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s;}
.mw-snap:nth-child(even){transform:rotate(calc((var(--i) * -29deg + 40deg) / 30)) translateY(10px);}
.mw-snap img{display:block; height:300px; width:auto; max-width:78vw; border-radius:16px;}
@media (hover:hover){ .mw-snap:hover{transform:rotate(0deg) scale(1.04); box-shadow:0 40px 60px -26px rgba(236,72,153,.9); z-index:2;} }
@media (max-width:640px){ .mw-snaps-row{gap:16px;} .mw-snap img{height:240px;} }

/* ---- Midweek: the three directors together ---- */
.mw-trio{display:grid; grid-template-columns:minmax(0,340px) minmax(0,1fr); gap:44px; align-items:center; margin:0 0 46px;}
.mw-trio-pic{margin:0; padding:5px; border-radius:24px; background:linear-gradient(140deg,#8B5CF6,#22C55E 50%,#F97316); transform:rotate(-2deg); box-shadow:0 40px 70px -36px rgba(139,92,246,.9); transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.mw-trio-pic img{display:block; width:100%; height:auto; border-radius:19px;}
@media (hover:hover){ .mw-trio-pic:hover{transform:rotate(0deg) scale(1.02);} }
.mw-trio-copy h3{font-size:clamp(30px,4.2vw,54px); line-height:1; margin:0 0 18px;}
.mw-trio-copy ul{list-style:none; margin:0 0 18px; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
.mw-trio-copy li{display:flex; align-items:center; gap:9px; padding:9px 16px 9px 12px; border-radius:99px; border:1.5px solid var(--c); box-shadow:0 0 18px -6px var(--c);}
.mw-trio-copy li::before{content:""; width:12px; height:12px; border-radius:50%; background:var(--c); box-shadow:0 0 10px var(--c);}
.mw-trio-copy li b{font-size:15px;}
.mw-trio-copy li span{font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; opacity:.7;}
.mw-trio-copy p:last-child{font-size:17px; line-height:1.55; opacity:.85; margin:0;}
@media (max-width:760px){ .mw-trio{grid-template-columns:1fr; gap:24px;} .mw-trio-pic{max-width:300px; margin:0 auto;} }

/* ---- Staff pop-out: photos as a moving reel (whole pictures, drifting rows) instead of a wall of squares ---- */
.pm-reel-n{display:inline-block; margin-left:6px; padding:2px 9px; border-radius:99px; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; background:rgba(var(--teal-rgb),.16); vertical-align:2px;}
.pm-reel{position:relative; margin:4px -6px 0; padding:6px 0; overflow:hidden; touch-action:pan-y; cursor:grab; user-select:none; -webkit-user-select:none; -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);}
.pm-reel.is-drag{cursor:grabbing;}
.pm-reel-row{padding:7px 0; animation:pmReelIn .8s cubic-bezier(.2,.8,.2,1) both;}
.pm-reel-row[data-dir="1"]{animation-name:pmReelIn2; animation-delay:.08s;}
@keyframes pmReelIn{from{opacity:0; transform:translateX(60px);} to{opacity:1; transform:none;}}
@keyframes pmReelIn2{from{opacity:0; transform:translateX(-60px);} to{opacity:1; transform:none;}}
.pm-reel-track{display:flex; gap:12px; width:max-content; will-change:transform;}
.pm-reel .pm-thumb{flex:none; height:150px; width:auto; min-width:90px; aspect-ratio:auto; border-radius:16px; box-shadow:0 14px 26px -16px rgba(12,20,30,.6); transition:transform .3s cubic-bezier(.2,.8,.2,1), border-color .2s ease, box-shadow .3s ease;}
.pm-reel .pm-thumb:nth-child(odd){transform:rotate(-1.2deg);}
.pm-reel .pm-thumb:nth-child(even){transform:rotate(1deg) translateY(3px);}
.pm-reel .pm-thumb img, .pm-reel .pm-thumb video{display:block; height:100%; width:auto; max-width:none; object-fit:contain; pointer-events:none;}
@media (hover:hover){ .pm-reel:not(.is-drag) .pm-thumb:hover{transform:rotate(0deg) scale(1.06); box-shadow:0 20px 30px -14px rgba(12,20,30,.7); z-index:2;} }
.pm-reel-hint{margin:6px 0 0; font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; opacity:.6;}
@media (max-width:640px){ .pm-reel .pm-thumb{height:124px; border-radius:13px;} .pm-reel-track{gap:10px;} }
@media (prefers-reduced-motion:reduce){ .pm-reel-row{animation:none;} }

/* Photo viewer: the picture gets almost the whole screen, at its original quality. */
#lightbox.pm.lb .pm-panel{width:min(1500px, 96vw); max-height:96vh; max-height:96dvh;}
.lb-stage, .lb-stage img, .lb-stage video{max-height:calc(96vh - 96px); max-height:calc(96dvh - 96px);}
.lb-stage img{width:auto; height:auto; object-fit:contain;}

/* Groups: the rotating "I want to..." line is gone. */
.g3-want{display:none !important;}
.g3-head{margin-bottom:30px;}
/* Podcast title: the gradient fill only painted inside the tight line box, which clipped the tops of the letters.
   Extra room above (cancelled by the same negative margin) lets the whole letter show without moving anything. */
.pc-h-b{padding-top:.16em; margin-top:-.09em; padding-bottom:.08em; margin-bottom:-.04em;}

/* Students "Led by": the director's card, then Candace and Hunter side by side as smaller cards. */
.crew-grid.mw-also{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:340px; margin-top:12px;}
.mw-also .crew-card{padding:18px 10px 16px;}
.mw-also .crew-photo{width:96px; height:96px;}
.mw-also .crew-card h3{font-size:18px; margin-top:12px; line-height:1.05;}
.mw-also .crew-card .c-title{font-size:11.5px; line-height:1.3;}
.mw-also .crew-card .c-more{font-size:11.5px; margin-top:8px;}

/* Homepage "Meet the Whole Staff" button: as wide as the two pastors' cards together, and a bit taller. */
.leaders-cta{display:block; width:100%;}
.leaders-cta .staff-cta{display:flex; width:100%; box-sizing:border-box; justify-content:space-between; gap:22px; padding:22px 24px 22px 28px;}
.leaders-cta .sc-faces img{width:58px; height:58px; margin-left:-14px;}
.leaders-cta .sc-text{flex:1; font-size:clamp(24px,3.2vw,40px);}
.leaders-cta .sc-text small{font-size:12px; margin-bottom:8px;}
.leaders-cta .sc-go{width:60px; height:60px; flex:none;}
@media (max-width:560px){
  .leaders-cta .staff-cta{gap:12px; padding:16px 14px 16px 18px;}
  .leaders-cta .sc-faces img{width:40px; height:40px; margin-left:-11px;}
  .leaders-cta .sc-text{font-size:22px;}
  .leaders-cta .sc-go{width:46px; height:46px;}
}

/* ---- Moving photo wall (Students "in action" and the bottom of the Midweek page) ---- */
.pw{position:relative; width:100vw; margin-left:calc(50% - 50vw); padding:6px 0; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);}
.pw-row{padding:7px 0;}
.pw-track{display:flex; gap:14px; width:max-content; animation:pwGo var(--t,70s) linear infinite; will-change:transform;}
.pw-row:nth-child(even) .pw-track{animation-direction:reverse;}
/* Only the row you are pointing at (or holding) stops; the others keep moving. */
.pw-row:hover .pw-track, .pw-row.is-hold .pw-track, .pw-row:focus-within .pw-track{animation-play-state:paused;}
@keyframes pwGo{to{transform:translate3d(-50%,0,0);}}
.pw-item{flex:none; height:172px; min-width:110px; margin:0; padding:3px; border:0; border-radius:18px; overflow:hidden; cursor:pointer; background:linear-gradient(130deg,#EC4899,#8B5CF6 55%,#22D3C6); box-shadow:0 18px 30px -20px rgba(139,92,246,.9); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;}
.pw-item img, .pw-item video{display:block; height:100%; width:auto; max-width:none; border-radius:15px; pointer-events:none; background:#101114;}
.pw-item:focus-visible{outline:3px solid #22D3C6; outline-offset:3px;}
@media (hover:hover){ .pw-item:hover{transform:scale(1.07); box-shadow:0 26px 40px -18px rgba(236,72,153,.9); position:relative; z-index:2;} }
@media (max-width:700px){ .pw-item{height:124px; border-radius:14px; padding:2px;} .pw-item img, .pw-item video{border-radius:12px;} .pw-track{gap:10px;} .pw-row{padding:5px 0;} }
@media (prefers-reduced-motion:reduce){ .pw-track{animation:none;} .pw{overflow-x:auto;} }

/* Wall smoothness: a row only starts moving once its pictures have their real widths (so it never jumps as photos
   arrive), clips hold a fixed shape before they load, and each row is its own layer. */
.pw-track{animation-play-state:paused; backface-visibility:hidden;}
.pw-track.is-ready{animation-play-state:running;}
.pw-row:hover .pw-track.is-ready, .pw-row.is-hold .pw-track.is-ready, .pw-row:focus-within .pw-track.is-ready{animation-play-state:paused;}
.pw-item video{aspect-ratio:9/16; object-fit:cover;}
.pw-item{contain:layout paint; transform:translateZ(0);}

/* Shop "coming soon": the button is there but can't be clicked. */
.btn-shop.is-soon{cursor:default; opacity:.92; gap:7px; padding-right:8px;}
.btn-shop.is-soon:hover{background:#16202E; color:#F1E6C8; border-color:#16202E; transform:none;}
body.hero-dark header.nav:not(.scrolled) .btn-shop.is-soon:hover, body.theme-midweek .btn-shop.is-soon:hover{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.4); color:#fff;}
.btn-shop.is-soon em, .mm-shop.is-soon em{font-style:normal; font-family:"Space Mono",monospace; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:3px 7px; border-radius:99px; background:#C8A96A; color:#16202E; white-space:nowrap;}
.mobile-menu .mm-shop.is-soon{cursor:default; opacity:.9;}
.mm-shop.is-soon em{margin-left:auto; font-size:10px;}
/* On narrower screens the word "Shop" drops away (as it already did) and the bag keeps its "Coming soon" tag. */
.btn-shop.is-soon em{display:inline-block;}

/* Podcast hero with the real podcast-room film behind it: the made-up studio glow steps back so the footage shows,
   and the darkening sits where the words are (left and bottom) instead of over the whole picture. */
.pc-hero.has-vid .pc-hero-room i{opacity:.16;}
.pc-hero.has-vid .pc-hero-shade{background:linear-gradient(90deg, rgba(13,13,16,.58) 0%, rgba(13,13,16,.3) 40%, rgba(13,13,16,0) 74%), linear-gradient(180deg, rgba(13,13,16,.5) 0%, rgba(13,13,16,0) 24%, rgba(13,13,16,.16) 58%, rgba(13,13,16,.94) 100%);}
.pc-hero.has-vid .pc-wave{height:30%; opacity:.34;}
@media (max-width:760px){
  .pc-hero.has-vid .pc-hero-shade{background:linear-gradient(180deg, rgba(13,13,16,.5) 0%, rgba(13,13,16,.1) 14%, rgba(13,13,16,.14) 30%, rgba(13,13,16,.6) 60%, rgba(13,13,16,.97) 100%);}
}

/* ---- Podcast: episodes that play on the page (a deck that matches the radio above it) ---- */
.pc-eps-cta{display:flex; flex-wrap:wrap; gap:12px;}
.pc-btn.is-ghost{background:transparent; color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.36);}
.pc-btn.is-ghost:hover{background:#fff; color:#111; box-shadow:none;}
.pc-eps-sec.has-eps .pc-eps-in{align-items:start;}
.pc-player{--c:var(--pc-amber); position:relative; min-width:0; padding:22px; border-radius:30px; background:linear-gradient(180deg,#26262d,#141418); border:1px solid rgba(255,255,255,.1); box-shadow:0 60px 100px -50px #000, inset 0 2px 0 rgba(255,255,255,.08);}
.pc-player audio{display:none;}
.pc-player noscript audio{display:block; width:100%; margin-top:14px;}
.pc-now{display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:center;}
/* the cover, with a record that slides out and turns while an episode plays (its room is always kept, so nothing moves) */
.pc-now-art{position:relative; display:block; width:150px; aspect-ratio:1/1; margin-right:92px;}
.pc-now-art img{position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:cover; border-radius:14px; background:#1c1c21; box-shadow:0 24px 40px -22px #000, 0 0 0 1px rgba(255,255,255,.14);}
.pc-now-disc{position:absolute; right:0; top:4%; width:92%; aspect-ratio:1/1; border-radius:50%; background:radial-gradient(circle, var(--c) 0 13%, #0b0b0d 13.5% 15%, #1c1c20 15.5%), repeating-radial-gradient(circle, #101013 0 2px, #1f1f24 2px 4px); box-shadow:0 20px 30px -16px #000; transition:transform .7s cubic-bezier(.3,1.2,.4,1);}
.pc-now-disc::after{content:""; position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg, rgba(255,255,255,0) 0 30deg, rgba(255,255,255,.2) 52deg, rgba(255,255,255,0) 78deg 205deg, rgba(255,255,255,.13) 228deg, rgba(255,255,255,0) 255deg); animation:pcSpin 2.8s linear infinite; animation-play-state:paused;}
@keyframes pcSpin{to{transform:rotate(360deg);}}
.pc-player.is-playing .pc-now-disc{transform:translateX(66%);} /* far enough out that the cover on its label shows */
.pc-player.is-playing .pc-now-disc::after{animation-play-state:running;}
.pc-now-k{display:flex; align-items:center; gap:10px; margin:0; white-space:nowrap; overflow:hidden; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--pc-amber);}
/* a small studio lamp: dark until something is playing */
.pc-lamp{padding:4px 8px 3px; border-radius:6px; background:#2a0d0a; color:#7d342e; letter-spacing:.16em; transition:background .3s ease, color .3s ease, box-shadow .3s ease;}
.pc-player.is-playing .pc-lamp{background:var(--pc-red); color:#fff; box-shadow:0 0 16px rgba(255,59,48,.9);}
.pc .pc-now-t h3{margin:10px 0 8px; font-size:clamp(25px,3vw,38px); line-height:1.02; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.pc-now-m{margin:0; font-family:"Space Mono",monospace; font-size:11.5px; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.68); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.pc-now-m em{font-style:normal; color:var(--c);}
.pc-now-len::before{content:"\00B7"; margin:0 .6em; color:rgba(255,255,255,.4);}
.pc-now-m em{display:block; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
/* the sound of the episode as bars: tap or drag anywhere along it to jump */
.pc-scrub{--p:0; position:relative; height:76px; margin:22px 0 0; border-radius:16px; background:#0c0c0f; box-shadow:inset 0 0 0 1px rgba(255,255,255,.1), inset 0 16px 26px -14px rgba(0,0,0,.9); cursor:pointer; touch-action:pan-y; outline:none; overflow:hidden; -webkit-user-select:none; user-select:none; -webkit-tap-highlight-color:transparent;}
.pc-scrub:focus-visible{box-shadow:inset 0 0 0 2px var(--pc-amber);}
.pc-bars{position:absolute; left:12px; right:12px; top:10px; bottom:10px; display:flex; align-items:center; gap:2px; pointer-events:none;}
.pc-bars i{flex:1; height:100%; border-radius:3px; background:rgba(255,255,255,.24); transform:scaleY(var(--s,.4)); transition:transform .55s cubic-bezier(.2,.9,.25,1);}
.pc-bars.is-fill{-webkit-clip-path:inset(0 calc(100% - var(--p) * 100%) 0 0); clip-path:inset(0 calc(100% - var(--p) * 100%) 0 0);}
.pc-bars.is-fill i{background:linear-gradient(180deg, #FFD08A, var(--pc-amber) 45%, #FF7A3D);}
/* the needle: a red line like the one on the dial above, with a dot at each end */
.pc-playhead{position:absolute; z-index:2; left:12px; top:4px; bottom:4px; width:3px; margin-left:-1.5px; border-radius:3px; background:var(--pc-red); box-shadow:0 0 14px 2px rgba(255,59,48,.8); pointer-events:none; will-change:transform;}
.pc-playhead::before, .pc-playhead::after{content:""; position:absolute; left:50%; width:9px; height:9px; margin-left:-4.5px; border-radius:50%; background:var(--pc-red); box-shadow:0 0 10px rgba(255,59,48,.9);}
.pc-playhead::before{top:-1px;} .pc-playhead::after{bottom:-1px;}
.pc-bars:not(.is-fill) i.is-hot{background:rgba(255,255,255,.55);}
.pc-bars.is-fill i.is-hot{background:linear-gradient(180deg, #FFF0D2, #FFC777 45%, #FF8D52);}
.pc-scrub.is-run .pc-bars i.is-hot{animation:pcHot .38s ease-in-out infinite alternate;}
.pc-scrub.is-run .pc-bars i.is-hot:nth-child(3n){animation-duration:.3s; animation-delay:-.12s;} .pc-scrub.is-run .pc-bars i.is-hot:nth-child(3n+1){animation-duration:.46s; animation-delay:-.2s;}
@keyframes pcHot{from{scale:1 .82;} to{scale:1 1.22;}}
/* a tap on the bars glides the needle there; while playing it is moved every frame, so no easing is added on top */
.pc-bars.is-fill{transition:clip-path .3s ease, -webkit-clip-path .3s ease;} .pc-playhead{transition:transform .3s ease;}
.pc-scrub.is-drag .pc-bars.is-fill, .pc-scrub.is-drag .pc-playhead, .pc-scrub.is-run .pc-bars.is-fill, .pc-scrub.is-run .pc-playhead{transition:none;}
.pc-times{display:flex; justify-content:space-between; margin:8px 4px 0; font-family:"Space Mono",monospace; font-size:12px; font-variant-numeric:tabular-nums; color:rgba(255,255,255,.7);}
.pc-ctl{display:flex; align-items:center; justify-content:center; gap:clamp(8px,2.6vw,20px); margin-top:8px;}
.pc-go{position:relative; flex:none; width:76px; height:76px; padding:0; border:0; border-radius:50%; display:grid; place-items:center; background:var(--pc-amber); color:#1a1205; cursor:pointer; box-shadow:0 18px 34px -14px rgba(255,179,71,.85), inset 0 2px 0 rgba(255,255,255,.5); transition:transform .2s ease;}
.pc-go:hover{transform:scale(1.06);} .pc-go:active{transform:scale(.95);}
.pc-go svg{grid-area:1/1;} .pc-go .i-pause{display:none;}
.pc-player.is-playing .pc-go .i-play{display:none;} .pc-player.is-playing .pc-go .i-pause{display:block;}
.pc-go::after{content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid transparent; border-top-color:var(--pc-amber); opacity:0; animation:pcSpin .9s linear infinite; animation-play-state:paused;}
.pc-player.is-loading .pc-go::after{opacity:1; animation-play-state:running;}
.pc-mini{position:relative; flex:none; width:52px; height:52px; padding:0; border-radius:50%; border:1.5px solid rgba(255,255,255,.3); background:rgba(255,255,255,.05); color:#fff; display:grid; place-items:center; font-family:"Space Mono",monospace; font-size:13px; font-weight:700; cursor:pointer; transition:background .2s, color .2s, border-color .2s, transform .2s;}
.pc-mini:hover{background:var(--pc-amber); color:#1a1205; border-color:var(--pc-amber);} .pc-mini:active{transform:scale(.93);}
.pc-skip svg{grid-area:1/1;} .pc-skip b{grid-area:1/1; font-size:8.5px; letter-spacing:0; margin-top:2px;}
.pc-go:focus-visible, .pc-mini:focus-visible, .pc-epb:focus-visible, .pc-more:focus-visible, .pc-show-go:focus-visible{outline:2px solid #fff; outline-offset:3px;}
.pc-say{min-height:18px; margin:8px 0 0; text-align:center; font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.08em; color:var(--pc-amber);}
.pc-say.is-bad{color:#ff8f88;}
.pc-now-d{margin:8px 0 0; font-size:15.5px; line-height:1.6; color:rgba(255,255,255,.8); white-space:pre-line; display:-webkit-box; -webkit-line-clamp:9; -webkit-box-orient:vertical; overflow:hidden;}
.pc-player.is-open .pc-now-d{display:block;}
.pc-now-x{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; margin:10px 0 0; font-size:13.5px; font-weight:800;}
.pc-now-x a{margin-left:auto; color:var(--pc-amber); text-decoration:none;} .pc-now-x a:hover{color:#fff;}
.pc-now-x .pc-also{display:flex; flex-wrap:wrap; gap:6px 16px; margin-left:auto;} .pc-now-x .pc-also a{margin-left:0;}
.pc-more{padding:0; border:0; background:none; font:inherit; font-size:13.5px; font-weight:800; color:#fff; text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.pc-more:hover{color:var(--pc-amber);}
.pc-first{display:flex; align-items:center; gap:10px; margin:18px 0 0; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--pc-cream);}
.pc-first i{flex:none; width:9px; height:9px; border-radius:50%; background:var(--pc-red); animation:pcPing 1.8s ease-out infinite;}
/* with more than one episode the words keep the same room, so the list below never jumps when you switch */
.pc-player.has-list .pc-now-d{min-height:6.4em; -webkit-line-clamp:4;}
.pc .pc-player.has-list .pc-now-t h3{-webkit-line-clamp:2;}
.pc-player.has-list.is-open .pc-now-d{min-height:0;}
.pc-eps.is-live{margin-top:20px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); gap:10px;}
.pc-eps.is-live li.is-more{display:none;} .pc-eps.is-live.is-open li.is-more{display:block;}
.pc-epb{--c:var(--pc-amber); display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center; width:100%; padding:11px 16px 11px 11px; border-radius:16px; background:#0f0f13; border:1px solid rgba(255,255,255,.08); color:#fff; font:inherit; text-align:left; cursor:pointer; transition:border-color .2s ease, background .2s ease, transform .25s ease;}
.pc-epb:hover{border-color:rgba(255,179,71,.6); transform:translateX(4px);}
.pc-epb.is-on{border-color:var(--pc-amber); background:#19150d;}
.pc-epb-i{position:relative; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.08); color:#fff; transition:background .2s, color .2s;}
.pc-epb.is-on .pc-epb-i{background:var(--pc-amber); color:#1a1205;}
.pc-epb-i svg, .pc-epb-i .pc-eq{grid-area:1/1;}
.pc-eq{display:none; align-items:flex-end; gap:3px; height:16px;}
.pc-eq i{width:3px; height:100%; border-radius:2px; background:currentColor; transform-origin:50% 100%; transform:scaleY(.4); animation:pcEq .7s ease-in-out infinite alternate; animation-play-state:paused;}
.pc-eq i:nth-child(2){animation-duration:.5s; animation-delay:-.2s;} .pc-eq i:nth-child(3){animation-duration:.85s; animation-delay:-.4s;}
@keyframes pcEq{from{transform:scaleY(.25);} to{transform:scaleY(1);}}
.pc-player.is-playing .pc-epb.is-on svg{display:none;} .pc-player.is-playing .pc-epb.is-on .pc-eq{display:flex;}
.pc-player.is-playing .pc-epb.is-on .pc-eq i{animation-play-state:running;}
.pc-epb-t{min-width:0;}
.pc-epb-t b{display:block; font-weight:800; font-size:16px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.pc-epb-t > span{display:block; margin-top:4px; font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.62);}
.pc-epb-t em{font-style:normal; color:var(--c); white-space:nowrap;}
.pc-epb-t em{display:block; margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pc-epb-d{font-family:"Space Mono",monospace; font-size:12px; font-variant-numeric:tabular-nums; color:rgba(255,255,255,.72);}
.pc-all{margin:14px 0 0; text-align:center;}
.pc-admin{margin:18px 0 0; padding:11px 14px; border-radius:12px; border:1px dashed rgba(255,255,255,.34); font-size:13px; line-height:1.5; color:rgba(255,255,255,.78);}
.pc-admin a{color:var(--pc-amber); font-weight:800;}
/* the dial: a show that has episodes gets a play button */
.pc-show-s.is-live{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px;}
.pc-show-go{display:inline-flex; align-items:center; gap:9px; padding:11px 18px; border:0; border-radius:99px; background:#fff; color:#111; font:inherit; font-weight:800; font-size:14.5px; cursor:pointer; transition:transform .2s ease;}
.pc-show-go:hover{transform:translateY(-2px);}
.pc-show-s.is-live em{font-style:normal; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.85);}
@media (min-width:1001px){ .pc-eps-sec.has-eps .pc-eps-copy{position:sticky; top:118px;} }
@media (max-width:1000px){ .pc-show-s.is-live{justify-content:center;} }
@media (max-width:700px){
  .pc-player{padding:16px; border-radius:24px;}
  .pc-now-art{width:96px; margin-right:50px;}
  .pc-player.is-playing .pc-now-disc{transform:translateX(56%);}
  .pc-player.has-list .pc-now{min-height:138px;}
  .pc-now-m{-webkit-line-clamp:3;} .pc-now-m em{white-space:normal;}
  .pc-now-len{display:none;}
  .pc-now-art img{border-radius:10px;}
  .pc .pc-now-t h3{font-size:23px;}
  .pc-scrub{height:66px; margin-top:18px;}
  .pc-go{width:70px; height:70px;} .pc-mini{width:48px; height:48px;}
  .pc-epb{gap:11px; padding:10px 12px 10px 10px;} .pc-epb-t b{font-size:15px;}
  .pc-eps-cta .pc-btn{flex:1 1 auto; justify-content:center;}
}
/* narrow phones: the hero button and its badge stay side by side */
@media (max-width:480px){
  .pc-hero-go{gap:10px;}
  .pc-hero-go .pc-btn{padding:14px 20px;}
  .pc-status{padding:10px 12px; letter-spacing:.12em; gap:8px;}
}
@media (prefers-reduced-motion: reduce){ .pc-now-disc, .pc-now-disc::after, .pc-eq i, .pc-bars i, .pc-go::after, .pc-first i, .pc-playhead{animation:none !important; transition:none !important;} .pc-epb:hover{transform:none;} }

/* ---- Podcast: "New episode" banners, the channel lists on the dial, and the guest note ---- */
/* the newest show's cover wears a red banner across the corner that blinks like the ON AIR light on the logo */
.pc-cover-new{position:absolute; right:-44px; top:26px; width:180px; padding:6px 0; text-align:center; transform:rotate(38deg); background:var(--pc-red); color:#fff; font-family:"Space Mono",monospace; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; text-shadow:0 0 8px rgba(255,255,255,.7); box-shadow:0 0 18px rgba(255,59,48,.9), 0 6px 14px -6px rgba(0,0,0,.7); animation:pcBlink 2.4s steps(1,end) infinite;}
.pc-new-tag{display:inline-block; padding:2px 6px 1px; border-radius:5px; background:var(--pc-red); color:#fff; font-family:"Space Mono",monospace; font-size:9px; font-style:normal; font-weight:700; line-height:1.3; letter-spacing:.14em; text-transform:uppercase; box-shadow:0 0 10px rgba(255,59,48,.8); animation:pcBlink 2.4s steps(1,end) infinite;}
.pc-epb-t .pc-new-tag{margin:0 8px 0 0; vertical-align:1px;}
/* a channel that has episodes: a smaller title and a list of its episodes that slides in each time you tune to it */
.pc-screen.has-sets{min-height:350px;}
.pc .pc-show.has-eps h3{margin:8px 0 6px; font-size:clamp(32px,4.2vw,54px);}
.pc-show.has-eps .pc-show-l{font-size:15.5px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
.pc-set-wrap{margin-top:14px; max-width:580px; min-width:0;}
.pc-set-cap{display:flex; align-items:center; gap:12px; margin:0 0 8px; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.85);}
.pc-set-cap i{flex:1; height:1px; background:linear-gradient(90deg, rgba(255,255,255,.45), rgba(255,255,255,0));}
.pc-set{list-style:none; margin:0; padding:0 4px 0 0; display:grid; gap:8px; max-height:142px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.3) transparent;}
.pc-set li{opacity:0;}
.pc-show.is-on .pc-set li{animation:pcSetIn .55s cubic-bezier(.2,.9,.25,1) both; animation-delay:calc(.15s + var(--n,0) * .09s);}
@keyframes pcSetIn{from{opacity:0; transform:translateX(28px);} to{opacity:1; transform:none;}}
.pc-set-row{position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:12px; align-items:center; width:100%; padding:10px 10px 10px 14px; border-radius:14px; border:1px solid rgba(255,255,255,.16); background:rgba(8,8,11,.6); color:#fff; font:inherit; text-align:left; cursor:pointer; overflow:hidden; transition:border-color .2s ease, background .2s ease, transform .25s ease;}
.pc-set-row:hover, .pc-set-row.is-on{border-color:var(--c); background:rgba(8,8,11,.82);}
.pc-set-row:hover{transform:translateX(4px);}
.pc-set-row:focus-visible{outline:2px solid #fff; outline-offset:2px;}
/* a thin bar along the bottom of the row fills as the episode plays */
.pc-set-row::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--c); transform:scaleX(var(--p,0)); transform-origin:0 50%; opacity:.9;}
.pc-set-no{display:flex; flex-direction:column; align-items:flex-start; gap:4px; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--c); white-space:nowrap;}
.pc-set-t{min-width:0;}
.pc-set-t b{display:block; font-weight:800; font-size:16px; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pc-set-t em{display:block; margin-top:2px; font-style:normal; font-size:12.5px; line-height:1.35; color:rgba(255,255,255,.75); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pc-set-d{font-family:"Space Mono",monospace; font-size:12px; font-variant-numeric:tabular-nums; color:rgba(255,255,255,.75);}
.pc-set-m{display:none; margin-top:3px; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.06em; font-variant-numeric:tabular-nums; color:rgba(255,255,255,.65);}
.pc-set-go{width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--c); color:#14110a; transition:transform .2s ease;}
.pc-set-row:hover .pc-set-go{transform:scale(1.08);}
.pc-set-go svg, .pc-set-go .pc-eq{grid-area:1/1;}
.pc.is-playing .pc-set-row.is-on .pc-set-go svg{display:none;}
.pc.is-playing .pc-set-row.is-on .pc-eq{display:flex;}
.pc.is-playing .pc-set-row.is-on .pc-eq i{animation-play-state:running;}
/* the guest note: a small pill under the controls that slides in with a slow shine across it */
.pc-guest{display:none; margin:4px 0 0;}
.pc-player.has-guests .pc-guest{display:flex; align-items:center; min-height:36px;}
.pc-guest-in{position:relative; display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:6px 16px 6px 7px; border-radius:99px; background:linear-gradient(90deg, rgba(255,179,71,.2), rgba(255,179,71,.05)); box-shadow:inset 0 0 0 1px rgba(255,179,71,.5); color:#fff; font-size:14.5px; overflow:hidden;}
.pc-guest-in svg{flex:none; width:24px; height:24px; padding:4px; border-radius:50%; background:var(--pc-amber); color:#1a1205;}
.pc-guest-in > span{font-family:"Space Mono",monospace; font-size:10.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--pc-amber);}
.pc-guest-in b{min-width:0; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pc-guest-in::after{content:""; position:absolute; top:0; bottom:0; left:-45%; width:45%; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.3), rgba(255,255,255,0)); transform:translateX(0); animation:pcSheen 5s ease-in-out 1.6s infinite; pointer-events:none;}
@keyframes pcSheen{0%{transform:translateX(0);} 30%,100%{transform:translateX(330%);}}
.pc-guest:not(.is-on) .pc-guest-in{visibility:hidden;}
.pc-player.in .pc-guest.is-on .pc-guest-in{animation:pcGuestIn .7s cubic-bezier(.2,.9,.25,1) .35s both;}
.pc-guest.is-in .pc-guest-in{animation:pcGuestSwap .6s cubic-bezier(.2,.9,.25,1) both !important;}
@keyframes pcGuestIn{from{opacity:0; transform:translateY(10px) scale(.96);} to{opacity:1; transform:none;}}
@keyframes pcGuestSwap{from{opacity:0; transform:translateX(-14px);} to{opacity:1; transform:none;}}
.pc-epb-t > span.pc-epb-g{margin-top:3px; font-family:inherit; font-size:13px; letter-spacing:0; text-transform:none; color:rgba(255,255,255,.78);}
@media (max-width:1000px){
  .pc-screen.has-sets{min-height:0;}
  .pc-set-wrap{width:100%; max-width:560px; margin-inline:auto; text-align:left;}
  .pc-set{max-height:none; overflow:visible; padding-right:0;}
}
@media (max-width:700px){
  /* phones: the title gets the room (two lines if it needs them) and the running time sits under it */
  .pc-set-row{grid-template-columns:auto minmax(0,1fr) auto; gap:10px; padding:10px 8px 10px 11px;}
  .pc-set-d{display:none;} .pc-set-m{display:block;}
  .pc-set-t b{font-size:15px; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
  .pc-set-t em{white-space:normal;}
  .pc-show.has-eps .pc-show-l{-webkit-line-clamp:2;}
  .pc-guest-in{font-size:13.5px;}
}
@media (prefers-reduced-motion: reduce){ .pc-cover-new, .pc-new-tag, .pc-guest-in, .pc-guest-in::after, .pc-show.is-on .pc-set li{animation:none !important;} .pc-set li{opacity:1;} .pc-guest-in::after{display:none;} }

/* ---- Podcast: each episode's own cover, on the sleeve, on the record's label (it turns while playing) and in the list ---- */
.pc-now-art img#pcNowArt{transition:opacity .18s ease;}
.pc-now-label{position:absolute; z-index:1; left:50%; top:50%; width:36%; aspect-ratio:1/1; margin:-18% 0 0 -18%; border-radius:50%; overflow:hidden; background:var(--c); box-shadow:0 0 0 3px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.2); animation:pcSpin 3.2s linear infinite; animation-play-state:paused;}
.pc-now-label img{display:block; width:100%; height:100%; object-fit:cover; transition:opacity .18s ease;}
.pc-now-label::after{content:""; position:absolute; left:50%; top:50%; width:14%; height:14%; margin:-7% 0 0 -7%; border-radius:50%; background:#0b0b0d; box-shadow:0 0 0 2px rgba(255,255,255,.22);}
.pc-player.is-playing .pc-now-label{animation-play-state:running;}
.pc-player.is-swap #pcNowArt, .pc-player.is-swap .pc-now-label img{opacity:.2;}
.pc-epb-i{overflow:hidden; border-radius:12px; width:48px; height:48px; background:#1c1c21;}
.pc-epb-art{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.pc-epb-i::after{content:""; position:absolute; inset:0; z-index:1; background:rgba(8,8,11,.42); transition:background .2s ease;}
.pc-epb-i svg, .pc-epb-i .pc-eq{position:relative; z-index:2; filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));}
.pc-epb:hover .pc-epb-i::after{background:rgba(8,8,11,.25);}
.pc-epb.is-on .pc-epb-i{background:#1c1c21; color:#1a1205; box-shadow:0 0 0 2px var(--pc-amber);}
.pc-epb.is-on .pc-epb-i::after{background:rgba(255,179,71,.62);}
.pc-epb.is-on .pc-epb-i svg, .pc-epb.is-on .pc-epb-i .pc-eq{filter:none;}
@media (max-width:700px){ .pc-epb-i{width:44px; height:44px; border-radius:10px;} }
@media (prefers-reduced-motion: reduce){ .pc-now-label{animation:none !important;} .pc-now-art img#pcNowArt, .pc-now-label img{transition:none;} }

/* ---- Make Room: the open plan can switch between the blueprint and the original colour drawing ---- */
.mr-board-paper{position:absolute; inset:0; background:#f9f9f9; opacity:0; transition:opacity .6s ease;}
.mr-board.is-color .mr-board-paper{opacity:1;}
.mr-board-grid{transition:opacity .6s ease;}
.mr-board.is-color .mr-board-grid{opacity:.4;}
#mrBoardImg{transition:opacity .6s ease;}
#mrBoardColor{position:absolute; left:0; top:0; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; object-fit:contain; opacity:0; transition:opacity .6s ease;}
.mr-board.is-color #mrBoardColor{opacity:1;}
.mr-board.is-color #mrBoardImg{opacity:0;}
.mr-view{position:absolute; z-index:3; top:14px; left:16px; display:grid; grid-template-columns:1fr 1fr; padding:4px; border-radius:99px; background:rgba(12,35,68,.88); border:1.5px solid rgba(191,230,255,.6); font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:0; transform:translateY(-8px); transition:opacity .4s ease .9s, transform .4s ease .9s, background-color .5s ease, border-color .5s ease;}
.mr-view[hidden]{display:none;}
.mr-board.is-open .mr-view{opacity:1; transform:none;}
.mr-view button{position:relative; z-index:1; padding:9px 16px; border:0; border-radius:99px; background:none; color:#cfe8ff; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; transition:color .35s ease;}
.mr-view button[aria-pressed="true"]{color:#0f2d57;}
.mr-view button:focus-visible{outline:2px solid #fff; outline-offset:2px;}
.mr-view-thumb{position:absolute; top:4px; bottom:4px; left:4px; width:calc(50% - 4px); border-radius:99px; background:#cfe8ff; box-shadow:0 0 14px rgba(191,230,255,.6); transition:transform .45s cubic-bezier(.3,1.2,.4,1), background-color .5s ease, box-shadow .5s ease;}
.mr-board.is-color .mr-view{background:rgba(255,255,255,.94); border-color:rgba(15,45,87,.35);}
.mr-board.is-color .mr-view-thumb{transform:translateX(100%); background:#0f2d57; box-shadow:0 6px 14px -6px rgba(15,45,87,.6);}
.mr-board.is-color .mr-view button{color:#0f2d57;}
.mr-board.is-color .mr-view button[aria-pressed="true"]{color:#fff;}
.mr-board.mr-v3 .mr-titleblock{transition:opacity .6s 2.2s, transform .6s 2.2s, color .5s ease, background-color .5s ease, border-color .5s ease;}
.mr-board.is-color .mr-titleblock{color:#16365f; background-color:rgba(255,255,255,.9); border-color:rgba(15,45,87,.45);}
.mr-board.is-color .mr-titleblock b{color:#0f2d57;} .mr-board.is-color .mr-titleblock em{color:#2b5e9b;}
.mr-board-x{transition:transform .25s, background-color .5s ease, color .5s ease, border-color .5s ease;}
.mr-board.is-color .mr-board-x{background:rgba(255,255,255,.94); color:#0f2d57; border-color:rgba(15,45,87,.45);}
@media (max-width:700px){ .mr-view{top:10px; left:10px; font-size:10px;} .mr-view button{padding:8px 12px;} }
@media (prefers-reduced-motion: reduce){ .mr-board-paper, .mr-board-grid, #mrBoardImg, #mrBoardColor, .mr-view, .mr-view-thumb, .mr-view button{transition:none;} }

/* ---- Serve at Fall Fest: the volunteer sign-up board (jobs and spots come live from Church Center) ---- */
.ffv-hero{position:relative; overflow:hidden; padding:130px 0 56px; text-align:center; background:radial-gradient(60% 70% at 50% 35%, #FFF8EC, var(--ff-cream));}
.ffv-hero-in{position:relative; z-index:3;}
.ffv-hero .ff-kicker a{color:inherit; text-decoration:none; border-bottom:2px solid currentColor;}
.ff .ffv-title{margin:12px 0 0; padding-bottom:.08em; font-size:clamp(46px,9vw,112px); line-height:.92; color:var(--ff-ink); text-shadow:3px 3px 0 var(--ff-gold), 6px 6px 0 var(--ff-orange);}
.ffv-title span{display:block; margin-bottom:.12em; font-size:.4em; line-height:1.1; letter-spacing:.08em; color:var(--ff-teal); text-shadow:none;}
.ffv-lede{max-width:640px; margin:18px auto 0; font-size:clamp(16px,1.9vw,19px); line-height:1.6; color:#5a4636;}
.ffv-tally{display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:28px;}
.ffv-count{min-width:150px; padding:14px 18px 12px; border-radius:18px; border:2.5px solid var(--ff-ink); background:#fff; box-shadow:5px 5px 0 var(--ff-ink); animation:ffvPop .6s cubic-bezier(.3,1.5,.5,1) both;}
.ffv-count:nth-child(1){background:var(--ff-teal); color:#fff; animation-delay:.2s;} .ffv-count:nth-child(2){background:var(--ff-orange); color:#fff; animation-delay:.32s;} .ffv-count:nth-child(3){background:#fff; animation-delay:.44s;}
@keyframes ffvPop{from{opacity:0; transform:translateY(16px) scale(.9);} to{opacity:1; transform:none;}}
.ffv-count b{display:block; font-family:"Archivo Black",Impact,sans-serif; font-size:clamp(34px,5vw,52px); line-height:1;}
.ffv-count span{display:block; margin-top:6px; font-family:"Poppins",sans-serif; font-weight:800; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;}
.ffv-live{display:inline-flex; align-items:center; gap:8px; margin:20px 0 0; font-size:13.5px; color:#6b5444;}
.ffv-live i, .ffv-big-live i{flex:none; width:9px; height:9px; border-radius:50%; background:var(--ff-teal); animation:ffvPing 1.8s ease-out infinite;}
@keyframes ffvPing{0%{box-shadow:0 0 0 0 rgba(46,139,122,.6);} 100%{box-shadow:0 0 0 9px rgba(46,139,122,0);}}
.ffv-board{padding:30px 0 50px;}
.ffv-wait{text-align:center; color:#5a4636;}
.ffv-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(330px, 1fr)); gap:22px; perspective:1400px;}
.ffv-grid + .ffv-full-head{margin-top:56px;}
.ffv-full-head{text-align:center; margin-bottom:24px;}
.ff .ffv-full-head h2{font-size:clamp(26px,3.6vw,40px);}
.ffv-full-head p{margin:6px 0 0; color:#6b5444;}
/* a ticket for each job */
.js .ffv-grid:not(.is-in) .ffv-tk{opacity:0;}
.ffv-grid.is-in .ffv-tk{animation:ffvDeal .75s cubic-bezier(.2,1.25,.4,1) calc(var(--j, 0) * 70ms) both;}
@keyframes ffvDeal{from{opacity:0; transform:translateY(-26px) rotateX(-70deg);} to{opacity:1; transform:none;}}
.ffv-tk-in{position:relative; display:flex; align-items:stretch; height:100%; background:#fff; border:2.5px solid var(--ff-ink); border-radius:18px; box-shadow:6px 6px 0 var(--c); overflow:hidden; transition:transform .2s ease, box-shadow .2s ease;}
.ffv-tk:not(.is-full) .ffv-tk-in:hover{transform:translate(-2px,-3px); box-shadow:9px 9px 0 var(--c);}
.ffv-stub{position:relative; flex:none; width:84px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:var(--c); color:#fff; border-right:2.5px dashed rgba(26,20,16,.55);}
.ffv-stub::before, .ffv-stub::after{content:""; position:absolute; right:-12px; width:22px; height:22px; border-radius:50%; background:var(--ff-cream); border:2.5px solid var(--ff-ink);}
.ffv-stub::before{top:-13px;} .ffv-stub::after{bottom:-13px;}
.ffv-stub svg{width:34px; height:34px; transition:transform .5s cubic-bezier(.3,1.6,.5,1);}
.ffv-tk:not(.is-full) .ffv-tk-in:hover .ffv-stub svg{transform:rotate(-10deg) scale(1.12);}
.ffv-stub b{font-family:"Poppins",sans-serif; font-weight:800; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; opacity:.95;}
.ffv-body{flex:1; min-width:0; padding:16px 18px 16px 24px; display:flex; flex-direction:column;}
.ff .ffv-body h3{margin:0; font-size:clamp(19px,2vw,22px); line-height:1.2;}
.ffv-desc{margin:8px 0 0; font-size:14.5px; line-height:1.55; color:#5a4636;}
.ffv-note{margin:8px 0 0; font-size:13px; line-height:1.5; color:var(--ff-red);}
.ffv-foot{margin-top:auto; padding-top:14px; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:10px 14px;}
.ffv-left{font-family:"Poppins",sans-serif; font-weight:700; font-size:13px; line-height:1.3; color:#5a4636;}
.ffv-left b{font-family:"Archivo Black",Impact,sans-serif; font-weight:400; font-size:18px; color:var(--ff-ink); margin-right:2px;}
.ffv-seats{display:flex; flex-wrap:wrap; gap:4px; margin-bottom:7px; max-width:200px;}
.ffv-seats i{width:13px; height:13px; border-radius:3px; border:2px solid var(--ff-ink); background:#fff;}
.ffv-seats i.is-taken{background:var(--c);}
.ffv-grid.is-in .ffv-seats i{animation:ffvSeat .35s cubic-bezier(.3,1.6,.5,1) calc(var(--j, 0) * 70ms + .45s + var(--s) * 40ms) both;}
@keyframes ffvSeat{from{transform:scale(0);} to{transform:none;}}
.ff-btn.ffv-go{padding:10px 18px; font-size:14px; white-space:nowrap;}
.ffv-tk.is-extra .ffv-tk-in{background:#FFF7EA;}
/* full jobs: a red marker strikes the name, then a FULL stamp thumps down */
.ffv-grid.is-full .ffv-tk-in{background:#f7f0e5; box-shadow:4px 4px 0 rgba(26,20,16,.22);}
.ffv-tk.is-full .ffv-stub{background:#b9a99a;}
.ffv-tk.is-full .ffv-desc{color:#8a7766;}
.ffv-tk.is-full .ffv-foot{min-height:60px; align-items:center; padding-right:112px;}
.ffv-tk.is-full .ffv-name{background-image:linear-gradient(var(--ff-red), var(--ff-red)); background-repeat:no-repeat; background-position:0 58%; background-size:0% 4px; -webkit-box-decoration-break:clone; box-decoration-break:clone;}
.ffv-grid.is-full.is-in .ffv-name{animation:ffvStrike .5s cubic-bezier(.6,0,.3,1) calc(var(--j, 0) * 90ms + .5s) forwards;}
@keyframes ffvStrike{to{background-size:100% 4px;}}
.ffv-stamp{position:absolute; right:16px; bottom:14px; padding:3px 12px 2px; border:3px solid var(--ff-red); border-radius:8px; color:var(--ff-red); font-family:"Archivo Black",Impact,sans-serif; font-size:20px; letter-spacing:.14em; text-transform:uppercase; opacity:0; transform:rotate(-10deg) scale(1.8); pointer-events:none;}
.ffv-grid.is-full.is-in .ffv-stamp{animation:ffvStamp .45s cubic-bezier(.3,1.5,.5,1) calc(var(--j, 0) * 90ms + .85s) forwards;}
@keyframes ffvStamp{0%{opacity:0; transform:rotate(-10deg) scale(1.8);} 60%{opacity:.95;} 100%{opacity:.88; transform:rotate(-10deg) scale(1);}}
/* the band at the bottom of the Fall Festival page: one big ticket */
.ffv-band{padding:10px 0 90px;}
.ffv-big{position:relative; display:flex; max-width:920px; margin:0 auto; text-decoration:none; color:var(--ff-ink); background:#fff; border:3px solid var(--ff-ink); border-radius:22px; box-shadow:8px 8px 0 var(--ff-teal); overflow:hidden; transition:transform .2s ease, box-shadow .2s ease;}
.ffv-big:hover{transform:translate(-3px,-3px) rotate(-.4deg); box-shadow:12px 12px 0 var(--ff-teal); color:var(--ff-ink);}
.ffv-big:focus-visible{outline:3px solid var(--ff-orange); outline-offset:4px;}
.ffv-big-stub{position:relative; flex:none; width:128px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; background:var(--ff-orange); color:#fff; border-right:3px dashed rgba(26,20,16,.55); font-family:"Archivo Black",Impact,sans-serif; text-transform:uppercase; text-align:center;}
.ffv-big-stub::before, .ffv-big-stub::after{content:""; position:absolute; right:-14px; width:26px; height:26px; border-radius:50%; background:var(--ff-cream); border:3px solid var(--ff-ink);}
.ffv-big-stub::before{top:-15px;} .ffv-big-stub::after{bottom:-15px;}
.ffv-big-stub b{font-size:20px; letter-spacing:.06em; line-height:1;} .ffv-big-stub b:last-child{font-size:13px; letter-spacing:.08em; margin-top:6px; padding:4px 8px; border:2px solid #fff; border-radius:6px;}
.ffv-big-stub i{font-family:"Architects Daughter",cursive; font-style:normal; font-size:18px; text-transform:none;}
.ffv-big-body{flex:1; min-width:0; padding:26px 30px 28px; display:flex; flex-direction:column; gap:8px;}
.ffv-big .ff-kicker{display:block;}
.ffv-big-h{font-family:"Archivo Black",Impact,sans-serif; font-size:clamp(26px,4vw,44px); line-height:1; text-transform:uppercase;}
.ffv-big-p{font-size:16px; line-height:1.55; color:#5a4636;}
.ffv-big-row{display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:8px;}
.ffv-big-live{display:inline-flex; align-items:center; gap:8px; font-family:"Poppins",sans-serif; font-weight:700; font-size:13.5px; color:var(--ff-deep);}
.ffv-big:hover .ffv-big-stub{animation:ffvWiggle .5s ease;}
@keyframes ffvWiggle{30%{transform:rotate(-3deg);} 60%{transform:rotate(2deg);} 100%{transform:none;}}
@media (max-width:700px){
  .ffv-hero{padding-top:110px;}
  .ffv-count{min-width:0; flex:1 1 30%; padding:12px 8px 10px;}
  .ffv-count span{font-size:10px; letter-spacing:.08em;}
  .ffv-grid{grid-template-columns:1fr; gap:18px;}
  .ffv-stub{width:68px;} .ffv-stub svg{width:28px; height:28px;}
  .ffv-body{padding:14px 14px 14px 20px;}
  .ffv-big-stub{width:84px;} .ffv-big-stub b{font-size:15px;} .ffv-big-stub b:last-child{font-size:10px; padding:3px 5px;} .ffv-big-stub i{font-size:15px;}
  .ffv-big-body{padding:18px 16px 20px 22px;}
}
@media (max-width: 520px){
  /* On a phone the ticket stub turns into a strip across the top, so the words and the button get the full width. */
  .ffv-big{flex-direction:column;}
  .ffv-big-stub{width:auto; flex-direction:row; gap:10px; padding:12px 16px; border-right:0; border-bottom:3px dashed rgba(26,20,16,.55);}
  .ffv-big-stub::before, .ffv-big-stub::after{top:auto; bottom:-15px;}
  .ffv-big-stub::before{left:-15px; right:auto;} .ffv-big-stub::after{right:-15px;}
  .ffv-big-stub b:last-child{margin-top:0;}
  .ffv-big-body{padding:18px 18px 22px;}
}
@media (prefers-reduced-motion: reduce){
  .ffv-count, .ffv-grid.is-in .ffv-tk, .ffv-grid.is-in .ffv-seats i, .ffv-live i, .ffv-big-live i, .ffv-big:hover .ffv-big-stub{animation:none !important;}
  .js .ffv-grid:not(.is-in) .ffv-tk{opacity:1;}
  .ffv-tk.is-full .ffv-name{background-size:100% 4px; animation:none !important;}
  .ffv-stamp{opacity:.88; transform:rotate(-10deg); animation:none !important;}
}

/* ---- Homepage banner with two events: Fall Fest on one side, the Hymn Sing on the other. They slide in from
   opposite sides and meet in the middle with a little burst. The Hymn Sing side is the old red cloth hymnal from
   the church's graphic, gold-stamped, with notes riding a music staff along the bottom and getting "sung" at the clef. ---- */
.evp{position:relative; display:grid; grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr); column-gap:14px; align-items:stretch;}
.evp-side{display:flex; min-width:0;}
.evp-side > a{flex:1 1 auto; min-width:0;}
.evp-l, .evp-r{transition:transform 1s cubic-bezier(.2,1.2,.35,1), opacity .6s ease;}
.js .evp-l{opacity:0; transform:translate3d(-70px,0,0) rotate(-1.5deg);}
.js .evp-r{opacity:0; transform:translate3d(70px,0,0) rotate(1.5deg);}
.js .evp.is-met .evp-l, .js .evp.is-met .evp-r{opacity:1; transform:none;}
.feat-ev-wrap.has-pair{overflow-x:clip;}
.evp-burst{position:relative; z-index:3; align-self:center; justify-self:center; width:0; height:0; pointer-events:none;}
.evp-burst i{position:absolute; left:-6px; top:-6px; width:12px; height:12px; background:#F9C31F; -webkit-clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); opacity:0; transform:rotate(var(--a)) translateY(0) scale(.3);}
.evp-burst i:nth-child(even){background:#FCEFD2; width:9px; height:9px; left:-4.5px; top:-4.5px;}
.evp.is-met .evp-burst i{animation:evpPop .9s cubic-bezier(.2,.9,.3,1) .7s both;}
@keyframes evpPop{0%{opacity:0; transform:rotate(var(--a)) translateY(0) scale(.3);} 30%{opacity:1;} 100%{opacity:0; transform:rotate(var(--a)) translateY(-48px) scale(1);}}
/* Fall Fest's side, when it shares the banner: name on top, then the details and the button */
.evp .fe-body{grid-template-columns:1fr auto; gap:12px 20px;}
.evp .fe-main{grid-column:1 / -1;}
.evp .fe-title{font-size:clamp(32px,3.5vw,50px);}
.evp .evp-sep{display:none;} .evp .evp-time{display:block;}
@keyframes evpRoll{from{transform:translate3d(-200px,0,0);} to{transform:translate3d(calc(100cqw + 20px),0,0);}}
@keyframes hsgRollCq{0%{opacity:0; transform:translate3d(calc(100cqw - 50px),0,0);} 6%{opacity:1;} 86%{opacity:1; transform:translate3d(64px,0,0) scale(1);} 100%{opacity:0; transform:translate3d(50px,-30px,0) scale(1.5);}}
@supports (width: 1cqw){
  .evp .feat-ev{container-type:inline-size;}
  .evp .fe-tractor{animation-name:evpRoll; animation-duration:19s;}
}

.hsg-ev{position:relative; display:block; overflow:hidden; border-radius:24px; padding:24px clamp(20px,3vw,40px) 74px; color:#FBEFD9; text-decoration:none;
  background:radial-gradient(120% 90% at 18% 0%, rgba(255,140,110,.2), transparent 55%), radial-gradient(130% 120% at 50% 45%, transparent 50%, rgba(25,0,0,.5)), repeating-linear-gradient(0deg, rgba(0,0,0,.08) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(255,230,200,.05) 0 1px, transparent 1px 3px), #7A1C19;
  box-shadow:0 0 0 4px #C9963F, 0 30px 60px -36px rgba(90,10,8,.75); transition:box-shadow .3s ease;}
.hsg-ev:not(.is-hymn){background:linear-gradient(120deg,#24512E,#2A5680); box-shadow:0 30px 60px -36px rgba(12,20,30,.8); padding-bottom:30px;}
.hsg-ev:hover{color:#FBEFD9; box-shadow:0 0 0 4px #F2CF7E, 0 34px 64px -34px rgba(90,10,8,.85);}
.hsg-ev:focus-visible{outline:3px solid #F2CF7E; outline-offset:6px;}
.hsg-frame{position:absolute; inset:10px; border:1.5px solid rgba(231,196,122,.5); border-radius:16px; pointer-events:none;}
.hsg-frame::before{content:""; position:absolute; inset:4px; border:1px solid rgba(231,196,122,.25); border-radius:12px;}
.hsg-frame i{position:absolute; width:9px; height:9px; background:#7A1C19; border:1.5px solid rgba(231,196,122,.7); transform:rotate(45deg);}
.hsg-frame i:nth-child(1){left:-6px; top:-6px;} .hsg-frame i:nth-child(2){right:-6px; top:-6px;} .hsg-frame i:nth-child(3){left:-6px; bottom:-6px;} .hsg-frame i:nth-child(4){right:-6px; bottom:-6px;}
.hsg-ev:not(.is-hymn) .hsg-frame{display:none;}
.hsg-glint{position:absolute; z-index:1; top:-40%; bottom:-40%; left:-30%; width:20%; background:linear-gradient(100deg, transparent, rgba(255,226,160,.2), transparent); transform:skewX(-18deg) translateX(0); animation:hsgGlint 6.5s cubic-bezier(.4,0,.2,1) 1.6s infinite; animation-play-state:paused; pointer-events:none;}
@keyframes hsgGlint{0%,55%{transform:skewX(-18deg) translateX(0);} 100%{transform:skewX(-18deg) translateX(820%);}}
.hsg-body{position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px 34px;}
.hsg-main{display:flex; flex-direction:column; align-items:flex-start; min-width:0;}
.hsg-kick{display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#F6E2B8;}
.hsg-kick i{width:10px; height:10px; border-radius:50%; background:#E7C47A; animation:hsgPing 1.8s ease-out infinite;}
@keyframes hsgPing{0%{box-shadow:0 0 0 0 rgba(231,196,122,.7);} 100%{box-shadow:0 0 0 12px rgba(231,196,122,0);}}
.hsg-count{padding:5px 11px; border-radius:99px; background:#E7C47A; color:#4A0E0C; letter-spacing:.1em; font-weight:700;}
.hsg-count[hidden]{display:none;}
.hsg-title{margin-top:8px; font-family:"Cinzel","Trajan Pro",Georgia,serif; font-weight:900; font-size:clamp(34px,5vw,64px); line-height:1; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; padding:.04em .02em .06em;
  background:linear-gradient(180deg,#FFF1C4 0%,#F0CF84 38%,#C08A36 52%,#E9C277 72%,#FFE7A8 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; filter:drop-shadow(0 2px 0 rgba(45,5,3,.7));}
.hsg-ev:not(.is-hymn) .hsg-title{font-family:"Archivo Black","Anton",sans-serif; background:none; color:#fff; -webkit-text-fill-color:#fff; filter:none; letter-spacing:-.01em;}
.hsg-sub{display:inline-flex; align-items:center; gap:8px; margin-top:4px; font-family:"Cinzel",Georgia,serif; font-weight:700; font-size:clamp(13px,1.3vw,16px); letter-spacing:.24em; text-transform:uppercase; color:#E7C47A;}
.hsg-cone{width:15px; height:22px; flex:none; overflow:visible; transform-origin:50% 100%; animation:hsgLick 2.6s ease-in-out infinite; animation-play-state:paused;}
@keyframes hsgLick{0%,100%{transform:rotate(-7deg);} 50%{transform:rotate(7deg);}}
.hsg-info{display:flex; flex-direction:column; min-width:0;}
.hsg-when{font-weight:800; font-size:clamp(15px,1.5vw,19px); color:#fff;}
.hsg-note{margin-top:4px; font-size:14.5px; line-height:1.45; color:rgba(255,240,220,.86);}
.hsg-go{display:inline-flex; align-items:center; gap:10px; padding:13px 22px; border-radius:99px; background:#E7C47A; color:#4A0E0C; font-weight:800; font-size:15.5px; white-space:nowrap; transition:transform .25s ease, background .25s;}
.hsg-ev:hover .hsg-go{transform:translateX(4px); background:#FFE7A8;}
/* the staff along the bottom: five gold lines, a treble clef, and notes hopping line to line */
.hsg-staff{position:absolute; z-index:1; left:0; right:0; bottom:0; height:66px; pointer-events:none; color:#E7C47A;}
.hsg-lines{position:absolute; left:22px; right:22px; bottom:18px; height:31.5px; background:repeating-linear-gradient(180deg, rgba(231,196,122,.45) 0 1.5px, transparent 1.5px 7.5px);}
.hsg-lines::after{content:""; position:absolute; right:0; top:0; width:1.5px; height:31.5px; background:rgba(231,196,122,.45);}
.hsg-clef{position:absolute; left:24px; bottom:8px; width:22px; height:55px; overflow:visible;}
.hsg-notes{position:absolute; inset:0; overflow:hidden;}
.hsg-notes i{position:absolute; left:0; bottom:18px; width:16px; height:30px; opacity:0; animation:hsgRoll 15s linear infinite; animation-delay:var(--o); animation-play-state:paused; will-change:transform;}
.hsg-notes i.is-pair{width:30px;}
.hsg-notes svg{display:block; width:100%; height:100%; fill:#E7C47A; overflow:visible; animation:hsgHop 3s ease-in-out infinite; animation-delay:var(--h); animation-play-state:paused;}
@keyframes hsgHop{0%,100%{transform:translateY(0);} 25%{transform:translateY(-7.5px);} 50%{transform:translateY(-15px);} 75%{transform:translateY(-3.75px);}}
@keyframes hsgRoll{0%{opacity:0; transform:translate3d(560px,0,0);} 6%{opacity:1;} 86%{opacity:1; transform:translate3d(64px,0,0) scale(1);} 100%{opacity:0; transform:translate3d(50px,-30px,0) scale(1.5);}}
@supports (width: 1cqw){
  .hsg-ev{container-type:inline-size;}
  .hsg-notes i{animation-name:hsgRollCq;}
}
.hsg-ev.is-live .hsg-glint, .hsg-ev.is-live .hsg-notes i, .hsg-ev.is-live .hsg-notes svg, .hsg-ev.is-live .hsg-cone{animation-play-state:running;}
@media (min-width:1000px){
  .evp .hsg-body{grid-template-columns:1fr auto; gap:12px 20px;}
  .evp .hsg-main{grid-column:1 / -1;}
  .evp .hsg-title{font-size:clamp(32px,3.5vw,50px);}
}
@media (max-width:999px){
  .evp{display:flex; flex-direction:column;}
  .evp-burst{margin:11px 0;}
}
@media (max-width:980px){
  .hsg-body{grid-template-columns:1fr auto;}
  .hsg-main{grid-column:1 / -1;}
}
@media (max-width:700px){
  .hsg-ev{padding:22px 20px 76px; border-radius:20px;}
  .hsg-body{grid-template-columns:1fr; gap:10px;}
  .hsg-title{font-size:clamp(32px,10vw,52px);}
  .hsg-go{justify-self:start;}
  .js .evp-l{transform:translate3d(-40px,0,0);} .js .evp-r{transform:translate3d(40px,0,0);}
}
@media (prefers-reduced-motion: reduce){
  .evp-l, .evp-r{transition:none;} .js .evp-l, .js .evp-r{opacity:1; transform:none;}
  .evp-burst{display:none;}
  .hsg-glint{display:none;} .hsg-kick i, .hsg-cone, .hsg-notes svg{animation:none !important;}
  .hsg-notes i{animation:none !important; opacity:1;}
  .hsg-notes i:nth-child(1){transform:translateX(70px);} .hsg-notes i:nth-child(2){transform:translateX(120px) translateY(-7.5px);} .hsg-notes i:nth-child(3){transform:translateX(170px) translateY(-3.75px);} .hsg-notes i:nth-child(n+4){display:none;}
}
/* The Hymn Sing in the church's own artwork: the real gold lettering on the red cloth cover, edges melted into the cloth. */
.hsg-ev.has-art{background:var(--hsg-cloth) center / cover no-repeat, #6B1915; padding-top:20px;}
.hsg-ev.has-art .hsg-main{align-items:center; text-align:center;}
.hsg-ev.has-art .hsg-kick{justify-content:center;}
.hsg-art{display:block; width:min(100%, 500px); height:auto; margin:8px auto 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent), linear-gradient(180deg, transparent, #000 9%, #000 91%, transparent); -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent), linear-gradient(180deg, transparent, #000 9%, #000 91%, transparent); mask-composite:intersect;}
.hsg-ev.has-art .hsg-note{color:rgba(255,236,214,.9);}
.evp .hsg-ev.has-art .hsg-art{width:min(100%, 470px);}
@media (max-width:700px){
  .hsg-ev.has-art .hsg-info{text-align:center;}
  .hsg-ev.has-art .hsg-go{justify-self:center;}
}

/* ==== Ministry pages: Kids, Students, Buddies and the Ministries page ====
   Main-site cream and ink, each ministry's own color on top (--mc color, --mk deep ink, --mt soft tint). */
.mn{--mc:#2E6B3E; --mk:#24512E; --mt:#E9F1EA; background:var(--bg); overflow-x:clip;}
.mn .eyebrow{color:var(--mk);}
.mn-staff{position:fixed; left:16px; bottom:16px; z-index:70; display:flex; align-items:center; gap:8px; max-width:calc(100% - 32px); margin:0; padding:9px 15px; border-radius:99px; background:#1C2A1E; color:#F6E7C8; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.04em; line-height:1.35; box-shadow:0 14px 30px -14px rgba(0,0,0,.6);}
.mn-staff svg{flex:none; width:14px; height:14px; color:#F9C31F;}
.mn-staff-s{display:none;}
@media (max-width:600px){ .mn-staff-l{display:none;} .mn-staff-s{display:inline;} .mn-staff{right:auto;} }
.mn-head{max-width:680px; margin-bottom:44px;}
.mn-head h2{margin-top:12px; font-size:clamp(34px,5vw,60px);}
.mn-head p{margin-top:14px; font-size:16.5px; line-height:1.6; color:var(--ink-soft);}

/* the top: the name pops in letter by letter beside fanned snapshots */
.mn-hero{position:relative; overflow:hidden; padding:150px 0 96px; background:radial-gradient(110% 90% at 88% 8%, var(--mt), transparent 62%), var(--bg);}
.mn-blob{position:absolute; border-radius:50%; pointer-events:none; animation:mnFloat 16s ease-in-out infinite;}
.mn-b1{width:460px; height:460px; right:-140px; top:-120px; background:radial-gradient(circle, var(--mc), transparent 66%); opacity:.16;}
.mn-b2{width:300px; height:300px; left:-120px; bottom:-140px; background:radial-gradient(circle, var(--mc), transparent 66%); opacity:.1; animation-delay:-7s;}
@keyframes mnFloat{0%,100%{transform:translate3d(0,0,0) scale(1);} 50%{transform:translate3d(-30px,24px,0) scale(1.08);}}
.mn-hero-in{position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; align-items:center;}
.mn-kick{margin:0; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--mk);}
.mn-kick a{color:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1.5px;}
.mn-title{display:flex; flex-wrap:wrap; margin-top:12px; font-size:clamp(78px,13vw,184px); line-height:.86; color:var(--ink); text-shadow:.035em .035em 0 var(--mc); padding-bottom:.04em;}
.mn-title span{display:inline-block; animation:mnPop .8s cubic-bezier(.2,1.5,.4,1) calc(.15s + var(--i) * 70ms) both;}
@keyframes mnPop{0%{opacity:0; transform:translateY(.4em) scale(.6) rotate(-8deg);} 100%{opacity:1; transform:none;}}
.mn-lede{margin-top:18px; max-width:46ch; font-size:clamp(17px,1.6vw,20px); line-height:1.55; color:var(--ink-soft);}
.mn-times{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.mn-time{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:14px; background:#fff; border:1.5px solid var(--line); font-size:14.5px; font-weight:600; color:var(--ink-soft); box-shadow:0 10px 24px -18px rgba(19,42,22,.5);}
.mn-time svg{flex:none; width:18px; height:18px; color:var(--mk);}
.mn-time b{color:var(--ink); font-weight:800;}
.mn-ctas{display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:26px;}
.mn-snaps{position:relative; height:clamp(340px,36vw,480px);}
.mn-snap{position:absolute; width:52%; aspect-ratio:4 / 5; padding:10px 10px 30px; background:#fff; border-radius:6px; box-shadow:0 30px 50px -28px rgba(19,42,22,.55); animation:mnDeal 1s cubic-bezier(.2,1.1,.3,1) calc(.35s + var(--i) * 140ms) both; transition:translate .5s cubic-bezier(.2,1.2,.3,1), rotate .5s cubic-bezier(.2,1.2,.3,1);}
.mn-snap img{display:block; width:100%; height:100%; object-fit:cover; border-radius:3px;}
.mn-snap:nth-child(1){left:2%; top:8%; rotate:-7deg; z-index:2;}
.mn-snap:nth-child(2){left:40%; top:0; rotate:6deg; z-index:1;}
.mn-snap:nth-child(3){left:24%; top:30%; rotate:-1deg; z-index:3;}
.mn-snaps.is-two .mn-snap:nth-child(1){left:6%; top:4%;}
.mn-snaps.is-two .mn-snap:nth-child(2){left:40%; top:24%; z-index:3;}
@media (hover:hover){
  .mn-snaps:hover .mn-snap:nth-child(1){translate:-22px -6px; rotate:-11deg;}
  .mn-snaps:hover .mn-snap:nth-child(2){translate:22px -10px; rotate:10deg;}
  .mn-snaps:hover .mn-snap:nth-child(3){translate:0 14px; rotate:2deg;}
}
@keyframes mnDeal{0%{opacity:0; transform:translate3d(0,70px,0) scale(.85) rotate(12deg);} 100%{opacity:1; transform:none;}}

/* Sundays: two service tickets, a live countdown, then the morning step by step along a path */
.mn-sun{position:relative; padding:96px 0; background:var(--surface);}
.mn-sun-top{display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:18px; margin-bottom:64px;}
.mn-svc{position:relative; display:flex; flex-direction:column; padding:22px 26px; border-radius:22px; background:var(--mk); color:#fff; overflow:hidden;}
.mn-svc + .mn-svc{background:#fff; color:var(--mk); box-shadow:inset 0 0 0 2px var(--mc);}
.mn-svc::before, .mn-svc::after{content:""; position:absolute; top:50%; width:22px; height:22px; margin-top:-11px; border-radius:50%; background:var(--surface);}
.mn-svc::before{left:-11px;} .mn-svc::after{right:-11px;}
.mn-svc span{font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; opacity:.85;}
.mn-svc b{margin-top:6px; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:clamp(54px,6vw,84px); line-height:1;}
.mn-svc em{font-style:normal; font-weight:800; font-size:15px; letter-spacing:.1em;}
.mn-count{display:flex; flex-direction:column; justify-content:center; padding:20px 22px; border-radius:22px; background:#fff; border:1.5px solid var(--line);}
.mn-count-k{display:flex; align-items:center; font-weight:800; font-size:14.5px; color:var(--mk);}
.mn-count.is-live .mn-count-k::before{content:""; flex:none; width:9px; height:9px; margin-right:8px; border-radius:50%; background:#E8452C; animation:mnLive 1.2s ease-in-out infinite;}
@keyframes mnLive{50%{opacity:.25;}}
.mn-count-n{display:flex; gap:10px; margin-top:10px;}
.mn-count-n > span{flex:1; padding:10px 6px 8px; border-radius:14px; background:var(--mt); text-align:center; perspective:300px;}
.mn-count-n b{display:block; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:40px; line-height:1; color:var(--ink);}
.mn-count-n b.is-flip{animation:mnFlip .5s cubic-bezier(.3,1.4,.5,1);}
@keyframes mnFlip{0%{opacity:0; transform:translateY(-40%) rotateX(80deg);} 100%{opacity:1; transform:none;}}
.mn-count-n i{font-style:normal; font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint);}
.mn-count-w{margin-top:10px; font-size:13px; color:var(--ink-faint);}
.mn-path{position:relative;}
.mn-path-line{position:absolute; left:0; top:0; z-index:0; overflow:visible; pointer-events:none;}
.mn-pl-bg{fill:none; stroke:var(--line-strong); stroke-width:3; stroke-dasharray:2 10; stroke-linecap:round;}
.mn-pl-fg{fill:none; stroke:var(--mc); stroke-width:5; stroke-linecap:round;}
.mn-path:not(.is-drawn) .mn-pl-fg{opacity:0;}
.mn-path-dot{position:absolute; left:0; top:0; z-index:3; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--mc); color:#fff; box-shadow:0 0 0 6px rgba(255,255,255,.92), 0 10px 24px -8px var(--mk); opacity:0; transition:opacity .3s; will-change:transform; pointer-events:none;}
.mn-path.is-drawn .mn-path-dot{opacity:1;}
.mn-path-dot svg{width:18px; height:18px; fill:currentColor;}
.mn-steps{position:relative; z-index:1; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:26px; margin:0; padding:0; list-style:none;}
.mn-step{position:relative; display:flex; flex-direction:column; align-items:center; padding:0 6px; text-align:center;}
.mn-step:nth-child(even){margin-top:72px;}
.mn-step-n{position:relative; display:grid; place-items:center; width:84px; height:84px; border-radius:50%; background:#fff; border:3px solid var(--line-strong); color:var(--ink-faint); transition:background .4s, border-color .4s, color .4s, transform .5s cubic-bezier(.2,1.5,.4,1);}
.mn-step-n svg{width:34px; height:34px;}
.mn-step-n b{position:absolute; top:-6px; right:-6px; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--ink); color:#fff; font-family:"Space Mono",monospace; font-size:13px; transition:background .4s;}
.mn-step.is-lit .mn-step-n{background:var(--mc); border-color:var(--mc); color:#fff; transform:scale(1.08);}
.mn-step.is-lit .mn-step-n b{background:var(--mk);}
.mn-step h3{margin-top:18px; font-size:24px;}
.mn-step p{max-width:30ch; margin-top:8px; font-size:15px; line-height:1.55; color:var(--ink-soft);}

/* program cards (Kids and Buddies) */
.mn-progs{padding:96px 0;}
.mn-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px;}
.js .mn-grid.reveal{opacity:1; transform:none;}
.mn-card{display:flex; flex-direction:column; overflow:hidden; border-radius:24px; background:#fff; border:1.5px solid var(--line); box-shadow:0 26px 50px -36px rgba(19,42,22,.55); transition:transform .35s cubic-bezier(.2,1,.3,1), box-shadow .35s;}
.js .mn-grid.reveal .mn-card{opacity:0; translate:0 40px;}
.mn-grid.reveal.in .mn-card{opacity:1; translate:0 0; transition:opacity .6s ease calc(var(--i) * 90ms), translate .8s cubic-bezier(.2,1.2,.3,1) calc(var(--i) * 90ms), transform .35s cubic-bezier(.2,1,.3,1), box-shadow .35s;}
.mn-card:hover{transform:translateY(-6px); box-shadow:0 34px 60px -34px rgba(19,42,22,.6);}
.mn-card-top{position:relative; aspect-ratio:16 / 10; overflow:hidden; background:var(--mt);}
.mn-card-top img{display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,1,.3,1);}
.mn-card:hover .mn-card-top img{transform:scale(1.06);}
.mn-card-ico{position:absolute; left:14px; bottom:14px; z-index:2; display:grid; place-items:center; width:46px; height:46px; border-radius:15px; background:var(--mk); color:#fff; box-shadow:0 8px 18px -8px rgba(0,0,0,.5);}
.mn-card-ico svg{width:24px; height:24px;}
.mn-card.is-art .mn-card-ico{display:none;}
.mn-card-art{position:absolute; inset:0; display:grid; place-items:center; color:var(--mk); background:radial-gradient(circle at 30% 25%, #fff, transparent 55%), var(--mt);}
.mn-card-art > svg{width:34%; height:auto; stroke-width:1.3; animation:mnBob 5s ease-in-out infinite;}
.mn-card-art i{position:absolute; width:10px; height:10px; border-radius:50%; background:var(--mc); opacity:0; animation:mnRise 4.5s ease-in infinite;}
.mn-card-art i:nth-child(2){left:24%; bottom:18%;} .mn-card-art i:nth-child(3){left:68%; bottom:22%; width:7px; height:7px; animation-delay:-1.6s;} .mn-card-art i:nth-child(4){left:46%; bottom:12%; width:8px; height:8px; animation-delay:-3s;}
@keyframes mnBob{0%,100%{transform:translateY(0) rotate(-2deg);} 50%{transform:translateY(-8px) rotate(2deg);}}
@keyframes mnRise{0%{opacity:0; transform:translateY(0) scale(.6);} 20%{opacity:.8;} 100%{opacity:0; transform:translateY(-90px) scale(1);}}
.mn-card-body{position:relative; flex:1; display:flex; flex-direction:column; padding:20px 22px 22px;}
.mn-card-tag{font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--mk);}
.mn-card h3, .mn-lk-in h3{margin-top:6px; font-size:30px;}
.mn-card-when{align-self:flex-start; margin-top:10px; padding:6px 12px; border-radius:99px; background:var(--mt); color:var(--mk); font-size:13.5px; font-weight:800;}
.mn-card-when a{color:inherit; text-decoration:none;}
.mn-card-when.is-dated{background:var(--mk); color:#fff;}
.mn-card p, .mn-lk-in p{margin-top:12px; font-size:15px; line-height:1.55; color:var(--ink-soft);}
.mn-card-go{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:auto; padding-top:16px;}
.mn-link, .mn-reg{display:inline-flex; align-items:center; gap:6px; font-size:14.5px; font-weight:800; color:var(--mk); text-decoration:none;}
.mn-link svg, .mn-reg svg{width:16px; height:16px; transition:transform .25s;}
.mn-link:hover svg, .mn-reg:hover svg{transform:translateX(4px);}
.mn-reg{padding:8px 14px; border-radius:99px; background:var(--mk); color:#fff;}
.mn-reg:hover{color:#fff;}
.mn-reg[hidden]{display:none;}

/* Students: a hallway locker bank of tall, skinny lockers. Each door is painted steel with taped-on polaroids,
   stickers and a combination lock; inside are books on the shelf, a pencil drawing and the details on notebook
   paper. Tap a door: the dial spins, the lock pops, and the door swings open past its hinge. */
.mn-lk-sec{position:relative; padding:96px 0 0; background:linear-gradient(180deg, var(--surface), var(--bg) 70%);}
.mn-lk-sec::after{content:""; display:block; height:70px; margin-top:-2px; background:linear-gradient(180deg, rgba(28,42,30,.16), rgba(28,42,30,0) 80%), repeating-linear-gradient(90deg, rgba(28,42,30,.05) 0 1px, transparent 1px 120px);}
.mn-lk-bank{position:relative; padding:0 12px 14px; border-radius:16px 16px 6px 6px; background:linear-gradient(180deg,#3B4A40,#28332C); box-shadow:0 50px 60px -44px rgba(0,0,0,.7), inset 0 2px 0 rgba(255,255,255,.08);}
.mn-lk-crown{position:relative; display:flex; align-items:center; justify-content:center; height:46px; margin:0 -12px 12px; border-radius:16px 16px 0 0; background:linear-gradient(180deg,#46574B,#334038); box-shadow:inset 0 -3px 0 rgba(0,0,0,.25);}
.mn-lk-crown span{padding:5px 14px 4px; border-radius:4px; background:linear-gradient(135deg,#EDD9A0,#B8925A 60%,#E6CC8C); color:#3B2A10; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 2px 3px rgba(0,0,0,.4);}
.mn-lk-crown i{position:absolute; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #9aa49d, #4b5650); box-shadow:0 1px 0 rgba(255,255,255,.12);}
.mn-lk-crown i:nth-of-type(1){left:18px;} .mn-lk-crown i:nth-of-type(2){right:18px;} .mn-lk-crown i:nth-of-type(3){display:none;}
.mn-lockers{display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:9px; perspective:1700px;}
.mn-lk{position:relative; min-height:580px; border-radius:6px; transform-style:preserve-3d;}
.js .mn-lockers .mn-lk{opacity:0; translate:0 50px;}
.mn-lockers .mn-lk.is-in{opacity:1; translate:0 0; transition:opacity .6s ease calc(var(--i) * 80ms), translate .9s cubic-bezier(.2,1.2,.3,1) calc(var(--i) * 80ms);}
.mn-lk.is-open{z-index:2;}
/* inside: steel walls, a shelf of books, a drawing taped up, the details on notebook paper */
.mn-lk-in{position:absolute; inset:0; display:flex; flex-direction:column; overflow:hidden; padding:54px 10px 10px; border-radius:6px;
  background:linear-gradient(180deg, #C9CFCA 0 42px, #8D9690 42px 46px, transparent 46px), radial-gradient(circle, rgba(0,0,0,.14) 1.1px, transparent 1.6px) 4px 50px / 10px 10px, #DDE2DC; box-shadow:inset 0 0 0 3px #B7BEB8, inset 0 22px 34px -22px rgba(0,0,0,.45), inset 12px 0 22px -16px rgba(0,0,0,.3), inset -12px 0 22px -16px rgba(0,0,0,.3);}
.mn-lk-shelf{position:absolute; left:10px; top:8px; display:flex; align-items:flex-end; gap:2px; height:34px;}
.mn-lk-shelf i{width:10px; height:30px; border-radius:2px 2px 1px 1px; background:#2A5680; box-shadow:inset 0 3px 0 rgba(255,255,255,.25), inset 0 -3px 0 rgba(0,0,0,.2);}
.mn-lk-shelf i:nth-child(2){height:26px; width:8px; background:#B8925A;}
.mn-lk-shelf i:nth-child(3){height:33px; width:11px; background:#2E6B3E;}
.mn-lk-shelf i:nth-child(4){height:24px; width:9px; background:#C23B22;}
.mn-lk-shelf i:nth-child(5){height:27px; width:9px; background:#F2E7CF; transform-origin:0 100%; transform:rotate(14deg); margin-left:3px;}
.mn-lk-x{position:absolute; top:7px; right:7px; z-index:2; display:grid; place-items:center; width:30px; height:30px; border:0; border-radius:50%; background:rgba(255,255,255,.95); color:var(--ink); cursor:pointer; box-shadow:0 6px 14px -6px rgba(0,0,0,.45);}
.mn-lk-x svg{width:15px; height:15px;}
.mn-lk-draw{flex:none; position:relative; display:block; width:66%; margin:10px 2px 10px auto; padding:8px 8px 6px; background:#FCFBF7; background-image:linear-gradient(rgba(42,86,128,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(42,86,128,.07) 1px, transparent 1px); background-size:12px 12px; color:#3A3F3B; rotate:4deg; box-shadow:0 6px 12px -6px rgba(0,0,0,.45);}
.mn-lk-draw svg{display:block; width:100%; height:auto;}
.mn-lk-draw::before, .mn-lk-draw::after{content:""; position:absolute; top:-7px; width:30px; height:14px; background:rgba(249,195,31,.7); box-shadow:0 1px 2px rgba(0,0,0,.12);}
.mn-lk-draw::before{left:-6px; transform:rotate(-30deg);} .mn-lk-draw::after{right:-6px; transform:rotate(28deg);}
.mn-lk-in .mn-lbl{position:relative; z-index:1; align-self:flex-start; margin:0 0 0 2px; padding:5px 9px 4px; border-radius:3px; background:#17191A; color:#F1F1EC; font-family:"Space Mono",monospace; font-weight:700; font-size:15px; line-height:1.1; letter-spacing:.16em; text-transform:uppercase; text-shadow:-1px -1px 0 rgba(0,0,0,.7), 1px 1px 0 rgba(255,255,255,.2); box-shadow:0 2px 3px rgba(0,0,0,.45); rotate:-1.5deg;}
.mn-lk-in .mn-lbl.is-sm{margin-top:6px; padding:3px 7px 2px; background:#F9C31F; color:#1C1A12; font-size:9.5px; letter-spacing:.06em; line-height:1.25; text-shadow:1px 1px 0 rgba(255,255,255,.45); rotate:1deg;}
.mn-lk-in .mn-pass{position:relative; align-self:flex-start; display:block; max-width:100%; margin:0 0 12px; padding:6px 10px 7px 12px; border-left:5px solid #C23B22; border-radius:2px 6px 6px 2px; background:#fff; rotate:-2deg; box-shadow:0 6px 12px -6px rgba(0,0,0,.45);}
.mn-pass small{display:block; color:#C23B22; font-family:"Space Mono",monospace; font-size:8.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;}
.mn-pass .mn-card-when, .mn-pass .mn-card-when.is-dated{display:block; margin:2px 0 0; padding:0; border-radius:0; background:none; color:var(--ink); font-size:12.5px; font-weight:800; line-height:1.3;}
.mn-pass .mn-card-when a{color:inherit; text-decoration:underline; text-decoration-color:rgba(194,59,34,.55); text-underline-offset:2px;}
/* the one piece of paper: a short note held up by a magnet */
.mn-lk-in .mn-note{position:relative; margin:0 2px 14px; padding:13px 10px 12px; background:#FFFDF6; background-image:repeating-linear-gradient(180deg, transparent 0 17px, rgba(42,86,128,.14) 17px 18px); background-position:0 12px; color:#2C3A2F; font-size:12.5px; line-height:18px; rotate:.8deg; box-shadow:0 8px 14px -8px rgba(0,0,0,.45);}
.mn-lk-in .mn-note::before{content:""; position:absolute; left:50%; top:-7px; width:14px; height:14px; margin-left:-7px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FF8A6B, #C23B22 60%, #8E2715); box-shadow:0 2px 3px rgba(0,0,0,.4);}
/* the links: a stack of books on the locker floor. Hover and one slides out. */
.mn-books{display:flex; flex-direction:column; margin-top:auto; padding-top:4px;}
.mn-book{--bk:#C23B22; position:relative; display:flex; align-items:center; gap:6px; min-height:34px; margin-top:-1px; padding:6px 16px 6px 17px; border:0; border-radius:3px 8px 8px 3px; color:#FFF7E6; font:inherit; font-family:"Anton",Impact,sans-serif; font-size:13.5px; line-height:1.05; letter-spacing:.05em; text-align:left; text-decoration:none; text-transform:uppercase; cursor:pointer;
  background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0) 42%, rgba(0,0,0,.22)), var(--bk);
  box-shadow:0 2px 0 rgba(0,0,0,.28), 0 7px 10px -6px rgba(0,0,0,.6); transition:transform .35s cubic-bezier(.2,1.4,.4,1), box-shadow .35s ease;}
.mn-book::before, .mn-book::after{content:""; position:absolute; top:5px; bottom:5px; width:4px; border-left:2px solid #E6CC8C; border-right:1px solid #E6CC8C; opacity:.85;}
.mn-book::before{left:6px;} .mn-book::after{right:5px;}
.mn-book-t{flex:1; min-width:0;}
.mn-book-a{flex:none; width:14px; height:14px; transition:transform .3s ease;}
.mn-book-1{z-index:2; width:93%; margin-left:4%; rotate:-1.5deg;}
.mn-book-2{--bk:#24314A; z-index:1; rotate:.8deg;}
.mn-lk:nth-child(3n+2) .mn-book-2{--bk:#2E6B3E;}
.mn-book:hover, .mn-book:focus-visible{color:#fff; transform:translateX(8px); box-shadow:0 2px 0 rgba(0,0,0,.28), 0 12px 16px -8px rgba(0,0,0,.65);}
.mn-book:hover .mn-book-a{transform:translateX(3px);}
.mn-book:focus-visible{outline:3px solid #F9C31F; outline-offset:2px;}
.mn-book[hidden]{display:none;}
/* the door */
.mn-lk-door{--door:var(--mk); --tape:rgba(249,195,31,.72); position:absolute; inset:0; z-index:3; display:block; width:100%; padding:0; border:0; border-radius:6px; background:none; color:#fff; font:inherit; text-align:left; cursor:pointer;
  transform-origin:left center; transform:rotateY(0deg); transform-style:preserve-3d; transition:transform .9s cubic-bezier(.3,1.15,.4,1);}
.mn-lk:nth-child(3n+2) .mn-lk-door{--door:#2A5680; --tape:rgba(255,128,176,.66);}
.mn-lk:nth-child(3n) .mn-lk-door{--door:#8A6B3F; --tape:rgba(84,214,200,.66);}
.mn-lk-face, .mn-lk-back{position:absolute; inset:0; border-radius:6px; -webkit-backface-visibility:hidden; backface-visibility:hidden;}
.mn-lk-face{display:flex; flex-direction:column; justify-content:flex-end; padding:18px 16px 20px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 4px), linear-gradient(100deg, rgba(255,255,255,.14), rgba(255,255,255,0) 30%, rgba(0,0,0,.12) 100%), var(--door);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.1), inset 0 -60px 80px -60px rgba(0,0,0,.45), 0 4px 0 rgba(0,0,0,.25);}
.mn-lk-face::before{content:""; position:absolute; inset:10px; border-radius:4px; box-shadow:inset 0 0 0 2px rgba(0,0,0,.16), inset 2px 2px 0 rgba(255,255,255,.09); pointer-events:none;}
.mn-lk-vents{position:absolute; top:22px; left:18px; display:flex; flex-direction:column; gap:5px; width:52%;}
.mn-lk-vents i{height:4px; border-radius:4px; background:rgba(0,0,0,.34); box-shadow:inset 0 2px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.16);}
.mn-lk-num{position:absolute; top:20px; right:16px; padding:3px 7px 2px 13px; border-radius:4px; background:linear-gradient(135deg,#EDD9A0,#B8925A 60%,#E6CC8C); color:#3B2A10; font-family:"Space Mono",monospace; font-size:11.5px; font-weight:700; letter-spacing:.1em; box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 1px 2px rgba(0,0,0,.45);}
.mn-lk-num::before{content:""; position:absolute; left:5px; top:50%; width:4px; height:4px; margin-top:-2px; border-radius:50%; background:#7A5E2E;}
.mn-lk-deco{position:absolute; inset:0; pointer-events:none;}
/* polaroids, taped on, stacked down the skinny door */
.mn-pol{position:absolute; width:min(64%, 136px); padding:5px 5px 20px; background:#FBFAF6; transform:rotate(var(--r)); transform-origin:50% 0; box-shadow:0 10px 18px -8px rgba(0,0,0,.55), 0 1px 0 rgba(0,0,0,.08); transition:transform .5s cubic-bezier(.2,1.4,.4,1);}
.mn-pol-1{left:22%; top:78px;}
.mn-pol-2{left:7%; top:226px;}
.mn-pol:only-of-type{left:16%; top:96px; width:68%;}
.mn-pol img{display:block; width:100%; height:auto; aspect-ratio:1 / 1; object-fit:cover; background:#D9DDD9;}
.mn-pol::before{content:""; position:absolute; left:50%; top:-9px; width:54%; height:18px; margin-left:-27%; background:var(--tape); transform:rotate(calc(var(--r) * -1.3)); box-shadow:0 1px 2px rgba(0,0,0,.12);
  -webkit-clip-path:polygon(0 8%,6% 0,12% 10%,18% 0,24% 8%,76% 4%,82% 0,88% 10%,94% 0,100% 8%,100% 92%,94% 100%,88% 90%,82% 100%,76% 94%,24% 98%,18% 100%,12% 90%,6% 100%,0 92%); clip-path:polygon(0 8%,6% 0,12% 10%,18% 0,24% 8%,76% 4%,82% 0,88% 10%,94% 0,100% 8%,100% 92%,94% 100%,88% 90%,82% 100%,76% 94%,24% 98%,18% 100%,12% 90%,6% 100%,0 92%);}
@media (hover:hover){ .mn-lk:not(.is-open) .mn-lk-door:hover .mn-pol{transform:rotate(calc(var(--r) * 1.7));} }
/* stickers */
.mn-stk{position:absolute; display:grid; place-items:center; transform:rotate(var(--r)); box-shadow:0 3px 6px -2px rgba(0,0,0,.45);}
.mn-stk.is-logo{width:46px; height:46px; border-radius:50%; background:#fff;}
.mn-stk.is-logo img{width:72%; height:auto;}
.mn-stk.is-icon{width:42px; height:42px; border-radius:50%; background:#F9C31F; color:#1C2A1E; box-shadow:0 0 0 3px #fff, 0 4px 8px -2px rgba(0,0,0,.5);}
.mn-stk.is-icon svg{width:22px; height:22px; stroke-width:2;}
.mn-stk.is-tag{padding:4px 9px 2px; border-radius:6px; background:#fff; color:var(--door); font-family:"Permanent Marker","Architects Daughter",cursive; font-size:13px; letter-spacing:.04em; white-space:nowrap;}
.mn-stk-1{left:7%; top:66px;}
.mn-stk-2{left:16px; bottom:124px;}
.mn-stk-3{right:34px; bottom:170px;}
.mn-lk-name{position:relative; font-family:"Anton",Impact,sans-serif; font-size:clamp(26px,2.5vw,36px); line-height:.95; text-transform:uppercase; text-shadow:0 2px 0 rgba(0,0,0,.25); overflow-wrap:anywhere;}
.mn-lk-tag{position:relative; margin-top:5px; font-size:12px; font-weight:700; line-height:1.3; opacity:.88;}
.mn-lk-handle{position:absolute; right:12px; top:50%; width:8px; height:56px; margin-top:-28px; border-radius:5px; background:linear-gradient(90deg,#E8ECE9,#98A19B); box-shadow:0 2px 4px rgba(0,0,0,.4);}
/* the combination lock hanging under the handle: the dial spins, then the shackle pops */
.mn-lk-lock{position:absolute; right:3px; top:calc(50% + 30px); width:28px; height:48px;}
.mn-lk-shackle{position:absolute; left:7px; top:0; width:14px; height:20px; border:3.5px solid #C7CDD0; border-bottom:0; border-radius:8px 8px 0 0; transition:transform .35s cubic-bezier(.3,1.6,.5,1);}
.mn-lk-dial{position:absolute; left:0; top:17px; width:28px; height:28px; border-radius:50%; background:repeating-conic-gradient(from 0deg, rgba(255,255,255,.75) 0 2deg, transparent 2deg 15deg), radial-gradient(circle, #2B2F31 0 7px, #46494C 8px 10px, #15181A 11px); box-shadow:0 0 0 2px #9BA3A7, 0 4px 6px -2px rgba(0,0,0,.6); transition:transform .5s cubic-bezier(.4,0,.2,1);}
.mn-lk-dial::after{content:""; position:absolute; left:50%; top:2px; width:3px; height:5px; margin-left:-1.5px; border-radius:2px; background:#E8452C;}
.mn-lk.is-unlock .mn-lk-dial{transform:rotate(540deg);}
.mn-lk.is-unlock .mn-lk-shackle{transform:translateY(-6px);}
/* the inside of the door: bare metal, a mirror, a photo and a sticky note */
.mn-lk-back{transform:rotateY(180deg); background:linear-gradient(90deg, rgba(0,0,0,.22), rgba(255,255,255,.08) 70%, rgba(0,0,0,.18)), var(--door); box-shadow:inset 0 0 0 3px rgba(255,255,255,.1), inset 0 0 50px rgba(0,0,0,.35);}
.mn-lk-back i{position:absolute; top:7%; left:16%; width:68%; height:20%; border-radius:10px; background:linear-gradient(135deg,#F1F5F6,#A9B4B8 55%,#E4EAEC); box-shadow:inset 0 0 0 3px rgba(0,0,0,.22), 0 6px 14px -6px rgba(0,0,0,.5);}
.mn-lk-backpic{position:absolute; top:33%; left:14%; width:72%; aspect-ratio:1 / 1; padding:5px 5px 18px; background:#FBFAF6; rotate:-4deg; box-shadow:0 8px 14px -8px rgba(0,0,0,.5);}
.mn-lk-backpic img{display:block; width:100%; height:100%; object-fit:cover;}
.mn-lk-back em{position:absolute; bottom:9%; left:16%; width:68%; padding:12px 8px; background:#FFE97A; color:#2A2410; font-family:"Permanent Marker","Architects Daughter",cursive; font-style:normal; font-size:13.5px; line-height:1.2; text-align:center; rotate:4deg; box-shadow:0 8px 14px -8px rgba(0,0,0,.5);}
.mn-lk-door:focus-visible{outline:3px solid #F9C31F; outline-offset:4px;}
.mn-lk.is-open .mn-lk-door{transform:rotateY(-118deg); pointer-events:none;}
.mn-lockers .mn-lk.is-in:first-child:not(.is-open):not(.is-unlock) .mn-lk-door{animation:mnPeek 1.9s cubic-bezier(.4,0,.2,1) 1s 1;}
@keyframes mnPeek{0%,100%{transform:rotateY(0deg);} 40%,62%{transform:rotateY(-28deg);}}
/* the die-cut badges: one per locker, low on the door */
.mn-stk.is-emblem{left:auto; right:6%; top:auto; bottom:90px; width:min(50%, 104px); box-shadow:none; filter:drop-shadow(0 4px 5px rgba(0,0,0,.45));}
.mn-stk.is-emblem svg{display:block; width:100%; height:auto; overflow:visible;}
.mn-emb-neon{display:grid; place-items:center; width:100%; aspect-ratio:1 / 1; border-radius:22%; background:radial-gradient(circle at 50% 40%, #2A1450, #0E0B1F 70%); box-shadow:0 0 0 5px #fff, inset 0 0 16px rgba(255,91,216,.45);}
.mn-emb-neon img{width:80%; height:auto; filter:drop-shadow(0 0 6px rgba(124,247,255,.7));}
/* a little something on the shelf */
.mn-item{flex:none; align-self:flex-end; width:34px; height:auto; margin-left:7px;}
.mn-item.is-glow{filter:drop-shadow(0 0 4px rgba(124,247,255,.8));}
/* the light inside switches on (with a flicker) when the door opens */
.mn-lk-glow{position:absolute; left:0; right:0; top:44px; height:72%; z-index:0; background:radial-gradient(ellipse 80% 60% at 50% 0, rgba(255,246,214,.8), rgba(255,246,214,0) 70%); opacity:0; pointer-events:none; transition:opacity .4s ease;}
.mn-lk.is-open .mn-lk-glow{opacity:1; animation:mnFlick .9s steps(1) .45s 1 both;}
@keyframes mnFlick{0%{opacity:0;} 12%{opacity:1;} 18%{opacity:.25;} 30%{opacity:1;} 36%{opacity:.5;} 46%,100%{opacity:1;}}
/* light sweeps across the paint on hover */
.mn-lk-face{overflow:hidden;}
.mn-lk-face::after{content:""; position:absolute; top:-10%; bottom:-10%; left:-60%; width:46%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.17), transparent); transform:translateX(0) skewX(-12deg); transition:transform .9s cubic-bezier(.3,.7,.3,1); pointer-events:none;}
/* hover: the door rattles, the lock swings */
.mn-lk-lock{transform-origin:50% 2px;}
@media (hover:hover){
  .mn-lk:not(.is-open):not(.is-unlock) .mn-lk-door:hover{transform:rotateY(-5deg); animation:mnRattle .55s ease 1;}
  .mn-lk:not(.is-open) .mn-lk-door:hover .mn-lk-lock{animation:mnSwing 1.3s ease 1;}
  .mn-lk:not(.is-open) .mn-lk-door:hover .mn-lk-face::after{transform:translateX(420%) skewX(-12deg);}
}
@keyframes mnRattle{0%{transform:rotateY(0deg);} 25%{transform:rotateY(-7deg);} 45%{transform:rotateY(-2.5deg);} 65%{transform:rotateY(-6deg);} 100%{transform:rotateY(-5deg);}}
@keyframes mnSwing{0%,100%{transform:rotate(0deg);} 20%{transform:rotate(18deg);} 45%{transform:rotate(-12deg);} 70%{transform:rotate(6deg);}}
/* opening: the polaroids flutter as the door swings */
.mn-lk.is-open .mn-pol{animation:mnFlap .9s ease 1;}
@keyframes mnFlap{0%,100%{transform:rotate(var(--r));} 30%{transform:rotate(calc(var(--r) + 10deg));} 60%{transform:rotate(calc(var(--r) - 6deg));}}
@media (prefers-reduced-motion: reduce){ .mn-lk-door, .mn-lk-lock, .mn-pol, .mn-lk-glow{animation:none !important;} .mn-lk-face::after{display:none;} }
@media (max-width:1100px){
  .mn-lockers{grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px;}
  .mn-lk{min-height:560px;}
  .mn-lk-name{font-size:34px;}
}

/* Midweek is a big deal: a glowing Wednesday-night band */
.mn-mw{padding:30px 0 84px;}
.mn-mw-in{position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; overflow:hidden; padding:30px 36px; border-radius:28px; color:#fff; text-decoration:none;
  background:radial-gradient(120% 140% at 0% 0%, rgba(255,60,200,.34), transparent 50%), radial-gradient(120% 140% at 100% 100%, rgba(0,220,255,.3), transparent 55%), #0E0B1F; box-shadow:0 30px 60px -34px rgba(20,10,60,.8); transition:transform .3s ease;}
.mn-mw-in:hover{color:#fff; transform:translateY(-4px);}
.mn-mw-logo{width:112px; height:auto; animation:mnBuzz 5s steps(1) infinite;}
@keyframes mnBuzz{0%,100%{opacity:1;} 3%{opacity:.35;} 4%{opacity:1;} 6%{opacity:.6;} 7%{opacity:1;} 61%{opacity:.5;} 62%{opacity:1;}}
.mn-mw-k{font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#7CF7FF;}
.mn-mw-h{display:block; margin-top:6px; font-family:"Anton",Impact,sans-serif; font-size:clamp(34px,4.6vw,58px); line-height:1; text-transform:uppercase;}
.mn-mw-h em{font-style:normal; color:#FF5BD8; text-shadow:0 0 18px rgba(255,91,216,.65), 0 0 2px #fff;}
.mn-mw-p{display:block; max-width:56ch; margin-top:8px; font-size:15.5px; line-height:1.5; color:rgba(255,255,255,.84);}
.mn-mw-go{display:inline-flex; align-items:center; gap:8px; padding:13px 20px; border-radius:99px; background:#fff; color:#0E0B1F; font-weight:800; white-space:nowrap;}
.mn-mw-go svg{width:16px; height:16px; transition:transform .25s;}
.mn-mw-in:hover .mn-mw-go svg{transform:translateX(4px);}

/* coming up, the team, photos, the last word */
.mn-soon{padding:80px 0 20px;}
.mn-evs{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px;}
.mn-ev{display:flex; align-items:center; gap:14px; padding:14px; border-radius:20px; background:#fff; border:1.5px solid var(--line); color:var(--ink); text-decoration:none; transition:transform .25s ease, box-shadow .25s ease;}
.mn-ev:hover{color:var(--ink); transform:translateY(-3px); box-shadow:0 20px 40px -28px rgba(19,42,22,.6);}
.mn-ev-date{flex:none; display:flex; flex-direction:column; width:64px; padding:8px 0; border-radius:14px; background:var(--mk); color:#fff; text-align:center; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.12em; line-height:1.25; text-transform:uppercase;}
.mn-ev-date b{font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:30px; letter-spacing:0; line-height:1;}
.mn-ev-date i{font-style:normal; opacity:.75;}
.mn-ev-pic{flex:none; width:56px; height:56px; overflow:hidden; border-radius:14px;}
.mn-ev-pic img{display:block; width:100%; height:100%; object-fit:cover;}
.mn-ev-body{flex:1; min-width:0;}
.mn-ev-body b{display:block; font-size:16px; font-weight:800; line-height:1.25;}
.mn-ev-body span{display:block; margin-top:4px; font-size:13.5px; color:var(--ink-soft);}
.mn-ev-go{flex:none; color:var(--mk);}
.mn-ev-go svg{display:block; width:18px; height:18px;}
.mn-lead{padding:80px 0;}
.mn-lead-in{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:44px; align-items:start;}
.mn-mail{display:inline-block; margin-top:16px; font-weight:800; color:var(--mk);}
.mn-crew{display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:18px; perspective:1600px;}
.mn-crew.is-one{max-width:320px;}
.mn-pics{padding:50px 0 40px;}
.mn-pics .mn-head{margin-bottom:26px;}
.mn-end{padding:90px 0 120px; text-align:center;}
.mn-end h2{font-size:clamp(40px,6vw,74px);}
.mn-end p{max-width:52ch; margin:14px auto 0; font-size:17px; line-height:1.55; color:var(--ink-soft);}
.mn-end .mn-ctas{justify-content:center;}

/* Buddies: the three kinds of support, serving, and the Calm view switch */
.mn-help{padding:90px 0 40px;}
.mn-help-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px;}
.mn-help-card{padding:26px; border-radius:24px; background:var(--mt); border:1.5px solid rgba(91,50,181,.12); animation:mnDrift 7s ease-in-out infinite;}
@keyframes mnDrift{0%,100%{transform:translateY(0);} 50%{transform:translateY(-7px);}}
.mn-help-card:nth-child(2){animation-delay:-2.3s;} .mn-help-card:nth-child(3){animation-delay:-4.6s;}
.mn-help-card svg{width:44px; height:44px; color:var(--mk);}
.mn-help-card h3{margin-top:14px; font-size:26px;}
.mn-help-card p{margin-top:8px; font-size:15px; line-height:1.55; color:var(--ink-soft);}
.mn-serve{padding:10px 0 80px;}
.mn-serve-in{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:30px; align-items:center; padding:38px; border-radius:28px; background:var(--mk); color:#fff;}
.mn-serve-in .eyebrow{color:#E4D8FF;}
.mn-serve-in h2{margin-top:10px; color:#fff; font-size:clamp(32px,4vw,50px);}
.mn-serve-in p{margin:14px 0 22px; line-height:1.6; color:rgba(255,255,255,.88);}
.mn .mn-serve .btn-primary{background:#fff; color:var(--mk); box-shadow:none;}
.mn .mn-serve .btn-primary:hover{color:var(--mk);}
.mn-serve-ways{display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none;}
.mn-serve-ways li{padding:14px 16px; border-radius:16px; background:rgba(255,255,255,.1);}
.mn-serve-ways span{display:block; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; opacity:.8;}
.mn-serve-ways a{display:block; margin-top:4px; font-weight:800; color:#fff;}
.mn-calm-btn{display:inline-flex; align-items:center; gap:10px; padding:9px 14px 9px 12px; border:1.5px solid var(--line-strong); border-radius:16px; background:#fff; color:var(--ink); font:inherit; text-align:left; cursor:pointer;}
.mn-calm-btn svg{flex:none; width:26px; height:26px; color:var(--mk);}
.mn-calm-btn b{display:block; font-size:14.5px; font-weight:800;}
.mn-calm-btn small{display:block; font-size:12px; color:var(--ink-faint);}
.mn-calm-btn i{position:relative; flex:none; width:38px; height:22px; border-radius:99px; background:var(--line-strong); transition:background .3s;}
.mn-calm-btn i::after{content:""; position:absolute; left:3px; top:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3); transition:transform .3s;}
.mn-calm-btn[aria-pressed="true"] i{background:var(--mk);}
.mn-calm-btn[aria-pressed="true"] i::after{transform:translateX(16px);}
.mn-calm-btn:focus-visible{outline:3px solid var(--mc); outline-offset:3px;}
html.mn-calm-on .mn{--mc:#A493D6 !important; --mk:#5E4C9E !important; --mt:#F4F1FA !important;}
html.mn-calm-on .mn *, html.mn-calm-on .mn *::before, html.mn-calm-on .mn *::after{animation-duration:.001s !important; animation-delay:0s !important; animation-iteration-count:1 !important; transition-duration:.001s !important;}
html.mn-calm-on .mn-blob{display:none;}

/* the Ministries page */
.mnh-hero{padding:150px 0 46px; text-align:center;}
.mnh-hero-in{position:relative; display:flex; flex-direction:column; align-items:center;}
.mnh-hero .mn-title{justify-content:center; font-size:clamp(60px,11vw,160px);}
.mnh-hero .mn-lede{margin-inline:auto;}
.mnh-main{padding:30px 0 70px;}
.mnh-deck{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; perspective:1600px;}
.mnh-card{position:relative; display:flex; flex-direction:column; min-height:520px; overflow:hidden; border-radius:28px; background:var(--mk); color:#fff; text-decoration:none; box-shadow:0 34px 60px -36px rgba(19,42,22,.7); transition:box-shadow .3s ease;}
.mnh-card:hover{color:#fff; box-shadow:0 40px 70px -34px rgba(19,42,22,.8);}
.js .mnh-deck .mnh-card{opacity:0; translate:0 70px; rotate:calc((var(--i) - 1) * 6deg);}
.mnh-deck .mnh-card.is-in{opacity:1; translate:0 0; rotate:0deg; transition:opacity .7s ease calc(var(--i) * 120ms), translate 1s cubic-bezier(.2,1.2,.3,1) calc(var(--i) * 120ms), rotate 1s cubic-bezier(.2,1.2,.3,1) calc(var(--i) * 120ms), box-shadow .3s ease;}
.mnh-pic{position:absolute; inset:0;}
.mnh-pic img{display:block; width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,1,.3,1);}
.mnh-card:hover .mnh-pic img{transform:scale(1.06);}
.mnh-card::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 28%, var(--mk) 86%);}
.mnh-body{position:relative; z-index:1; display:flex; flex-direction:column; gap:8px; margin-top:auto; padding:26px;}
.mnh-name{font-family:"Anton",Impact,sans-serif; font-size:clamp(46px,5vw,72px); line-height:.9; text-transform:uppercase; text-shadow:.05em .05em 0 var(--mc);}
.mnh-line{font-size:15.5px; line-height:1.5; color:rgba(255,255,255,.92);}
.mnh-times{display:flex; flex-direction:column; gap:4px; font-size:13.5px; font-weight:700;}
.mnh-times span{display:inline-flex; align-items:center; gap:6px;}
.mnh-times svg{flex:none; width:16px; height:16px;}
.mnh-go{align-self:flex-start; display:inline-flex; align-items:center; gap:8px; margin-top:8px; padding:11px 18px; border-radius:99px; background:#fff; color:var(--mk); font-weight:800;}
.mnh-go svg{width:16px; height:16px; transition:transform .25s;}
.mnh-card:hover .mnh-go svg{transform:translateX(4px);}
.mnh-more{padding:60px 0 120px;}
.mnh-more-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.mnh-mini{display:flex; align-items:center; gap:18px; padding:22px 24px; border-radius:22px; background:#fff; border:1.5px solid var(--line); color:var(--ink); text-decoration:none; transition:transform .25s ease, box-shadow .25s ease;}
.mnh-mini:hover{color:var(--ink); transform:translateY(-3px); box-shadow:0 20px 40px -28px rgba(19,42,22,.6);}
.mnh-mini-ico{flex:none; display:grid; place-items:center; width:56px; height:56px; border-radius:18px; background:var(--mt); color:var(--mk);}
.mnh-mini-ico svg{width:28px; height:28px;}
.mnh-mini b{display:block; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:30px; text-transform:uppercase;}
.mnh-mini small{display:block; margin-top:2px; font-size:14px; color:var(--ink-soft);}
.mnh-mini-go{flex:none; width:22px; height:22px; margin-left:auto; color:var(--mk); transition:transform .25s;}
.mnh-mini:hover .mnh-mini-go{transform:translateX(4px);}

@media (max-width:1100px){
  .mn-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .mn-sun-top{grid-template-columns:1fr 1fr;}
  .mn-count{grid-column:1 / -1;}
}
@media (max-width:900px){
  .mn-hero{padding:124px 0 70px;}
  .mn-hero-in{grid-template-columns:1fr; gap:34px;}
  .mn-snaps{height:clamp(300px,70vw,420px); max-width:520px;}
  .mn-mw-in{grid-template-columns:1fr; gap:16px; padding:26px 24px;}
  .mn-mw-logo{width:84px;}
  .mn-mw-go{justify-self:start;}
  .mn-evs{grid-template-columns:1fr 1fr;}
  .mn-lead-in{grid-template-columns:1fr; gap:24px;}
  .mn-help-grid{grid-template-columns:1fr;}
  .mn-serve-in{grid-template-columns:1fr; padding:28px 24px;}
  .mnh-deck{grid-template-columns:1fr;}
  .mnh-card{min-height:400px;}
  .js .mnh-deck .mnh-card{rotate:0deg;}
}
@media (max-width:760px){
  .mn-steps{grid-template-columns:1fr; gap:34px;}
  .mn-step{display:grid; grid-template-columns:64px 1fr; column-gap:18px; align-items:start; padding:0; text-align:left;}
  .mn-step:nth-child(even){margin-top:0;}
  .mn-step-n{grid-row:1 / span 2; width:64px; height:64px;}
  .mn-step-n svg{width:28px; height:28px;}
  .mn-step h3{margin-top:4px; font-size:22px;}
  .mn-step p{max-width:none; margin-top:6px;}
}
@media (max-width:600px){
  .mn-grid, .mn-evs, .mnh-more-grid{grid-template-columns:1fr;}
  .mn-lk-bank{padding:0 8px 10px;}
  .mn-lk-crown{margin:0 -8px 8px;}
  .mn-sun-top{gap:12px;}
  .mn-svc{padding:18px 20px;}
  .mn-count-n b{font-size:34px;}
  .mn-snap{width:56%;}
  .mn-staff{left:12px; bottom:12px; font-size:10.5px;}
}
@media (prefers-reduced-motion: reduce){
  .mn-title span, .mn-snap, .mn-blob, .mn-mw-logo, .mn-card-art > svg, .mn-card-art i, .mn-help-card, .mn-count-n b.is-flip{animation:none !important;}
  .js .mn-grid.reveal .mn-card, .js .mn-lockers .mn-lk, .js .mnh-deck .mnh-card{opacity:1; translate:none; rotate:none;}
  .mn-lk-door{transition:none;}
}
/* the moving photo wall in the main-site look on the ministry pages: a white photo border, shadow in the ministry color */
.mn .pw-item{background:#fff; box-shadow:0 18px 30px -22px var(--mk);}
.mn .pw-item img, .mn .pw-item video{background:var(--mt);}
@media (hover:hover){ .mn .pw-item:hover{box-shadow:0 26px 40px -20px var(--mk);} }
.mn .pw-item:focus-visible{outline-color:var(--mc);}
@media (max-width:700px){
  /* two skinny lockers across on a phone */
  .mn-lockers{grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px;}
  .mn-lk{min-height:520px;}
  .mn-lk-face{padding:16px 12px 18px;}
  .mn-lk-name{font-size:27px;}
  .mn-lk-tag{font-size:11px;}
  .mn-stk.is-tag{font-size:12px;}
  .mn-lk-in .mn-lbl{font-size:13px; letter-spacing:.12em;}
  .mn-lk-in .mn-note{font-size:12px; line-height:17px; background-image:repeating-linear-gradient(180deg, transparent 0 16px, rgba(42,86,128,.14) 16px 17px);}
  .mn-lk-draw{width:62%;}
  .mn-book{min-height:31px; padding:5px 13px 5px 15px; font-size:12px;}
}

/* ==== Students lockers, round 4: every locker is its own world inside ==== */
/* smoother doors, and the light from inside leaks out through the vents in that locker's color */
.mn-lk-door{transition:transform 1.05s cubic-bezier(.22,1,.36,1); will-change:transform;}
.mn-lk-vents i{transition:box-shadow .4s ease, background .4s ease;}
.vt-midweek .mn-lk-vents i{background:#FF5BD8; box-shadow:0 0 6px #FF5BD8, 0 0 12px rgba(255,91,216,.6), inset 0 1px 1px rgba(255,255,255,.6); animation:mnVentBuzz 4.5s steps(1) infinite;}
.vt-midweek .mn-lk-vents i:nth-child(even){background:#7CF7FF; box-shadow:0 0 6px #7CF7FF, 0 0 12px rgba(124,247,255,.6), inset 0 1px 1px rgba(255,255,255,.6);}
.vt-forge .mn-lk-vents i{background:#FF8A3D; box-shadow:0 0 6px #F26B21, 0 0 12px rgba(242,107,33,.55), inset 0 1px 1px rgba(255,220,150,.7); animation:mnVentEmber 2.6s ease-in-out infinite;}
.vt-pillars .mn-lk-vents i{background:#FFE7A8; box-shadow:0 0 6px rgba(255,210,120,.9), inset 0 1px 1px rgba(255,255,255,.7);}
.vt-camp .mn-lk-vents i{background:#FFB45C; box-shadow:0 0 6px rgba(255,160,70,.9), inset 0 1px 1px rgba(255,230,180,.7); animation:mnVentEmber 1.9s ease-in-out infinite;}
.vt-work .mn-lk-vents i{background:#FFFBEA; box-shadow:0 0 6px rgba(255,251,234,.9), inset 0 1px 1px #fff;}
.vt-slt .mn-lk-vents i{background:#F2C14E; box-shadow:0 0 6px rgba(242,193,78,.9), inset 0 1px 1px rgba(255,246,214,.8);}
@keyframes mnVentBuzz{0%,100%{opacity:1;} 4%{opacity:.4;} 5%{opacity:1;} 52%{opacity:.6;} 53%{opacity:1;}}
@keyframes mnVentEmber{0%,100%{opacity:.75;} 50%{opacity:1;}}

/* opening: everything inside sways like it is hanging, then settles; the books slide in */
.mn-sway{transform-origin:50% 0;}
.mn-lk.is-open .mn-sway{animation:mnSwayIn 2.6s cubic-bezier(.3,.7,.3,1) calc(.45s + var(--sd, 0s)) backwards;}
@keyframes mnSwayIn{0%{opacity:0; transform:translateY(-8px) rotate(0deg);} 8%{opacity:1;} 16%{transform:translateY(0) rotate(5deg);} 32%{transform:rotate(-3.4deg);} 48%{transform:rotate(2.2deg);} 64%{transform:rotate(-1.2deg);} 82%{transform:rotate(.5deg);} 100%{opacity:1; transform:rotate(0deg);}}
.mn-lk.is-open .mn-book{animation:mnBookIn .9s cubic-bezier(.2,1.25,.4,1) calc(.5s + var(--bd, 0s)) backwards;}
@keyframes mnBookIn{0%{opacity:0; transform:translateX(-36px) rotate(-5deg);} 100%{opacity:1; transform:none;}}
@keyframes mnIdle{0%,100%{transform:rotate(0deg);} 25%{transform:rotate(2.4deg);} 75%{transform:rotate(-2.4deg);}}
.mn-sc{position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
.mn-sc *{animation-play-state:paused;}
.mn-lk.is-open .mn-sc *{animation-play-state:running;}
.mn-sc-phones, .mn-sc-tongs, .mn-sc-pennant, .mn-sc-lights{transform-origin:50% 0;}
.mn-lk.is-open .mn-sc-phones, .mn-lk.is-open .mn-sc-tongs, .mn-lk.is-open .mn-sc-pennant, .mn-lk.is-open .mn-sc-lights{animation:mnSwayIn 2.6s cubic-bezier(.3,.7,.3,1) .5s backwards, mnIdle 4.6s ease-in-out 3.1s infinite;}
@keyframes mnTwinkle{0%,100%{opacity:.25; transform:scale(.7);} 50%{opacity:1; transform:scale(1.15);}}

/* the double locker: SLT and Work Days behind two doors that open from the middle */
.mn-lk.is-double{grid-column:span 2;}
.mn-lk.is-double .mn-lk-door{inset:0 auto 0 0; width:calc(50% - 1px);}
.mn-lk.is-double .mn-lk-door.is-l{--door:#2A5680; --tape:rgba(255,128,176,.66);}
.mn-lk.is-double .mn-lk-door.is-r{inset:0 0 0 auto; --door:#8A6B3F; --tape:rgba(84,214,200,.66); transform-origin:right center;}
.mn-lk.is-double.is-open .mn-lk-door.is-r{transform:rotateY(118deg);}
@media (hover:hover){ .mn-lk.is-double:not(.is-open):not(.is-unlock) .mn-lk-door.is-r:hover{transform:rotateY(5deg); animation-name:mnRattleR;} }
@keyframes mnRattleR{0%{transform:rotateY(0deg);} 25%{transform:rotateY(7deg);} 45%{transform:rotateY(2.5deg);} 65%{transform:rotateY(6deg);} 100%{transform:rotateY(5deg);}}
.mn-lk-in.is-split{flex-direction:row; padding:0; background:#5E676C;}
.mn-lk-half{position:relative; flex:1 1 0; min-width:0; display:flex; flex-direction:column; overflow:hidden; padding:54px 10px 10px;}
.mn-lk-half + .mn-lk-half{border-left:4px solid #6E777D;}
.mn-book-3{--bk:#2A5680; z-index:0; width:96%; margin-left:2%; rotate:-.6deg;}

/* ---- MIDWEEK: a dark neon room, a disco ball throwing light specks, glowing headphones ---- */
.mn-th.t-midweek{background:linear-gradient(180deg, #1A1530 0 42px, #0E0B1F 42px 46px, transparent 46px), radial-gradient(120% 60% at 15% 35%, rgba(255,91,216,.3), transparent 60%), radial-gradient(120% 60% at 95% 72%, rgba(124,247,255,.24), transparent 60%), #0B0918; box-shadow:inset 0 0 0 3px #26203F, inset 0 22px 34px -22px rgba(0,0,0,.7);}
.mn-sc-mw::before{content:""; position:absolute; left:0; right:0; top:44px; height:2px; background:#7CF7FF; box-shadow:0 0 8px 1px #7CF7FF, 0 0 22px rgba(124,247,255,.7);}
.mn-sc-floor{position:absolute; left:-25%; right:-25%; bottom:0; height:34%; background:repeating-linear-gradient(90deg, rgba(255,91,216,.45) 0 1px, transparent 1px 22px), repeating-linear-gradient(0deg, rgba(255,91,216,.45) 0 1px, transparent 1px 16px); transform:perspective(220px) rotateX(58deg); transform-origin:50% 100%; -webkit-mask-image:linear-gradient(to top, #000, transparent); mask-image:linear-gradient(to top, #000, transparent);}
.mn-sc-ball{position:absolute; left:54%; top:68px; width:26px; height:26px; border-radius:50%; background:repeating-linear-gradient(90deg, rgba(255,255,255,.55) 0 1px, transparent 1px 5px), repeating-linear-gradient(0deg, rgba(255,255,255,.55) 0 1px, transparent 1px 5px), radial-gradient(circle at 35% 30%, #fff, #9AA3A9 45%, #3A3F44); box-shadow:0 0 14px rgba(255,255,255,.55); animation:mnSpin 6s linear infinite;}
.mn-sc-ball::before{content:""; position:absolute; left:50%; top:-22px; width:1px; height:22px; background:#9AA3A9;}
@keyframes mnSpin{to{transform:rotate(360deg);}}
.mn-sc-spk{position:absolute; left:var(--x); top:var(--y); width:4px; height:4px; border-radius:50%; background:#fff; box-shadow:0 0 6px 2px rgba(255,255,255,.7); opacity:0; animation:mnSpeck var(--d) ease-in-out var(--o) infinite;}
.mn-sc-spk:nth-child(3n){background:#FF5BD8; box-shadow:0 0 6px 2px rgba(255,91,216,.8);} .mn-sc-spk:nth-child(3n+1){background:#7CF7FF; box-shadow:0 0 6px 2px rgba(124,247,255,.8);}
@keyframes mnSpeck{0%,100%{opacity:0; transform:translate(0,0);} 50%{opacity:.95; transform:translate(16px,-10px);}}
.mn-sc-phones{position:absolute; right:10px; top:46px; width:42px; filter:drop-shadow(0 0 6px rgba(255,91,216,.75));}
.mn-th.t-midweek .mn-lbl{background:none; box-shadow:none; padding:2px 4px; color:#FFE6FA; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:24px; letter-spacing:.06em; text-shadow:0 0 3px #fff, 0 0 9px #FF5BD8, 0 0 20px #FF5BD8, 0 0 36px #FF2FB8; rotate:-3deg;}
.mn-lk.is-open .mn-th.t-midweek .mn-lbl:not(.is-sm){animation:mnSwayIn 2.6s cubic-bezier(.3,.7,.3,1) .5s backwards, mnNeon 5s steps(1) 3.2s infinite;}
@keyframes mnNeon{0%,100%{opacity:1;} 3%{opacity:.35;} 4%{opacity:1;} 6%{opacity:.55;} 7%{opacity:1;}}
.mn-th.t-midweek .mn-lbl.is-sm{margin-top:4px; padding:3px 7px 2px; background:rgba(124,247,255,.08); color:#D8FCFF; font-family:"Space Mono",monospace; font-weight:700; font-size:9.5px; letter-spacing:.06em; text-shadow:0 0 6px rgba(124,247,255,.9); box-shadow:0 0 0 1.5px #7CF7FF, 0 0 10px rgba(124,247,255,.55); rotate:1deg;}
.mn-th.t-midweek .mn-lk-draw{background:rgba(255,255,255,.03); background-image:none; box-shadow:inset 0 0 0 1px rgba(124,247,255,.35); color:#7CF7FF; filter:drop-shadow(0 0 3px #7CF7FF) drop-shadow(0 0 8px rgba(124,247,255,.5));}
.mn-th.t-midweek .mn-lk-draw::before, .mn-th.t-midweek .mn-lk-draw::after{display:none;}
.mn-th.t-midweek .mn-pass{border:1.5px dashed #FF5BD8; border-radius:4px; background:#1A1030; box-shadow:0 0 14px rgba(255,91,216,.35);}
.mn-th.t-midweek .mn-pass small{color:#FF8BE3;} .mn-th.t-midweek .mn-pass .mn-card-when{color:#fff;}
.mn-th.t-midweek .mn-note{background:rgba(255,255,255,.07); background-image:none; color:#ECE8FF; box-shadow:inset 0 0 0 1px rgba(255,255,255,.16), 0 10px 20px -10px rgba(0,0,0,.8);}
.mn-th.t-midweek .mn-note::before{background:#7CF7FF; box-shadow:0 0 10px #7CF7FF;}
.mn-th.t-midweek .mn-book{background:#120E24; color:#FFD6F5; text-shadow:0 0 6px rgba(255,91,216,.9); box-shadow:inset 0 0 0 1.5px #FF5BD8, 0 0 12px rgba(255,91,216,.45);}
.mn-th.t-midweek .mn-book-2{color:#D8FCFF; text-shadow:0 0 6px rgba(124,247,255,.9); box-shadow:inset 0 0 0 1.5px #7CF7FF, 0 0 12px rgba(124,247,255,.45);}
.mn-th.t-midweek .mn-book::before, .mn-th.t-midweek .mn-book::after{border-color:currentColor; opacity:.55;}
.mn-th.t-midweek .mn-book:hover{box-shadow:inset 0 0 0 1.5px currentColor, 0 0 22px rgba(255,91,216,.75);}
.mn-th.t-midweek .mn-lk-shelf i{background:#2A1E4A; box-shadow:inset 0 0 0 1px rgba(255,91,216,.55);}
.mn-th.t-midweek .mn-lk-glow{background:radial-gradient(ellipse 80% 60% at 50% 0, rgba(255,91,216,.35), rgba(255,91,216,0) 70%);}

/* ---- FORGE: a blacksmith's brick wall, glowing embers, sparks, tongs on a rail ---- */
.mn-th.t-forge{background:linear-gradient(180deg, #3A2A20 0 42px, #1E140F 42px 46px, transparent 46px), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='24'%3E%3Cpath d='M0 .5H40M0 12.5H40M.5 0V12M20.5 12V24' stroke='%23180E0A' stroke-width='2'/%3E%3C/svg%3E") 0 46px / 40px 24px, linear-gradient(180deg, #3A2219, #57301F); box-shadow:inset 0 0 0 3px #2A1A12, inset 0 22px 34px -22px rgba(0,0,0,.75);}
.mn-sc-ember{position:absolute; left:-15%; right:-15%; bottom:-12%; height:58%; background:radial-gradient(ellipse at 50% 100%, rgba(255,150,50,.8), rgba(232,69,44,.38) 42%, transparent 72%); transform-origin:50% 100%; animation:mnEmber 2.6s ease-in-out infinite;}
@keyframes mnEmber{0%,100%{opacity:.75; transform:scaleY(1);} 50%{opacity:1; transform:scaleY(1.08);}}
.mn-sc-spark{position:absolute; left:var(--x); bottom:10%; width:3px; height:3px; border-radius:50%; background:#FFD24A; box-shadow:0 0 6px 2px rgba(255,160,40,.9); opacity:0; animation:mnSpark var(--d) linear var(--o) infinite;}
@keyframes mnSpark{0%{opacity:0; transform:translate(0,0);} 10%{opacity:1;} 100%{opacity:0; transform:translate(12px,-240px);}}
.mn-sc-tongs{position:absolute; right:6px; top:48px; width:56px;}
.mn-th.t-forge .mn-lbl{padding:5px 16px 4px; border-radius:2px; color:#1C1F22; background:radial-gradient(circle at 6px 50%, #3A3F44 2px, transparent 2.6px), radial-gradient(circle at calc(100% - 6px) 50%, #3A3F44 2px, transparent 2.6px), linear-gradient(180deg, #B5BDC2, #6E777D); text-shadow:0 1px 0 rgba(255,255,255,.45); box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 3px 5px rgba(0,0,0,.6); letter-spacing:.2em;}
.mn-th.t-forge .mn-lbl.is-sm{padding:3px 8px 2px; background:linear-gradient(135deg,#EDD9A0,#B8925A 60%,#E6CC8C); color:#3B2A10; text-shadow:none; letter-spacing:.06em;}
.mn-th.t-forge .mn-lk-draw{background:#D8C3A0; background-image:radial-gradient(rgba(0,0,0,.07) 1px, transparent 1.3px); background-size:5px 5px; color:#2A1E16; box-shadow:0 8px 14px -6px rgba(0,0,0,.6);}
.mn-th.t-forge .mn-lk-draw::before, .mn-th.t-forge .mn-lk-draw::after{top:5px; width:7px; height:7px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #DDE2E4, #4B5650); transform:none; box-shadow:0 1px 1px rgba(0,0,0,.5);}
.mn-th.t-forge .mn-lk-draw::before{left:6px;} .mn-th.t-forge .mn-lk-draw::after{right:6px;}
.mn-th.t-forge .mn-pass{padding-left:24px; border-left:0; border-radius:14px; background:linear-gradient(135deg,#EEF1F3,#9AA3A9 55%,#D9DEE1); box-shadow:inset 0 1px 0 #fff, 0 6px 12px -6px rgba(0,0,0,.6);}
.mn-th.t-forge .mn-pass::before{content:""; position:absolute; left:9px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:#3A2219; box-shadow:inset 0 1px 2px rgba(0,0,0,.7);}
.mn-th.t-forge .mn-pass small{color:#4B5650;}
.mn-th.t-forge .mn-note{background:#F1E2C0; background-image:none; color:#3A2414; box-shadow:inset 0 0 20px rgba(120,60,20,.5), 0 8px 14px -8px rgba(0,0,0,.65);}
.mn-th.t-forge .mn-note::before{background:radial-gradient(circle at 35% 35%, #DDE2E4, #4B5650);}
.mn-th.t-forge .mn-book{--bk:#6B3A1E;} .mn-th.t-forge .mn-book-2{--bk:#231E1B;}
.mn-th.t-forge .mn-book::before, .mn-th.t-forge .mn-book::after{border-color:#C9A15A;}
.mn-th.t-forge .mn-lk-shelf i{background:#4A2A1C;} .mn-th.t-forge .mn-lk-shelf i:nth-child(2){background:#7A4E24;} .mn-th.t-forge .mn-lk-shelf i:nth-child(4){background:#2B2F33;}
.mn-th.t-forge .mn-lk-glow{background:radial-gradient(ellipse 80% 60% at 50% 0, rgba(255,170,90,.3), rgba(255,170,90,0) 70%);}

/* ---- PILLARS: rose marble between two columns, fairy lights twinkling ---- */
.mn-th.t-pillars{padding-top:78px; padding-left:18px; padding-right:18px; background:linear-gradient(180deg, #F3E9E4 0 42px, #C9A15A 42px 46px, transparent 46px), linear-gradient(115deg, transparent 47%, rgba(170,120,130,.2) 48%, transparent 49.5%) 0 0 / 160px 220px, linear-gradient(65deg, transparent 60%, rgba(170,120,130,.15) 61%, transparent 62.5%) 0 0 / 220px 180px, radial-gradient(120% 80% at 30% 20%, #FFFFFF, #F7E8EA 60%, #EDD5DA); box-shadow:inset 0 0 0 3px #E2CDB8, inset 0 22px 34px -22px rgba(120,60,70,.35);}
.mn-sc-col{position:absolute; top:46px; bottom:0; width:12px; background:repeating-linear-gradient(90deg, #EADFD5 0 2px, #FFFDF8 2px 4px); box-shadow:0 0 6px rgba(120,60,70,.2);}
.mn-sc-col::before{content:""; position:absolute; top:0; left:-3px; right:-3px; height:8px; border-radius:1px; background:#F3EADF; box-shadow:0 2px 2px rgba(120,60,70,.2);}
.mn-sc-col.is-l{left:0;} .mn-sc-col.is-r{right:0;}
.mn-sc-lights{position:absolute; left:0; top:44px; width:100%; height:32px;}
.mn-sc-lights circle{fill:#FFE7A8; filter:drop-shadow(0 0 3px #FFD24A); transform-box:fill-box; transform-origin:center; animation:mnTwinkle 2.4s ease-in-out var(--o) infinite;}
.mn-th.t-pillars .mn-lbl{padding:7px 12px 6px; border-radius:2px; background:#FFFDF8; color:#7A2E3A; font-family:"Playfair Display",Georgia,serif; font-weight:700; font-size:17px; letter-spacing:.14em; text-shadow:none; box-shadow:inset 0 0 0 1.5px #C9A15A, inset 0 0 0 3.5px #FFFDF8, inset 0 0 0 4.5px rgba(201,161,90,.6), 0 5px 10px -5px rgba(122,46,58,.4); rotate:0deg;}
.mn-th.t-pillars .mn-lbl.is-sm{padding:3px 8px 2px; background:linear-gradient(135deg,#F7E0A6,#C9963F 60%,#F2D38B); color:#4A1A24; font-family:"Space Mono",monospace; font-size:9.5px; letter-spacing:.06em; box-shadow:0 2px 3px rgba(122,46,58,.3); rotate:1deg;}
.mn-th.t-pillars .mn-lk-draw{background:#FFFDF8; background-image:none; color:#7A2E3A; box-shadow:0 6px 14px -6px rgba(122,46,58,.35), inset 0 0 0 1px rgba(201,161,90,.45);}
.mn-th.t-pillars .mn-lk-draw::before, .mn-th.t-pillars .mn-lk-draw::after{background:rgba(201,161,90,.65);}
.mn-th.t-pillars .mn-pass{padding:9px 12px; border-left:0; border-radius:2px; background:#FFFDF8; text-align:center; box-shadow:inset 0 0 0 1px #C9A15A, inset 0 0 0 4px #FFFDF8, inset 0 0 0 5px rgba(201,161,90,.5), 0 6px 12px -6px rgba(122,46,58,.35);}
.mn-th.t-pillars .mn-pass small{color:#B8862F; font-family:"Playfair Display",Georgia,serif; font-style:italic; font-size:11.5px; letter-spacing:.04em; text-transform:none;}
.mn-th.t-pillars .mn-pass .mn-card-when{color:#5B2A35;}
.mn-th.t-pillars .mn-note{background:#FFF5F6; background-image:repeating-linear-gradient(180deg, transparent 0 17px, rgba(201,103,122,.2) 17px 18px); color:#5B2A35; box-shadow:0 8px 14px -8px rgba(122,46,58,.4);}
.mn-th.t-pillars .mn-note::before{background:radial-gradient(circle at 35% 30%, #FFE7A8, #C9963F);}
.mn-th.t-pillars .mn-book{--bk:#C9677A;} .mn-th.t-pillars .mn-book-2{--bk:#F2E7CF; color:#5B2A35;}
.mn-th.t-pillars .mn-book::before, .mn-th.t-pillars .mn-book::after{border-color:#C9963F;}
.mn-th.t-pillars .mn-lk-shelf i{background:#C9677A;} .mn-th.t-pillars .mn-lk-shelf i:nth-child(2){background:#F2E7CF;} .mn-th.t-pillars .mn-lk-shelf i:nth-child(3){background:#C9963F;} .mn-th.t-pillars .mn-lk-shelf i:nth-child(4){background:#7A2E3A;}
.mn-th.t-pillars .mn-lk-glow{background:radial-gradient(ellipse 80% 60% at 50% 0, rgba(255,231,168,.45), rgba(255,231,168,0) 70%);}

/* ---- CAMP: a starry night with a moon, fireflies, pines and a campfire glow ---- */
.mn-th.t-camp{background:linear-gradient(180deg, transparent 0 42px, #4A321E 42px 46px, transparent 46px), repeating-linear-gradient(0deg, #7A522E 0 3px, #6B4628 3px 6px) 0 0 / 100% 42px no-repeat, linear-gradient(180deg, #0D1736 46px, #232A5C 52%, #4A3060 82%, #6B3A4A); box-shadow:inset 0 0 0 3px #1A1A2E, inset 0 22px 34px -22px rgba(0,0,0,.6);}
.mn-sc-moon{position:absolute; right:14px; top:58px; width:22px; height:22px; border-radius:50%; box-shadow:inset -6px -2px 0 0 #FFF3C4; filter:drop-shadow(0 0 6px rgba(255,243,196,.75));}
.mn-sc-star{position:absolute; left:var(--x); top:calc(48px + var(--y) * .5); width:2px; height:2px; border-radius:50%; background:#fff; box-shadow:0 0 4px #fff; animation:mnTwinkle var(--d) ease-in-out var(--o) infinite;}
.mn-sc-fly{position:absolute; left:var(--x); top:calc(42% + var(--y) * .45); width:4px; height:4px; border-radius:50%; background:#F9F38A; box-shadow:0 0 8px 2px rgba(249,243,138,.8); animation:mnFly var(--d) ease-in-out var(--o) infinite alternate;}
@keyframes mnFly{0%{opacity:.2; transform:translate(0,0);} 50%{opacity:1;} 100%{opacity:.3; transform:translate(14px,-18px);}}
.mn-sc-pines{position:absolute; left:0; bottom:0; width:100%; height:24%;}
.mn-sc-fire{position:absolute; left:15%; right:15%; bottom:-24px; height:130px; background:radial-gradient(ellipse at 50% 100%, rgba(255,150,60,.7), transparent 70%); transform-origin:50% 100%; animation:mnEmber 1.8s ease-in-out infinite;}
.mn-th.t-camp .mn-lbl{padding:5px 11px 4px; border-radius:3px; background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.18)), repeating-linear-gradient(0deg, #8A5A2B 0 3px, #7A4E24 3px 6px); color:#F6E7C8; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:20px; letter-spacing:.08em; text-shadow:0 1px 0 rgba(0,0,0,.6); box-shadow:0 3px 6px rgba(0,0,0,.55), inset 0 0 0 2px rgba(0,0,0,.15);}
.mn-th.t-camp .mn-lbl.is-sm{padding:3px 8px 2px; border:1px dashed rgba(242,231,207,.55); background:#4E5D33; color:#F2E7CF; font-family:"Space Mono",monospace; font-size:9.5px; letter-spacing:.06em; text-shadow:none;}
.mn-th.t-camp .mn-lk-draw{background:#EFE3C2; background-image:radial-gradient(rgba(120,90,40,.25) 1px, transparent 1.5px); background-size:8px 8px; color:#3B2A10;}
.mn-th.t-camp .mn-pass{padding-top:5px; border-left:0; border-top:9px solid #D9531A; border-radius:6px; background:#FFFDF6; box-shadow:0 8px 14px -6px rgba(0,0,0,.6);}
.mn-th.t-camp .mn-pass small{color:#D9531A;}
.mn-th.t-camp .mn-note{background:#FFFDF6; color:#2C2A20; box-shadow:0 10px 16px -8px rgba(0,0,0,.7);}
.mn-th.t-camp .mn-note::before{top:-10px; width:8px; height:18px; margin-left:-4px; border-radius:2px; background:linear-gradient(90deg,#B8925A,#E3C99A,#B8925A);}
.mn-th.t-camp .mn-book{--bk:#4E5D33;} .mn-th.t-camp .mn-book-2{--bk:#D9531A;}
.mn-th.t-camp .mn-book::before, .mn-th.t-camp .mn-book::after{border-color:#F2E7CF;}
.mn-th.t-camp .mn-lk-shelf i{background:#4E5D33;} .mn-th.t-camp .mn-lk-shelf i:nth-child(2){background:#D9531A;} .mn-th.t-camp .mn-lk-shelf i:nth-child(3){background:#1F3550;}
.mn-th.t-camp .mn-lk-glow{background:radial-gradient(ellipse 80% 60% at 50% 0, rgba(255,243,196,.25), rgba(255,243,196,0) 70%);}

/* ---- WORK DAYS: a workshop pegboard, tool outlines, caution tape, a clipboard ---- */
.mn-th.t-work{background:linear-gradient(180deg, #8D9690 0 42px, #5E676C 42px 46px, transparent 46px), repeating-linear-gradient(45deg, #1C1A12 0 9px, #F9C31F 9px 18px) 0 46px / 100% 9px no-repeat, radial-gradient(circle, rgba(60,40,20,.38) 1.4px, transparent 1.9px) 5px 60px / 12px 12px, #C9A877; box-shadow:inset 0 0 0 3px #A8875A, inset 0 22px 34px -22px rgba(0,0,0,.45);}
.mn-th.t-work.mn-lk-half{padding-top:62px;}
.mn-sc-outl{position:absolute; left:6%; top:46%; width:88%;}
.mn-sc-tape{display:none;}
.mn-th.t-work .mn-lbl{padding:5px 10px 4px; border-radius:2px; background:#F9C31F; color:#1C1A12; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:19px; letter-spacing:.1em; text-shadow:none; box-shadow:inset 0 0 0 2px #1C1A12, 0 3px 5px rgba(0,0,0,.4);}
.mn-th.t-work .mn-lbl.is-sm{padding:3px 8px 2px; background:#1C1A12; color:#F9C31F; text-shadow:none;}
.mn-th.t-work .mn-lk-draw{background:#1F4E8C; background-image:linear-gradient(rgba(255,255,255,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.13) 1px, transparent 1px); background-size:10px 10px; color:#EAF3FF;}
.mn-th.t-work .mn-lk-draw::before, .mn-th.t-work .mn-lk-draw::after{background:rgba(170,178,182,.92);}
.mn-th.t-work .mn-pass{padding-left:22px; border-left:0; border-radius:3px; background:#F26B21; box-shadow:0 6px 12px -6px rgba(0,0,0,.5);}
.mn-th.t-work .mn-pass::before{content:""; position:absolute; left:8px; top:50%; width:7px; height:7px; margin-top:-3.5px; border-radius:50%; background:#C9A877; box-shadow:inset 0 1px 2px rgba(0,0,0,.5);}
.mn-th.t-work .mn-pass small{color:#FFE7C2;} .mn-th.t-work .mn-pass .mn-card-when{color:#fff;}
.mn-th.t-work .mn-pass .mn-card-when a{text-decoration-color:rgba(255,255,255,.6);}
.mn-th.t-work .mn-note{margin:14px 8px 18px; background:#fff; background-image:none; color:#2C2A20; rotate:0deg; box-shadow:0 0 0 6px #A8754A, 0 0 0 7px #8A5A2B, 0 12px 16px -8px rgba(0,0,0,.55);}
.mn-th.t-work .mn-note::before{top:-14px; width:40px; height:13px; margin-left:-20px; border-radius:3px 3px 1px 1px; background:linear-gradient(180deg,#EEF1F3,#98A19B); box-shadow:0 2px 2px rgba(0,0,0,.35);}
.mn-th.t-work .mn-book{--bk:#F26B21;} .mn-th.t-work .mn-book-2{--bk:#1C1A12; color:#F9C31F;}
.mn-th.t-work .mn-book::before, .mn-th.t-work .mn-book::after{border-color:#1C1A12;}
.mn-th.t-work .mn-lk-glow{background:radial-gradient(ellipse 80% 60% at 50% 0, rgba(255,255,240,.4), rgba(255,255,240,0) 70%);}

/* ---- SLT: a navy stage, a sweeping spotlight, gold stars and a pennant ---- */
.mn-th.t-slt{background:linear-gradient(180deg, #1F3550 0 42px, #C9963F 42px 46px, transparent 46px), radial-gradient(120% 70% at 50% 100%, #234872, #0E1E36 70%); box-shadow:inset 0 0 0 3px #16263E, inset 0 22px 34px -22px rgba(0,0,0,.7);}
.mn-sc-spot{position:absolute; left:50%; top:30px; width:280px; height:120%; margin-left:-140px; background:linear-gradient(180deg, rgba(255,246,214,.4), rgba(255,246,214,0) 85%); -webkit-clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); transform-origin:50% 0; animation:mnSpot 7s ease-in-out infinite;}
@keyframes mnSpot{0%,100%{transform:rotate(-12deg);} 50%{transform:rotate(12deg);}}
.mn-sc-gold{position:absolute; left:var(--x); top:calc(48px + var(--y) * .75); width:9px; height:9px; background:#F2C14E; -webkit-clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); animation:mnTwinkle var(--d) ease-in-out var(--o) infinite;}
.mn-sc-pennant{position:absolute; right:8px; top:46px; width:58px; filter:drop-shadow(0 3px 3px rgba(0,0,0,.45));}
.mn-th.t-slt .mn-lbl{padding:5px 12px 4px; border-radius:3px; background:linear-gradient(135deg,#FFE7A0,#C9963F 55%,#F2D38B); color:#1F3550; text-shadow:0 1px 0 rgba(255,255,255,.5); box-shadow:inset 0 0 0 1.5px rgba(140,100,32,.7), 0 3px 6px rgba(0,0,0,.55);}
.mn-th.t-slt .mn-lbl.is-sm{padding:3px 8px 2px; background:#16263E; color:#F2C14E; text-shadow:none; box-shadow:inset 0 0 0 1px rgba(242,193,78,.6), 0 2px 3px rgba(0,0,0,.5);}
.mn-th.t-slt .mn-lk-draw{background:#FFFFFF; background-image:none; color:#1F3550;}
.mn-th.t-slt .mn-lk-draw::before, .mn-th.t-slt .mn-lk-draw::after{background:rgba(242,193,78,.75);}
.mn-th.t-slt .mn-pass{border-left:0; border-radius:6px; background:#111417; box-shadow:inset 0 0 0 2px #F2C14E, 0 8px 14px -6px rgba(0,0,0,.6);}
.mn-th.t-slt .mn-pass small{color:#F2C14E;} .mn-th.t-slt .mn-pass .mn-card-when{color:#fff;}
.mn-th.t-slt .mn-note{margin:10px 6px 16px; background:#FBFCFD; background-image:none; color:#1F3550; rotate:0deg; box-shadow:0 0 0 4px #C9CFD4, 0 0 0 5px #9AA3A9, 0 12px 16px -8px rgba(0,0,0,.6);}
.mn-th.t-slt .mn-note::before{background:radial-gradient(circle at 35% 30%, #8CC2FF, #2A5680);}
.mn-th.t-slt .mn-book{--bk:#1F3550; color:#F2C14E;} .mn-th.t-slt .mn-book-2{--bk:#C9963F; color:#1F3550;} .mn-th.t-slt .mn-book-3{--bk:#2A5680; color:#fff;}
.mn-th.t-slt .mn-book::before, .mn-th.t-slt .mn-book::after{border-color:#F2C14E;}
.mn-th.t-slt .mn-lk-shelf i{background:#1F3550;} .mn-th.t-slt .mn-lk-shelf i:nth-child(2){background:#C9963F;} .mn-th.t-slt .mn-lk-shelf i:nth-child(3){background:#F2E7CF;}
.mn-th.t-slt .mn-lk-glow{background:radial-gradient(ellipse 80% 60% at 50% 0, rgba(242,193,78,.3), rgba(242,193,78,0) 70%);}

@media (max-width:700px){
  .mn-th.t-pillars{padding-left:14px; padding-right:14px;}
  .mn-sc-col{width:9px;}
  .mn-th.t-midweek .mn-lbl:not(.is-sm){font-size:21px;}
  .mn-th.t-camp .mn-lbl, .mn-th.t-work .mn-lbl{font-size:17px;}
  .mn-th.t-pillars .mn-lbl{font-size:14px; letter-spacing:.1em;}
}
@media (prefers-reduced-motion: reduce){
  .mn-sway, .mn-book, .mn-sc *, .mn-sc-phones, .mn-sc-tongs, .mn-sc-pennant, .mn-sc-lights, .mn-lk-vents i, .mn-th.t-midweek .mn-lbl{animation:none !important;}
}
/* each locker is seen straight on (its own viewpoint), so an open door always swings clear of its insides */
.mn-lockers{perspective:none;}
.mn-lk{perspective:1300px;}

/* ---- Students: the top of the page is a wall of taped-up polaroids that leans toward the mouse ---- */
.mn-students .mn-hero-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px;}
.mn-wall{position:relative; height:clamp(380px,42vw,560px); perspective:1200px;}
.mn-wall-in{position:absolute; inset:0; transform:rotateX(var(--tx, 0deg)) rotateY(var(--ty, 0deg)); transform-style:preserve-3d; transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.mn-wpol{position:absolute; left:var(--x); top:var(--y); z-index:calc(var(--i) + 1); width:27%; padding:5px 5px 19px; background:#FBFAF6; rotate:var(--r); box-shadow:0 22px 34px -20px rgba(19,42,22,.65), 0 1px 0 rgba(0,0,0,.08);
  animation:mnWallIn .9s cubic-bezier(.2,1.1,.3,1) calc(.25s + var(--i) * 65ms) both; transition:rotate .45s cubic-bezier(.2,1.3,.4,1), translate .45s cubic-bezier(.2,1.3,.4,1), box-shadow .45s ease;}
.mn-wpol img{display:block; width:100%; height:auto; aspect-ratio:1 / 1; object-fit:cover; background:#D9DDD9;}
.mn-wpol::before{content:""; position:absolute; left:50%; top:-9px; width:52%; height:17px; margin-left:-26%; background:rgba(249,195,31,.72); transform:rotate(calc(var(--r) * -1.2)); box-shadow:0 1px 2px rgba(0,0,0,.12);
  -webkit-clip-path:polygon(0 8%,6% 0,12% 10%,18% 0,24% 8%,76% 4%,82% 0,88% 10%,94% 0,100% 8%,100% 92%,94% 100%,88% 90%,82% 100%,76% 94%,24% 98%,18% 100%,12% 90%,6% 100%,0 92%); clip-path:polygon(0 8%,6% 0,12% 10%,18% 0,24% 8%,76% 4%,82% 0,88% 10%,94% 0,100% 8%,100% 92%,94% 100%,88% 90%,82% 100%,76% 94%,24% 98%,18% 100%,12% 90%,6% 100%,0 92%);}
.mn-wpol:nth-child(3n+2)::before{background:rgba(255,128,176,.66);} .mn-wpol:nth-child(3n)::before{background:rgba(84,214,200,.66);}
@keyframes mnWallIn{0%{opacity:0; transform:translateY(70px) scale(.8);} 100%{opacity:1; transform:none;}}
@media (hover:hover){ .mn-wpol:hover{z-index:20; rotate:0deg; translate:0 -10px; box-shadow:0 34px 44px -22px rgba(19,42,22,.75), 0 1px 0 rgba(0,0,0,.08);} }
@media (max-width:900px){
  .mn-students .mn-hero-in{grid-template-columns:1fr; gap:28px;}
  .mn-wall{height:clamp(300px,74vw,440px);}
}
@media (max-width:600px){ .mn-wpol{width:29%; padding:4px 4px 15px;} }
@media (prefers-reduced-motion: reduce){ .mn-wpol{animation:none !important;} .mn-wall-in{transform:none !important;} }

/* Midweek's mirrored disco ball: it hangs on its string and its tiles slide behind the shine, so it looks like it turns */
.mn-sc-disco{position:absolute; right:12px; top:44px; width:44px; transform-origin:50% 0; filter:drop-shadow(0 0 10px rgba(255,255,255,.35));}
.mn-dc-tiles{animation:mnDiscoTurn 6s linear infinite;}
@keyframes mnDiscoTurn{to{transform:translateX(-50px);}}
.mn-lk.is-open .mn-sc-disco{animation:mnSwayIn 2.6s cubic-bezier(.3,.7,.3,1) .5s backwards, mnIdle 5.2s ease-in-out 3.1s infinite;}
.mn-sc-glow2{position:absolute; left:5%; right:5%; top:36%; height:34%; background:radial-gradient(ellipse, rgba(255,120,40,.2), transparent 70%); animation:mnEmber 3.4s ease-in-out infinite;}

/* ---- Students: the rest of the page in the same hallway spirit ---- */
/* Coming up: a cork board with flyers and sticky notes pinned to it */
.mn-students .mn-soon{padding-top:100px;}
.mn-students .mn-evs{display:flex; flex-wrap:wrap; align-items:flex-start; gap:26px 28px; padding:34px 30px 36px; border-radius:10px;
  background:radial-gradient(circle at 20% 30%, rgba(255,255,255,.08), transparent 40%), radial-gradient(rgba(90,55,25,.38) 1px, transparent 1.6px) 0 0 / 7px 7px, radial-gradient(rgba(255,230,190,.25) 1px, transparent 1.6px) 3px 4px / 9px 9px, #B98A58;
  box-shadow:inset 0 0 0 10px #7A522E, inset 0 0 0 12px #5A3A1E, inset 0 0 34px rgba(60,30,10,.45), 0 30px 50px -30px rgba(19,42,22,.6);}
.mn-pin{position:relative; display:block; width:178px; padding:20px 14px 14px; background:#FFE97A; color:#2A2410; font-family:"Permanent Marker","Architects Daughter",cursive; font-size:15px; line-height:1.3; rotate:-3deg; box-shadow:0 10px 16px -8px rgba(0,0,0,.5);}
.mn-pin b{display:block; margin-bottom:4px; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:21px; letter-spacing:.04em; text-transform:uppercase;}
.mn-pin.is-p{background:#FFC2DC; rotate:2.5deg;}
.mn-pin::before, .mn-students .mn-ev::before{content:""; position:absolute; left:50%; top:-6px; z-index:2; width:14px; height:14px; margin-left:-7px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FF8A6B, #C23B22 60%, #8E2715); box-shadow:0 3px 3px rgba(0,0,0,.45);}
.mn-students .mn-ev{position:relative; flex:0 1 310px; padding:18px 16px 16px; border:0; border-radius:2px; background:#FFFDF6; rotate:1.5deg; box-shadow:0 12px 20px -10px rgba(0,0,0,.55); transition:rotate .35s cubic-bezier(.2,1.3,.4,1), transform .35s ease, box-shadow .35s ease;}
.mn-students .mn-ev:nth-of-type(odd){rotate:-1.5deg;}
.mn-students .mn-ev:hover{rotate:0deg; transform:translateY(-5px) scale(1.02); box-shadow:0 22px 30px -14px rgba(0,0,0,.6);}
/* the team: ID badges on lanyards, hanging from a rail and swaying a little */
.mn-students .mn-lead-in{align-items:center;}
.mn-students .mn-crew{position:relative; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:34px 18px; padding-top:48px;}
.mn-students .mn-crew::before{content:""; position:absolute; left:-8px; right:-8px; top:0; height:8px; border-radius:4px; background:linear-gradient(180deg,#D3D8DB,#6E777D); box-shadow:0 3px 4px rgba(0,0,0,.3);}
.mn-students .mn-crew .crew-card{overflow:visible; padding:34px 14px 18px; border:0; border-radius:16px; background:#fff; box-shadow:inset 0 18px 0 var(--mk), 0 24px 36px -24px rgba(19,42,22,.65); transform-origin:50% -48px; animation:mnBadge 6s ease-in-out infinite;}
.mn-students .mn-crew .crew-card:nth-child(2){animation-delay:-1.5s;} .mn-students .mn-crew .crew-card:nth-child(3){animation-delay:-3s;} .mn-students .mn-crew .crew-card:nth-child(4){animation-delay:-4.5s;}
.mn-students .mn-crew .crew-card::after{content:""; position:absolute; left:50%; top:-48px; z-index:-1; width:16px; height:58px; margin-left:-8px; border-radius:2px; background:linear-gradient(180deg, transparent 0 46px, #C7CDD0 46px 58px), repeating-linear-gradient(90deg, var(--mk) 0 8px, var(--mc) 8px 16px);}
.mn-students .mn-crew .crew-photo{width:118px; height:118px; border-radius:12px;}
.mn-students .mn-crew .crew-card h3{margin-top:14px; font-size:23px;}
@keyframes mnBadge{0%,100%{rotate:-1.6deg;} 50%{rotate:1.6deg;}}
/* photos: every picture on the moving wall is a polaroid */
.mn-students .pw-item{padding:6px 6px 22px; border-radius:2px; background:#FBFAF6; box-shadow:0 14px 22px -14px rgba(0,0,0,.6);}
.mn-students .pw-item img, .mn-students .pw-item video{border-radius:0;}
.mn-students .pw-item:nth-child(odd){rotate:-1.8deg;} .mn-students .pw-item:nth-child(even){rotate:1.6deg;}
/* the last word: a string of school-spirit pennants */
.mn-students .mn-end{position:relative; overflow:hidden; padding-top:150px; background:radial-gradient(80% 60% at 50% 0, var(--mt), transparent 70%), var(--bg);}
.mn-flags{position:absolute; left:-2%; right:-2%; top:34px; display:flex; justify-content:space-between; height:66px; border-top:2px solid rgba(28,42,30,.35);}
.mn-flags i{width:46px; height:58px; margin-top:-1px; background:#2E6B3E; -webkit-clip-path:polygon(0 0,100% 0,50% 100%); clip-path:polygon(0 0,100% 0,50% 100%); transform-origin:50% 0; animation:mnFlag 3.2s ease-in-out infinite; animation-delay:calc(var(--f) * -.23s);}
.mn-flags i:nth-child(4n+2){background:#2A5680;} .mn-flags i:nth-child(4n+3){background:#B8925A;} .mn-flags i:nth-child(4n){background:#F2E7CF;}
@keyframes mnFlag{0%,100%{transform:rotate(-6deg);} 50%{transform:rotate(6deg);}}
@media (max-width:700px){
  .mn-students .mn-evs{padding:28px 18px 30px; gap:22px;}
  .mn-pin{width:100%; max-width:220px;}
  .mn-students .mn-ev{flex-basis:100%;}
  .mn-students .mn-crew{grid-template-columns:1fr 1fr; gap:34px 14px;}
  .mn-flags i{width:30px; height:38px;} .mn-flags i:nth-child(n+11){display:none;}
  .mn-students .mn-end{padding-top:110px;}
}
@media (prefers-reduced-motion: reduce){ .mn-sc-disco, .mn-dc-tiles, .mn-students .mn-crew .crew-card, .mn-flags i{animation:none !important;} }
.mn-students .mn-crew .crew-card:hover, .mn-students .mn-crew .crew-card:focus-visible{box-shadow:inset 0 18px 0 var(--mk), 0 34px 50px -24px rgba(19,42,22,.72);}
/* the ministry name always stays on one line */
.mn-title{flex-wrap:nowrap; white-space:nowrap; font-size:clamp(60px,10.5vw,168px);}
.mn-students .mn-title{font-size:clamp(58px,9vw,140px);}
@media (max-width:900px){ .mn-title, .mn-students .mn-title{font-size:clamp(56px,16vw,130px);} }
/* every badge hangs from its own piece of the rail, so rows on a phone hang properly too */
.mn-students .mn-crew{grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:62px 16px;}
.mn-students .mn-crew::before{display:none;}
.mn-students .mn-crew .crew-card::before{inset:auto -12px auto -12px; top:-48px; height:8px; border-radius:4px; background:linear-gradient(180deg,#D3D8DB,#6E777D); box-shadow:0 3px 4px rgba(0,0,0,.3); opacity:1; transition:none;}
@media (max-width:700px){ .mn-lk.is-double{min-height:600px;} }

/* ==== Students lockers, round 6: every door decorated its own way, faces inside the doors, a trophy case for SLT,
   and a page that grows out of each locker ==== */
/* the whole door face is one big button */
.mn-lk-hit{position:absolute; inset:0; z-index:6; width:100%; height:100%; padding:0; border:0; border-radius:6px; background:transparent; cursor:pointer;}
.mn-lk-hit:focus-visible{outline:3px solid #F9C31F; outline-offset:3px;}
.mn-lk-deco .mn-stk.is-tag{z-index:2;}

/* hinges: SLT opens to the right (over its trophy case); Pillars does on a phone, where it is in the left column */
.mn-lk.is-hr .mn-lk-door{transform-origin:right center;}
.mn-lk.is-hr .mn-lk-handle{right:auto; left:12px;} .mn-lk.is-hr .mn-lk-lock{right:auto; left:3px;}
@media (hover:hover){ .mn-lk.is-hr:not(.is-open):not(.is-unlock) .mn-lk-door:hover{transform:rotateY(5deg); animation-name:mnRattleR;} }
/* doors with faces inside swing wide open so the faces can be seen and tapped */
.mn-lk.lk-forge.is-open .mn-lk-door, .mn-lk.lk-pillars.is-open .mn-lk-door{transform:rotateY(-150deg);}
.mn-lk.is-hr.is-open .mn-lk-door{transform:rotateY(150deg);}
@media (max-width:700px){
  .mn-lk.hr-phone .mn-lk-door{transform-origin:right center;}
  .mn-lk.hr-phone.is-open .mn-lk-door{transform:rotateY(150deg);}
  .mn-lk.hr-phone .mn-lk-handle{right:auto; left:12px;} .mn-lk.hr-phone .mn-lk-lock{right:auto; left:3px;}
}

/* ---- the doors ---- */
.mn-lk .mn-lk-door.dr-booth{--door:#231B42; --tape:rgba(255,91,216,.72);}
.mn-lk .mn-lk-door.dr-big{--door:#2C3136; --tape:rgba(249,178,31,.72);}
.mn-lk .mn-lk-door.dr-fan{--door:#A3666F; --tape:rgba(242,211,139,.8);}
.mn-lk .mn-lk-door.dr-postcard{--door:#2F5B3B; --tape:rgba(242,231,207,.85);}
.mn-lk .mn-lk-door.dr-stack{--door:#1F3A5C; --tape:rgba(242,193,78,.75);}
/* Midweek: dark paint with a neon edge, a photo-booth strip, neon stars */
.dr-booth .mn-lk-face{box-shadow:inset 0 0 0 2px rgba(255,91,216,.6), inset 0 0 26px rgba(255,91,216,.22), inset 0 -60px 80px -60px rgba(0,0,0,.5), 0 4px 0 rgba(0,0,0,.3);}
.mn-booth{position:absolute; left:11%; top:62px; display:flex; flex-direction:column; gap:5px; width:46%; padding:6px 6px 24px; background:#FBFAF6; rotate:-5deg; box-shadow:0 12px 20px -8px rgba(0,0,0,.6);}
.mn-booth img{display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; background:#2A1E4A;}
.mn-booth::before{content:""; position:absolute; left:50%; top:-9px; width:60%; height:18px; margin-left:-30%; background:var(--tape); transform:rotate(4deg);}
.mn-dstar{position:absolute; width:16px; height:16px; background:#FF5BD8; -webkit-clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); filter:drop-shadow(0 0 5px #FF5BD8); animation:mnTwinkle 3s ease-in-out infinite;}
.mn-dstar.is-a{right:18%; top:96px;} .mn-dstar.is-b{right:12%; top:160px; width:11px; height:11px; background:#7CF7FF; filter:drop-shadow(0 0 5px #7CF7FF); animation-delay:-1s;} .mn-dstar.is-c{right:26%; top:214px; width:9px; height:9px; animation-delay:-2s;}
.dr-booth .mn-stk.is-emblem{left:auto; right:9%; top:auto; bottom:112px; width:min(48%, 96px); rotate:6deg;}
.dr-booth .mn-stk.is-tag{left:14px; top:auto; bottom:118px; background:#120E24; color:#FFD6F5; box-shadow:0 0 0 1.5px #FF5BD8, 0 0 12px rgba(255,91,216,.5);}
.dr-booth .mn-lk-name{text-shadow:0 0 8px rgba(255,91,216,.8), 0 2px 0 rgba(0,0,0,.3);}
/* Forge: charcoal steel with heat rising from the bottom, one big photo, a label strip */
.mn-heat{position:absolute; left:0; right:0; bottom:0; height:48%; background:linear-gradient(0deg, rgba(242,107,33,.5), rgba(242,107,33,0)); animation:mnVentEmber 3s ease-in-out infinite;}
.mn-pol.mn-pol-big{left:9%; top:68px; width:82%; rotate:3deg;}
.mn-pol.mn-pol-sm{left:5%; top:226px; width:44%; rotate:-8deg;}
.mn-dstrip{position:absolute; left:9%; top:352px; padding:4px 8px 3px; border-radius:2px; background:#17191A; color:#F1F1EC; font-family:"Space Mono",monospace; font-weight:700; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; rotate:-3deg; box-shadow:0 2px 3px rgba(0,0,0,.5);}
.dr-big .mn-stk.is-emblem{left:auto; right:7%; top:auto; bottom:96px; width:min(46%, 92px); rotate:-6deg;}
.dr-big .mn-stk.is-tag{left:14px; top:auto; bottom:112px;}
/* Pillars: dusty rose with two photos fanned like a heart, a pressed flower and a gold ribbon */
.mn-pol.mn-pol-fa{left:3%; top:84px; width:56%; rotate:-11deg;}
.mn-pol.mn-pol-fb{left:41%; top:94px; width:56%; rotate:9deg;}
.mn-flower{position:absolute; left:9%; top:262px; width:46px; rotate:-14deg; filter:drop-shadow(0 3px 3px rgba(0,0,0,.3));}
.mn-ribbon{position:absolute; left:0; right:0; top:66%; height:14px; background:linear-gradient(180deg,#F7E0A6,#C9963F); box-shadow:0 2px 3px rgba(0,0,0,.3);}
.dr-fan .mn-stk.is-emblem{left:50%; right:auto; top:auto; bottom:98px; width:min(48%, 92px); margin-left:min(-24%, -46px); rotate:-4deg;}
.dr-fan .mn-stk.is-tag{left:42%; top:270px; bottom:auto; color:#7A2E3A;}
/* Camp: forest green, a postcard home and a snapshot */
.mn-post{position:absolute; left:6%; top:68px; width:88%; padding:6px 6px 24px; background:#FFFDF6; rotate:-4deg; box-shadow:0 12px 20px -8px rgba(0,0,0,.6);}
.mn-post img{display:block; width:100%; aspect-ratio:3 / 2; object-fit:cover;}
.mn-post-stamp{position:absolute; right:12px; top:12px; width:22px; height:26px; background:#D9531A; box-shadow:0 0 0 2px #fff, 0 0 0 3px rgba(0,0,0,.15); rotate:6deg;}
.mn-post b{position:absolute; left:8px; right:8px; bottom:4px; color:#2E5A3A; font-family:"Permanent Marker","Architects Daughter",cursive; font-weight:400; font-size:11.5px; line-height:1.2; text-align:center;}
.mn-pol.mn-pol-snap{left:44%; top:206px; width:46%; rotate:7deg;}
.dr-postcard .mn-stk.is-emblem{left:6%; right:auto; top:auto; bottom:100px; width:min(48%, 92px); rotate:-8deg;}
.dr-postcard .mn-stk.is-tag{left:auto; right:14%; top:auto; bottom:122px; color:#2F5B3B;}
/* SLT: navy with two photos stacked and gold stars */
.mn-pol.mn-pol-sa{left:30%; top:70px; width:62%; rotate:6deg;}
.mn-pol.mn-pol-sb{left:13%; top:208px; width:62%; rotate:-5deg;}
.mn-gstar{position:absolute; width:16px; height:16px; background:#F2C14E; -webkit-clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); filter:drop-shadow(0 0 4px rgba(242,193,78,.7)); animation:mnTwinkle 3.4s ease-in-out infinite;}
.mn-lk-face .mn-gstar.is-a{left:10%; top:92px;} .mn-lk-face .mn-gstar.is-b{right:10%; top:262px; width:12px; height:12px; animation-delay:-1.2s;} .mn-lk-face .mn-gstar.is-c{right:20%; top:330px; width:10px; height:10px; animation-delay:-2.4s;}
.dr-stack .mn-stk.is-emblem{left:auto; right:8%; top:auto; bottom:96px; width:min(48%, 92px); rotate:5deg;}
.dr-stack .mn-stk.is-tag{left:32px; top:auto; bottom:112px; color:#1F3A5C;}

/* ---- inside of the doors: the faces you can tap ---- */
.mn-lk-back i.mn-mirror{top:6%; height:18%;}
.mn-ldrs{position:absolute; left:8%; right:8%; top:27%; bottom:21%; display:flex; flex-direction:column; align-items:center; justify-content:space-evenly;}
.mn-ldr{position:relative; width:min(64%, 104px); padding:5px 5px 19px; border:0; background:#FBFAF6; rotate:var(--r); cursor:pointer; box-shadow:0 10px 16px -8px rgba(0,0,0,.6); transition:transform .3s cubic-bezier(.2,1.4,.4,1), rotate .3s ease;}
.mn-ldrs.n-3 .mn-ldr{width:min(48%, 82px);} .mn-ldrs.n-2 .mn-ldr{width:min(58%, 96px);}
.mn-ldr img{display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; background:#D9DDD9;}
.mn-ldr b{position:absolute; left:0; right:0; bottom:2px; color:#1C2A1E; font-family:"Permanent Marker","Architects Daughter",cursive; font-weight:400; font-size:12px; text-align:center;}
.mn-ldr::before{content:""; position:absolute; left:50%; top:-7px; width:12px; height:12px; margin-left:-6px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FF8A6B, #C23B22 60%, #8E2715); box-shadow:0 2px 2px rgba(0,0,0,.45);}
.mn-ldr:hover, .mn-ldr:focus-visible{rotate:0deg; transform:scale(1.08);}
.mn-ldr:focus-visible{outline:3px solid #F9C31F; outline-offset:3px;}
.mn-lk:not(.is-open) .mn-ldr{visibility:hidden;}
.mn-lk.is-open .mn-ldr{visibility:visible; pointer-events:auto;}
.mn-lk.is-open .mn-ldrs{animation:mnSwayIn 2.4s cubic-bezier(.3,.7,.3,1) .6s backwards; transform-origin:50% 0;}
.mn-backneon{position:absolute; top:32%; left:16%; width:68%; aspect-ratio:1 / 1; display:grid; place-items:center; border-radius:18%; background:radial-gradient(circle at 50% 40%, #2A1450, #0E0B1F 70%); box-shadow:0 0 0 4px #fff, 0 8px 14px -6px rgba(0,0,0,.6);}
.mn-backneon img{width:80%; filter:drop-shadow(0 0 6px rgba(124,247,255,.7));}
/* "Say hi to the team": the person you tapped lights up and swings */
.mn-students .mn-crew .crew-card.is-called{animation:mnCalled 1.1s ease 2;}
@keyframes mnCalled{0%,100%{rotate:0deg; scale:1; box-shadow:inset 0 18px 0 var(--mk), 0 24px 36px -24px rgba(19,42,22,.65);} 30%{rotate:-5deg; scale:1.08; box-shadow:inset 0 18px 0 var(--mk), 0 0 0 6px #F9C31F, 0 30px 50px -20px rgba(19,42,22,.7);} 60%{rotate:4deg; scale:1.05;}}

/* ---- See more: the big button inside each locker ---- */
.mn-more{position:relative; z-index:1; display:flex; align-items:center; gap:8px; width:100%; margin:0 0 10px; padding:9px 12px; border:0; border-radius:10px; background:#fff; color:#1C2A1E; font:inherit; text-align:left; cursor:pointer; box-shadow:0 8px 16px -8px rgba(0,0,0,.6); transition:transform .25s ease, box-shadow .25s ease;}
.mn-more span{font-family:"Space Mono",monospace; font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; opacity:.7;}
.mn-more b{flex:1; min-width:0; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:17px; letter-spacing:.03em; text-transform:uppercase;}
.mn-more svg{flex:none; width:16px; height:16px; transition:transform .25s ease;}
.mn-more:hover{transform:translateY(-2px); box-shadow:0 14px 22px -10px rgba(0,0,0,.65);} .mn-more:hover svg{transform:translateX(3px);}
.mn-more:focus-visible{outline:3px solid #F9C31F; outline-offset:2px;}
.mn-more::after{content:""; position:absolute; inset:-3px; border-radius:12px; box-shadow:0 0 0 2px var(--pa, #F9C31F); opacity:0; pointer-events:none;}
.mn-lk.is-open .mn-more::after{animation:mnMorePing 1.8s ease-out 1.2s 2;}
@keyframes mnMorePing{0%{opacity:.9; transform:scale(1);} 100%{opacity:0; transform:scale(1.08);}}
.mn-th.t-midweek .mn-more{--pa:#FF5BD8; background:#120E24; color:#FFE6FA; box-shadow:inset 0 0 0 1.5px #FF5BD8, 0 0 16px rgba(255,91,216,.45);}
.mn-th.t-forge .mn-more{--pa:#F9B21F; background:linear-gradient(135deg,#FFB13B,#E8592A); color:#fff;}
.mn-th.t-pillars .mn-more{--pa:#C9963F; background:#FFFDF8; color:#7A2E3A; box-shadow:inset 0 0 0 1.5px #C9A15A, 0 8px 16px -8px rgba(122,46,58,.45);}
.mn-th.t-camp .mn-more{--pa:#F7B05B; background:#D9531A; color:#FFF6E6;}
.mn-th.t-slt .mn-more{--pa:#F2C14E; background:linear-gradient(135deg,#FFE7A0,#C9963F 55%,#F2D38B); color:#1F3550;}

/* ---- SLT's glass trophy case ---- */
.mn-unit{position:relative; grid-column:span 2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px;}
.mn-case{position:relative; display:flex; flex-direction:column; align-items:center; gap:12px; min-height:580px; padding:22px 16px 18px; border-radius:6px; overflow:hidden; background:linear-gradient(180deg,#5A3A22,#3B2414); box-shadow:inset 0 0 0 3px #2A190D, 0 4px 0 rgba(0,0,0,.25);}
.mn-case::before{content:""; position:absolute; inset:10px; border-radius:4px; background:radial-gradient(120% 60% at 50% 0%, rgba(242,193,78,.28), transparent 60%), linear-gradient(180deg,#1F3550,#0E1E36);}
.mn-case::after{content:""; position:absolute; inset:10px; border-radius:4px; background:linear-gradient(115deg, rgba(255,255,255,.16), transparent 26%, transparent 58%, rgba(255,255,255,.09) 66%, transparent 74%); box-shadow:inset 0 0 0 2px rgba(255,255,255,.18); pointer-events:none;}
.mn-case > *{position:relative; z-index:1;}
.mn-case-plate{padding:4px 10px 3px; border-radius:3px; background:linear-gradient(135deg,#EDD9A0,#B8925A 60%,#E6CC8C); color:#3B2A10; font-family:"Space Mono",monospace; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; text-align:center; box-shadow:0 2px 3px rgba(0,0,0,.5);}
.mn-case-pennant{width:78%; max-width:150px; filter:drop-shadow(0 4px 4px rgba(0,0,0,.45)); transform-origin:0 0; animation:mnIdle 6s ease-in-out infinite;}
.mn-case-shelf{display:flex; align-items:flex-end; justify-content:center; gap:10px; width:90%; padding-bottom:6px; border-bottom:5px solid rgba(220,232,240,.32); box-shadow:0 6px 8px -6px rgba(0,0,0,.6);}
.mn-case-shelf.is-1{margin-top:auto;}
.mn-case .mn-item{width:40px; margin:0;}
.mn-case-photo{width:min(46%, 84px); padding:4px 4px 14px; background:#FBFAF6; rotate:-4deg; box-shadow:0 8px 12px -6px rgba(0,0,0,.6);}
.mn-case-photo img{display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover;}
.mn-case .mn-gstar{position:relative; width:18px; height:18px;}
.mn-case-ball{width:38px; height:38px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFF2C4, #F2C14E 45%, #8C6420); box-shadow:0 6px 10px -4px rgba(0,0,0,.6);}
.mn-case-medal{position:relative; width:26px; height:44px;}
.mn-case-medal::before{content:""; position:absolute; left:4px; right:4px; top:0; height:22px; background:linear-gradient(90deg,#2A5680 0 50%,#C23B22 50%); -webkit-clip-path:polygon(0 0,100% 0,70% 100%,30% 100%); clip-path:polygon(0 0,100% 0,70% 100%,30% 100%);}
.mn-case-medal::after{content:""; position:absolute; left:0; bottom:0; width:26px; height:26px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFF2C4, #F2C14E 45%, #8C6420); box-shadow:0 3px 5px rgba(0,0,0,.5);}
.mn-case-medal.is-b::after{background:radial-gradient(circle at 35% 30%, #F4F7F8, #B8C1C6 45%, #6E777D);}
.js .mn-lockers .mn-case{opacity:0; translate:0 50px;}
.mn-lockers .mn-case.is-in{opacity:1; translate:0 0; transition:opacity .6s ease .32s, translate .9s cubic-bezier(.2,1.2,.3,1) .32s;}
@media (max-width:1100px){ .mn-case{min-height:560px;} }
@media (max-width:700px){ .mn-case{min-height:520px; padding:18px 10px 14px;} .mn-case .mn-item{width:32px;} }

/* ---- the page that grows out of a locker ---- */
.mn-pg{--pa:#F9C31F; position:fixed; inset:0; z-index:150; overflow-y:auto; overscroll-behavior:contain; color:#fff; background:#0E1410; clip-path:inset(var(--ct, 50%) var(--cr, 50%) var(--cb, 50%) var(--cl, 50%) round 14px); transition:clip-path .72s cubic-bezier(.7,0,.2,1);}
.mn-pg.is-open{clip-path:inset(0 0 0 0 round 0);}
.mn-pg[hidden]{display:none;}
.mn-pg-bg{position:sticky; top:0; z-index:0; display:block; height:100vh; height:100dvh; margin-bottom:-100vh; margin-bottom:-100dvh; overflow:hidden; pointer-events:none;}
.mn-pg-bg.mn-th{padding:0;}
.mn-pg.is-open .mn-sc *{animation-play-state:running;}
.mn-pg .mn-sc-col{width:46px;} .mn-pg .mn-sc-col::before{left:-8px; right:-8px; height:18px;}
.mn-pg .mn-sc-lights{height:90px;}
.mn-pg .mn-sc-spot{width:1100px; margin-left:-550px;}
.mn-pg .mn-sc-disco{right:8%; width:110px;}
.mn-pg .mn-sc-pennant{right:6%; width:140px;}
.mn-pg .mn-sc-moon{right:10%; top:110px; width:60px; height:60px; box-shadow:inset -16px -5px 0 0 #FFF3C4;}
.mn-pg-x{position:fixed; top:16px; right:16px; z-index:5; display:inline-flex; align-items:center; gap:8px; padding:10px 16px 10px 12px; border:0; border-radius:99px; background:rgba(255,255,255,.96); color:#1C2A1E; font:inherit; font-weight:800; font-size:14px; cursor:pointer; box-shadow:0 10px 24px -10px rgba(0,0,0,.6);}
.mn-pg-x svg{width:18px; height:18px;}
body.admin-bar .mn-pg-x{top:48px;}
.mn-pg-in{position:relative; z-index:1; max-width:1100px; margin:0 auto; padding:104px 24px 90px;}
.mn-pg-in > *{opacity:0; transform:translateY(34px); transition:opacity .55s ease, transform .8s cubic-bezier(.2,1,.3,1);}
.mn-pg.is-open .mn-pg-in > *{opacity:1; transform:none; transition-delay:calc(.34s + var(--k, 0) * .08s);}
.mn-pg-hero{display:flex; align-items:center; gap:28px; margin-bottom:34px;}
.mn-pg-emb{flex:none; width:clamp(118px,16vw,190px); filter:drop-shadow(0 12px 20px rgba(0,0,0,.5));}
.mn-pg-emb svg, .mn-pg-emb img{display:block; width:100%; height:auto;}
.pg-midweek .mn-pg-emb img{padding:12%; border-radius:22%; background:radial-gradient(circle at 50% 40%, #2A1450, #0E0B1F 70%); box-shadow:0 0 0 6px #fff, 0 0 30px rgba(255,91,216,.5);}
.mn-pg.is-open .mn-pg-emb{animation:mnPgEmb 1s cubic-bezier(.2,1.4,.4,1) .4s backwards;}
@keyframes mnPgEmb{0%{opacity:0; transform:scale(.4) rotate(-20deg);} 100%{opacity:1; transform:none;}}
.mn-pg-kick{display:block; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; opacity:.85;}
.mn-pg-t{margin-top:6px; font-size:clamp(56px,10vw,128px); line-height:.9; color:#fff;}
.mn-pg-meta{display:inline-block; margin-top:12px; padding:7px 14px; border-radius:99px; background:rgba(255,255,255,.14); font-weight:800; font-size:14.5px;}
.mn-pg-grid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr); gap:28px; align-items:start;}
.mn-pg-copy{padding:28px 30px; border-radius:22px; background:rgba(255,255,255,.95); color:#1C2A1E; box-shadow:0 30px 60px -30px rgba(0,0,0,.6);}
.mn-pg-lede{font-family:"Anton",Impact,sans-serif; font-size:clamp(26px,3vw,36px); line-height:1.05; text-transform:uppercase;}
.mn-pg-copy p:not(.mn-pg-lede){margin-top:14px; font-size:16.5px; line-height:1.65; color:#3A4A3E;}
.mn-pg-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
.mn-pg-chips span{padding:7px 12px; border-radius:99px; background:#1C2A1E; color:#fff; font-size:13px; font-weight:800;}
.mn-pg-verse{position:relative; margin:22px 0 0; padding:16px 18px 14px 22px; border-left:5px solid var(--pa); border-radius:4px 14px 14px 4px; background:#F6F2E8;}
.mn-pg-verse p{margin:0 !important; font-size:17px !important; font-style:italic; line-height:1.55 !important; color:#1C2A1E !important;}
.mn-pg-verse cite{display:block; margin-top:6px; font-family:"Space Mono",monospace; font-size:11px; font-style:normal; letter-spacing:.12em; text-transform:uppercase; color:#6A7A6E;}
.mn-pg-side{padding:22px; border-radius:22px; background:rgba(8,10,14,.55); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
.mn-pg-side h3{margin:0 0 12px; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.18em; color:#fff;}
.mn-pg-side h3 + *{margin-bottom:22px;}
.mn-pg-dates{display:grid; grid-template-columns:repeat(auto-fill, minmax(92px, 1fr)); gap:10px;}
.mn-pg-date{display:flex; flex-direction:column; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.13); color:#fff; text-decoration:none; transition:transform .25s ease;}
.mn-pg-date b{font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:32px; line-height:1;}
.mn-pg-date span{margin-top:2px; font-size:12.5px; font-weight:800;} .mn-pg-date small{font-size:12px; opacity:.85;}
.mn-pg-date.is-next{background:var(--pa); color:#1C2A1E;}
a.mn-pg-date:hover{color:inherit; transform:translateY(-3px);}
.mn-pg-soon{grid-column:1 / -1; font-size:14px; opacity:.85;}
.mn-pg-ldrs{display:flex; flex-direction:column; gap:10px;}
.mn-pg-ldr{display:flex; align-items:center; gap:12px; padding:8px 10px 8px 8px; border:0; border-radius:16px; background:rgba(255,255,255,.13); color:#fff; font:inherit; text-align:left; cursor:pointer; transition:transform .25s ease, background .25s ease;}
.mn-pg-ldr img{flex:none; width:54px; height:54px; border-radius:50%; object-fit:cover; background:#D9DDD9; box-shadow:0 0 0 3px var(--pa);}
.mn-pg-ldr b{display:block; font-size:15px;} .mn-pg-ldr small{display:block; margin-top:2px; font-size:12.5px; opacity:.8;}
.mn-pg-ldr:hover{transform:translateX(4px); background:rgba(255,255,255,.22);}
.mn-pg-pics{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:24px; margin:46px 0 10px;}
.mn-pg-pol{display:block; width:clamp(150px,20vw,220px); padding:8px 8px 30px; background:#FBFAF6; rotate:var(--r); box-shadow:0 24px 40px -20px rgba(0,0,0,.7); transition:rotate .4s ease, transform .4s cubic-bezier(.2,1.3,.4,1);}
.mn-pg-pol img{display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; background:#D9DDD9;}
.mn-pg-pol.is-wide{width:clamp(230px,32vw,360px);} .mn-pg-pol.is-wide img{aspect-ratio:3 / 2;}
.mn-pg-pol:hover{rotate:0deg; transform:scale(1.04);}
.mn-pg-clip{display:block; width:clamp(118px,14vw,168px); aspect-ratio:9 / 16; overflow:hidden; border-radius:24px; background:#000; box-shadow:0 0 0 5px #111, 0 24px 40px -20px rgba(0,0,0,.8);}
.mn-pg-clip video{display:block; width:100%; height:100%; object-fit:cover;}
.mn-pg-ctas{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:34px;}
.mn-pg-btn{display:inline-flex; align-items:center; gap:8px; padding:14px 22px; border-radius:99px; background:rgba(255,255,255,.14); color:#fff; font-weight:800; text-decoration:none; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5); transition:transform .25s ease;}
.mn-pg-btn svg{width:16px; height:16px;}
.mn-pg-btn.is-main{background:var(--pa); color:#1C2A1E; box-shadow:0 14px 26px -12px rgba(0,0,0,.6);}
.mn-pg-btn:hover{color:inherit; transform:translateY(-3px);} .mn-pg-btn.is-main:hover{color:#1C2A1E;}
.mn-pg-btn[hidden]{display:none;}
/* Work Days, on the SLT page: a little workshop of its own */
.mn-pg-work{position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:26px; align-items:center; margin:46px 0 10px; padding:40px 30px 30px; overflow:hidden; border-radius:22px; color:#1C1A12; background:radial-gradient(circle, rgba(60,40,20,.35) 1.5px, transparent 2px) 6px 6px / 14px 14px, #C9A877; box-shadow:0 30px 60px -30px rgba(0,0,0,.6);}
.mn-pg-work-tape{position:absolute; left:0; right:0; top:0; height:14px; background:repeating-linear-gradient(45deg,#1C1A12 0 10px,#F9C31F 10px 20px);}
.mn-pg-work .mn-pg-kick{color:#5A3A1E;}
.mn-pg-work h3{display:inline-block; margin:8px 0 0; padding:6px 14px 5px; border-radius:3px; background:#F9C31F; font-size:clamp(30px,4vw,46px); box-shadow:inset 0 0 0 3px #1C1A12;}
.mn-pg-work p{margin-top:14px; font-size:16.5px; line-height:1.6;}
.mn-pg-work .mn-pg-dates{margin:16px 0 18px;}
.mn-pg-work .mn-pg-date{background:rgba(28,26,18,.12); color:#1C1A12;} .mn-pg-work .mn-pg-date.is-next{background:#F26B21; color:#fff;}
.mn-pg-work .mn-pg-btn{background:#1C1A12; color:#F9C31F; box-shadow:none;}
.mn-pg-work-pics{display:flex; flex-wrap:wrap; justify-content:center; gap:16px;}
.mn-pg-work .mn-pg-pol{width:clamp(130px,16vw,180px);} .mn-pg-work .mn-pg-pol.is-wide{width:clamp(180px,22vw,260px);}
/* each page in its locker's colors */
.pg-midweek{--pa:#FF5BD8;}
.pg-midweek .mn-pg-t{color:#FFE6FA; text-shadow:0 0 4px #fff, 0 0 14px #FF5BD8, 0 0 34px #FF5BD8, 0 0 60px #FF2FB8;}
.pg-forge{--pa:#F9B21F;}
.pg-forge .mn-pg-t{background:linear-gradient(180deg,#FFF2B0 10%,#FFB13B 45%,#E8592A 80%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; filter:drop-shadow(0 4px 0 rgba(0,0,0,.4));}
.pg-pillars{--pa:#F2D38B; color:#4A1A24;}
.pg-pillars .mn-pg-t{color:#7A2E3A; font-family:"Playfair Display",Georgia,serif; font-weight:700; text-transform:uppercase; letter-spacing:.06em;}
.pg-pillars .mn-pg-meta{background:rgba(122,46,58,.12);}
.pg-pillars .mn-pg-side{background:rgba(255,253,248,.86); box-shadow:inset 0 0 0 1px rgba(201,161,90,.5); color:#4A1A24;}
.pg-pillars .mn-pg-side h3{color:#7A2E3A;}
.pg-pillars .mn-pg-date, .pg-pillars .mn-pg-ldr{background:rgba(122,46,58,.08); color:#4A1A24;}
.pg-pillars .mn-pg-btn{color:#4A1A24; background:rgba(255,255,255,.7); box-shadow:inset 0 0 0 1.5px #C9A15A;}
.pg-pillars .mn-pg-x{background:#7A2E3A; color:#fff;}
.pg-camp{--pa:#F7B05B;}
.pg-camp .mn-pg-t{color:#F6E7C8; text-shadow:0 4px 0 rgba(0,0,0,.4);}
.pg-slt{--pa:#F2C14E;}
.pg-slt .mn-pg-t{background:linear-gradient(135deg,#FFE7A0,#C9963F 55%,#F2D38B); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; filter:drop-shadow(0 4px 0 rgba(0,0,0,.35));}
@media (max-width:860px){
  .mn-pg-in{padding:86px 18px 70px;}
  .mn-pg-hero{flex-direction:column; align-items:flex-start; gap:16px;}
  .mn-pg-emb{width:112px;}
  .mn-pg-grid, .mn-pg-work{grid-template-columns:1fr;}
  .mn-pg-copy{padding:22px 20px;}
  .mn-pg-x span{display:none;} .mn-pg-x{padding:10px;}
  .mn-pg-pics{gap:16px;}
}
@media (prefers-reduced-motion: reduce){
  .mn-pg{transition:none;} .mn-pg-in > *{transition:none; opacity:1; transform:none;}
  .mn-pg-emb, .mn-ldrs, .mn-more::after, .mn-heat, .mn-dstar, .mn-gstar, .mn-case-pennant{animation:none !important;}
}
/* room for the See more button */
.mn-lk, .mn-case{min-height:610px;}
@media (max-width:1100px){ .mn-lk, .mn-case{min-height:600px;} }
@media (max-width:700px){ .mn-lk, .mn-case{min-height:580px;} }

/* ==== Students lockers, round 7 ==== */
/* Midweek opens to the right (over Forge), so its door is always in sight */
.mn-lockers .mn-lk.is-hr.is-in:first-child:not(.is-open):not(.is-unlock) .mn-lk-door{animation-name:mnPeekR;}
@keyframes mnPeekR{0%,100%{transform:rotateY(0deg);} 40%,62%{transform:rotateY(28deg);}}
.mn-lk.lk-midweek.is-open .mn-lk-door{transform:rotateY(150deg);}
/* Midweek's door has a real grille: you can see the neon sign glowing through the slots */
.dr-booth .mn-lk-vents{display:none;}
.dr-booth .mn-lk-face{-webkit-mask:linear-gradient(#000 0 0), repeating-linear-gradient(180deg, #000 0 7px, transparent 7px 13px) 22px 58px / calc(100% - 44px) 72px no-repeat; -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) exclude, repeating-linear-gradient(180deg, #000 0 7px, transparent 7px 13px) 22px 58px / calc(100% - 44px) 72px no-repeat;}
.mn-booth{top:150px; left:16%; width:40%;}
.dr-booth .mn-dstar.is-a{top:160px;} .dr-booth .mn-dstar.is-b{top:222px;} .dr-booth .mn-dstar.is-c{top:280px;}
.mn-neonsign{position:relative; z-index:1; display:grid; place-items:center; margin:0 -2px 8px; height:78px; border-radius:10px; background:rgba(10,6,24,.6); box-shadow:inset 0 0 0 2px rgba(124,247,255,.75), 0 0 14px rgba(124,247,255,.5), inset 0 0 18px rgba(124,247,255,.3);}
.mn-neonsign > span{display:flex; flex-direction:column; align-items:center; line-height:.9; color:#FFE6FA; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:clamp(26px,2.6vw,34px); letter-spacing:.06em; text-transform:uppercase; text-shadow:0 0 3px #fff, 0 0 10px #FF5BD8, 0 0 22px #FF5BD8, 0 0 40px #FF2FB8; animation:mnNeon 5s steps(1) infinite;}
.mn-neonsign i{font-style:normal; font-size:.45em; letter-spacing:.3em; color:#D8FCFF; text-shadow:0 0 6px #7CF7FF, 0 0 16px #7CF7FF;}
.mn-th.t-midweek .mn-lbl.is-sm{align-self:center;}
/* scratched into the inside of the Midweek door, small, down in the corner */
.mn-carve{position:absolute; left:10%; bottom:3.5%; color:rgba(255,255,255,.5); font-family:"Permanent Marker","Architects Daughter",cursive; font-size:10px; letter-spacing:.08em; rotate:-7deg; text-shadow:1px 1px 0 rgba(0,0,0,.55), -1px -1px 0 rgba(255,255,255,.12);}

/* ---- Fuge Camp: bright, loud and summer-hot ---- */
.mn-lk .mn-lk-door.dr-postcard{--door:#14A3A0; --tape:rgba(255,210,63,.85);}
.dr-postcard .mn-lk-face{background:repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 4px), linear-gradient(0deg, rgba(255,61,127,.45), rgba(255,122,26,0) 46%), linear-gradient(100deg, rgba(255,255,255,.16), rgba(255,255,255,0) 30%, rgba(0,0,0,.12)), var(--door);}
.dr-postcard .mn-post b{color:#FF3D7F;}
.dr-postcard .mn-stk.is-tag{color:#FF3D7F;}
.mn-th.t-fuge{background:linear-gradient(180deg, #FF7A1A 0 42px, #C2410C 42px 46px, transparent 46px), linear-gradient(165deg, #FFD23F 46px, #FF7A1A 38%, #FF3D7F 72%, #7B3FE4); box-shadow:inset 0 0 0 3px #B2450F, inset 0 22px 34px -22px rgba(0,0,0,.45);}
.mn-sc-rays{position:absolute; left:50%; top:30%; width:520px; height:520px; margin:-260px 0 0 -260px; border-radius:50%; background:repeating-conic-gradient(rgba(255,255,255,.16) 0 9deg, transparent 9deg 22.5deg); animation:mnSpin 40s linear infinite;}
.mn-sc-word{position:absolute; left:-6%; bottom:9%; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:120px; line-height:1; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.35); rotate:-90deg; transform-origin:left bottom; translate:0.6em 0;}
.mn-sc-conf{position:absolute; left:var(--x); top:var(--y); width:7px; height:12px; border-radius:2px; background:#FFF; opacity:.85; animation:mnConf var(--d) ease-in-out var(--o) infinite;}
.mn-sc-conf:nth-child(3n){background:#17B6B0;} .mn-sc-conf:nth-child(3n+1){background:#FFD23F;}
@keyframes mnConf{0%,100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-10px) rotate(160deg);}}
.mn-th.t-fuge .mn-lbl{padding:5px 11px 4px; border-radius:4px; background:#fff; color:#FF3D7F; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:21px; letter-spacing:.06em; text-shadow:none; box-shadow:4px 4px 0 #7B3FE4; rotate:-3deg;}
.mn-th.t-fuge .mn-lbl.is-sm{padding:3px 8px 2px; background:#17B6B0; color:#fff; box-shadow:3px 3px 0 #1C1A12; text-shadow:none;}
.mn-th.t-fuge .mn-lk-draw{background:#FFFDF6; color:#7B3FE4;}
.mn-hype{position:relative; z-index:1; align-self:stretch; display:flex; flex-direction:column; align-items:center; margin:0 4px 10px; padding:8px 8px 9px; border-radius:12px; background:#1C1A12; color:#fff; text-align:center; box-shadow:4px 4px 0 #FFD23F; rotate:1.5deg;}
.mn-hype b{font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:26px; line-height:1; letter-spacing:.04em; color:#FFD23F;}
.mn-hype em{font-style:normal; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;}
.mn-months{display:block; margin-top:4px; font-size:11.5px; font-weight:800;} .mn-months b{font-size:16px; color:#17B6B0;}
.mn-th.t-fuge .mn-pass{border-left:0; border-radius:99px; padding:6px 14px; background:#17B6B0; box-shadow:0 6px 12px -6px rgba(0,0,0,.5);}
.mn-th.t-fuge .mn-pass small{color:#FFF6C2;} .mn-th.t-fuge .mn-pass .mn-card-when{color:#fff;}
.mn-th.t-fuge .mn-note{color:#2C1A30;}
.mn-th.t-fuge .mn-more{--pa:#FFD23F; background:#1C1A12; color:#FFD23F; box-shadow:4px 4px 0 #17B6B0;}
.mn-th.t-fuge .mn-book{--bk:#7B3FE4;} .mn-th.t-fuge .mn-book-2{--bk:#FF3D7F;}
.mn-th.t-fuge .mn-lk-glow{background:radial-gradient(ellipse 80% 60% at 50% 0, rgba(255,255,255,.35), rgba(255,255,255,0) 70%);}
/* five sticks of deodorant standing on the books */
.mn-deo{display:flex; justify-content:center; align-items:flex-end; gap:3px; margin-bottom:-1px;}
.mn-deo i{position:relative; width:14px; height:34px; border-radius:4px 4px 2px 2px; background:linear-gradient(90deg, rgba(0,0,0,.12), rgba(255,255,255,.35) 40%, rgba(0,0,0,.08)), var(--dc, #2A5680); box-shadow:0 3px 4px -2px rgba(0,0,0,.5); rotate:calc((var(--d) - 2) * 3deg);}
.mn-deo i::before{content:""; position:absolute; left:-1px; right:-1px; top:0; height:9px; border-radius:4px 4px 1px 1px; background:#E9EEF1; box-shadow:inset 0 -2px 0 rgba(0,0,0,.15);}
.mn-deo i:nth-child(2){--dc:#FF3D7F;} .mn-deo i:nth-child(3){--dc:#17B6B0; height:38px;} .mn-deo i:nth-child(4){--dc:#1C1A12;} .mn-deo i:nth-child(5){--dc:#7B3FE4; height:31px;}
.mn-lk.is-open .mn-deo i{animation:mnBookIn .8s cubic-bezier(.2,1.4,.4,1) calc(.9s + var(--d) * 70ms) backwards;}
/* the Fuge Camp page */
.pg-camp{--pa:#FFD23F;}
.pg-camp .mn-pg-bg{background:linear-gradient(165deg, #FFD23F, #FF7A1A 38%, #FF3D7F 72%, #7B3FE4);}
.pg-camp .mn-sc-rays{width:1400px; height:1400px; margin:-700px 0 0 -700px;}
.pg-camp .mn-sc-word{font-size:340px; bottom:2%;}
.pg-camp .mn-pg-t{color:#fff; text-shadow:6px 6px 0 #7B3FE4, 12px 12px 0 rgba(28,26,18,.35);}
.pg-camp .mn-pg-meta{background:#1C1A12; color:#FFD23F;}
.pg-camp .mn-pg-copy{box-shadow:10px 10px 0 #17B6B0, 0 30px 60px -30px rgba(0,0,0,.5);}
.pg-camp .mn-pg-side{background:rgba(28,26,18,.82);}
.mn-pg-count{margin-bottom:22px; padding:16px; border-radius:16px; background:#FFD23F; color:#1C1A12; text-align:center; box-shadow:6px 6px 0 #17B6B0;}
.mn-pg-count b{display:block; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:44px; line-height:1;}
.mn-pg-count em{display:block; margin-top:4px; font-style:normal; font-size:13px; font-weight:800;}
.mn-pg-count .mn-months{font-size:15px;} .mn-pg-count .mn-months b{display:inline; font-size:26px; color:#FF3D7F;}

/* ---- Coach's Hall of Fame (the trophy case) ---- */
.mn-case{gap:9px; padding:20px 14px 16px;}
.mn-case-plate{font-size:10px; padding:5px 12px 4px;}
.mn-case-verse{max-width:92%; color:#F2E2B8; font-family:"Playfair Display",Georgia,serif; font-style:italic; font-size:10.5px; line-height:1.35; text-align:center; text-shadow:0 1px 2px rgba(0,0,0,.6);}
.mn-case-verse i{display:block; margin-top:2px; font-family:"Space Mono",monospace; font-style:normal; font-size:8px; letter-spacing:.14em; text-transform:uppercase; opacity:.8;}
.mn-case-shelf{width:94%;}
.mn-case-shelf.is-champ{margin-top:auto;}
.mn-trophy{display:flex; flex-direction:column; align-items:center; text-align:center;}
.mn-trophy.is-big svg{width:74px; height:auto; filter:drop-shadow(0 0 12px rgba(242,193,78,.5)); transform-origin:50% 100%; animation:mnTrophy 4s ease-in-out infinite;}
@keyframes mnTrophy{0%,100%{transform:rotate(0);} 50%{transform:rotate(-2deg) translateY(-2px);}}
.mn-trophy.is-big b{margin-top:-46px; position:relative; color:#3B2A10; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:11px; line-height:1.05; text-transform:uppercase; letter-spacing:.04em;}
.mn-trophy.is-big em{margin-top:18px; padding:2px 10px; border-radius:2px; background:linear-gradient(135deg,#EDD9A0,#B8925A 60%,#E6CC8C); color:#3B2A10; font-family:"Space Mono",monospace; font-style:normal; font-weight:700; font-size:9px; letter-spacing:.2em; box-shadow:0 2px 3px rgba(0,0,0,.5);}
.mn-memory{display:flex; flex-direction:column; align-items:center; gap:6px;}
.mn-memory-photo{width:min(74%, 120px); padding:5px; border:4px solid #C9963F; background:#FBFAF6; box-shadow:0 8px 14px -6px rgba(0,0,0,.7);}
.mn-memory-photo img{display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; object-position:center 30%; background:#D9DDD9;}
.mn-memory-plaque{display:flex; flex-direction:column; align-items:center; padding:5px 9px 6px; border-radius:2px; background:linear-gradient(135deg,#3B2414,#1E120A); color:#F2D38B; text-align:center; box-shadow:inset 0 0 0 1.5px #C9963F, 0 3px 5px rgba(0,0,0,.6);}
.mn-memory-plaque b{font-family:"Space Mono",monospace; font-size:8.5px; letter-spacing:.14em; text-transform:uppercase;}
.mn-memory-plaque em{font-family:"Playfair Display",Georgia,serif; font-size:10.5px; line-height:1.25;}
.mn-memory-plaque i{font-style:normal; font-family:"Space Mono",monospace; font-size:7.5px; letter-spacing:.12em; text-transform:uppercase; opacity:.8;}
.mn-case-shelf.is-fun{flex-wrap:wrap; gap:4px 6px;}
.mn-trophy.is-fun{width:calc(25% - 5px); min-width:34px;}
.mn-trophy.is-fun svg{width:26px; height:auto; filter:drop-shadow(0 0 6px color-mix(in srgb, var(--tc) 60%, transparent));}
.mn-trophy.is-fun b{margin-top:2px; color:#fff; font-size:7.5px; font-weight:800; line-height:1.1; text-transform:uppercase;}
.mn-trophy.is-fun em{margin-top:1px; padding:1px 4px; border-radius:2px; background:#C9963F; color:#2A190D; font-style:normal; font-family:"Space Mono",monospace; font-size:6.5px; font-weight:700; letter-spacing:.04em; white-space:nowrap;}

/* ---- Save the date: a departures board that flips in row by row ---- */
.mn-students .mn-evs{display:flex; flex-direction:column; gap:6px; padding:58px 18px 18px; border-radius:16px; background:linear-gradient(180deg,#15181B,#0B0D0F); box-shadow:inset 0 0 0 3px #2B3036, inset 0 2px 0 rgba(255,255,255,.08), 0 34px 60px -30px rgba(0,0,0,.7);}
.mn-students .mn-evs::before{content:"COMING UP  \2022  RH STUDENTS"; position:absolute; left:20px; top:20px; color:#F9C31F; font-family:"Space Mono",monospace; font-weight:700; font-size:13px; letter-spacing:.22em; text-shadow:0 0 8px rgba(249,195,31,.55);}
.mn-students .mn-soon .container{position:relative;}
.mn-students .mn-evs{position:relative;}
.mn-students .mn-ev{flex:none; display:flex; align-items:center; gap:14px; padding:10px 12px; border:0; border-radius:8px; background:#1E2226; color:#F2F2EE; rotate:0deg; box-shadow:inset 0 0 0 1px rgba(255,255,255,.06); transform-origin:50% 0;}
.mn-students .mn-ev:nth-of-type(odd){rotate:0deg;}
.mn-students .mn-ev::before{display:none;}
.mn-students .mn-ev:hover{rotate:0deg; color:#fff; transform:none; background:#262B30; box-shadow:inset 0 0 0 1px rgba(249,195,31,.55);}
.mn-students .mn-ev-date{flex:none; width:74px; padding:6px 0 5px; border-radius:6px; background:linear-gradient(180deg,#2B3036 0 50%,#23272C 50%); color:#F9C31F; font-family:"Space Mono",monospace; font-size:9.5px; letter-spacing:.12em; box-shadow:inset 0 0 0 1px rgba(0,0,0,.6), 0 1px 0 rgba(255,255,255,.06);}
.mn-students .mn-ev-date b{display:block; font-family:"Space Mono",monospace; font-weight:700; font-size:22px; letter-spacing:.08em; color:#fff;}
.mn-students .mn-ev-date i{color:#9AA3A9;}
.mn-students .mn-ev-body b{font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:21px; letter-spacing:.04em; text-transform:uppercase; color:#fff;}
.mn-students .mn-ev-body span{color:#9AA3A9; font-family:"Space Mono",monospace; font-size:11.5px;}
.mn-students .mn-ev-go{color:#F9C31F;}
.mn-students .mn-ev-pic{width:46px; height:46px; border-radius:6px;}
.mn-students .mn-ev.is-big{background:linear-gradient(100deg,#FF7A1A,#FF3D7F 60%,#7B3FE4);} .mn-students .mn-ev.is-big .mn-ev-body span{color:#FFF6C2;} .mn-students .mn-ev.is-big .mn-ev-date{color:#FFD23F;}
.js .mn-students .mn-ev{opacity:0; transform:rotateX(-80deg);}
.mn-students .mn-ev.is-in{opacity:1; transform:none; transition:opacity .3s ease calc(var(--i, 0) * 0s), transform .7s cubic-bezier(.3,1.4,.5,1);}
.mn-students .mn-ev:nth-child(2).is-in{transition-delay:.1s;} .mn-students .mn-ev:nth-child(3).is-in{transition-delay:.2s;} .mn-students .mn-ev:nth-child(4).is-in{transition-delay:.3s;} .mn-students .mn-ev:nth-child(n+5).is-in{transition-delay:.4s;}
@media (max-width:700px){ .mn-students .mn-ev-body b{font-size:18px;} .mn-students .mn-ev-date{width:62px;} .mn-students .mn-ev-date b{font-size:18px;} .mn-students .mn-evs::before{font-size:10.5px; letter-spacing:.16em;} }
@media (prefers-reduced-motion: reduce){ .js .mn-students .mn-ev{opacity:1; transform:none;} .mn-trophy.is-big svg, .mn-sc-rays, .mn-sc-conf, .mn-neonsign > span{animation:none !important;} }
.mn-case-shelf.is-fun{display:grid; grid-template-columns:1fr 1fr; gap:8px 6px; align-items:end; justify-items:center;}
.mn-trophy.is-fun{width:auto; min-width:0;}
.mn-trophy.is-fun b{font-size:8px; white-space:nowrap;}
.mn-th.t-fuge .mn-pass{display:none;}
.mn-th.t-fuge .mn-lk-draw{width:64px;}
.mn-students .mn-evs{display:flex; flex-direction:column; align-items:stretch; max-width:none; margin-inline:0;}
.mn-students .mn-evs > .mn-ev{width:auto; max-width:none; margin:0;}
.mn-students .mn-ev-body{flex:1; min-width:0;}
.mn-students .mn-ev-go{margin-left:auto;}
.mn-students .mn-ev.is-static .mn-ev-body::after{content:"ON TIME"; float:right; margin-top:-30px; padding:3px 8px; border-radius:4px; background:rgba(155,255,107,.12); color:#9BFF6B; font-family:"Space Mono",monospace; font-size:10px; font-weight:700; letter-spacing:.16em;}
.mn-students .mn-ev.is-static.is-big .mn-ev-body::after{content:"BOARDING SOON"; background:rgba(28,26,18,.35); color:#FFD23F;}
@media (max-width:700px){ .mn-students .mn-ev.is-static .mn-ev-body::after{display:none;} .mn-students .mn-evs{padding:50px 10px 12px;} }
@media (max-width:1100px){ .mn-th.t-fuge .mn-lk-draw{display:none;} }
.mn-trophy.is-fun b{white-space:normal; max-width:9ch; text-align:center;}
.mn-trophy.is-big b{margin-top:-58px; padding:3px 7px 2px; border-radius:3px; background:#3B2414; color:#FFE7A0; box-shadow:0 0 0 1.5px #C9963F, 0 3px 6px rgba(0,0,0,.5); rotate:-4deg;}
.mn-trophy.is-big em{margin-top:24px;}

/* ==== Students lockers, round 8 ==== */
/* every door gets a real see-through grille (like Midweek's), up where the old painted vents were */
.mn-lk-vents{display:none;}
.mn-lk-door:not(.dr-booth) .mn-lk-face{-webkit-mask:linear-gradient(#000 0 0), repeating-linear-gradient(180deg, transparent 0 6px, #000 6px 13px) 18px 18px / 52% 45px no-repeat; -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) exclude, repeating-linear-gradient(180deg, transparent 0 6px, #000 6px 13px) 18px 18px / 52% 45px no-repeat;}
.mn-lk-door:not(.dr-booth) .mn-lk-deco{translate:0 8px;}
/* the door backs: no more mirrors, so the leader photos get the room */
.mn-ldrs{top:7%;}
.lk-slt .mn-ldrs{bottom:33%;}
/* Midweek: students' photos taped all over the inside of the door */
.mn-doorpics{position:absolute; left:9%; right:9%; top:5%; bottom:25%; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:10px 8px; align-items:center;}
.mn-doorpic{position:relative; padding:4px 4px 13px; background:#FBFAF6; rotate:calc((var(--k) - 1.5) * 4deg); box-shadow:0 8px 12px -6px rgba(0,0,0,.6);}
.mn-doorpic:nth-child(odd){rotate:calc(-5deg + var(--k) * 1deg);} .mn-doorpic:nth-child(even){rotate:calc(4deg - var(--k) * 1deg);}
.mn-doorpic img{display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover;}
.mn-doorpic::before{content:""; position:absolute; left:50%; top:-6px; width:58%; height:12px; margin-left:-29%; background:rgba(255,91,216,.72); rotate:-4deg;}
.mn-doorpic:nth-child(even)::before{background:rgba(124,247,255,.72); rotate:5deg;}
.mn-lk.is-open .mn-doorpic{animation:mnPinUp .7s cubic-bezier(.2,1.4,.4,1) calc(.55s + var(--k) * .1s) backwards;}
@keyframes mnPinUp{0%{opacity:0; transform:scale(.6) translateY(-12px);} 100%{opacity:1; transform:none;}}
/* SLT: a gold plaque under the staff, with the sticky note posted on it */
.mn-est{position:absolute; left:9%; right:9%; bottom:6%; display:flex; flex-direction:column; align-items:center;}
.mn-est-plate{display:flex; flex-direction:column; align-items:center; width:100%; padding:10px 8px 26px; border-radius:4px; background:linear-gradient(135deg,#FFF1BF,#E2B85A 30%,#B8862E 55%,#F5D98A 75%,#A8782A); color:#3B2410; text-align:center; box-shadow:inset 0 0 0 2px rgba(120,80,20,.55), inset 0 0 0 4px rgba(255,240,190,.5), 0 8px 14px -6px rgba(0,0,0,.6);}
.mn-est-plate::before, .mn-est-plate::after{content:""; position:absolute; top:7px; width:5px; height:5px; border-radius:50%; background:#7A5418; box-shadow:inset 0 1px 0 rgba(255,255,255,.4);}
.mn-est-plate::before{left:7px;} .mn-est-plate::after{right:7px;}
.mn-est-plate{position:relative;}
.mn-est-plate small{font-family:"Space Mono",monospace; font-size:8.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;}
.mn-est-plate b{font-family:"Playfair Display",Georgia,serif; font-size:21px; font-style:italic; line-height:1.1; text-shadow:0 1px 0 rgba(255,245,210,.7);}
.mn-lk-back .mn-est em{position:relative; left:auto; bottom:auto; width:82%; margin-top:-20px; padding:9px 6px; font-size:12.5px; rotate:-3deg;}
.mn-lk-back .mn-est em::before{content:""; position:absolute; left:50%; top:-5px; width:10px; height:10px; margin-left:-5px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FF8A6B, #C23B22 60%, #8E2715); box-shadow:0 2px 3px rgba(0,0,0,.4);}
/* Midweek's sign uses the real Midweek RH, in its own colors */
.mn-neonsign{height:auto; padding:8px 6px 9px;}
.mn-neonsign img{display:block; width:56px; height:auto; margin-bottom:3px; filter:drop-shadow(0 0 6px rgba(124,247,255,.55));}
.mn-neonsign > span{animation:none;}
.mn-neonsign > span{animation:mnNeon 5s steps(1) 1.5s infinite;}

/* ---- Coach's Hall of Fame, now a real lit case with depth ---- */
@property --px{syntax:"<number>"; inherits:true; initial-value:0;}
@property --py{syntax:"<number>"; inherits:true; initial-value:0;}
.mn-case{padding:14px 10px 12px; gap:8px; transform:perspective(900px) rotateY(calc(var(--px) * 7deg)) rotateX(calc(var(--py) * -5deg)); animation:mnCaseIdle 9s ease-in-out infinite; background:linear-gradient(90deg,#3B2414,#6B4527 18%,#5A3A22 50%,#6B4527 82%,#3B2414); box-shadow:inset 0 0 0 3px #2A190D, inset 0 2px 0 rgba(255,220,170,.25), 0 24px 30px -18px rgba(0,0,0,.7);}
.mn-case.is-tilt{animation:none; transition:transform .25s ease-out;}
@keyframes mnCaseIdle{0%,100%{--px:-.6; --py:0;} 50%{--px:.6; --py:.2;}}
.mn-case::before{inset:44px 9px 9px; background:radial-gradient(90% 40% at 50% 0%, rgba(255,236,190,.35), transparent 70%), linear-gradient(180deg,#22385A,#0F1D33 70%,#0A1426);}
.mn-case::after{display:none;}
.mn-case-plate{flex:none; margin-bottom:6px;}
.mn-case-room{position:relative; flex:1; align-self:stretch; display:flex; flex-direction:column; align-items:center; gap:8px; padding:12px 14px 10px; overflow:hidden;}
.mn-case-room > *{position:relative; z-index:1;}
.mn-case-room > .mn-case-shelf, .mn-case-room > .mn-case-verse{translate:calc(var(--px) * -4px) 0;}
.mn-case-wall{position:absolute !important; top:0; bottom:0; z-index:0 !important; width:13px; background:linear-gradient(90deg,#0A1426,#1B2E4C);}
.mn-case-wall.is-l{left:0; -webkit-clip-path:polygon(0 0,100% 12px,100% calc(100% - 12px),0 100%); clip-path:polygon(0 0,100% 12px,100% calc(100% - 12px),0 100%); width:calc(13px + var(--px) * 5px);}
.mn-case-wall.is-r{right:0; background:linear-gradient(270deg,#0A1426,#1B2E4C); -webkit-clip-path:polygon(0 12px,100% 0,100% 100%,0 calc(100% - 12px)); clip-path:polygon(0 12px,100% 0,100% 100%,0 calc(100% - 12px)); width:calc(13px - var(--px) * 5px);}
.mn-case-lamp{position:absolute !important; top:0; z-index:0 !important; width:60%; height:46%; background:linear-gradient(180deg, rgba(255,240,200,.32), rgba(255,240,200,0)); -webkit-clip-path:polygon(44% 0,56% 0,100% 100%,0 100%); clip-path:polygon(44% 0,56% 0,100% 100%,0 100%); animation:mnLamp 7s ease-in-out infinite;}
.mn-case-lamp::before{content:""; position:absolute; left:50%; top:0; width:12%; height:5px; margin-left:-6%; border-radius:0 0 4px 4px; background:#FFF4D6; box-shadow:0 0 10px #FFE7A0;}
.mn-case-lamp.is-1{left:20%; top:0;} .mn-case-lamp.is-2{left:20%; top:34%; height:32%; animation-delay:-2s;} .mn-case-lamp.is-3{left:20%; top:63%; height:30%; animation-delay:-4s;}
@keyframes mnLamp{0%,100%{opacity:.8;} 50%{opacity:1;}}
/* glass shelves you can see the edge of */
.mn-case-shelf{position:relative; width:100%; padding-bottom:9px; border-bottom:0; box-shadow:none;}
.mn-case-shelf::after{content:""; position:absolute; left:-6px; right:-6px; bottom:0; height:9px; background:linear-gradient(180deg, rgba(200,235,255,.42), rgba(200,235,255,.12) 60%, rgba(255,255,255,.55) 60% 75%, rgba(120,170,200,.35) 75%); -webkit-clip-path:polygon(5% 0,95% 0,100% 60%,100% 100%,0 100%,0 60%); clip-path:polygon(5% 0,95% 0,100% 60%,100% 100%,0 100%,0 60%); box-shadow:0 8px 10px -4px rgba(0,0,0,.5);}
.mn-case-shelf::before{content:""; position:absolute; left:15%; right:15%; bottom:6px; height:8px; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.55), transparent); z-index:-1;}
/* the champ trophy */
.mn-trophy.is-big{position:relative;}
.mn-trophy.is-big svg{width:80px; filter:drop-shadow(0 0 14px rgba(242,193,78,.55)) drop-shadow(0 6px 6px rgba(0,0,0,.5)); animation:mnTrophyTurn 7s ease-in-out infinite;}
@keyframes mnTrophyTurn{0%,100%{transform:perspective(300px) rotateY(-22deg);} 50%{transform:perspective(300px) rotateY(22deg);}}
.mn-tro-shine{position:absolute; left:50%; top:22px; z-index:2; width:16px; height:46px; margin-left:-8px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent); -webkit-mask:linear-gradient(#000 0 0); filter:blur(1px); animation:mnShine 4.5s ease-in-out infinite; pointer-events:none;}
@keyframes mnShine{0%,60%{opacity:0; transform:translateX(-28px) skewX(-18deg);} 70%{opacity:1;} 85%,100%{opacity:0; transform:translateX(28px) skewX(-18deg);}}
.mn-trophy.is-big b{margin-top:-62px; z-index:3; font-size:11px;}
.mn-trophy.is-big em{position:relative; z-index:3; margin-top:26px;}
/* the memorial */
.mn-memory-photo{position:relative; width:min(86%, 140px); padding:5px; border:0; background:linear-gradient(135deg,#FFF1BF,#C9963F 40%,#8C6420 60%,#E6CC8C); box-shadow:0 0 0 1px #5A3A12, 0 10px 16px -6px rgba(0,0,0,.75), 0 0 26px rgba(255,230,170,.25);}
.mn-memory-photo img{border:3px solid #1E120A; object-position:center 35%;}
.mn-memory-plaque{max-width:100%; padding:7px 9px 7px; gap:2px;}
.mn-memory-plaque em{font-size:10px; line-height:1.3;}
/* the funny trophies: each its own gold shape on a wood base */
.mn-case-shelf.is-fun{gap:10px 6px;}
.mn-trophy.is-fun svg{width:40px; filter:drop-shadow(0 0 7px color-mix(in srgb, var(--tc) 55%, transparent)) drop-shadow(0 4px 4px rgba(0,0,0,.5)); transform-origin:50% 100%; animation:mnFunTurn 5s ease-in-out calc(var(--k) * -1.2s) infinite;}
@keyframes mnFunTurn{0%,100%{transform:perspective(200px) rotateY(-24deg);} 50%{transform:perspective(200px) rotateY(24deg) translateY(-1px);}}
.mn-tro-wave{animation:mnWave 1.6s ease-in-out calc(var(--k) * -.4s) infinite;}
@keyframes mnWave{0%,100%{opacity:.35;} 50%{opacity:1;}}
.mn-trophy.is-fun b{margin-top:3px; font-size:8px; letter-spacing:.02em;}
/* the case's glass front: a soft glare that slides across */
.mn-case-glass{position:absolute; left:9px; right:9px; top:44px; bottom:9px; z-index:4 !important; overflow:hidden; border-radius:3px; box-shadow:inset 0 0 0 2px rgba(255,255,255,.16), inset 0 0 18px rgba(160,210,255,.12); pointer-events:none;}
.mn-case-glass::before{content:""; position:absolute; top:-10%; bottom:-10%; left:0; width:38%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.12) 40%, rgba(255,255,255,.2) 50%, transparent 62%); transform:translateX(calc(80px + var(--px) * -90px));}
.mn-case-verse{font-size:10px;}
.mn-case-verse.is-go{margin-top:2px; color:#FFE7A0; font-family:"Anton",Impact,sans-serif; font-style:normal; font-size:12px; letter-spacing:.03em; line-height:1.15; text-transform:uppercase; text-shadow:0 0 10px rgba(255,210,120,.45), 0 2px 2px rgba(0,0,0,.6);}
.mn-case-verse.is-go i{color:#F2E2B8;}
@media (prefers-reduced-motion: reduce){ .mn-case, .mn-case-lamp, .mn-trophy svg, .mn-tro-shine, .mn-tro-wave{animation:none !important;} .mn-case{transform:none;} }

/* ---- Midweek ROCKS: the big band ---- */
.mn-mw-rocks .mn-mw-in{min-height:340px; gap:40px; padding:56px 60px; border-radius:34px; background:radial-gradient(70% 120% at 0% 0%, rgba(255,60,200,.45), transparent 55%), radial-gradient(70% 120% at 100% 100%, rgba(0,220,255,.4), transparent 60%), radial-gradient(40% 60% at 60% 50%, rgba(155,255,107,.12), transparent 70%), #0B0818;}
.mn-mw-rocks .mn-mw-in::before{content:""; position:absolute; left:42%; top:-40%; width:30%; height:180%; background:linear-gradient(180deg, rgba(124,247,255,.22), transparent 70%); -webkit-clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); transform-origin:50% 0; animation:mnBeam 6s ease-in-out infinite; pointer-events:none;}
.mn-mw-rocks .mn-mw-in::after{content:""; position:absolute; left:62%; top:-40%; width:30%; height:180%; background:linear-gradient(180deg, rgba(255,91,216,.22), transparent 70%); -webkit-clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); transform-origin:50% 0; animation:mnBeam 7s ease-in-out -3s infinite reverse; pointer-events:none;}
@keyframes mnBeam{0%,100%{transform:rotate(-22deg);} 50%{transform:rotate(22deg);}}
.mn-mw-rocks .mn-mw-in > *{position:relative; z-index:1;}
.mn-mw-rocks .mn-mw-logo{width:190px;}
.mn-mw-rocks .mn-mw-k{font-size:14px;}
.mn-mw-rocks .mn-mw-h{margin-top:10px; font-size:clamp(64px,9vw,132px); line-height:.9; letter-spacing:.01em;}
.mn-mw-rocks .mn-mw-h em{display:inline-block; color:#FF5BD8; text-shadow:0 0 4px #fff, 0 0 18px #FF5BD8, 0 0 44px rgba(255,47,184,.8); animation:mnRock 2.4s cubic-bezier(.3,1.6,.4,1) infinite; transform-origin:30% 90%;}
@keyframes mnRock{0%,70%,100%{transform:rotate(0) scale(1);} 76%{transform:rotate(-5deg) scale(1.06);} 84%{transform:rotate(4deg) scale(1.03);} 92%{transform:rotate(-1deg) scale(1);}}
.mn-mw-rocks .mn-mw-p{font-size:17.5px;}
.mn-mw-rocks .mn-mw-go{padding:17px 26px; font-size:17px;}
@media (max-width:900px){ .mn-mw-rocks .mn-mw-in{grid-template-columns:1fr; min-height:0; padding:38px 26px 32px; gap:18px;} .mn-mw-rocks .mn-mw-logo{width:120px;} .mn-mw-rocks .mn-mw-h{font-size:clamp(58px,17vw,92px);} .mn-mw-rocks .mn-mw-go{justify-self:start;} }
@media (prefers-reduced-motion: reduce){ .mn-mw-rocks .mn-mw-in::before, .mn-mw-rocks .mn-mw-in::after, .mn-mw-rocks .mn-mw-h em{animation:none;} }
.mn-doorpics{display:block; top:4%; bottom:24%;}
.mn-doorpic{position:absolute; width:60%;}
.mn-doorpic:nth-child(1){left:0; top:0; rotate:-6deg;}
.mn-doorpic:nth-child(2){right:0; top:19%; rotate:5deg;}
.mn-doorpic:nth-child(3){left:2%; top:42%; rotate:3deg;}
.mn-doorpic:nth-child(4){right:2%; top:62%; rotate:-4deg;}
.mn-lk-door:not(.dr-booth) .mn-lk-face{-webkit-mask-size:100% 100%, calc(100% - 96px) 45px; mask-size:100% 100%, calc(100% - 96px) 45px;}
.mn-mw-rocks .mn-mw-h{line-height:.98;}

/* ==== Students lockers, round 9 ==== */
/* Fuge Camp: two campers pop out from the sides of the open locker, one after the other, then zip back */
.mn-peek{position:absolute; bottom:0; z-index:6; height:76%; pointer-events:none; will-change:transform; opacity:0;}
.mn-peek img{display:block; height:100%; width:auto; filter:drop-shadow(0 10px 12px rgba(0,0,0,.35));}
.mn-peek.is-a{right:0; transform:translateX(105%); transform-origin:100% 100%;}
.mn-peek.is-b{left:0; transform:translateX(-105%); transform-origin:0 100%;}
.mn-lk.is-open .mn-peek.is-a{animation:mnPopR 2.3s cubic-bezier(.45,0,.2,1) 1.35s both;}
.mn-lk.is-open .mn-peek.is-b{animation:mnPopL 2.3s cubic-bezier(.45,0,.2,1) 4.1s both;}
@keyframes mnPopR{0%{opacity:1; transform:translateX(105%) rotate(0deg);} 20%{transform:translateX(34%) rotate(-9deg);} 28%{transform:translateX(40%) rotate(-6deg);} 40%{transform:translateX(38%) rotate(-8deg);} 58%{transform:translateX(40%) rotate(-6deg);} 66%{transform:translateX(30%) rotate(-10deg);} 80%,99%{opacity:1; transform:translateX(110%) rotate(3deg);} 100%{opacity:0; transform:translateX(110%);}}
@keyframes mnPopL{0%{opacity:1; transform:translateX(-105%) rotate(0deg);} 20%{transform:translateX(-30%) rotate(9deg);} 28%{transform:translateX(-36%) rotate(6deg);} 40%{transform:translateX(-34%) rotate(8deg);} 58%{transform:translateX(-36%) rotate(6deg);} 66%{transform:translateX(-26%) rotate(10deg);} 80%,99%{opacity:1; transform:translateX(-110%) rotate(-3deg);} 100%{opacity:0; transform:translateX(-110%);}}
/* Fuge Camp door: GEORGE OF THE JUNGLE sprayed on the inside, and more camp photos */
.mn-graf{position:absolute; left:4%; right:4%; top:4%; display:flex; flex-direction:column; align-items:center; rotate:-7deg; pointer-events:none;}
.mn-graf b{position:relative; display:block; font-family:"Sedgwick Ave Display","Permanent Marker",cursive; font-weight:400; font-size:34px; line-height:.92; color:#B6FF3B; text-transform:uppercase; -webkit-text-stroke:1.5px #1C1A12; paint-order:stroke fill; text-shadow:3px 3px 0 #FF3D7F, 5px 5px 0 rgba(28,26,18,.55), 0 0 14px rgba(182,255,59,.35);}
.mn-graf b:nth-child(2){font-size:22px; color:#FFD23F; rotate:4deg; margin:1px 0 -1px; text-shadow:2px 2px 0 #7B3FE4, 4px 4px 0 rgba(28,26,18,.55);}
.mn-graf b:nth-child(3){font-size:38px; color:#FF3D7F; text-shadow:3px 3px 0 #FFD23F, 5px 5px 0 rgba(28,26,18,.55), 0 0 14px rgba(255,61,127,.35);}
.mn-graf b::after{content:""; position:absolute; left:24%; top:78%; width:3px; height:14px; border-radius:0 0 3px 3px; background:currentColor; box-shadow:31px 4px 0 -0.5px currentColor, 58px -2px 0 0 currentColor; opacity:.85;}
.mn-graf b:nth-child(2)::after{display:none;}
.mn-lk.is-open .mn-graf b{animation:mnSpray .5s steps(6) calc(.7s + var(--g) * .25s) backwards;}
@keyframes mnSpray{0%{-webkit-clip-path:inset(0 100% 0 0); clip-path:inset(0 100% 0 0);} 100%{-webkit-clip-path:inset(0 0 0 0); clip-path:inset(0 0 0 0);}}
.lk-camp .mn-doorpics{top:31%; bottom:23%;}
.lk-camp .mn-doorpic{width:64%;}
.lk-camp .mn-doorpic img{aspect-ratio:4 / 3;}
.lk-camp .mn-doorpic:nth-child(1){left:0; top:0; rotate:-5deg;}
.lk-camp .mn-doorpic:nth-child(2){right:0; top:30%; rotate:6deg;}
.lk-camp .mn-doorpic:nth-child(3){left:4%; top:62%; rotate:-3deg;}
.lk-camp .mn-doorpic::before{background:rgba(255,210,63,.78);} .lk-camp .mn-doorpic:nth-child(even)::before{background:rgba(255,61,127,.7);}
.lk-camp .mn-lk-backpic{display:none;}

/* ---- Coach's Hall of Fame: a real wooden trophy cabinet ---- */
.mn-case{animation:none; transform:none; padding:12px 12px 78px; gap:0; border-radius:4px 4px 2px 2px;
  background:repeating-linear-gradient(92deg, rgba(0,0,0,.05) 0 2px, transparent 2px 9px), linear-gradient(180deg,#6E4527,#4E2F18 60%,#3E2412);
  box-shadow:inset 0 0 0 2px #2A170A, inset 3px 0 0 rgba(255,210,160,.12), inset -3px 0 0 rgba(0,0,0,.25), 0 26px 30px -20px rgba(0,0,0,.75);}
.mn-case.is-tilt{transition:transform .5s cubic-bezier(.2,.8,.2,1);}
/* crown molding on top */
.mn-case-plate{position:relative; z-index:3; margin:0 0 10px; padding:6px 12px 5px; box-shadow:0 2px 0 #5A3A12, 0 4px 6px rgba(0,0,0,.5);}
.mn-case-crown{display:none;}
/* the lit inside: green velvet back with a warm glow from the top */
.mn-case::before{inset:44px 12px 78px; border-radius:2px; background:radial-gradient(80% 30% at 50% 0%, rgba(255,232,170,.4), transparent 75%), radial-gradient(60% 50% at 50% 55%, rgba(255,232,170,.08), transparent 70%), repeating-linear-gradient(90deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px), linear-gradient(180deg,#1E3B2A,#132A1D 70%,#0D1F15); box-shadow:inset 0 0 0 3px #2A170A, inset 0 10px 18px rgba(0,0,0,.45);}
/* the cabinet base with two little doors and brass knobs */
.mn-case::after{display:block; content:""; position:absolute; left:12px; right:12px; bottom:12px; top:auto; height:56px; border-radius:2px; background:radial-gradient(circle at calc(50% - 9px) 50%, #F2D38B 0 2.5px, transparent 3px), radial-gradient(circle at calc(50% + 9px) 50%, #F2D38B 0 2.5px, transparent 3px), linear-gradient(90deg, transparent calc(50% - 1px), #2A170A calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)), repeating-linear-gradient(92deg, rgba(0,0,0,.06) 0 2px, transparent 2px 8px), linear-gradient(180deg,#5C3820,#432814); box-shadow:inset 0 0 0 2px #2A170A, inset 0 0 0 6px rgba(255,210,160,.08), inset 0 0 0 7px #2A170A, 0 -5px 0 #2A170A, 0 -8px 0 #7A5230; pointer-events:none;}
.mn-case-room{padding:12px 12px 10px; gap:7px;}
.mn-case-room > .mn-case-shelf, .mn-case-room > .mn-case-verse{translate:none;}
.mn-case-wall{display:none;}
.mn-case-lamp{width:70%; left:15% !important; animation:none; opacity:.9;}
/* glass doors: two panes with a wooden center stile and a lock */
.mn-case-glass{left:12px; right:12px; top:44px; bottom:78px; border-radius:2px; box-shadow:inset 0 0 0 3px #3E2412, inset 0 0 0 4px rgba(255,255,255,.12); background:linear-gradient(90deg, transparent calc(50% - 2px), rgba(62,36,18,.9) calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px));}
.mn-case-glass::before{width:30%; transform:translateX(-120%) skewX(-12deg); animation:mnGlare 7s ease-in-out 1s infinite; will-change:transform;}
@keyframes mnGlare{0%,55%{transform:translateX(-120%) skewX(-12deg);} 85%,100%{transform:translateX(420%) skewX(-12deg);}}
.mn-case-glass::after{content:""; position:absolute; left:50%; top:52%; width:6px; height:10px; margin-left:-3px; border-radius:1px; background:linear-gradient(180deg,#F2D38B,#9C7430); box-shadow:0 1px 2px rgba(0,0,0,.5);}
/* glass shelves */
.mn-case-shelf::after{left:-12px; right:-12px; background:linear-gradient(180deg, rgba(220,240,255,.35), rgba(220,240,255,.1) 55%, rgba(255,255,255,.5) 55% 72%, rgba(150,190,210,.3) 72%);}
/* the memorial: photo and words on ONE framed plaque */
.mn-memory{width:min(96%, 156px); gap:0; padding:6px 6px 7px; border-radius:3px; background:linear-gradient(180deg,#2A190D,#170D06); box-shadow:inset 0 0 0 2px #C9963F, inset 0 0 0 4px #2A190D, inset 0 0 0 5px rgba(242,211,139,.45), 0 10px 14px -6px rgba(0,0,0,.75);}
.mn-memory-photo{width:100%; padding:0; background:none; box-shadow:none; border-radius:1px;}
.mn-memory-photo img{border:0; border-bottom:2px solid #C9963F; aspect-ratio:4 / 3; object-position:center 40%;}
.mn-memory-plaque{width:100%; max-width:none; padding:6px 4px 0; border-radius:0; background:none; box-shadow:none;}
/* smoother: nothing that moves carries a filter; glows sit still behind it */
.mn-trophy{position:relative;}
.mn-trophy::before{content:""; position:absolute; left:50%; top:30%; z-index:-1; width:90%; aspect-ratio:1; translate:-50% -50%; border-radius:50%; background:radial-gradient(closest-side, color-mix(in srgb, var(--tc, #F2C14E) 45%, transparent), transparent); pointer-events:none;}
.mn-trophy.is-big::before{--tc:#F2C14E; width:110%;}
.mn-trophy.is-big svg, .mn-trophy.is-fun svg{filter:none; will-change:transform; backface-visibility:hidden;}
.mn-trophy.is-big svg{animation:mnTrophyTurn 8s ease-in-out infinite;}
@keyframes mnTrophyTurn{0%,100%{transform:perspective(300px) rotateY(-16deg);} 50%{transform:perspective(300px) rotateY(16deg);}}
.mn-trophy.is-fun svg{animation:mnFunTurn 6s ease-in-out calc(var(--k) * -1.5s) infinite;}
@keyframes mnFunTurn{0%,100%{transform:perspective(200px) rotateY(-18deg);} 50%{transform:perspective(200px) rotateY(18deg);}}
.mn-tro-shine{filter:none; will-change:transform, opacity;}
.mn-tro-wave{animation:none;}
/* one glass door (no middle bar across Coach's plaque), lock on the right edge */
.mn-case-glass{background:none;}
.mn-case-glass::after{left:auto; right:3px; margin-left:0;}
/* compact so the cabinet stands the same height as the lockers */
.mn-case{padding-bottom:58px;}
.mn-case::before{bottom:58px;}
.mn-case-glass{bottom:58px;}
.mn-case::after{height:36px;}
.mn-case-room{gap:5px; padding:9px 10px 7px;}
.mn-case-verse{font-size:9.5px; line-height:1.25;}
.mn-case-verse i{font-size:7.5px;}
.mn-case-verse.is-go{font-size:10.5px;}
.mn-trophy.is-big svg{width:60px;}
.mn-trophy.is-big b{margin-top:-48px; font-size:9.5px; padding:2px 5px 1px;}
.mn-trophy.is-big em{margin-top:16px; font-size:8px;}
.mn-memory-photo img{aspect-ratio:16 / 10;}
.mn-memory-plaque{padding-top:4px;}
.mn-memory-plaque b{font-size:8px;}
.mn-memory-plaque em{font-size:9px; line-height:1.22;}
.mn-case-shelf.is-fun{gap:4px 4px;}
.mn-trophy.is-fun svg{width:32px;}
.mn-trophy.is-fun b{font-size:7.5px;}
.mn-lk, .mn-case{min-height:650px;}
@media (max-width:1100px){ .mn-lk, .mn-case{min-height:640px;} }
@media (max-width:700px){ .mn-lk, .mn-case{min-height:580px;} }

/* ==== Students lockers, round 10 ==== */
/* the top plaque: "Coach's" big, "Hall of Fame" under it, centered on a brass plate with screws */
.mn-case-plate{display:flex; flex-direction:column; align-items:center; align-self:center; width:86%; max-width:180px; padding:5px 14px 5px; border-radius:3px; text-transform:none; letter-spacing:0; line-height:1; white-space:nowrap; background:linear-gradient(135deg,#FFF1BF,#E2B85A 30%,#B8862E 55%,#F5D98A 75%,#A8782A); box-shadow:inset 0 0 0 1.5px rgba(120,80,20,.6), inset 0 0 0 3px rgba(255,240,190,.45), 0 2px 0 #5A3A12, 0 4px 6px rgba(0,0,0,.5);}
.mn-case-plate::before, .mn-case-plate::after{content:""; position:absolute; top:50%; width:4px; height:4px; margin-top:-2px; border-radius:50%; background:#7A5418; box-shadow:inset 0 1px 0 rgba(255,255,255,.4);}
.mn-case-plate::before{left:5px;} .mn-case-plate::after{right:5px;}
.mn-case-plate b{font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:700; font-size:16px; color:#3B2410; text-shadow:0 1px 0 rgba(255,245,210,.7);}
.mn-case-plate small{margin-top:2px; font-family:"Space Mono",monospace; font-size:7.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#4A2E12;}
.mn-case::before, .mn-case-glass{top:50px;}
/* golden kickball trophy */
.mn-trophy.is-big svg{width:84px; height:auto;}
.mn-trophy.is-big em{margin-top:4px;}
.mn-tro-glint{transform-box:fill-box; animation:mnGlint 5s ease-in-out 1s infinite; opacity:0;}
@keyframes mnGlint{0%,62%{opacity:0; transform:translateX(-10px) skewX(-20deg);} 66%{opacity:.55;} 82%,100%{opacity:0; transform:translateX(70px) skewX(-20deg);}}
.mn-tro-spark path{transform-box:fill-box; transform-origin:center; animation:mnSpark 2.8s ease-in-out infinite;}
.mn-tro-spark path:nth-child(2){animation-delay:-1s;} .mn-tro-spark path:nth-child(3){animation-delay:-1.9s;}
@keyframes mnSpark{0%,100%{opacity:.2; transform:scale(.6);} 50%{opacity:1; transform:scale(1.1);}}
/* the pop-out campers: sharp, full-size cutouts */
.mn-peek img{filter:none; image-rendering:auto;}
.mn-peek{backface-visibility:hidden;}
@media (prefers-reduced-motion: reduce){ .mn-tro-glint, .mn-tro-spark path{animation:none;} }
/* a program grid with only three cards (Kids, now that Camps is gone) fills the row */
@media (min-width:1101px){ .mn-grid:has(> .mn-card:nth-child(3):last-child){grid-template-columns:repeat(3, minmax(0,1fr));} }
@media (min-width:701px) and (max-width:1100px){ .mn-grid:has(> .mn-card:nth-child(3):last-child){grid-template-columns:repeat(3, minmax(0,1fr));} }

/* ---- Ministries button in the More menu (right above Midweek) ---- */
.more-menu a.more-mn, nav.links .more-menu a.more-mn{position:relative; display:flex; flex-direction:column; gap:6px; margin-bottom:4px; padding:11px 12px 11px; border-radius:12px; color:var(--ink); font-family:"Anton",sans-serif; font-weight:400; font-size:18px; letter-spacing:.05em; text-transform:uppercase; background:linear-gradient(#FFFDF8,#FFFDF8) padding-box, linear-gradient(100deg,#F28C28,#2E8B4A 50%,#8B5CF6) border-box; border:1.5px solid transparent; box-shadow:0 8px 18px -12px rgba(28,42,30,.45);}
.more-mn-tags{display:flex; gap:5px; margin:0 !important;}
.more-mn-tags i{display:inline-block; padding:3px 8px 2px; border-radius:99px; font-family:"Manrope",sans-serif; font-style:normal; font-size:11px; font-weight:800; letter-spacing:.02em; text-transform:none; color:#fff; background:#F28C28; transition:transform .35s cubic-bezier(.3,1.6,.5,1);}
.more-mn-tags i:nth-child(2){background:#2E8B4A; transition-delay:.05s;} .more-mn-tags i:nth-child(3){background:#8B5CF6; transition-delay:.1s;}
.more-menu a.more-mn:hover, .more-menu a.more-mn:focus-visible, nav.links .more-menu a.more-mn:hover, nav.links .more-menu a.more-mn:focus-visible{color:var(--ink); background:linear-gradient(#FFF6EA,#FFF6EA) padding-box, linear-gradient(100deg,#F28C28,#2E8B4A 50%,#8B5CF6) border-box;}
.more-menu a.more-mn:hover .more-mn-tags i, .more-menu a.more-mn:focus-visible .more-mn-tags i{transform:translateY(-3px);}
/* phone menu: a matching tile */
.mobile-menu a.more-mn{font-family:"Anton",sans-serif; letter-spacing:.05em; text-transform:uppercase; border-radius:12px; background:linear-gradient(#FFFDF8,#FFFDF8) padding-box, linear-gradient(100deg,#F28C28,#2E8B4A 50%,#8B5CF6) border-box; border:1.5px solid transparent;}
@media (prefers-reduced-motion: reduce){ .more-mn-tags i{transition:none;} }

/* ==== Ministries hub v2: "Pick your card" ==== */
.mz .mn-staff{position:relative; z-index:3;}
.mz-hero{position:relative; overflow:hidden; padding:84px 0 0; background:radial-gradient(120% 80% at 50% 110%, #1B2A22, #0C120F 60%); color:#fff; isolation:isolate;}
.mz-glow{position:absolute; z-index:-1; width:620px; height:620px; border-radius:50%; opacity:.5; pointer-events:none; will-change:transform;}
.mz-glow.is-a{left:-160px; top:-120px; background:radial-gradient(closest-side, rgba(62,123,250,.55), transparent); animation:mzDrift 16s ease-in-out infinite;}
.mz-glow.is-b{right:-180px; top:40px; background:radial-gradient(closest-side, rgba(139,92,246,.5), transparent); animation:mzDrift 19s ease-in-out -6s infinite reverse;}
.mz-glow.is-c{left:30%; bottom:-260px; background:radial-gradient(closest-side, rgba(242,140,40,.38), transparent); animation:mzDrift 22s ease-in-out -11s infinite;}
@keyframes mzDrift{0%,100%{transform:translate(0,0);} 50%{transform:translate(60px,40px);}}
.mz-hero-in{position:relative; text-align:center;}
.mz-kick{font-family:"Space Mono",monospace; font-size:12.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#C9E7D2;}
.mz-title{margin:6px 0 0; font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(70px,13vw,184px); line-height:.9; letter-spacing:.01em; text-transform:uppercase; white-space:nowrap;}
.mz-title span{display:inline-block; color:#fff; text-shadow:0 7px 0 var(--lc), 0 14px 26px rgba(0,0,0,.45); animation:mzDrop .9s cubic-bezier(.2,1.5,.4,1) calc(.1s + var(--i) * 55ms) both, mzBob 4.5s ease-in-out calc(1.4s + var(--i) * 120ms) infinite;}
@keyframes mzDrop{0%{opacity:0; transform:translateY(-70px) rotate(-8deg);} 100%{opacity:1; transform:none;}}
@keyframes mzBob{0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);}}
.mz-lede{margin:18px auto 0; max-width:34ch; font-size:clamp(17px,1.8vw,21px); line-height:1.45; color:rgba(255,255,255,.82);}
.mz-lede b{color:#fff; font-weight:800;}
/* the hand of cards */
.mz-fan{position:relative; height:430px; margin-top:18px;}
.mz-card{--w:232px; --h:322px; position:absolute; left:50%; bottom:58px; z-index:calc(10 - var(--n) * var(--n)); width:var(--w); height:var(--h); margin-left:calc(var(--w) / -2); color:#fff; text-decoration:none; transform-origin:50% 170%; transform:translateX(calc(var(--n) * 196px)) translateY(calc(var(--n) * var(--n) * 10px)) rotate(calc(var(--n) * 7deg)); animation:mzDeal 1s cubic-bezier(.2,1.2,.3,1) calc(.45s + var(--i) * 90ms) both, mzFloat 6s ease-in-out calc(1.6s + var(--i) * -1.1s) infinite;}
@keyframes mzDeal{0%{opacity:0; transform:translateY(240px) rotate(0deg) scale(.9);}}
@keyframes mzFloat{0%,100%{translate:0 0;} 50%{translate:0 -8px;}}
.mz-card:hover, .mz-card:focus-visible{z-index:20; color:#fff;}
.mz-card-in{position:relative; display:block; width:100%; height:100%; padding:8px 8px 74px; border-radius:22px; background:var(--cc); box-shadow:inset 0 0 0 1px rgba(255,255,255,.25), 0 26px 40px -18px rgba(0,0,0,.7); transition:transform .55s cubic-bezier(.2,1.3,.35,1), box-shadow .4s ease; will-change:transform;}
.mz-card:hover .mz-card-in, .mz-card:focus-visible .mz-card-in{transform:translateY(-38px) rotate(calc(var(--n) * -7deg)) scale(1.07); box-shadow:inset 0 0 0 1px rgba(255,255,255,.35), 0 40px 60px -20px rgba(0,0,0,.8), 0 0 50px -10px var(--cc);}
.mz-card-in img{display:block; width:100%; height:100%; border-radius:15px; object-fit:cover;}
.mz-card-in::after{content:""; position:absolute; inset:8px 8px 74px; border-radius:15px; background:linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.35) 46%, rgba(255,255,255,0) 60%); transform:translateX(-120%); transition:transform .8s ease; pointer-events:none;}
.mz-card:hover .mz-card-in::after{transform:translateX(120%);}
.mz-card-ico{position:absolute; top:18px; left:18px; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#fff; color:var(--cc); box-shadow:0 6px 12px rgba(0,0,0,.3);}
.mz-card-ico svg{width:21px; height:21px;}
.mz-card-txt{position:absolute; left:16px; right:50px; bottom:14px; display:flex; flex-direction:column;}
.mz-card-txt b{font-family:"Anton",sans-serif; font-weight:400; font-size:27px; line-height:1.05; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap;}
.mz-card-txt em{font-style:normal; font-size:12.5px; font-weight:700; opacity:.9;}
.mz-card-go{position:absolute; right:14px; bottom:20px; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.22); transition:transform .3s ease, background .3s ease;}
.mz-card-go svg{width:16px; height:16px;}
.mz-card:hover .mz-card-go{background:#fff; color:var(--cc); transform:translateX(3px);}
/* the color band */
.mz-band{position:relative; z-index:2; margin:0 -20px; padding:13px 0; overflow:hidden; background:linear-gradient(90deg,#3E7BFA,#B8925A 25%,#2E8B4A 50%,#F28C28 75%,#8B5CF6); rotate:-2deg; box-shadow:0 12px 26px -12px rgba(0,0,0,.5);}
.mz-band-in{display:flex; align-items:center; gap:22px; width:max-content; animation:mzBand 26s linear infinite; will-change:transform;}
.mz-band span{font-family:"Anton",sans-serif; font-size:24px; letter-spacing:.06em; text-transform:uppercase; color:#fff; white-space:nowrap;}
.mz-band i{font-style:normal; color:rgba(255,255,255,.75);}
@keyframes mzBand{to{transform:translateX(-25%);}}
/* Young Adults & Adults */
.mz-grown{padding:110px 0 40px;}
.mz-grown-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.mz-gtile{--gc:#3E7BFA; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); overflow:hidden; border-radius:26px; background:#fff; color:var(--ink); text-decoration:none; box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--gc) 22%, transparent), 0 26px 40px -30px rgba(19,42,22,.6); transition:transform .4s cubic-bezier(.2,1.3,.35,1), box-shadow .4s ease;}
.mz-gtile.is-ad{--gc:#9C7442;}
.mz-gtile:hover{color:var(--ink); transform:translateY(-6px); box-shadow:inset 0 0 0 2px var(--gc), 0 34px 50px -30px rgba(19,42,22,.7);}
.mz-gtile-pic{position:relative; overflow:hidden; min-height:280px;}
.mz-gtile-pic img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.8,.2,1);}
.mz-gtile:hover .mz-gtile-pic img{transform:scale(1.06);}
.mz-gtile-body{display:flex; flex-direction:column; justify-content:center; gap:8px; padding:30px 28px;}
.mz-gtile-body small{font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gc);}
.mz-gtile-body b{font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(30px,3vw,40px); line-height:1; text-transform:uppercase;}
.mz-gtile-body span{font-size:15.5px; line-height:1.5; color:var(--ink-soft);}
.mz-gtile-body i{display:inline-flex; align-items:center; gap:8px; margin-top:6px; font-style:normal; font-weight:800; color:var(--gc);}
.mz-gtile-body i svg{width:16px; height:16px; transition:transform .25s;}
.mz-gtile:hover .mz-gtile-body i svg{transform:translateX(4px);}
/* Students, Kids & Buddies: each tile dressed like its own page */
.mz-next{padding:70px 0 40px;}
.mz-next-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px;}
.mz-tile{--tc:#2E8B4A; display:flex; flex-direction:column; overflow:hidden; border-radius:26px; background:#fff; color:var(--ink); text-decoration:none; box-shadow:0 26px 40px -30px rgba(19,42,22,.6); transition:transform .45s cubic-bezier(.2,1.3,.35,1), box-shadow .4s ease;}
.mz-tile.is-ki{--tc:#E07818;} .mz-tile.is-bu{--tc:#7C4DEB;}
.mz-tile:hover{color:var(--ink); transform:translateY(-8px) rotate(-.6deg); box-shadow:0 40px 56px -30px rgba(19,42,22,.7);}
.mz-tile > span:first-child{position:relative; display:grid; place-items:center; height:280px; overflow:hidden;}
.mz-tile-body{display:flex; flex-direction:column; gap:6px; padding:22px 24px 26px;}
.mz-tile-body small{font-family:"Space Mono",monospace; font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--tc);}
.mz-tile-body b{font-family:"Anton",sans-serif; font-weight:400; font-size:44px; line-height:1; text-transform:uppercase; color:var(--tc);}
.mz-tile-body span{font-size:15px; line-height:1.5; color:var(--ink-soft);}
.mz-tile-body i{display:inline-flex; align-items:center; gap:8px; margin-top:8px; font-style:normal; font-weight:800; color:var(--tc);}
.mz-tile-body i svg{width:16px; height:16px; transition:transform .25s;}
.mz-tile:hover .mz-tile-body i svg{transform:translateX(4px);}
/* Students: a locker that swings open on hover */
.mz-locker{background:linear-gradient(180deg,#2B3036,#171A1E); perspective:900px;}
.mz-locker::before{content:""; position:absolute; left:0; right:0; bottom:0; height:22px; background:linear-gradient(180deg,#3A4148,#22272C);}
.mz-locker-inside, .mz-locker-door{position:absolute; left:50%; top:26px; width:150px; height:226px; margin-left:-75px; border-radius:6px;}
.mz-locker-inside{display:grid; place-items:center; background:radial-gradient(120% 70% at 50% 0%, rgba(155,255,107,.35), transparent 60%), #0E2A18; box-shadow:inset 0 0 0 3px #0A1C10;}
.mz-locker-inside b{font-family:"Anton",sans-serif; font-weight:400; font-size:30px; color:#9BFF6B; text-shadow:0 0 14px rgba(155,255,107,.7); text-transform:uppercase; letter-spacing:.04em;}
.mz-locker-door{transform-origin:left center; background:repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 5px), linear-gradient(100deg,#3FA45F,#2E8B4A 45%,#24713B); box-shadow:inset 0 0 0 2px rgba(0,0,0,.25), inset 3px 0 0 rgba(255,255,255,.15), 0 12px 20px -8px rgba(0,0,0,.6); transition:transform .9s cubic-bezier(.22,1,.36,1); will-change:transform;}
.mz-tile:hover .mz-locker-door{transform:rotateY(-62deg);}
.mz-vents{position:absolute; left:14px; top:14px; width:64px; height:30px; background:repeating-linear-gradient(180deg, rgba(0,0,0,.38) 0 4px, transparent 4px 8px); border-radius:2px;}
.mz-num{position:absolute; right:12px; top:12px; padding:2px 6px; border-radius:3px; background:linear-gradient(135deg,#EDD9A0,#B8925A 60%,#E6CC8C); color:#3B2A10; font-family:"Space Mono",monospace; font-size:10px; font-style:normal; font-weight:700;}
.mz-pol{position:absolute; left:18px; top:58px; width:96px; padding:5px 5px 16px; background:#FBFAF6; rotate:-5deg; box-shadow:0 8px 12px -6px rgba(0,0,0,.6);}
.mz-pol::before{content:""; position:absolute; left:50%; top:-7px; width:54%; height:13px; margin-left:-27%; background:rgba(249,195,31,.75); rotate:4deg;}
.mz-pol img{display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover;}
.mz-lock{position:absolute; right:14px; top:118px; width:16px; height:16px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #F4F7F8, #9AA3A9 55%, #4E565C); box-shadow:0 2px 4px rgba(0,0,0,.5);}
/* Kids: a crayon page */
.mz-crayon{background:repeating-linear-gradient(180deg, transparent 0 27px, rgba(62,123,250,.16) 27px 28px), linear-gradient(90deg, transparent 38px, rgba(236,72,153,.28) 38px 40px, transparent 40px), #FFF8EC;}
.mz-crayon-pic{position:relative; z-index:1; width:62%; rotate:-4deg; border-radius:8px; box-shadow:0 0 0 5px #FFD23F, 0 0 0 10px #F28C28, 0 16px 22px -10px rgba(0,0,0,.45); overflow:hidden; transition:rotate .5s cubic-bezier(.3,1.6,.5,1);}
.mz-crayon-pic img{display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; object-position:center 30%;}
.mz-tile:hover .mz-crayon-pic{rotate:3deg;}
.mz-doodle{position:absolute; width:54px; height:54px; fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; transition:transform .5s cubic-bezier(.3,1.8,.5,1);}
.mz-doodle.is-sun{left:16px; top:18px; stroke:#F2A900;} .mz-doodle.is-star{right:20px; top:24px; stroke:#3E7BFA; width:46px;} .mz-doodle.is-heart{right:34px; bottom:20px; stroke:#EC4899; width:42px;}
.mz-tile:hover .mz-doodle.is-sun{transform:rotate(45deg) scale(1.15);} .mz-tile:hover .mz-doodle.is-star{transform:rotate(-20deg) scale(1.2);} .mz-tile:hover .mz-doodle.is-heart{transform:scale(1.25);}
/* Buddies: soft lavender, a rainbow, hearts drifting up */
.mz-soft{background:radial-gradient(90% 80% at 50% 100%, #EFE7FF, #F8F4FF 70%);}
.mz-rainbow{position:absolute; left:50%; top:30px; width:300px; height:300px; margin-left:-150px; border-radius:50%; background:radial-gradient(closest-side, transparent 66%, #F9A8D4 66% 72%, #FDE68A 72% 78%, #A7F3D0 78% 84%, #BFDBFE 84% 90%, #DDD6FE 90% 96%, transparent 96%); opacity:.85;}
.mz-soft-pic{position:relative; z-index:1; width:58%; overflow:hidden; border-radius:46% 54% 48% 52% / 52% 46% 54% 48%; box-shadow:0 0 0 6px #fff, 0 16px 26px -12px rgba(124,77,235,.55); margin-top:46px; transition:transform .6s cubic-bezier(.3,1.4,.5,1);}
.mz-soft-pic img{display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; object-position:center 35%;}
.mz-tile:hover .mz-soft-pic{transform:scale(1.05);}
.mz-heart{position:absolute; bottom:-20px; z-index:2; width:18px; height:18px; background:#C4B5FD; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-5.2-8-11.3A4.7 4.7 0 0 1 12 7a4.7 4.7 0 0 1 8 2.7C20 15.8 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-5.2-8-11.3A4.7 4.7 0 0 1 12 7a4.7 4.7 0 0 1 8 2.7C20 15.8 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat; animation:mzHeart 7s ease-in infinite; will-change:transform, opacity;}
.mz-heart.is-1{left:16%;} .mz-heart.is-2{left:74%; width:14px; height:14px; background:#F9A8D4; animation-delay:-2.4s;} .mz-heart.is-3{left:46%; width:12px; height:12px; background:#A5B4FC; animation-delay:-4.8s;}
@keyframes mzHeart{0%{opacity:0; transform:translateY(0) scale(.6);} 15%{opacity:1;} 100%{opacity:0; transform:translateY(-300px) translateX(18px) scale(1.1);}}
/* the last word */
.mz-end{padding:30px 0 110px;}
.mz-end-in{text-align:center;}
.mz-end h2{font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(36px,5vw,60px); line-height:1; text-transform:uppercase;}
.mz-end p{margin:12px auto 22px; max-width:40ch; color:var(--ink-soft); font-size:17px;}
.mz .mn-mw-rocks{padding-top:40px;}
@media (max-width:1100px){
  .mz-card{--w:196px; --h:276px; transform:translateX(calc(var(--n) * 150px)) translateY(calc(var(--n) * var(--n) * 9px)) rotate(calc(var(--n) * 7deg));}
  .mz-fan{height:380px;}
  .mz-grown-grid{grid-template-columns:1fr;}
  .mz-next-grid{grid-template-columns:1fr; max-width:560px; margin-inline:auto;}
}
@media (max-width:700px){
  .mz-hero{padding-top:58px;}
  .mz-title{font-size:clamp(56px,17vw,96px);}
  .mz-fan{display:flex; gap:14px; height:auto; margin-top:26px; padding:24px 20px 58px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
  .mz-fan::-webkit-scrollbar{display:none;}
  .mz-card{--w:62vw; --h:82vw; position:relative; left:auto; bottom:auto; flex:0 0 var(--w); margin:0; scroll-snap-align:center; transform:rotate(calc(var(--n) * 1.5deg)); animation:mzDeal .9s cubic-bezier(.2,1.2,.3,1) calc(.4s + var(--i) * 80ms) both;}
  .mz-card:hover .mz-card-in{transform:translateY(-8px);}
  .mz-gtile{grid-template-columns:1fr;}
  .mz-gtile-pic{min-height:210px;}
  .mz-band span{font-size:19px;}
  .mz-grown{padding-top:80px;}
}
@media (prefers-reduced-motion: reduce){
  .mz-glow, .mz-title span, .mz-card, .mz-band-in, .mz-heart{animation:none !important;}
  .mz-card-in, .mz-locker-door, .mz-crayon-pic, .mz-doodle, .mz-soft-pic{transition:none;}
}
/* five tags on the Ministries button: wrap neatly, one color per ministry */
.more-mn-tags{flex-wrap:wrap; gap:4px;}
.more-mn-tags i{padding:3px 7px 2px; font-size:10.5px; background:#3E7BFA;}
.more-mn-tags i:nth-child(2){background:#9C7442; transition-delay:.04s;} .more-mn-tags i:nth-child(3){background:#2E8B4A; transition-delay:.08s;} .more-mn-tags i:nth-child(4){background:#F28C28; transition-delay:.12s;} .more-mn-tags i:nth-child(5){background:#8B5CF6; transition-delay:.16s;}
.more-menu a.more-mn, nav.links .more-menu a.more-mn, .mobile-menu a.more-mn{background:linear-gradient(#FFFDF8,#FFFDF8) padding-box, linear-gradient(100deg,#3E7BFA,#B8925A 25%,#2E8B4A 50%,#F28C28 75%,#8B5CF6) border-box;}
.more-menu a.more-mn:hover, .more-menu a.more-mn:focus-visible, nav.links .more-menu a.more-mn:hover, nav.links .more-menu a.more-mn:focus-visible{background:linear-gradient(#FFF6EA,#FFF6EA) padding-box, linear-gradient(100deg,#3E7BFA,#B8925A 25%,#2E8B4A 50%,#F28C28 75%,#8B5CF6) border-box;}
/* hub v2 fixes: the dark hero is a rounded stage below the header, so the header stays readable */
.mz-hero{margin:104px 14px 0; border-radius:36px; padding-top:56px;}
.mz-lede{max-width:44ch;}
.mz-card{transform:translateX(calc(var(--n) * 178px)) translateY(calc(var(--n) * var(--n) * 10px)) rotate(calc(var(--n) * 7deg));}
.mz-band{margin:0 -30px; }
@media (max-width:1100px){ .mz-card{transform:translateX(calc(var(--n) * 140px)) translateY(calc(var(--n) * var(--n) * 9px)) rotate(calc(var(--n) * 7deg));} }
@media (max-width:700px){ .mz-hero{margin:92px 10px 0; border-radius:26px; padding-top:40px;} .mz-card{transform:rotate(calc(var(--n) * 1.5deg));} }
.mz-card{--w:220px; --h:308px; transform-origin:50% 140%; transform:translateX(calc(var(--n) * 162px)) translateY(calc(var(--n) * var(--n) * 9px)) rotate(calc(var(--n) * 6deg));}
@media (max-width:1100px){ .mz-card{--w:184px; --h:260px; transform:translateX(calc(var(--n) * 128px)) translateY(calc(var(--n) * var(--n) * 8px)) rotate(calc(var(--n) * 6deg));} }
@media (max-width:700px){ .mz-card{--w:62vw; --h:82vw; transform:rotate(calc(var(--n) * 1.5deg));} }
/* menu tags follow the new order: Young Adults, Adults, Kids, Students, Buddies */
.more-mn-tags i:nth-child(3){background:#F28C28;} .more-mn-tags i:nth-child(4){background:#2E8B4A;}
/* Students tile: a Wednesday-night stage, neon beams sweeping, the photo glowing green, stickers slapped on */
.mz-stage{background:radial-gradient(90% 70% at 50% 100%, #12301D, #0A0E0C 75%);}
.mz-beam{position:absolute; top:-30px; width:120px; height:340px; transform-origin:50% 0; -webkit-clip-path:polygon(44% 0,56% 0,100% 100%,0 100%); clip-path:polygon(44% 0,56% 0,100% 100%,0 100%); pointer-events:none; will-change:transform;}
.mz-beam.is-1{left:8%; background:linear-gradient(180deg, rgba(155,255,107,.5), transparent 80%); animation:mzSweep 5s ease-in-out infinite;}
.mz-beam.is-2{left:42%; background:linear-gradient(180deg, rgba(255,91,216,.42), transparent 80%); animation:mzSweep 6s ease-in-out -2s infinite reverse;}
.mz-beam.is-3{right:6%; background:linear-gradient(180deg, rgba(124,247,255,.42), transparent 80%); animation:mzSweep 5.5s ease-in-out -3.5s infinite;}
@keyframes mzSweep{0%,100%{transform:rotate(-24deg);} 50%{transform:rotate(24deg);}}
.mz-stage-pic{position:relative; z-index:1; width:66%; overflow:hidden; border-radius:10px; rotate:-3deg; box-shadow:0 0 0 4px #9BFF6B, 0 0 26px rgba(155,255,107,.55), 0 18px 26px -10px rgba(0,0,0,.7); transition:rotate .5s cubic-bezier(.3,1.6,.5,1), transform .5s cubic-bezier(.3,1.6,.5,1);}
.mz-stage-pic img{display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; object-position:center 30%;}
.mz-tile:hover .mz-stage-pic{rotate:2deg; transform:scale(1.04);}
.mz-stk{position:absolute; z-index:2; font-style:normal; pointer-events:none; transition:transform .5s cubic-bezier(.3,1.8,.5,1);}
.mz-stk.is-rh{left:18px; top:22px; padding:6px 10px 5px; border-radius:6px; background:#9BFF6B; color:#0A1A10; font-family:"Anton",sans-serif; font-size:15px; letter-spacing:.06em; text-transform:uppercase; rotate:-8deg; box-shadow:0 6px 12px rgba(0,0,0,.45);}
.mz-stk.is-wed{right:18px; bottom:24px; padding:5px 10px 4px; border-radius:99px; background:#FF5BD8; color:#fff; font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; rotate:6deg; box-shadow:0 0 14px rgba(255,91,216,.6), 0 6px 12px rgba(0,0,0,.45);}
.mz-stk.is-star{right:26px; top:26px; width:30px; height:30px; background:#F9C31F; -webkit-clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 98%,50% 76%,20% 98%,30% 60%,0 38%,38% 36%); clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 98%,50% 76%,20% 98%,30% 60%,0 38%,38% 36%);}
.mz-tile:hover .mz-stk.is-rh{transform:rotate(-6deg) scale(1.1);} .mz-tile:hover .mz-stk.is-wed{transform:rotate(-8deg) scale(1.08);} .mz-tile:hover .mz-stk.is-star{transform:rotate(40deg) scale(1.2);}
@media (prefers-reduced-motion: reduce){ .mz-beam{animation:none;} }
/* Adults is red now (was tan) */
.mz-gtile.is-ad{--gc:#C83434;}
.mz-band{background:linear-gradient(90deg,#3E7BFA,#D33F3F 25%,#F28C28 50%,#2E8B4A 75%,#8B5CF6);}
.more-mn-tags i:nth-child(2){background:#D33F3F;}
.more-menu a.more-mn, nav.links .more-menu a.more-mn, .mobile-menu a.more-mn{background:linear-gradient(#FFFDF8,#FFFDF8) padding-box, linear-gradient(100deg,#3E7BFA,#D33F3F 25%,#F28C28 50%,#2E8B4A 75%,#8B5CF6) border-box;}
.more-menu a.more-mn:hover, .more-menu a.more-mn:focus-visible, nav.links .more-menu a.more-mn:hover, nav.links .more-menu a.more-mn:focus-visible{background:linear-gradient(#FFF6EA,#FFF6EA) padding-box, linear-gradient(100deg,#3E7BFA,#D33F3F 25%,#F28C28 50%,#2E8B4A 75%,#8B5CF6) border-box;}
.mz-stage-pic img{object-position:center 40%;}
/* phone menu: the Ministries button gets its colored tags too */
.mobile-menu a.more-mn{display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:12px 14px; color:var(--ink); font-size:19px;}
.mobile-menu a.more-mn .more-mn-tags{flex-wrap:wrap; gap:5px;}
.mobile-menu a.more-mn .more-mn-tags i{font-size:11.5px; padding:4px 9px 3px;}

/* ==== Lockers: smooth in Safari (Mac + iPhone) and on phones ==== */
/* 1. The locker box is flat; only the door is 3D. The door's front and back sit a hair apart, so Safari never has
      two layers in exactly the same spot to flicker between. */
.mn-lk{-webkit-transform-style:flat; transform-style:flat;}
.mn-lk-door{-webkit-transform-style:preserve-3d; transform-style:preserve-3d; -webkit-backface-visibility:visible; backface-visibility:visible;}
.mn-lk-face{-webkit-transform:translateZ(1px); transform:translateZ(1px);}
.mn-lk-back{-webkit-transform:rotateY(180deg) translateZ(1px); transform:rotateY(180deg) translateZ(1px);}
.mn-lk-face, .mn-lk-back{-webkit-backface-visibility:hidden; backface-visibility:hidden;}
/* 2. No masks on a turning door (Safari redraws them badly): the grilles are painted slots that glow with the
      color of what's inside, so they still read as "see-through". */
.mn-lk-door .mn-lk-face, .mn-lk-door:not(.dr-booth) .mn-lk-face, .dr-booth .mn-lk-face{-webkit-mask:none; mask:none;}
.mn-lk-door .mn-lk-vents, .dr-booth .mn-lk-vents{--vt:rgba(255,190,120,.55); display:block; position:absolute; z-index:1; top:18px; left:18px; width:calc(100% - 96px); height:45px; pointer-events:none;
  background:repeating-linear-gradient(180deg, transparent 0 6px, rgba(255,255,255,.17) 6px 7px, transparent 7px 13px), repeating-linear-gradient(180deg, rgba(0,0,0,.82) 0 1.5px, var(--vt) 1.5px 4.5px, rgba(0,0,0,.78) 4.5px 6px, transparent 6px 13px);
  border-radius:2px; box-shadow:0 1px 0 rgba(255,255,255,.08);}
.mn-lk-door .mn-lk-vents i{display:none;}
.vt-midweek .mn-lk-vents{--vt:rgba(255,91,216,.7);}
.vt-forge .mn-lk-vents{--vt:rgba(255,138,61,.7); animation:mnVentGlow 2.6s ease-in-out infinite;}
.vt-pillars .mn-lk-vents{--vt:rgba(255,214,150,.65);}
.vt-fuge .mn-lk-vents, .vt-camp .mn-lk-vents{--vt:rgba(255,210,63,.75);}
.vt-slt .mn-lk-vents{--vt:rgba(242,193,78,.7);}
@keyframes mnVentGlow{0%,100%{opacity:.8;} 50%{opacity:1;}}
/* Midweek's big grille, lower on the door, with neon flickering through */
.dr-booth .mn-lk-vents{top:58px; left:22px; right:22px; width:auto; height:72px; background:repeating-linear-gradient(180deg, transparent 0 6px, rgba(255,255,255,.16) 6px 7px, transparent 7px 13px), repeating-linear-gradient(180deg, rgba(14,6,24,.92) 0 1.5px, transparent 1.5px 4.5px, rgba(14,6,24,.9) 4.5px 6px, transparent 6px 13px), linear-gradient(90deg, rgba(124,247,255,.0), rgba(255,91,216,.85) 30%, rgba(255,230,250,.95) 50%, rgba(255,91,216,.85) 70%, rgba(124,247,255,.0));
  -webkit-mask:none; mask:none; animation:mnNeon 5s steps(1) 1.5s infinite;}
.dr-booth .mn-lk-vents::after{content:""; position:absolute; inset:0; background:repeating-linear-gradient(180deg, transparent 0 6px, var(--door) 7px 13px);}
/* 3. Nothing inside a closed locker animates (you can't see it anyway): phones stay smooth */
.mn-lk:not(.is-open):not(.is-unlock) .mn-lk-in, .mn-lk:not(.is-open):not(.is-unlock) .mn-lk-in *{animation-play-state:paused !important;}
/* the door only promotes to its own layer while it moves */
.mn-lk-door{will-change:auto;}
.mn-lk.is-unlock .mn-lk-door, .mn-lk.is-open .mn-lk-door, .mn-lk-door:hover{will-change:transform;}

/* ==== Ministries hub v3 hero: a half-moon of big cards; the one you're on grows ==== */
.mz2-hero{position:relative; overflow:hidden; margin:104px 14px 0; padding:58px 0 34px; border-radius:36px; isolation:isolate; color:#fff;
  background:radial-gradient(70% 60% at 50% 105%, rgba(201,150,63,.32), transparent 70%), radial-gradient(120% 90% at 50% 0%, #1D3426, #0C1510 62%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);}
.mz2-glow{position:absolute; z-index:-1; width:640px; height:640px; border-radius:50%; pointer-events:none; will-change:transform;}
.mz2-glow.is-a{left:-200px; top:-220px; background:radial-gradient(closest-side, rgba(46,139,74,.42), transparent); animation:mzDrift 18s ease-in-out infinite;}
.mz2-glow.is-b{right:-220px; top:-140px; background:radial-gradient(closest-side, rgba(242,211,139,.22), transparent); animation:mzDrift 22s ease-in-out -8s infinite reverse;}
.mz2-head{position:relative; text-align:center;}
.mz2-kick{font-family:"Space Mono",monospace; font-size:12.5px; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:#F2D38B;}
.mz2-title{margin:6px 0 0; font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(64px,12vw,170px); line-height:.9; text-transform:uppercase; white-space:nowrap;}
.mz2-title span{display:inline-block; color:#fff; text-shadow:0 6px 0 #B8862E, 0 16px 28px rgba(0,0,0,.5); animation:mzDrop .9s cubic-bezier(.2,1.5,.4,1) calc(.1s + var(--i) * 55ms) both;}
.mz2-lede{margin:16px auto 0; max-width:44ch; font-size:clamp(17px,1.8vw,21px); line-height:1.45; color:rgba(255,255,255,.8);}
.mz2-lede b{color:#F2D38B; font-weight:800;}
/* the half moon */
.mz2-stage{position:relative; margin-top:10px;}
.mz2-stage::before{content:""; position:absolute; left:50%; bottom:58px; width:min(980px,90%); height:120px; translate:-50% 0; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.55), transparent); pointer-events:none;}
.mz2-fan{--w:268px; --h:376px; --step:10deg; --r:900px; position:relative; height:520px;}
.mz2-card{position:absolute; left:50%; top:54px; z-index:calc(6 - var(--n) * var(--n)); width:var(--w); height:var(--h); margin-left:calc(var(--w) / -2); color:#fff; text-decoration:none; -webkit-tap-highlight-color:transparent;
  transform-origin:50% calc(100% + var(--r)); transform:rotate(calc(var(--n) * var(--step)));
  animation:mz2Deal 1.1s cubic-bezier(.2,1.15,.3,1) calc(.4s + var(--i) * 90ms) both, mz2Float 6.5s ease-in-out calc(1.8s + var(--i) * -1.3s) infinite;}
@keyframes mz2Deal{0%{opacity:0; transform:rotate(0deg) translateY(260px) scale(.86);}}
@keyframes mz2Float{0%,100%{translate:0 0;} 50%{translate:0 -7px;}}
.mz2-card.is-on{z-index:20; color:#fff;}
.mz2-card-in{position:relative; display:block; width:100%; height:100%; overflow:hidden; border-radius:26px; background:#111; box-shadow:inset 0 0 0 1px rgba(255,255,255,.16), 0 24px 44px -22px rgba(0,0,0,.85);
  transform-origin:50% 100%; transition:transform .6s cubic-bezier(.2,1.2,.3,1), translate .6s cubic-bezier(.2,1.2,.3,1), box-shadow .45s ease, filter .45s ease; will-change:transform; filter:saturate(.82) brightness(.86);}
.mz2-card.is-on .mz2-card-in{transform:translateY(-34px) rotate(calc(var(--n) * var(--step) * -1)) scale(1.16); filter:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.3), 0 0 0 3px var(--cc), 0 40px 70px -24px rgba(0,0,0,.9), 0 0 60px -12px var(--cc);}
/* neighbors make room for the card you're on */
.mz2-card.is-on ~ .mz2-card .mz2-card-in{translate:44px 0;}
.mz2-card:has(~ .mz2-card.is-on) .mz2-card-in{translate:-44px 0;}
.mz2-card-in img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.8,.2,1);}
.mz2-card.is-on .mz2-card-in img{transform:scale(1.05);}
.mz2-card-in::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.35) 68%, color-mix(in srgb, var(--cc) 70%, #000) 100%); pointer-events:none;}
.mz2-card-in::before{content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(115deg, rgba(255,255,255,0) 35%, rgba(255,255,255,.28) 48%, rgba(255,255,255,0) 60%); transform:translateX(-130%); pointer-events:none;}
.mz2-card.is-on .mz2-card-in::before{transform:translateX(130%); transition:transform 1s ease .15s;}
.mz2-card-ico{position:absolute; z-index:3; top:16px; left:16px; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--cc); color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.85), 0 8px 14px rgba(0,0,0,.35);}
.mz2-card-ico svg{width:21px; height:21px;}
.mz2-card-txt{position:absolute; z-index:3; left:20px; right:62px; bottom:20px; display:flex; flex-direction:column; gap:3px;}
.mz2-card-txt b{font-family:"Anton",sans-serif; font-weight:400; font-size:32px; line-height:1; letter-spacing:.03em; text-transform:uppercase; text-shadow:0 2px 10px rgba(0,0,0,.4); white-space:nowrap;}
.mz2-card-txt em{font-style:normal; font-size:13px; font-weight:800; color:rgba(255,255,255,.92);}
.mz2-card-go{position:absolute; z-index:3; right:18px; bottom:22px; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.2); transition:background .3s ease, color .3s ease, transform .3s ease;}
.mz2-card-go svg{width:17px; height:17px;}
.mz2-card.is-on .mz2-card-go{background:#fff; color:var(--cc); transform:translateX(2px);}
/* the line under the fan tells you about the card you're on */
.mz2-pick{--cc:#F28C28; position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:4px; min-height:62px; margin:0 auto; padding:0 20px; text-align:center;}
.mz2-pick b{font-family:"Anton",sans-serif; font-weight:400; font-size:26px; letter-spacing:.05em; text-transform:uppercase; color:#fff; text-shadow:0 0 20px var(--cc); transition:text-shadow .4s ease;}
.mz2-pick span{max-width:52ch; font-size:16px; line-height:1.45; color:rgba(255,255,255,.78);}
@media (max-width:1100px){
  .mz2-fan{--w:214px; --h:300px; --r:720px; height:430px;}
  .mz2-card.is-on .mz2-card-in{transform:translateY(-26px) rotate(calc(var(--n) * var(--step) * -1)) scale(1.12);}
  .mz2-card-txt b{font-size:26px;}
  .mz2-card.is-on ~ .mz2-card .mz2-card-in{translate:30px 0;} .mz2-card:has(~ .mz2-card.is-on) .mz2-card-in{translate:-30px 0;}
}
@media (max-width:700px){
  .mz2-hero{margin:92px 10px 0; padding:40px 0 26px; border-radius:26px;}
  .mz2-title{font-size:clamp(54px,16vw,92px);}
  .mz2-stage::before{display:none;}
  .mz2-fan{--w:70vw; --h:94vw; display:flex; gap:12px; height:auto; padding:34px 15vw 40px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
  .mz2-fan::-webkit-scrollbar{display:none;}
  .mz2-card{position:relative; left:auto; top:auto; flex:0 0 var(--w); margin:0; scroll-snap-align:center; transform:none; animation:mz2Deal .9s cubic-bezier(.2,1.15,.3,1) calc(.3s + var(--i) * 80ms) both;}
  .mz2-card-in{transform:scale(.9); filter:saturate(.8) brightness(.8);}
  .mz2-card.is-on .mz2-card-in{transform:scale(1.04);}
  .mz2-card.is-on ~ .mz2-card .mz2-card-in, .mz2-card:has(~ .mz2-card.is-on) .mz2-card-in{translate:0 0;}
  .mz2-pick b{font-size:22px;} .mz2-pick span{font-size:15px;}
}
@media (prefers-reduced-motion: reduce){ .mz2-glow, .mz2-title span, .mz2-card{animation:none !important;} .mz2-card-in, .mz2-card-in img{transition:none;} }
/* Ministries button v2: deep green and gold, a stack of five ministry faces (no rainbow) */
.more-menu a.more-mn, nav.links .more-menu a.more-mn, .mobile-menu a.more-mn{position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:12px 14px; border:0; border-radius:14px; overflow:hidden;
  background:radial-gradient(120% 90% at 100% 0%, rgba(242,211,139,.22), transparent 60%), linear-gradient(135deg,#1D3426,#0F1E15); color:#F2D38B !important; -webkit-text-fill-color:#F2D38B;
  font-family:"Anton",sans-serif; font-weight:400; font-size:19px; letter-spacing:.07em; text-transform:uppercase; box-shadow:inset 0 0 0 1px rgba(242,211,139,.35), 0 10px 20px -12px rgba(12,21,16,.8); transition:box-shadow .3s ease, transform .3s ease;}
.more-menu a.more-mn:hover, .more-menu a.more-mn:focus-visible, nav.links .more-menu a.more-mn:hover, nav.links .more-menu a.more-mn:focus-visible{background:radial-gradient(120% 90% at 100% 0%, rgba(242,211,139,.32), transparent 60%), linear-gradient(135deg,#21402D,#11241A); color:#FFE7A0 !important; -webkit-text-fill-color:#FFE7A0; box-shadow:inset 0 0 0 1px rgba(242,211,139,.7), 0 14px 26px -12px rgba(12,21,16,.85); transform:translateY(-1px);}
.more-mn-row{display:flex; align-items:center; gap:10px; margin:0 !important;}
.more-mn-faces{display:flex; padding-left:6px;}
.more-mn-faces img{width:26px; height:26px; margin-left:-7px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px #15291D; transition:transform .35s cubic-bezier(.3,1.6,.5,1);}
.more-mn-faces img:nth-child(2){transition-delay:.04s;} .more-mn-faces img:nth-child(3){transition-delay:.08s;} .more-mn-faces img:nth-child(4){transition-delay:.12s;} .more-mn-faces img:nth-child(5){transition-delay:.16s;}
.more-menu a.more-mn:hover .more-mn-faces img, .more-menu a.more-mn:focus-visible .more-mn-faces img{transform:translateY(-3px);}
.more-mn-row small{font-family:"Manrope",sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.02em; text-transform:none; color:rgba(255,255,255,.75); -webkit-text-fill-color:rgba(255,255,255,.75);}
.mobile-menu a.more-mn{margin:6px 0; font-size:22px;}
.mobile-menu a.more-mn .more-mn-faces img{width:30px; height:30px;}

/* ==== Coach's Hall of Fame: its own centered cabinet under the lockers ==== */
.mn-lockers{grid-template-columns:repeat(5, minmax(0,1fr));}
@media (max-width:1100px){ .mn-lockers{grid-template-columns:repeat(3, minmax(0,1fr));} }
@media (max-width:700px){ .mn-lockers{grid-template-columns:repeat(2, minmax(0,1fr));} .mn-lockers > .mn-lk:last-child:nth-child(odd){grid-column:1 / -1; width:calc(50% - 4px); justify-self:center;} }
.mn-hall{margin-top:80px;}
.mn-hall .mn-head{text-align:center; margin-inline:auto;}
.mn-hall .mn-head p{margin-inline:auto;}
.mn-hall .mn-case{width:min(640px, 100%); min-height:0; margin:30px auto 0; transform:none !important; transition:none; padding:14px 18px 70px;}
.mn-hall .mn-case::before{inset:58px 18px 70px;}
.mn-hall .mn-case-glass{left:18px; right:18px; top:58px; bottom:70px;}
.mn-hall .mn-case::after{left:18px; right:18px; height:44px;}
.mn-hall .mn-case-plate{width:auto; max-width:none; padding:7px 26px 7px; margin-bottom:12px;}
.mn-hall .mn-case-plate b{font-size:24px;} .mn-hall .mn-case-plate small{font-size:9.5px;}
.mn-hall .mn-case-room{gap:16px; padding:22px 26px 20px;}
.mn-hall .mn-case-verse{font-size:14px; max-width:40ch;} .mn-hall .mn-case-verse i{font-size:9.5px;}
.mn-hall .mn-case-shelf{padding-bottom:14px;}
.mn-hall .mn-case-shelf::after{height:12px; left:-26px; right:-26px;}
.mn-hall .mn-case-lamp{width:46%; left:27% !important;}
/* bigger pieces */
.mn-hall .mn-trophy.is-big svg{width:150px;}
.mn-hall .mn-trophy.is-big em{font-size:11px; padding:3px 14px; margin-top:6px;}
.mn-hall .mn-memory{flex-direction:row; align-items:stretch; width:min(100%, 440px); gap:0; padding:8px;}
.mn-hall .mn-memory-photo{width:52%; flex:none;}
.mn-hall .mn-memory-photo img{height:100%; aspect-ratio:auto; min-height:150px; border-bottom:0; border-right:2px solid #C9963F;}
.mn-hall .mn-memory-plaque{justify-content:center; padding:8px 14px; gap:6px;}
.mn-hall .mn-memory-plaque b{font-size:10.5px;} .mn-hall .mn-memory-plaque em{font-size:13.5px; line-height:1.35;} .mn-hall .mn-memory-plaque i{font-size:9px;}
.mn-hall .mn-case-shelf.is-fun{display:flex; justify-content:space-around; align-items:flex-end; gap:10px;}
.mn-hall .mn-trophy.is-fun svg{width:66px;}
.mn-hall .mn-trophy.is-fun b{font-size:11px; max-width:12ch; margin-top:5px;}
.mn-hall .mn-trophy.is-fun em{font-size:9px; padding:2px 7px;}
/* the case stands still; the items move (script), so no idle spinning */
.mn-hall .mn-trophy.is-big svg, .mn-hall .mn-trophy.is-fun svg{animation-name:none;}
.mn-hall [data-depth]{will-change:transform; transform-origin:50% 100%;}
.mn-hall .mn-trophy{cursor:default;}
@media (max-width:700px){
  .mn-hall{margin-top:56px;}
  .mn-hall .mn-case{padding:12px 10px 60px;}
  .mn-hall .mn-case::before{inset:54px 10px 60px;} .mn-hall .mn-case-glass{left:10px; right:10px; top:54px; bottom:60px;} .mn-hall .mn-case::after{left:10px; right:10px; height:38px;}
  .mn-hall .mn-case-room{padding:16px 14px 14px; gap:12px;}
  .mn-hall .mn-trophy.is-big svg{width:116px;}
  .mn-hall .mn-memory{flex-direction:column;} .mn-hall .mn-memory-photo{width:100%;} .mn-hall .mn-memory-photo img{aspect-ratio:16 / 10; min-height:0; border-right:0; border-bottom:2px solid #C9963F;}
  .mn-hall .mn-case-shelf.is-fun{display:grid; grid-template-columns:1fr 1fr; justify-items:center; gap:14px 8px;}
  .mn-hall .mn-trophy.is-fun svg{width:56px;}
}
/* hub v3: a flatter, tidier half moon that stays inside the stage */
.mz2-fan{--w:244px; --h:340px; --step:8deg; --r:1100px; height:500px;}
.mz2-card{top:96px;}
.mz2-card.is-on .mz2-card-in{transform:translateY(-22px) rotate(calc(var(--n) * var(--step) * -1)) scale(1.13);}
.mz2-card.is-on ~ .mz2-card .mz2-card-in{translate:38px 0;} .mz2-card:has(~ .mz2-card.is-on) .mz2-card-in{translate:-38px 0;}
.mz2-stage::before{bottom:40px;}
@media (max-width:1100px){
  .mz2-fan{--w:196px; --h:276px; --step:8deg; --r:860px; height:420px;}
  .mz2-card{top:80px;}
  .mz2-card.is-on .mz2-card-in{transform:translateY(-18px) rotate(calc(var(--n) * var(--step) * -1)) scale(1.1);}
  .mz2-card.is-on ~ .mz2-card .mz2-card-in{translate:26px 0;} .mz2-card:has(~ .mz2-card.is-on) .mz2-card-in{translate:-26px 0;}
}
@media (max-width:700px){ .mz2-fan{--w:70vw; --h:94vw; height:auto;} .mz2-card{top:auto;} .mz2-card.is-on .mz2-card-in{transform:scale(1.04);} .mz2-card.is-on ~ .mz2-card .mz2-card-in, .mz2-card:has(~ .mz2-card.is-on) .mz2-card-in{translate:0 0;} }
.mz2-fan{--w:226px; --h:316px; --step:9deg; --r:1110px;}
.mz2-card-txt b{font-size:29px;}
@media (max-width:1100px){ .mz2-fan{--w:180px; --h:254px; --step:9deg; --r:880px;} .mz2-card-txt b{font-size:23px;} }
@media (max-width:700px){ .mz2-fan{--w:70vw; --h:94vw;} .mz2-card-txt b{font-size:30px;} }
.mz2-fan{--step:8.4deg; --r:1040px;}
/* hub v3 final sizing: cards scale with the screen and overlap only a little; names never hide */
.mz2-fan{--w:clamp(180px, 17.5vw, 270px); --h:calc(var(--w) * 1.4); --step:9.6deg; --r:calc(var(--w) * 4.6); height:calc(var(--h) + 190px);}
.mz2-card[style*="--n:1;"] .mz2-card-txt, .mz2-card[style*="--n:2;"] .mz2-card-txt{left:62px; right:20px; align-items:flex-end; text-align:right;}
.mz2-card[style*="--n:1;"] .mz2-card-go, .mz2-card[style*="--n:2;"] .mz2-card-go{right:auto; left:18px;}
.mz2-card-txt b{font-size:clamp(22px, 2.3vw, 32px);}
@media (max-width:1100px){ .mz2-fan{--w:clamp(150px, 19vw, 200px);} }
@media (max-width:700px){ .mz2-fan{--w:70vw; --h:94vw; height:auto;} .mz2-card-txt, .mz2-card[style*="--n:1;"] .mz2-card-txt, .mz2-card[style*="--n:2;"] .mz2-card-txt{left:20px; right:62px; align-items:flex-start; text-align:left;} .mz2-card[style*="--n:1;"] .mz2-card-go, .mz2-card[style*="--n:2;"] .mz2-card-go{left:auto; right:18px;} .mz2-card-txt b{font-size:30px;} }

/* ==== Hall of Fame v2: bigger, still trophies that each do their own trick ==== */
.mn-hall .mn-case{width:min(780px, 100%);}
.mn-hall [data-depth]{will-change:auto;}
.mn-hall .mn-case-room{gap:20px; padding:26px 30px 22px;}
.mn-hall .mn-trophy{position:relative; transition:transform .45s cubic-bezier(.3,1.5,.5,1);}
.mn-hall .mn-trophy:hover, .mn-hall .mn-trophy.is-play{transform:translateY(-6px);}
.mn-hall .mn-trophy::before{transition:opacity .4s ease, transform .4s ease;}
.mn-hall .mn-trophy:hover::before, .mn-hall .mn-trophy.is-play::before{opacity:1; transform:scale(1.25);}
/* top shelf: the shirt beside the dodgeball, the dodgeball dead center */
.mn-hall .mn-case-shelf.is-champ{display:grid; grid-template-columns:1fr auto 1fr; align-items:end; justify-items:center; gap:10px;}
.mn-champ-spacer{display:block; width:1px;}
.mn-hall .mn-trophy.is-big svg{width:190px;}
.mn-hall .mn-trophy.is-big em{font-size:12px;}
/* the kickball spins while you hover (the shine stays put, so it looks like a real ball turning) */
.mn-ball-spin{transform-box:fill-box; transform-origin:50% 50%;}
.mn-trophy.is-big:hover .mn-ball-spin, .mn-trophy.is-big.is-play .mn-ball-spin{animation:mnBallSpin .9s linear infinite;}
@keyframes mnBallSpin{to{transform:rotate(360deg);}}
.mn-trophy.is-big:hover .mn-tro-laurel, .mn-trophy.is-big.is-play .mn-tro-laurel{filter:brightness(1.25);}
.mn-tro-laurel{transition:filter .3s ease;}
/* Karim's gold shirt: turns around in 3D to show MIKHAIL 1 on the back */
.mn-trophy.is-shirt{display:flex; flex-direction:column; align-items:center; --tc:#F2C14E;}
.mn-shirt{display:block; width:124px; perspective:500px;}
.mn-shirt-in{position:relative; display:block; width:100%; aspect-ratio:100 / 80; -webkit-transform-style:preserve-3d; transform-style:preserve-3d; transition:transform 1s cubic-bezier(.3,1.25,.4,1);}
.mn-shirt-f, .mn-shirt-b{position:absolute; inset:0; width:100%; height:100%; -webkit-backface-visibility:hidden; backface-visibility:hidden; filter:drop-shadow(0 6px 6px rgba(0,0,0,.45));}
.mn-shirt-f{-webkit-transform:translateZ(1px); transform:translateZ(1px);}
.mn-shirt-b{-webkit-transform:rotateY(180deg) translateZ(1px); transform:rotateY(180deg) translateZ(1px);}
.mn-trophy.is-shirt:hover .mn-shirt-in, .mn-trophy.is-shirt.is-play .mn-shirt-in{transform:rotateY(180deg);}
.mn-shirt-base{display:block; width:124px; height:auto; margin-top:-2px;}
.mn-trophy.is-shirt em{margin-top:6px; padding:3px 12px; border-radius:2px; background:linear-gradient(135deg,#EDD9A0,#B8925A 60%,#E6CC8C); color:#3B2A10; font-family:"Space Mono",monospace; font-style:normal; font-weight:700; font-size:10.5px; letter-spacing:.08em; white-space:nowrap; box-shadow:0 2px 3px rgba(0,0,0,.5);}
/* funny trophies, bigger, each with its own trick */
.mn-hall .mn-trophy.is-fun svg{width:84px;}
.mn-hall .mn-trophy svg{overflow:visible;}
/* Loudest: the megaphone blasts and shakes */
.mn-trophy.is-mega:hover svg > g:first-of-type, .mn-trophy.is-mega.is-play svg > g:first-of-type{transform-box:fill-box; transform-origin:30% 70%; animation:mnShake .18s linear infinite;}
@keyframes mnShake{0%,100%{transform:rotate(-14deg) translateX(0);} 50%{transform:rotate(-17deg) translateX(1px);}}
.mn-trophy.is-mega .mn-tro-wave path{transform-box:fill-box; transform-origin:0 50%;}
.mn-trophy.is-mega:hover .mn-tro-wave path, .mn-trophy.is-mega.is-play .mn-tro-wave path{animation:mnBlast .5s ease-out infinite;}
.mn-trophy.is-mega:hover .mn-tro-wave path:nth-child(2), .mn-trophy.is-mega.is-play .mn-tro-wave path:nth-child(2){animation-delay:.15s;}
@keyframes mnBlast{0%{opacity:1; transform:scale(.7);} 100%{opacity:0; transform:scale(1.6) translateX(4px);}}
/* Hungriest: someone takes two bites */
.mn-bite circle{transform-box:fill-box; transform-origin:50% 50%; transform:scale(0); transition:transform .25s cubic-bezier(.3,1.8,.5,1);}
.mn-trophy.is-pizza:hover .mn-bite circle, .mn-trophy.is-pizza.is-play .mn-bite circle{transform:scale(1);}
.mn-trophy.is-pizza:hover .mn-bite circle:nth-child(2), .mn-trophy.is-pizza.is-play .mn-bite circle:nth-child(2){transition-delay:.35s;}
.mn-trophy.is-pizza:hover svg, .mn-trophy.is-pizza.is-play svg{animation:mnChomp .35s ease-in-out 2;}
@keyframes mnChomp{50%{transform:scaleY(.94) translateY(2px);}}
/* Best Dance Moves: the disco ball spins and throws light */
.mn-trophy.is-disco svg > circle, .mn-trophy.is-disco svg > g:first-of-type{transform-box:fill-box; transform-origin:50% 50%;}
.mn-trophy.is-disco:hover svg > g:first-of-type, .mn-trophy.is-disco.is-play svg > g:first-of-type{animation:mnBallSpin 1.2s linear infinite;}
.mn-disco-dots circle{transform-box:fill-box; transform-origin:50% 50%; opacity:0; transition:opacity .3s ease, transform .5s ease;}
.mn-trophy.is-disco:hover .mn-disco-dots circle, .mn-trophy.is-disco.is-play .mn-disco-dots circle{opacity:1; animation:mnDiscoDot .8s ease-in-out infinite alternate;}
.mn-trophy.is-disco .mn-disco-dots circle:nth-child(2n){animation-delay:-.4s;}
@keyframes mnDiscoDot{0%{transform:scale(.6);} 100%{transform:scale(1.8);}}
/* Most Energy: the bolt zaps */
.mn-trophy.is-bolt:hover svg, .mn-trophy.is-bolt.is-play svg{animation:mnZap .5s steps(1) infinite;}
@keyframes mnZap{0%{filter:brightness(1.6) drop-shadow(0 0 8px #9BFF6B);} 20%{filter:brightness(1);} 40%{filter:brightness(1.8) drop-shadow(0 0 12px #9BFF6B); transform:translateX(1px);} 60%{filter:brightness(1); transform:translateX(-1px);} 80%{filter:brightness(1.4) drop-shadow(0 0 6px #9BFF6B); transform:none;}}
.mn-trophy.is-bolt:hover .mn-tro-wave, .mn-trophy.is-bolt.is-play .mn-tro-wave{animation:mnWave .25s ease-in-out infinite;}
/* the memorial glows warmer when you look at it */
.mn-hall .mn-memory{transition:box-shadow .5s ease;}
.mn-hall .mn-memory:hover{box-shadow:inset 0 0 0 2px #E2B85A, inset 0 0 0 4px #2A190D, inset 0 0 0 5px rgba(242,211,139,.7), 0 10px 14px -6px rgba(0,0,0,.75), 0 0 40px rgba(255,220,150,.35);}
.mn-hall .mn-memory-photo img{image-rendering:auto;}
@media (max-width:700px){
  .mn-hall .mn-case-room{padding:18px 12px 14px;}
  .mn-hall .mn-case-shelf.is-champ{grid-template-columns:1fr auto; gap:6px;}
  .mn-champ-spacer{display:none;}
  .mn-hall .mn-trophy.is-big svg{width:136px;}
  .mn-shirt, .mn-shirt-base{width:96px;}
  .mn-trophy.is-shirt em{font-size:9px; padding:2px 7px;}
  .mn-hall .mn-trophy.is-fun svg{width:64px;}
}
@media (prefers-reduced-motion: reduce){ .mn-ball-spin, .mn-trophy svg, .mn-trophy svg *{animation:none !important;} .mn-shirt-in{transition:none;} }
.mn-trophy.is-mega:hover svg > g:first-of-type, .mn-trophy.is-mega.is-play svg > g:first-of-type{animation:none;}
.mn-trophy.is-mega:hover svg, .mn-trophy.is-mega.is-play svg{transform-origin:50% 90%; animation:mnShake2 .16s linear infinite;}
@keyframes mnShake2{0%,100%{transform:rotate(-2.5deg);} 50%{transform:rotate(2.5deg);}}
@media (max-width:700px){ .mn-hall .mn-case-shelf.is-champ{grid-template-columns:1fr auto 1fr; gap:4px;} .mn-champ-spacer{display:block;} .mn-hall .mn-trophy.is-big svg{width:124px;} .mn-shirt, .mn-shirt-base{width:84px;} }
.mn-hall .mn-case-shelf.is-champ{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}
@media (max-width:700px){ .mn-hall .mn-case-shelf.is-champ{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);} .mn-trophy.is-shirt em{white-space:normal; text-align:center; font-size:8.5px;} }

/* Students hero photos: the group still leans toward the mouse, but as one flat sheet (no 3D fighting between
   overlapping photos, which made them strobe), and a lifted photo keeps the cursor on it. */
.mn-wall-in{-webkit-transform-style:flat; transform-style:flat; will-change:transform; transition:transform .9s cubic-bezier(.2,.8,.2,1);}
.mn-wpol{-webkit-backface-visibility:hidden; backface-visibility:hidden; transition:rotate .6s cubic-bezier(.2,1,.3,1), translate .6s cubic-bezier(.2,1,.3,1), scale .6s cubic-bezier(.2,1,.3,1), box-shadow .5s ease;}
.mn-wpol::after{content:""; position:absolute; left:-4px; right:-4px; top:100%; height:16px;}
@media (hover:hover){ .mn-wpol:hover{translate:0 -8px; scale:1.04;} }

/* ==== Hall of Fame v3: a bigger name plate, 3D trophies, the jersey, real pizza bites ==== */
.mn-hall .mn-case{padding-top:18px;}
.mn-hall .mn-case::before, .mn-hall .mn-case-glass{top:84px;}
.mn-hall .mn-case-plate{padding:10px 40px 10px; margin-bottom:16px; border-radius:4px;}
.mn-hall .mn-case-plate b{font-size:40px; line-height:1;}
.mn-hall .mn-case-plate small{margin-top:4px; font-size:13px; letter-spacing:.3em;}
.mn-hall .mn-case-plate::before, .mn-hall .mn-case-plate::after{width:7px; height:7px; margin-top:-3.5px;}
.mn-hall .mn-case-plate::before{left:12px;} .mn-hall .mn-case-plate::after{right:12px;}
/* 3D: soft contact shadows where each trophy stands on the glass */
.mn-hall .mn-trophy::after{content:""; position:absolute; left:50%; bottom:-6px; z-index:-1; width:70%; height:12px; translate:-50% 0; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.6), transparent); pointer-events:none;}
.mn-hall .mn-trophy.is-big::after, .mn-hall .mn-trophy.is-shirt::after{bottom:24px;}
.mn-hall .mn-trophy.is-fun::after{bottom:38px; width:60%;}
/* the jersey */
.mn-shirt{width:136px;}
.mn-shirt-in{aspect-ratio:100 / 84;}
.mn-shirt-base{width:110px; margin-top:-6px;}
.mn-shirt-glow{position:absolute; left:50%; top:0; z-index:-1; width:150px; height:130px; translate:-50% 0; border-radius:50%; background:radial-gradient(closest-side, rgba(255,226,150,.38), transparent); pointer-events:none; transition:transform .5s ease, opacity .5s ease;}
.mn-trophy.is-shirt:hover .mn-shirt-glow, .mn-trophy.is-shirt.is-play .mn-shirt-glow{transform:scale(1.2);}
.mn-shirt-f, .mn-shirt-b{filter:drop-shadow(0 8px 8px rgba(0,0,0,.45));}
/* pizza: the slice gets bitten twice (real cut-outs) */
.mn-pz.is-b1, .mn-pz.is-b2{opacity:0;}
.mn-trophy.is-pizza:hover .mn-pz.is-w, .mn-trophy.is-pizza.is-play .mn-pz.is-w{animation:mnPzW 1s steps(1) forwards;}
.mn-trophy.is-pizza:hover .mn-pz.is-b1, .mn-trophy.is-pizza.is-play .mn-pz.is-b1{animation:mnPzB1 1s steps(1) forwards;}
.mn-trophy.is-pizza:hover .mn-pz.is-b2, .mn-trophy.is-pizza.is-play .mn-pz.is-b2{animation:mnPzB2 1s steps(1) forwards;}
@keyframes mnPzW{0%{opacity:1;} 15%,100%{opacity:0;}}
@keyframes mnPzB1{0%{opacity:0;} 15%{opacity:1;} 55%,100%{opacity:0;}}
@keyframes mnPzB2{0%,54%{opacity:0;} 55%,100%{opacity:1;}}
.mn-trophy.is-pizza:hover svg, .mn-trophy.is-pizza.is-play svg{animation:mnChomp .4s ease-in-out 2;}
/* disco ball: only the facets turn (the shine stays), lights fly out */
.mn-trophy.is-disco svg > g:first-of-type{animation:none !important;}
.mn-disco-facets{transform-box:fill-box; transform-origin:50% 50%;}
.mn-trophy.is-disco:hover .mn-disco-facets, .mn-trophy.is-disco.is-play .mn-disco-facets{animation:mnFacet 1.1s linear infinite;}
@keyframes mnFacet{to{transform:translateX(-8px);}}
/* megaphone: shake the whole trophy */
.mn-trophy.is-mega:hover .mn-mega, .mn-trophy.is-mega.is-play .mn-mega{animation:none;}
.mn-hall .mn-trophy.is-fun svg{width:88px;}
@media (max-width:700px){
  .mn-hall .mn-case::before, .mn-hall .mn-case-glass{top:74px;}
  .mn-hall .mn-case-plate{padding:8px 26px;} .mn-hall .mn-case-plate b{font-size:30px;} .mn-hall .mn-case-plate small{font-size:10px;}
  .mn-shirt{width:96px;} .mn-shirt-base{width:80px;}
  .mn-hall .mn-trophy.is-fun svg{width:66px;}
}

/* ==== Student Calendar (under "Save the date") ==== */
.mn-stcal{margin-top:18px; padding:22px 22px 20px; border-radius:16px; color:#F2F2EE; background:radial-gradient(90% 60% at 50% 0%, rgba(155,255,107,.08), transparent 70%), linear-gradient(180deg,#15181B,#0B0D0F); box-shadow:inset 0 0 0 3px #2B3036, 0 34px 60px -30px rgba(0,0,0,.7);}
.mn-stcal-head{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px;}
.mn-stcal-k{margin:0; color:#9BFF6B; font-family:"Space Mono",monospace; font-weight:700; font-size:13px; letter-spacing:.22em; text-transform:uppercase; text-shadow:0 0 10px rgba(155,255,107,.5);}
.mn-stcal-nav{display:flex; align-items:center; gap:12px;}
.mn-stcal-title{min-width:9.5ch; margin:0; text-align:center; font-family:"Anton",sans-serif; font-weight:400; font-size:26px; letter-spacing:.04em; text-transform:uppercase; color:#fff;}
.mn-stcal-arrow{display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:50%; background:#22272C; color:#9BFF6B; font-size:18px; cursor:pointer; box-shadow:inset 0 0 0 1px rgba(155,255,107,.35); transition:background .25s ease, transform .25s ease;}
.mn-stcal-arrow:hover{background:#2C333A; transform:scale(1.06);}
.mn-stcal-dow, .mn-stcal-grid{display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:6px;}
.mn-stcal-dow span{padding-bottom:6px; text-align:center; color:#9AA3A9; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase;}
.mn-stcal-d{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; aspect-ratio:1 / .82; border:0; border-radius:10px; background:#1B2026; color:#C9D0D4; font:inherit; cursor:pointer; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05); transition:background .25s ease, box-shadow .25s ease, transform .25s cubic-bezier(.3,1.5,.5,1);}
.mn-stcal-d b{font-family:"Space Mono",monospace; font-size:15px; font-weight:700;}
.mn-stcal-d i{display:flex; gap:3px;}
.mn-stcal-d em{width:6px; height:6px; border-radius:50%; background:#9BFF6B; box-shadow:0 0 8px #9BFF6B;}
.mn-stcal-d.has-ev{background:#16261A; color:#fff; box-shadow:inset 0 0 0 1px rgba(155,255,107,.45), 0 0 18px -6px rgba(155,255,107,.6);}
.mn-stcal-d:hover{transform:translateY(-2px);}
.mn-stcal-d.is-past{opacity:.4;}
.mn-stcal-d.is-today{box-shadow:inset 0 0 0 2px #F9C31F;}
.mn-stcal-d.is-sel{background:#9BFF6B; color:#0A1A10; box-shadow:0 0 24px -4px rgba(155,255,107,.8);}
.mn-stcal-d.is-sel em{background:#0A1A10; box-shadow:none;}
.mn-stcal-x{display:block;}
.mn-stcal-grid.is-flip{animation:mnStcalIn .5s cubic-bezier(.2,1,.3,1);}
@keyframes mnStcalIn{0%{opacity:0; transform:translateY(10px);} 100%{opacity:1; transform:none;}}
.mn-stcal-day{display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; min-height:58px; margin-top:16px; padding:14px 16px; border-radius:12px; background:#1B2026;}
.mn-stcal-when{flex:1 0 100%; margin:0; color:#F9C31F; font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.mn-stcal-ev{display:inline-flex; flex-direction:column; padding:8px 12px; border-radius:9px; background:#22272C; color:#fff; text-decoration:none; box-shadow:inset 0 0 0 1px rgba(155,255,107,.3); transition:background .25s ease;}
.mn-stcal-ev:hover{background:#2C333A; color:#fff;}
.mn-stcal-ev b{font-family:"Anton",sans-serif; font-weight:400; font-size:17px; letter-spacing:.03em; text-transform:uppercase;}
.mn-stcal-ev span{color:#9AA3A9; font-family:"Space Mono",monospace; font-size:11.5px;}
.mn-stcal-none{margin:0; color:#9AA3A9;}
.mn-stcal-open{display:inline-flex; align-items:center; gap:8px; margin-top:16px; padding:12px 18px; border-radius:99px; background:#9BFF6B; color:#0A1A10; font-weight:800; text-decoration:none; box-shadow:0 0 22px -6px rgba(155,255,107,.8); transition:transform .25s ease;}
.mn-stcal-open:hover{color:#0A1A10; transform:translateY(-2px);}
.mn-stcal-open svg{width:16px; height:16px;}
@media (max-width:700px){ .mn-stcal{padding:16px 12px 16px;} .mn-stcal-dow, .mn-stcal-grid{gap:4px;} .mn-stcal-d b{font-size:13px;} .mn-stcal-d em{width:5px; height:5px;} .mn-stcal-title{font-size:21px;} }
@media (prefers-reduced-motion: reduce){ .mn-stcal-grid.is-flip{animation:none;} }
/* the Hall of Fame now sits under "Say hi to the team" */
.mn-hall-sec{padding:20px 0 90px;}
.mn-hall-sec .mn-hall{margin-top:0;}
.mn-stcal-d{aspect-ratio:auto; height:62px;}
@media (min-width:901px){
  .mn-stcal{display:grid; grid-template-columns:minmax(0,1.75fr) minmax(0,1fr); column-gap:22px; grid-template-areas:"head head" "dow day" "grid day" "grid open"; align-items:start;}
  .mn-stcal-head{grid-area:head;} .mn-stcal-dow{grid-area:dow;} .mn-stcal-grid{grid-area:grid;}
  .mn-stcal-day{grid-area:day; margin-top:0; align-content:flex-start; min-height:200px;}
  .mn-stcal-day .mn-stcal-ev{flex:1 0 100%;}
  .mn-stcal-open{grid-area:open; justify-self:start;}
}
@media (max-width:700px){ .mn-stcal-d{height:46px;} }
.mn-shirt{width:160px;} .mn-shirt-base{width:124px;}
.mn-shirt-glow{width:180px; height:150px;}
@media (max-width:700px){ .mn-shirt{width:104px;} .mn-shirt-base{width:84px;} }

/* ==== Student Calendar v2: neon, posters for the big nights ==== */
.mn-stcal{position:relative; overflow:hidden; padding:26px 24px 24px; background:radial-gradient(60% 50% at 0% 0%, rgba(255,91,216,.14), transparent 70%), radial-gradient(60% 60% at 100% 0%, rgba(34,211,198,.14), transparent 70%), radial-gradient(80% 60% at 50% 100%, rgba(155,255,107,.1), transparent 70%), linear-gradient(180deg,#13161A,#0A0C0E);}
.mn-stcal-k{margin:0; font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(30px,3.4vw,44px); line-height:1; letter-spacing:.04em; text-transform:uppercase; color:#fff; text-shadow:0 0 3px #fff, 0 0 14px rgba(155,255,107,.8), 0 0 34px rgba(155,255,107,.5); animation:mnNeon 6s steps(1) 2s infinite;}
.mn-stcal-k span{color:#9BFF6B;}
.mn-stcal-nav{padding:5px; border-radius:99px; background:rgba(255,255,255,.05); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.mn-stcal-title{font-size:22px; min-width:10ch;}
/* posters of the next big nights */
.mn-stcal-hi{grid-column:1 / -1; display:flex; gap:12px; margin:0 0 16px; overflow-x:auto; scrollbar-width:none; padding:4px 2px 6px;}
.mn-stcal-hi::-webkit-scrollbar{display:none;}
.mn-stcal-chip{--tone:#9BFF6B; position:relative; flex:0 0 auto; display:flex; align-items:center; gap:10px; min-width:200px; padding:7px 14px 7px 7px; border:0; border-radius:14px; background:#1B2026; color:#fff; font:inherit; text-align:left; cursor:pointer; box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--tone) 70%, transparent), 0 0 22px -8px var(--tone); transition:transform .3s cubic-bezier(.3,1.5,.5,1), box-shadow .3s ease;}
.mn-stcal-chip:hover{transform:translateY(-3px); box-shadow:inset 0 0 0 2px var(--tone), 0 0 30px -6px var(--tone);}
.mn-stcal-chip img{width:54px; height:54px; border-radius:10px; object-fit:cover; flex:none;}
.mn-stcal-chip span{display:flex; flex-direction:column; gap:2px;}
.mn-stcal-chip em{font-style:normal; color:var(--tone); font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.mn-stcal-chip b{font-family:"Anton",sans-serif; font-weight:400; font-size:18px; letter-spacing:.03em; text-transform:uppercase; line-height:1.05;}
.mn-stcal-key{grid-column:1 / -1; display:flex; gap:16px; margin:0 0 12px; color:#9AA3A9; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase;}
.mn-stcal-key span::before{content:""; display:inline-block; width:8px; height:8px; margin-right:6px; border-radius:50%; vertical-align:middle; background:#9BFF6B; box-shadow:0 0 8px currentColor;}
.mn-stcal-key .is-mw::before{background:#22D3C6;} .mn-stcal-key .is-big::before{background:#FF5BD8;}
/* the days */
.mn-stcal-d{--tone:#9BFF6B; overflow:hidden; height:70px;}
.mn-stcal-d b{position:relative; z-index:1;}
.mn-stcal-d em{background:var(--tone); box-shadow:0 0 8px var(--tone);}
.mn-stcal-d.has-ev{background:color-mix(in srgb, var(--tone) 12%, #151A1E); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 55%, transparent), 0 0 18px -8px var(--tone);}
.mn-stcal-art{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62; transition:opacity .3s ease, transform .6s ease;}
.mn-stcal-d.has-art::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.65)); pointer-events:none;}
.mn-stcal-d.has-art b{align-self:flex-start; margin:0 0 auto 8px; padding-top:6px; text-shadow:0 1px 4px rgba(0,0,0,.8); color:#fff;}
.mn-stcal-tag{position:absolute; z-index:1; left:6px; right:6px; bottom:6px; overflow:hidden; color:#fff; font-family:"Anton",sans-serif; font-size:11px; letter-spacing:.04em; line-height:1.05; text-transform:uppercase; white-space:nowrap; text-overflow:ellipsis; text-shadow:0 0 8px var(--tone), 0 1px 3px rgba(0,0,0,.9);}
.mn-stcal-d.is-big{box-shadow:inset 0 0 0 2px var(--tone), 0 0 26px -6px var(--tone); animation:mnBigGlow 2.8s ease-in-out infinite;}
@keyframes mnBigGlow{0%,100%{box-shadow:inset 0 0 0 2px var(--tone), 0 0 18px -8px var(--tone);} 50%{box-shadow:inset 0 0 0 2px var(--tone), 0 0 30px -4px var(--tone);}}
.mn-stcal-d.has-art:hover .mn-stcal-art{opacity:.85; transform:scale(1.06);}
.mn-stcal-d.is-sel{background:var(--tone); color:#0A1A10;}
.mn-stcal-d.is-sel.has-art .mn-stcal-art{opacity:.95;}
.mn-stcal-grid.is-flip .mn-stcal-d, .mn-stcal-grid.is-flip .mn-stcal-x{animation:mnCellIn .45s cubic-bezier(.2,1.2,.3,1) calc(var(--n, 0) * 12ms) backwards;}
.mn-stcal-grid.is-flip{animation:none;}
@keyframes mnCellIn{0%{opacity:0; transform:translateY(10px) scale(.92);}}
/* the day panel, with the big night's poster */
.mn-stcal-day{--tone:#9BFF6B; box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 40%, transparent);}
.mn-stcal-day.is-in{animation:mnStcalIn .45s cubic-bezier(.2,1,.3,1);}
.mn-stcal-poster{position:relative; flex:1 0 100%; display:block; overflow:hidden; border-radius:12px; aspect-ratio:16 / 10; color:#fff; text-decoration:none; box-shadow:0 0 0 2px var(--tone), 0 0 30px -6px var(--tone);}
.mn-stcal-poster img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s ease;}
.mn-stcal-poster:hover img{transform:scale(1.05);}
.mn-stcal-poster span{position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; padding:30px 14px 12px; background:linear-gradient(180deg, transparent, rgba(0,0,0,.85));}
.mn-stcal-poster b{font-family:"Anton",sans-serif; font-weight:400; font-size:22px; letter-spacing:.03em; text-transform:uppercase; text-shadow:0 0 12px var(--tone);}
.mn-stcal-poster em{font-style:normal; color:rgba(255,255,255,.85); font-family:"Space Mono",monospace; font-size:12px;}
.mn-stcal-ev{--tone:#9BFF6B; box-shadow:inset 3px 0 0 var(--tone), inset 0 0 0 1px rgba(255,255,255,.06);}
.mn-stcal-when{color:var(--tone);}
@media (max-width:700px){ .mn-stcal-d{height:52px;} .mn-stcal-tag{font-size:8px; left:3px; right:3px; bottom:3px;} .mn-stcal-d.has-art b{margin-left:4px; padding-top:3px;} .mn-stcal-chip{min-width:170px;} .mn-stcal-key{gap:10px; font-size:9.5px;} }
@media (prefers-reduced-motion: reduce){ .mn-stcal-k, .mn-stcal-d.is-big, .mn-stcal-grid.is-flip .mn-stcal-d{animation:none !important;} }
@media (min-width:901px){
  .mn-stcal{grid-template-areas:"head head" "hi hi" "key key" "dow day" "grid day" "grid open";}
  .mn-stcal-hi{grid-area:hi;} .mn-stcal-key{grid-area:key;}
}
.mn-stcal-d.has-art b{font-size:13px;}

/* Coach's shelf: a gold picture frame standing on each side of his plaque */
.mn-hall .mn-case-shelf.is-memory{display:flex; align-items:flex-end; justify-content:center; gap:16px;}
.mn-hall .mn-memory{width:min(100%, 400px); flex:0 1 400px;}
.mn-frame{position:relative; flex:0 0 118px; display:block; transition:transform .45s cubic-bezier(.3,1.5,.5,1);}
.mn-frame.is-l{rotate:-4deg;} .mn-frame.is-r{rotate:4deg;}
.mn-frame-in{display:block; padding:7px; border-radius:3px; background:linear-gradient(135deg,#FFF1BF,#C9963F 30%,#8C6420 55%,#E6CC8C 78%,#9C7430); box-shadow:inset 0 0 0 1px rgba(90,58,18,.7), inset 0 0 0 3px rgba(255,240,190,.45), 0 12px 16px -6px rgba(0,0,0,.7);}
.mn-frame-in img{display:block; width:100%; aspect-ratio:4 / 5; object-fit:cover; border:4px solid #F6F0E2; box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);}
/* a little easel leg behind each frame */
.mn-frame::before{content:""; position:absolute; z-index:-1; left:50%; bottom:-4px; width:8px; height:44px; margin-left:-4px; background:linear-gradient(90deg,#3B2414,#6E4527); transform-origin:50% 100%; transform:rotate(18deg) skewY(-8deg); border-radius:2px;}
.mn-frame:hover{transform:translateY(-5px) scale(1.04);}
@media (max-width:900px){ .mn-frame{flex-basis:96px;} .mn-hall .mn-case-shelf.is-memory{gap:10px;} }
@media (max-width:700px){
  .mn-hall .mn-case-shelf.is-memory{flex-wrap:wrap; gap:14px 18px;}
  .mn-hall .mn-memory{order:-1; flex-basis:100%;}
  .mn-frame{flex-basis:42%;}
}
/* the Hall of Fame name plate sits in front of the glass door's top edge */
.mn-case .mn-case-plate, .mn-hall .mn-case-plate{position:relative; z-index:6 !important;}

/* Silent Disco Legend (right of the dodgeball): gold headphones that light up and bounce to the beat */
.mn-trophy.is-legend{display:flex; flex-direction:column; align-items:center; --tc:#FF5BD8;}
.mn-hall .mn-trophy.is-legend svg{width:138px; height:auto; overflow:visible;}
.mn-trophy.is-legend em{margin-top:4px; padding:3px 16px; border-radius:2px; background:linear-gradient(135deg,#EDD9A0,#B8925A 60%,#E6CC8C); color:#3B2A10; font-family:"Space Mono",monospace; font-style:normal; font-weight:700; font-size:11px; letter-spacing:.2em; box-shadow:0 2px 3px rgba(0,0,0,.5);}
.mn-hall .mn-trophy.is-legend::after{bottom:22px;}
.mn-hp{transform-box:fill-box; transform-origin:50% 0;}
.mn-hp-glow{opacity:.18; transition:opacity .3s ease;}
.mn-hp-notes{opacity:0; transition:opacity .3s ease;}
.mn-hp-notes path, .mn-hp-notes circle{transform-box:fill-box;}
.mn-trophy.is-legend:hover .mn-hp, .mn-trophy.is-legend.is-play .mn-hp{animation:mnBeat .46s cubic-bezier(.3,1.6,.5,1) infinite;}
@keyframes mnBeat{0%,100%{transform:translateY(0) scale(1);} 30%{transform:translateY(-3px) scale(1.04);}}
.mn-trophy.is-legend:hover .mn-hp-glow, .mn-trophy.is-legend.is-play .mn-hp-glow{opacity:1; animation:mnHpFlash .46s steps(1) infinite;}
.mn-trophy.is-legend:hover .mn-hp-glow.is-r, .mn-trophy.is-legend.is-play .mn-hp-glow.is-r{animation-delay:.23s;}
@keyframes mnHpFlash{0%{opacity:1;} 50%{opacity:.35;}}
.mn-trophy.is-legend:hover .mn-hp-notes, .mn-trophy.is-legend.is-play .mn-hp-notes{opacity:1; animation:mnNotes 1.4s ease-out infinite;}
@keyframes mnNotes{0%{transform:translateY(8px); opacity:0;} 25%{opacity:1;} 100%{transform:translateY(-14px); opacity:0;}}
.mn-trophy.is-legend:hover::before, .mn-trophy.is-legend.is-play::before{background:radial-gradient(closest-side, rgba(255,91,216,.45), rgba(124,247,255,.18) 60%, transparent);}
@media (max-width:700px){ .mn-hall .mn-trophy.is-legend svg{width:92px;} .mn-trophy.is-legend em{font-size:9px; padding:2px 10px;} }
@media (prefers-reduced-motion: reduce){ .mn-hp, .mn-hp-glow, .mn-hp-notes{animation:none !important;} }
.mn-hall .mn-trophy.is-legend svg{width:154px;} @media (max-width:700px){ .mn-hall .mn-trophy.is-legend svg{width:98px;} }

/* Links from Midweek and the homepage to each ministry's main page */
.hero-info .hero-info-link{display:inline; gap:0; padding-bottom:0; border-bottom:1px dashed rgba(255,255,255,.5);}
.hero-info .hero-info-link::before{display:none;}
.hero-info .hero-info-link:hover{color:#fff; border-bottom-color:var(--teal);}
.t-name .t-link{color:inherit; text-decoration:none; border-bottom:1px dashed currentColor; transition:color .2s ease;}
.t-name .t-link:hover{color:var(--teal);}
.mn-mainband-sec{padding:34px 0 10px;}
.mn-mainband{--bc:#2E8B4A; position:relative; display:grid; grid-template-columns:1fr auto; grid-template-areas:"k go" "h go" "p go"; align-items:center; column-gap:28px; overflow:hidden; padding:26px 30px; border-radius:22px; color:#fff; text-decoration:none;
  background:radial-gradient(90% 140% at 0% 0%, color-mix(in srgb, var(--bc) 45%, transparent), transparent 60%), linear-gradient(135deg,#11161A,#0B0E10); box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--bc) 60%, transparent), 0 24px 40px -26px rgba(0,0,0,.8); transition:transform .35s cubic-bezier(.3,1.4,.5,1), box-shadow .35s ease;}
.mn-mainband:hover{color:#fff; transform:translateY(-4px); box-shadow:inset 0 0 0 2px var(--bc), 0 0 40px -10px var(--bc), 0 30px 50px -26px rgba(0,0,0,.85);}
.mn-mainband-k{grid-area:k; color:var(--bc); font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; filter:brightness(1.3);}
.mn-mainband-h{grid-area:h; margin-top:4px; font-family:"Anton",sans-serif; font-size:clamp(30px,4vw,46px); line-height:1; letter-spacing:.02em; text-transform:uppercase;}
.mn-mainband-p{grid-area:p; margin-top:8px; max-width:58ch; color:rgba(255,255,255,.8); font-size:15.5px; line-height:1.5;}
.mn-mainband-go{grid-area:go; display:inline-flex; align-items:center; gap:8px; padding:13px 20px; border-radius:99px; background:var(--bc); color:#fff; font-weight:800; white-space:nowrap; box-shadow:0 0 22px -6px var(--bc);}
.mn-mainband-go svg{width:16px; height:16px; transition:transform .25s ease;}
.mn-mainband:hover .mn-mainband-go svg{transform:translateX(4px);}
.mw-main-links{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 12px; margin-top:26px;}
.mw-main-links span{color:var(--ink-soft, rgba(255,255,255,.7)); font-family:"Space Mono",monospace; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.mw-main-links a{--bc:#2E8B4A; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:99px; background:color-mix(in srgb, var(--bc) 16%, transparent); color:inherit; font-weight:800; text-decoration:none; box-shadow:inset 0 0 0 1.5px var(--bc); transition:background .25s ease, transform .25s ease;}
.mw-main-links a:hover{background:var(--bc); color:#fff; transform:translateY(-2px);}
.mw-main-links a svg{width:15px; height:15px;}
@media (max-width:700px){ .mn-mainband{grid-template-columns:1fr; grid-template-areas:"k" "h" "p" "go"; padding:22px 20px;} .mn-mainband-go{justify-self:start; margin-top:14px;} }

/* Real see-through grilles again: while a door is closed and still, the slots are actual holes (you see the locker's
   inside through them). The moment it moves (unlocking, opening, the hover rattle), the painted slots take over in the
   exact same spot, so Safari never has to redraw holes on a turning door. */
.mn-lk:not(.is-open):not(.is-unlock) .mn-lk-door:not(:hover):not(.dr-booth) .mn-lk-face{
  -webkit-mask:linear-gradient(#000 0 0), repeating-linear-gradient(180deg, #000 0 6px, transparent 6px 13px) 18px 18px / calc(100% - 96px) 45px no-repeat; -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) exclude, repeating-linear-gradient(180deg, #000 0 6px, transparent 6px 13px) 18px 18px / calc(100% - 96px) 45px no-repeat;}
.mn-lk:not(.is-open):not(.is-unlock) .mn-lk-door.dr-booth:not(:hover) .mn-lk-face{
  -webkit-mask:linear-gradient(#000 0 0), repeating-linear-gradient(180deg, #000 0 6px, transparent 6px 13px) 22px 58px / calc(100% - 44px) 72px no-repeat; -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) exclude, repeating-linear-gradient(180deg, #000 0 6px, transparent 6px 13px) 22px 58px / calc(100% - 44px) 72px no-repeat;}
/* while the holes are real, the painted slots step aside (only their little metal lip stays, for depth) */
.mn-lk:not(.is-open):not(.is-unlock) .mn-lk-door:not(:hover) .mn-lk-vents{background:repeating-linear-gradient(180deg, transparent 0 6px, rgba(255,255,255,.17) 6px 7px, transparent 7px 13px); animation:none;}
.mn-lk:not(.is-open):not(.is-unlock) .mn-lk-door:not(:hover) .mn-lk-vents::after{display:none;}
@media (prefers-reduced-motion: reduce){ .mn-lk-door .mn-lk-face{-webkit-mask:none !important; mask:none !important;} }

/* Pillars door: Candace up top, two photos of the girls taped below her */
.lk-pillars .mn-ldrs{top:5%; bottom:auto; height:30%;}
.mn-doorpics.is-with-ldr{top:38%; bottom:22%;}
.mn-doorpics.is-with-ldr .mn-doorpic{width:72%;}
.mn-doorpics.is-with-ldr .mn-doorpic img{aspect-ratio:4 / 3;}
.mn-doorpics.is-with-ldr .mn-doorpic:nth-child(1){left:0; top:0; rotate:-5deg;}
.mn-doorpics.is-with-ldr .mn-doorpic:nth-child(2){right:0; left:auto; top:48%; rotate:4deg;}
.lk-pillars .mn-doorpic::before{background:rgba(255,128,176,.72);}
.lk-pillars .mn-doorpic:nth-child(even)::before{background:rgba(249,195,31,.75);}
/* shop: the size line under a card's price (the biggest size can cost a little more) */
.sh-xxl{margin:2px 0 0; font-size:12px; font-weight:700; letter-spacing:.02em; opacity:.7;}

/* ==== Shop cart + pop-up checkout (shop-cart.js) ==== */
.sh-add{cursor:pointer; border:0; font:inherit;}
.sh-add.is-added{animation:shcAdded .6s cubic-bezier(.3,1.6,.5,1);}
@keyframes shcAdded{40%{transform:scale(1.08);}}
.sh-add.is-need{animation:shcShake .4s ease;}
.sh-sizes.is-need{animation:shcShake .4s ease; box-shadow:0 0 0 2px rgba(217,180,90,.7); border-radius:12px;}
@keyframes shcShake{20%,60%{transform:translateX(-5px);} 40%,80%{transform:translateX(5px);}}
.shc-fab{position:fixed; right:20px; bottom:22px; z-index:9000; display:inline-flex; align-items:center; gap:9px; padding:13px 18px; border:0; border-radius:99px; background:#F1E6C8; color:#16202E; font:800 15px "Manrope",sans-serif; cursor:pointer; box-shadow:0 18px 34px -14px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.12); transform:translateY(120px); transition:transform .5s cubic-bezier(.3,1.4,.5,1);}
.shc-fab.has-items{transform:none;}
.shc-fab svg{width:20px; height:20px;}
.shc-count{display:grid; place-items:center; min-width:24px; height:24px; padding:0 6px; border-radius:99px; background:#16202E; color:#F1E6C8; font-size:12.5px;}
.shc-fab.is-bump{animation:shcBump .55s cubic-bezier(.3,1.7,.5,1);}
@keyframes shcBump{40%{transform:scale(1.14);}}
html.shc-lock, html.shc-lock body{overflow:hidden;}
.shc{position:fixed; inset:0; z-index:9500;}
.shc-dim{position:absolute; inset:0; background:rgba(5,8,12,.6); opacity:0; transition:opacity .3s ease;}
.shc.is-open .shc-dim{opacity:1;}
.shc-drawer{position:absolute; top:0; right:0; bottom:0; display:flex; flex-direction:column; width:min(420px, 100%); background:#0F151E; color:#fff; box-shadow:-30px 0 60px -30px rgba(0,0,0,.8); transform:translateX(105%); transition:transform .38s cubic-bezier(.2,.9,.25,1);}
.shc.is-open .shc-drawer{transform:none;}
.shc.is-paying .shc-drawer{transform:translateX(105%);}
.shc-head{display:flex; align-items:center; justify-content:space-between; padding:22px 22px 12px;}
.shc-head h2{margin:0; font-family:"Anton",sans-serif; font-weight:400; font-size:30px; letter-spacing:.03em; text-transform:uppercase; color:#F1E6C8;}
.shc-x{display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:24px; line-height:1; cursor:pointer;}
.shc-x:hover{background:rgba(255,255,255,.16);}
.shc-list{flex:1; overflow-y:auto; padding:6px 22px;}
.shc-empty{margin:30px 0; color:rgba(255,255,255,.7); line-height:1.5;}
.shc-row{display:grid; grid-template-columns:64px 1fr auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08);}
.shc-row img{width:64px; height:64px; border-radius:12px; object-fit:contain; background:radial-gradient(circle at 50% 40%, #233144, #121A26);}
.shc-row-b{display:flex; flex-direction:column; gap:3px; min-width:0;}
.shc-row-b b{font-weight:800; font-size:15px;}
.shc-row-b > span{color:rgba(255,255,255,.65); font-size:13px;}
.shc-row strong{font-size:15px; color:#F1E6C8;}
.shc-qty{display:flex; align-items:center; gap:8px; margin-top:6px;}
.shc-qty button{display:grid; place-items:center; width:28px; height:28px; border:0; border-radius:8px; background:rgba(255,255,255,.1); color:#fff; font-size:16px; cursor:pointer;}
.shc-qty em{min-width:16px; text-align:center; font-style:normal; font-weight:800;}
.shc-qty .shc-rm{width:auto; padding:0 8px; margin-left:4px; background:none; color:rgba(255,255,255,.55); font-size:12.5px; text-decoration:underline;}
.shc-foot{padding:16px 22px 22px; border-top:1px solid rgba(255,255,255,.1); background:#0B1018;}
.shc-pick{margin:0 0 12px; padding:10px 12px; border-radius:10px; background:rgba(217,180,90,.12); color:rgba(255,255,255,.85); font-size:13px; line-height:1.45;}
.shc-pick b{color:#D9B45A;}
.shc-total{display:flex; justify-content:space-between; align-items:baseline; margin:0 0 14px; font-weight:800;}
.shc-total b{font-family:"Anton",sans-serif; font-weight:400; font-size:28px; color:#F1E6C8;}
.shc-go{width:100%; padding:15px 20px; border:0; border-radius:99px; background:#F1E6C8; color:#16202E; font:800 16px "Manrope",sans-serif; cursor:pointer; transition:transform .25s ease, opacity .25s ease;}
.shc-go:hover{transform:translateY(-2px);}
.shc-go:disabled{opacity:.45; cursor:default; transform:none;}
.shc-err{margin:10px 0 0; color:#FFB4A8; font-size:13.5px;}
.shc-pay, .shc-done{position:absolute; inset:0; display:grid; place-items:center; padding:20px;}
.shc-pay-in{position:relative; width:min(560px, 100%); max-height:calc(100vh - 40px); overflow-y:auto; padding:18px 14px 14px; border-radius:20px; background:#fff; box-shadow:0 40px 80px -30px rgba(0,0,0,.8); animation:shcPop .45s cubic-bezier(.2,1.2,.3,1);}
.shc-pay-x{position:sticky; top:0; float:right; margin:-6px -4px 0 0; z-index:2; background:#EEF0F2; color:#16202E;}
@keyframes shcPop{0%{opacity:0; transform:translateY(24px) scale(.97);}}
.shc-done-in{position:relative; width:min(460px, 100%); padding:36px 28px 28px; border-radius:24px; background:#0F151E; color:#fff; text-align:center; box-shadow:0 0 0 1px rgba(217,180,90,.4), 0 40px 80px -30px rgba(0,0,0,.8); animation:shcPop .5s cubic-bezier(.2,1.2,.3,1);}
.shc-done-in h2{margin:0 0 10px; font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(30px,6vw,40px); text-transform:uppercase; color:#F1E6C8;}
.shc-done-p{margin:0 0 20px; color:rgba(255,255,255,.8); line-height:1.5;}
.shc-burst{position:absolute; left:50%; top:-34px; width:68px; height:68px; margin-left:-34px; border-radius:50%; background:radial-gradient(circle, #F1E6C8 0 38%, #D9B45A 39% 100%); box-shadow:0 0 30px rgba(217,180,90,.7);}
.shc-burst::after{content:"\2713"; position:absolute; inset:0; display:grid; place-items:center; color:#16202E; font-size:30px; font-weight:900;}
@media (max-width:700px){ .shc-fab{right:14px; bottom:16px;} .shc-pay{padding:10px;} .shc-pay-in{max-height:calc(100vh - 20px); border-radius:16px;} }
@media (prefers-reduced-motion: reduce){ .shc-drawer, .shc-fab{transition:none;} .shc-pay-in, .shc-done-in, .shc-fab.is-bump, .sh-add.is-added{animation:none;} }
.admin-bar .shc-drawer, .admin-bar .shc-pay, .admin-bar .shc-done{top:32px;}
@media (max-width:782px){ .admin-bar .shc-drawer, .admin-bar .shc-pay, .admin-bar .shc-done{top:46px;} }

/* ===== Shop, 10X: fly-to-cart, the "added" card, quick add, the hanging price tag, and a new cart ===== */
/* Add to cart buttons: a bag that turns into a check, and a sweep of light on hover. */
.sh-add{position:relative; overflow:hidden; isolation:isolate; gap:10px;}
.sh-add::after{content:""; position:absolute; top:0; bottom:0; left:-60%; width:45%; z-index:-1; background:linear-gradient(100deg, transparent, rgba(255,255,255,.75), transparent); transform:skewX(-18deg); transition:left .7s ease; pointer-events:none;}
@media (hover:hover){ .sh-add:hover::after{left:120%;} .sh-add:hover{transform:translateY(-3px); box-shadow:0 20px 36px -16px rgba(241,230,200,.8);} }
.shx-ico{position:relative; display:inline-block; width:19px; height:19px; flex:none;}
.shx-ico svg{position:absolute; inset:0; width:100%; height:100%; transition:transform .35s cubic-bezier(.3,1.6,.5,1), opacity .2s ease;}
.shx-ico-ok{opacity:0; transform:scale(.3) rotate(-30deg);}
.sh-add.is-added{background:#3FA76A !important; color:#fff !important;}
.sh-add.is-added .shx-ico-bag{opacity:0; transform:scale(.3);}
.sh-add.is-added .shx-ico-ok{opacity:1; transform:none;}
.sh-add{transition:transform .25s ease, box-shadow .25s ease, background-color .3s ease, color .3s ease;}

/* The piece flying into the cart (two layers: one goes sideways, one goes up and down, together an arc). */
.shx-fly{position:fixed; z-index:9400; pointer-events:none; will-change:transform;}
.shx-fly img{display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 18px 22px rgba(0,0,0,.55)); will-change:transform, opacity;}
.shx-fly img.is-photo{object-fit:cover; border-radius:22%;}

/* The cart button: little faces of what's inside, and a ring that pulses when something lands. */
.shx-stack{display:inline-flex; align-items:center;}
.shx-stack:empty{display:none;}
.shx-stack img{width:30px; height:30px; margin-left:-10px; border-radius:50%; object-fit:contain; background:radial-gradient(circle at 50% 35%, var(--g), #16202E 80%); box-shadow:0 0 0 2px #F1E6C8; animation:shxIn .45s cubic-bezier(.3,1.6,.5,1) both;}
.shx-stack img:first-child{margin-left:-4px;}
@keyframes shxIn{from{transform:scale(0);}}
.shc-fab.is-bump::before{content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:0 0 0 0 rgba(241,230,200,.75); animation:shxRing .8s ease-out; pointer-events:none;}
@keyframes shxRing{to{box-shadow:0 0 0 18px rgba(241,230,200,0);}}

/* The "added" card above the cart button. */
.shx-toast{position:fixed; right:20px; bottom:88px; z-index:9100; display:grid; grid-template-columns:62px 1fr auto; gap:4px 12px; align-items:center; width:min(360px, calc(100vw - 28px)); padding:12px 12px 14px; border-radius:20px; background:rgba(15,21,30,.92); -webkit-backdrop-filter:blur(14px) saturate(1.4); backdrop-filter:blur(14px) saturate(1.4); color:#fff; box-shadow:0 30px 60px -24px rgba(0,0,0,.85), 0 0 0 1px rgba(241,230,200,.22); overflow:hidden; opacity:0; transform:translateY(18px) scale(.96); transform-origin:90% 100%; transition:opacity .28s ease, transform .4s cubic-bezier(.3,1.5,.5,1);}
.shx-toast.is-on{opacity:1; transform:none;}
.shx-toast[hidden]{display:none;}
.shx-toast-img{grid-row:1; width:62px; height:62px; border-radius:14px; background:radial-gradient(circle at 50% 35%, var(--g), #121A26 78%); display:grid; place-items:center; overflow:hidden;}
.shx-toast-img img{width:90%; height:90%; object-fit:contain;}
.shx-toast-b{display:flex; flex-direction:column; gap:2px; min-width:0;}
.shx-toast-b em{font-style:normal; font-family:"Michroma","Space Mono",monospace; font-size:9.5px; letter-spacing:.22em; text-transform:uppercase; color:#7FD49B;}
.shx-toast-b b{font-family:"Anton",sans-serif; font-weight:400; font-size:19px; line-height:1.05; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.shx-toast-b span{font-size:13px; color:rgba(255,255,255,.7);}
.shx-toast-x{align-self:start; width:30px; height:30px; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:19px; line-height:1; cursor:pointer;}
.shx-toast-go{grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px;}
.shx-toast-go button{padding:11px 10px; border-radius:99px; border:1.5px solid rgba(241,230,200,.45); background:transparent; color:#F1E6C8; font:800 13.5px "Manrope",sans-serif; cursor:pointer; transition:transform .2s ease, background .2s ease;}
.shx-toast-go .shx-toast-pay{background:#F1E6C8; border-color:#F1E6C8; color:#16202E;}
.shx-toast-go button:hover{transform:translateY(-2px);}
.shx-toast-bar{position:absolute; left:0; bottom:0; height:3px; width:100%; background:linear-gradient(90deg, #3FA76A, #D9B45A); transform-origin:0 50%; transform:scaleX(0);}
.shx-toast.is-on .shx-toast-bar{animation:shxBar 5s linear forwards;}
.shx-toast.is-held .shx-toast-bar{animation-play-state:paused;}
@keyframes shxBar{from{transform:scaleX(1);} to{transform:scaleX(0);}}

/* "In your cart" chip on a card. */
.shx-incart{position:absolute; right:12px; top:12px; z-index:3; display:inline-flex; align-items:center; gap:6px; padding:6px 11px 6px 9px; border-radius:99px; background:#3FA76A; color:#fff; font:800 11.5px "Manrope",sans-serif; box-shadow:0 10px 20px -10px rgba(0,0,0,.7); animation:shxIn .4s cubic-bezier(.3,1.6,.5,1) both;}
.shx-incart::before{content:"\2713"; font-size:12px;}

/* Quick add: a glass bar that rises over the picture on hover (computers only). */
.sh-prod.shx-has-q{position:relative; container-type:inline-size;}
.shx-quick{position:absolute; left:10px; right:10px; top:calc(108cqw - 70px); z-index:4; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 8px 8px 14px; border-radius:16px; background:rgba(11,15,21,.9); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); box-shadow:0 14px 30px -14px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.16); opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .25s ease, transform .35s cubic-bezier(.3,1.4,.5,1);}
.sh-prod.shx-has-q:hover .shx-quick, .shx-quick:focus-within{opacity:1; transform:none; pointer-events:auto;}
.sh-prod.shx-has-q .sh-prod-see{bottom:72px;}
.shx-quick-k{font-family:"Michroma","Space Mono",monospace; font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.75); white-space:nowrap;}
.shx-quick-s{display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end;}
.shx-quick-s button{min-width:34px; height:32px; padding:0 8px; border:0; border-radius:9px; background:#222C3A; color:#fff; font:800 12px "Manrope",sans-serif; cursor:pointer; transition:background .2s ease, color .2s ease, transform .2s ease;}
.shx-quick-s button:hover{background:#F1E6C8; color:#16202E; transform:translateY(-2px);}
.shx-quick-s button.is-hit{background:#3FA76A; color:#fff; animation:shcAdded .5s cubic-bezier(.3,1.6,.5,1);}
@container (max-width:250px){ .shx-quick-k{display:none;} .shx-quick{justify-content:center; padding-left:8px;} }

/* The price tag hanging by the turntable. */
.shx-tag{position:absolute; z-index:3; top:0; left:calc(50% + var(--w) * .34); width:86px; height:150px; pointer-events:none; transform-origin:50% 0; animation:shxSway 6s ease-in-out infinite; animation-play-state:paused;}
.sh-show.is-live .shx-tag{animation-play-state:running;}
.shx-tag[hidden]{display:none;}
.shx-tag::before{content:""; position:absolute; left:50%; top:0; width:1.5px; height:58px; margin-left:-1px; background:linear-gradient(rgba(241,230,200,.2), rgba(241,230,200,.85));}
.shx-tag-card{position:absolute; left:50%; top:52px; width:78px; margin-left:-39px; padding:24px 6px 12px; text-align:center; color:#16202E; background:linear-gradient(160deg, #F7EEDA, #E3D3AC); clip-path:polygon(50% 0, 100% 16%, 100% 100%, 0 100%, 0 16%); filter:drop-shadow(0 10px 14px rgba(0,0,0,.45)); transform-origin:50% 0;}
.shx-tag-card i{position:absolute; left:50%; top:9px; width:9px; height:9px; margin-left:-4.5px; border-radius:50%; background:#0B0F15; box-shadow:inset 0 0 0 2px #C9B585;}
.shx-tag-card b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:30px; line-height:1;}
.shx-tag-card em{display:block; min-height:1em; margin-top:5px; font-style:normal; font-family:"Michroma","Space Mono",monospace; font-size:8px; letter-spacing:.12em; text-transform:uppercase; color:rgba(22,32,46,.7);}
.shx-tag.is-swing .shx-tag-card{animation:shxSwing 1.3s cubic-bezier(.3,.6,.4,1);}
@keyframes shxSway{0%,100%{transform:rotate(-2.5deg);} 50%{transform:rotate(2.5deg);}}
@keyframes shxSwing{0%{transform:rotate(0);} 18%{transform:rotate(26deg);} 40%{transform:rotate(-16deg);} 60%{transform:rotate(9deg);} 80%{transform:rotate(-4deg);} 100%{transform:rotate(0);}}
@media (max-width:900px){ .shx-tag{left:auto; right:4px; transform-origin:50% 0; top:-10px; width:70px; height:120px;} .shx-tag::before{height:40px;} .shx-tag-card{top:36px; width:64px; margin-left:-32px; padding:20px 4px 10px;} .shx-tag-card b{font-size:24px;} .shx-tag-card em{font-size:7px;} }

/* The cart itself. */
.shc-drawer{background:radial-gradient(120% 50% at 100% 0%, rgba(63,167,106,.16), transparent 60%), radial-gradient(90% 40% at 0% 100%, rgba(217,180,90,.12), transparent 60%), #0F151E;}
.shc-head{align-items:flex-start;}
.shx-sub{margin:4px 0 0; font-size:13px; color:rgba(255,255,255,.6);}
.shx-steps{display:flex; gap:6px; margin:4px 22px 10px; padding:0; list-style:none;}
.shx-steps li{flex:1; display:flex; align-items:center; gap:7px; padding:8px 9px; border-radius:12px; background:rgba(255,255,255,.05); font-size:11.5px; font-weight:700; color:rgba(255,255,255,.6); line-height:1.15;}
.shx-steps li i{display:grid; place-items:center; flex:none; width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.12); font-style:normal; font-size:11px; font-weight:800;}
.shx-steps li.is-on{background:rgba(241,230,200,.12); color:#F1E6C8;}
.shx-steps li.is-on i{background:#F1E6C8; color:#16202E;}
.shc-row{position:relative; grid-template-columns:72px 1fr auto; transition:opacity .28s ease, transform .28s ease;}
.shc-row img{width:72px; height:72px; border-radius:16px; background:radial-gradient(circle at 50% 35%, var(--g), #121A26 80%); padding:4px;}
.shc-row.is-out{opacity:0; transform:translateX(40px);}
.shx-enter .shc-row{animation:shxRow .5s cubic-bezier(.2,.9,.25,1) both; animation-delay:calc(var(--i) * 60ms + 120ms);}
@keyframes shxRow{from{opacity:0; transform:translateX(30px);}}
.shc-row-b > span{display:flex; align-items:center; flex-wrap:wrap; gap:8px;}
.shx-sz select{appearance:none; -webkit-appearance:none; padding:4px 24px 4px 10px; border:1px solid rgba(255,255,255,.22); border-radius:8px; background:rgba(255,255,255,.07) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23F1E6C8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 7px center / 10px; color:#fff; font:700 12.5px "Manrope",sans-serif; cursor:pointer;}
.shx-sz select option{color:#16202E;}
.shx-empty{display:flex; flex-direction:column; align-items:center; gap:6px; margin:40px 0; text-align:center;}
.shx-empty-h{width:150px; color:rgba(241,230,200,.5); transform-origin:50% 8%; animation:shxSway 3.5s ease-in-out infinite;}
.shx-empty b{margin-top:10px; font-family:"Anton",sans-serif; font-weight:400; font-size:24px; text-transform:uppercase; color:#F1E6C8;}
.shx-empty > span:not(.shx-empty-h){color:rgba(255,255,255,.65); font-size:14px;}
.shx-browse{margin-top:16px; padding:12px 20px; border:1.5px solid rgba(241,230,200,.5); border-radius:99px; background:transparent; color:#F1E6C8; font:800 14px "Manrope",sans-serif; cursor:pointer;}
.shx-browse:hover{background:#F1E6C8; color:#16202E;}
.shx-ticket{position:relative; display:flex; flex-direction:column; gap:2px; padding:12px 16px 12px 18px; border-radius:14px; background:rgba(217,180,90,.12); border:1.5px dashed rgba(217,180,90,.45);}
.shx-ticket::before, .shx-ticket::after{content:""; position:absolute; top:50%; width:14px; height:14px; margin-top:-7px; border-radius:50%; background:#0B1018;}
.shx-ticket::before{left:-8px;} .shx-ticket::after{right:-8px;}
.shx-ticket-k{font-family:"Michroma","Space Mono",monospace; font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:#D9B45A;}
.shx-ticket b{color:#fff; font-size:14.5px;}
.shx-ticket span:last-child{font-size:12.5px; color:rgba(255,255,255,.72);}
.shx-go{position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; gap:10px; isolation:isolate;}
.shx-go svg{width:18px; height:18px;}
.shx-go::after{content:""; position:absolute; top:0; bottom:0; left:-50%; width:40%; z-index:-1; background:linear-gradient(100deg, transparent, rgba(255,255,255,.85), transparent); transform:skewX(-18deg); animation:shxSheen 3.2s ease-in-out infinite;}
.shx-go:disabled::after{display:none;}
.shx-go.is-busy svg{animation:shxPulse 1s ease-in-out infinite;}
@keyframes shxSheen{0%,55%{left:-50%;} 100%{left:130%;}}
@keyframes shxPulse{50%{transform:scale(.8); opacity:.5;}}
.shx-ways{margin:9px 0 0; text-align:center; font-size:12px; color:rgba(255,255,255,.55);}

/* Order's in: confetti in the church's colors. */
.shx-confetti{position:absolute; left:50%; top:0; width:0; height:0; pointer-events:none;}
.shx-confetti i{position:absolute; left:0; top:0; width:var(--w); height:calc(var(--w) * 1.6); border-radius:2px; background:var(--c); opacity:0; animation:shxPop 1.6s cubic-bezier(.15,.7,.3,1) var(--d) forwards;}
@keyframes shxPop{0%{opacity:1; transform:translate(0,0) rotate(0) scale(.4);} 70%{opacity:1;} 100%{opacity:0; transform:translate(var(--x), calc(var(--y) + 160px)) rotate(var(--r)) scale(1);}}

@media (max-width:700px){
  .shx-toast{right:14px; left:14px; width:auto; bottom:80px;}
  .shx-steps li{font-size:10.5px; padding:7px; gap:5px;}
}
@media (prefers-reduced-motion: reduce){
  .shx-tag, .shx-tag.is-swing .shx-tag-card, .shx-empty-h, .shx-go::after, .shx-enter .shc-row, .shx-stack img, .shx-incart, .shc-fab.is-bump::before{animation:none;}
  .shx-toast, .shx-quick, .shc-row, .sh-add::after{transition:none;}
}
.shc-drawer.shx-none .shx-ticket, .shc-drawer.shx-none .shx-ways, .shc-drawer.shx-none .shc-total{display:none;}

/* ===== Shop "Coming soon" mode: open to look, add and save a list; no checkout yet ===== */
/* The Shop button in the header is clickable again and keeps its Coming soon tag. */
.btn-shop.shx-soon-btn{gap:7px; padding-right:8px;}
.shx-soon-em{display:inline-block; font-style:normal; font-family:"Space Mono",monospace; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:3px 7px; border-radius:99px; background:#C8A96A; color:#16202E; white-space:nowrap;}
.mm-shop .shx-soon-em{margin-left:auto; font-size:10px;}
/* The band across the top of the store. */
.shx-soon{position:relative; z-index:5; padding-top:var(--shx-top, 92px); background:#0B0F15; overflow:hidden;}
.shx-soon-run{display:flex; width:max-content; padding:11px 0; background:linear-gradient(90deg, #C8A96A, #F1E6C8 50%, #C8A96A); color:#16202E; font-family:"Anton",sans-serif; font-size:17px; letter-spacing:.08em; white-space:nowrap; animation:shxRun 38s linear infinite;}
.shx-soon-run span{padding-right:.3em;}
@keyframes shxRun{to{transform:translateX(-50%);}}
.shx-soon-card{display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 14px; margin:0; padding:14px 20px 16px; text-align:center; color:rgba(255,255,255,.82); font-size:15px; line-height:1.45; background:linear-gradient(#141B26, #0B0F15);}
.shx-soon-card b{display:inline-flex; align-items:center; gap:9px; font-family:"Michroma","Space Mono",monospace; font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:#F1E6C8;}
.shx-soon-card b i{width:9px; height:9px; border-radius:50%; background:#D9B45A; box-shadow:0 0 0 0 rgba(217,180,90,.7); animation:shxBeat 1.8s ease-out infinite;}
.shx-soon-card strong{color:#F1E6C8;}
@keyframes shxBeat{70%{box-shadow:0 0 0 10px rgba(217,180,90,0);} 100%{box-shadow:0 0 0 0 rgba(217,180,90,0);}}
/* In the cart. */
.shx-soon-tag{display:inline-block; vertical-align:middle; margin-left:8px; padding:4px 9px; border-radius:99px; background:#C8A96A; color:#16202E; font:700 10px "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; position:relative; top:-4px;}
.shx-save{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; margin:0 0 10px; padding:15px 20px; border:0; border-radius:99px; background:#3FA76A; color:#fff; font:800 16px "Manrope",sans-serif; cursor:pointer; transition:transform .25s ease, background .3s ease, opacity .25s ease;}
.shx-save svg{width:18px; height:18px;}
.shx-save:hover{transform:translateY(-2px);}
.shx-save:disabled{opacity:.45; cursor:default; transform:none;}
.shx-save.is-saved{background:#2C7A4C;}
.shx-save.is-saved svg path{fill:currentColor;}
.shx-save.is-pop{animation:shcAdded .55s cubic-bezier(.3,1.6,.5,1);}
.shx-saved{margin:0 0 12px; padding:12px 14px; border-radius:14px; background:rgba(63,167,106,.14); border:1px solid rgba(63,167,106,.45); font-size:13.5px; line-height:1.45; color:rgba(255,255,255,.85); animation:shxRow .4s cubic-bezier(.2,.9,.25,1) both;}
.shx-saved[hidden]{display:none;}
.shx-saved p{margin:0 0 9px;} .shx-saved b{color:#7FD49B;}
.shx-share{padding:9px 14px; border:1.5px solid rgba(241,230,200,.5); border-radius:99px; background:transparent; color:#F1E6C8; font:800 13px "Manrope",sans-serif; cursor:pointer;}
.shx-share:hover{background:#F1E6C8; color:#16202E;}
.shx-save ~ .shx-go:disabled, .shx-saved ~ .shx-go:disabled{opacity:.55; background:transparent; color:#F1E6C8; box-shadow:inset 0 0 0 1.5px rgba(241,230,200,.45);}
@media (max-width:700px){ .shx-soon-run{font-size:14px; padding:9px 0;} .shx-soon-card{font-size:13.5px; padding:12px 16px 14px;} }
@media (prefers-reduced-motion: reduce){ .shx-soon-run, .shx-soon-card b i, .shx-save.is-pop, .shx-saved{animation:none;} }
/* A tall cart footer never squeezes the list away: the whole cart scrolls instead. */
.shc-drawer{overflow-y:auto; overscroll-behavior:contain;}
.shc-list{flex:1 0 auto; overflow:visible;}
/* The floating Cart button steps aside while the phone menu is open. */
body:has(.mobile-menu.open) .shc-fab, body:has(.mobile-menu.open) .shx-toast{opacity:0; pointer-events:none;}

/* ===== Order-only pieces (from the church's Shopify store): same cards, turntable and rack as the rest ===== */
img[data-cut]:not(.shx-cut){opacity:0;}
img.shx-cut{animation:shxCutIn .45s ease both;}
@keyframes shxCutIn{from{opacity:0;}}
.shx-oo{position:absolute; right:12px; bottom:12px; z-index:2; padding:6px 10px; border-radius:99px; background:rgba(11,15,21,.78); color:#F1E6C8; box-shadow:0 0 0 1px rgba(241,230,200,.35); font:700 9.5px "Space Mono",monospace; letter-spacing:.12em; text-transform:uppercase;}
.sh-prod.shx-has-q:hover .shx-oo{opacity:0;}
.shx-oo-chip{margin-left:6px; padding:4px 9px; border-radius:99px; background:#C8A96A; color:#16202E; font-style:normal; font-size:9.5px; letter-spacing:.14em;}
.shx-oo-chip[hidden]{display:none;}
/* In the cart */
.shx-row-tag{display:inline-block; margin-left:4px; padding:2px 7px; border-radius:99px; background:rgba(217,180,90,.18); color:#D9B45A; font:700 10px "Manrope",sans-serif; font-style:normal; vertical-align:2px;}
.shx-shipline{display:flex; justify-content:space-between; margin:0 0 6px; font-size:13.5px; color:rgba(255,255,255,.75);}
.shx-shipline[hidden]{display:none;}
.shx-shipline b{color:#F1E6C8;}
.shx-ticket-also{margin-top:4px; color:#D9B45A !important; font-weight:700;}
.shx-tag.is-long .shx-tag-card b{font-size:23px;}
@media (max-width:900px){ .shx-tag.is-long .shx-tag-card b{font-size:18px;} }

/* ===== Finding things: category buttons in the showroom and over the collection ===== */
.shx-cats{display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:26px auto 0;}
.shx-rack > .shx-cats{flex-basis:100%; margin:0 0 8px;}
.shx-cat{display:inline-flex; align-items:center; gap:8px; padding:9px 14px 9px 16px; border-radius:99px; border:1.5px solid rgba(255,255,255,.22); background:rgba(255,255,255,.05); color:#fff; font:800 13.5px "Manrope",sans-serif; cursor:pointer; transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s cubic-bezier(.3,1.6,.5,1);}
.shx-cat i{display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:99px; background:rgba(255,255,255,.12); font-style:normal; font-size:11.5px;}
.shx-cat:hover{border-color:rgba(241,230,200,.7); transform:translateY(-2px);}
.shx-cat.is-on{background:#F1E6C8; border-color:#F1E6C8; color:#16202E;}
.shx-cat.is-on i{background:#16202E; color:#F1E6C8;}
.sh-bar .shx-cats{margin:0; justify-content:flex-start; flex:1;}
.shx-filter-hide{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.sh-pick.shx-out{display:none;}
.sh-pick.shx-in{animation:shPop .4s cubic-bezier(.2,1.2,.4,1) both;}
.shx-hat-pic{cursor:default;}
.shx-emb{background:#1F5A38; box-shadow:none;}
@media (max-width:640px){
  .shx-cats{flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; margin-left:-16px; margin-right:-16px; padding:2px 16px 6px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
  .shx-cats::-webkit-scrollbar{display:none;}
  .shx-cat{flex:none; font-size:13px; padding:8px 12px 8px 14px;}
  .sh-bar .shx-cats{margin:0 -14px; padding:2px 14px 6px;}
  .shx-rack > .shx-cats{margin:0 -16px 6px;}
}
/* The scrolling category row must never widen the showroom (it kept its full length on phones and pushed pieces off screen). */
.shx-rack{min-width:0; max-width:100%;}
.shx-cats{min-width:0; max-width:100%; box-sizing:border-box;}
@media (max-width:640px){ .shx-rack > .shx-cats{max-width:calc(100% + 32px);} .sh-bar .shx-cats{max-width:calc(100% + 28px);} }

/* ===== Shop, simplified: a crisp studio hero, and ONE list sorted by kind with a sticky menu ===== */
/* Hero: no soft video; a lit studio (spotlights, a glowing floor) behind the three floating pieces. */
.shx-studio{position:absolute; inset:0; overflow:hidden; background:radial-gradient(70% 60% at 72% 38%, #24324A 0%, #121A27 46%, #0A0E15 100%);}
.shx-studio i{position:absolute; top:-20%; width:34%; height:130%; background:linear-gradient(180deg, rgba(241,230,200,.16), rgba(241,230,200,0) 80%); filter:blur(2px); transform-origin:50% 0; clip-path:polygon(42% 0, 58% 0, 100% 100%, 0 100%); animation:shxBeam 9s ease-in-out infinite;}
.shx-studio i:nth-child(1){left:46%; transform:rotate(14deg);}
.shx-studio i:nth-child(2){left:62%; transform:rotate(-6deg); animation-delay:-3s; opacity:.8;}
.shx-studio i:nth-child(3){left:78%; transform:rotate(-20deg); animation-delay:-6s; opacity:.6;}
.shx-studio::after{content:""; position:absolute; left:40%; right:-10%; bottom:6%; height:26%; border-radius:50%; background:radial-gradient(closest-side, rgba(217,180,90,.28), transparent 70%);}
@keyframes shxBeam{0%,100%{opacity:.55;} 50%{opacity:1;}}
.shx-studio ~ .sh-hero-shade{background:linear-gradient(180deg, rgba(8,11,16,.55) 0%, rgba(8,11,16,0) 30%, rgba(8,11,16,0) 70%, rgba(11,15,21,.9) 100%);}

/* The list */
.shx-jump{position:sticky; top:var(--shx-top, 76px); z-index:30; display:flex; gap:8px; margin:0 0 6px; padding:10px; border-radius:18px; background:rgba(14,20,28,.86); -webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3); box-shadow:0 0 0 1px rgba(255,255,255,.1), 0 18px 34px -24px rgba(0,0,0,.9); overflow-x:auto; scrollbar-width:none;}
.shx-jump::-webkit-scrollbar{display:none;}
.shx-jump a{flex:none; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:99px; color:#fff; font:800 14px "Manrope",sans-serif; text-decoration:none; transition:background .25s ease, color .25s ease;}
.shx-jump a i{display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:99px; background:rgba(255,255,255,.12); font-style:normal; font-size:11.5px;}
.shx-jump a:hover{background:rgba(255,255,255,.08); color:#fff;}
.shx-jump a.is-on{background:#F1E6C8; color:#16202E;}
.shx-jump a.is-on i{background:#16202E; color:#F1E6C8;}
.shx-kind{padding-top:38px; scroll-margin-top:150px;}
.shx-kind-head{display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.14);}
.shx-kind-head h3{margin:0; font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(34px,4.4vw,54px); line-height:1; text-transform:uppercase; color:#fff;}
.shx-kind-head span{font-family:"Michroma","Space Mono",monospace; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.55);}
/* Tiles: picture, name, price, colors. Sizes and Add to cart live on the turntable (and in Quick add on a computer). */
.shx-list .sh-prod{cursor:pointer;}
.shx-list .sh-prod:not(.shx-keep) .sh-sizes, .shx-list .sh-prod:not(.shx-keep) .sh-prod-go, .shx-list .sh-prod:not(.shx-keep) .sh-xxl{display:none;}
.shx-list .shx-keep{cursor:default;}
.shx-list .sh-prod-body{gap:8px; padding:14px 14px 16px;}
.shx-list .sh-prod-top h4{font-size:19px;}
.shx-list .sh-prod.shx-now{border-color:var(--g); box-shadow:0 0 0 2px var(--g), 0 30px 50px -34px var(--g);}
.shx-list .sh-prod.shx-now::after{content:"On the turntable"; position:absolute; left:12px; top:12px; z-index:3; padding:5px 10px; border-radius:99px; background:var(--g); color:#0B0F15; font:800 10.5px "Manrope",sans-serif;}
.shx-list .sh-prod{position:relative;}
.shx-list .sh-item-n{display:none;}
@media (max-width:640px){
  .shx-jump{margin:0 -16px 4px; border-radius:0; padding:8px 12px;}
  .shx-jump a{padding:8px 13px; font-size:13px;}
  .shx-kind{padding-top:28px;}
  .shx-list .sh-prod-top h4{font-size:16px;}
  .shx-list .sh-prod.shx-now::after{font-size:9.5px; left:8px; top:8px;}
}
@media (prefers-reduced-motion: reduce){ .shx-studio i{animation:none;} }
.shx-list .sh-prod-c{flex-wrap:wrap;}
.shx-list .sh-swatches{flex-wrap:wrap; gap:6px;}
.shx-list .sh-sw{flex:none; width:20px; height:20px;}

/* ===== Merch banner on the Kids and Students pages: The Shop's tag, a line, and the gear floating on a lit stage ===== */
.shm{--mx:#9BFF6B; position:relative; overflow:hidden; padding:0 0 70px; background:radial-gradient(90% 80% at 78% 60%, #1B2637 0%, #0E141D 55%, #0A0E15 100%); color:#fff; isolation:isolate;}
.shm::before{content:""; position:absolute; inset:0; z-index:-1; background:repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 2px, transparent 2px 22px);}
.shm-run{display:flex; width:max-content; padding:12px 0; margin-bottom:56px; background:var(--mx); color:#0B0F15; font-family:"Anton",sans-serif; font-size:18px; letter-spacing:.08em; white-space:nowrap; transform:rotate(-1.4deg) scale(1.04); animation:shmRun 40s linear infinite;}
.shm-run span{padding-right:.3em;}
@keyframes shmRun{to{transform:rotate(-1.4deg) scale(1.04) translateX(-50%);}}
.shm-in{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:30px; align-items:center;}
.shm-tag{display:inline-block; width:170px; transform:rotate(-6deg); transform-origin:20% 50%; transition:transform .5s cubic-bezier(.3,1.6,.5,1);}
.shm-tag:hover{transform:rotate(3deg) scale(1.04);}
.shm-logo{display:block; width:100%; height:auto; filter:drop-shadow(0 16px 24px rgba(0,0,0,.5));}
.shm-k{display:flex; align-items:center; gap:10px; margin:24px 0 0; font:700 12px "Space Mono",monospace; letter-spacing:.2em; text-transform:uppercase; color:var(--mx);}
.shm-k i{width:9px; height:9px; border-radius:50%; background:var(--mx); box-shadow:0 0 0 0 var(--mx); animation:shmBeat 1.8s ease-out infinite;}
@keyframes shmBeat{70%{box-shadow:0 0 0 10px transparent;} 100%{box-shadow:0 0 0 0 transparent;}}
.shm h2{margin:12px 0 0; font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(46px,6vw,86px); line-height:.95; text-transform:uppercase; color:#fff;}
.shm h2 em{font-style:normal; color:var(--mx);}
.shm-l{max-width:460px; margin:16px 0 0; font-size:17px; line-height:1.55; color:rgba(255,255,255,.78);}
.shm-go{display:inline-flex; align-items:center; gap:10px; margin-top:24px; padding:15px 26px; border-radius:99px; background:#F1E6C8; color:#16202E; font-weight:800; font-size:15.5px; text-decoration:none; box-shadow:0 18px 34px -18px rgba(241,230,200,.8); transition:transform .25s ease, box-shadow .25s ease;}
.shm-go:hover{transform:translateY(-3px); color:#16202E; box-shadow:0 24px 40px -18px rgba(241,230,200,.9);}
.shm-stage{position:relative; display:flex; justify-content:center; align-items:flex-end; min-height:420px; padding:0 10px 60px; text-decoration:none; color:#fff; perspective:1200px;}
.shm-glow{position:absolute; left:50%; bottom:40px; width:90%; height:70%; transform:translateX(-50%); border-radius:50%; background:radial-gradient(closest-side, color-mix(in srgb, var(--mx) 34%, transparent), transparent 72%); filter:blur(6px);}
.shm-floor{position:absolute; left:6%; right:6%; bottom:44px; height:40px; border-radius:50%; border:1.5px solid rgba(255,255,255,.18); background:radial-gradient(closest-side, rgba(255,255,255,.08), transparent);}
.shm-pc{position:relative; z-index:1; flex:1 1 0; max-width:230px; margin:0 -14px; display:flex; flex-direction:column; align-items:center; transform:translateY(calc(var(--i) * 0px)) rotate(calc((var(--i) - (var(--n) - 1) / 2) * 5deg)); transition:transform .5s cubic-bezier(.3,1.4,.5,1);}
.shm-pc:nth-child(odd){z-index:2;}
.shm-pc-img{display:block; width:100%; aspect-ratio:4/5; animation:shmBob 5.5s ease-in-out infinite; animation-delay:calc(var(--i) * -1.3s);}
.shm-pc-img img{display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 26px 22px rgba(0,0,0,.55));}
@keyframes shmBob{0%,100%{transform:translateY(0) rotateY(-8deg);} 50%{transform:translateY(-14px) rotateY(8deg);}}
.shm-pc-t{display:flex; flex-direction:column; align-items:center; gap:3px; margin-top:6px; text-align:center; opacity:0; transform:translateY(8px); transition:opacity .3s ease, transform .3s ease;}
.shm-pc-t b{font-size:13.5px; font-weight:800; line-height:1.2;}
.shm-pc-t em{font-style:normal; font:700 12px "Space Mono",monospace; color:var(--mx);}
.shm-stage:hover .shm-pc{transform:translateY(-10px) rotate(0deg);}
.shm-stage:hover .shm-pc-t, .shm-stage:focus-visible .shm-pc-t{opacity:1; transform:none;}
@media (hover:none){ .shm-pc-t{opacity:1; transform:none;} }
@media (max-width:900px){
  .shm-in{grid-template-columns:1fr; gap:10px;}
  .shm-run{margin-bottom:40px; font-size:15px;}
  .shm-stage{min-height:300px; padding-bottom:50px;}
  .shm-pc{max-width:44%; margin:0 -10px;}
  .shm-pc:nth-child(n+4){display:none;}
}
@media (prefers-reduced-motion: reduce){ .shm-run, .shm-pc-img, .shm-k i{animation:none;} }
.shm-pc:only-of-type{max-width:330px;}
@media (max-width:900px){ .shm-pc:only-of-type{max-width:68%;} }
/* front and back side by side (a piece shown both ways) */
.shm-pc.shm-side{max-width:300px; margin:0 6px; transform:none;}
.shm-side-k{margin-top:4px; padding:4px 10px; border-radius:99px; background:rgba(255,255,255,.08); font:700 10.5px "Space Mono",monospace; letter-spacing:.2em; text-transform:uppercase; color:var(--mx);}
.shm-stage:hover .shm-pc.shm-side{transform:translateY(-8px);}
@media (max-width:900px){ .shm-pc.shm-side{max-width:48%; margin:0 2px;} }

/* ===== The logo, up close: a gold-ringed lens with the artwork, slowly panning (RH Students pieces) ===== */
.shx-zoom-lens{position:relative; display:block; width:100%; aspect-ratio:1; border-radius:50%; overflow:hidden; background:#F4EFE4;
  box-shadow:0 0 0 5px #C8A96A, 0 0 0 7px rgba(255,255,255,.25), 0 26px 50px -18px rgba(0,0,0,.8), inset 0 0 30px rgba(0,0,0,.25);}
.shx-zoom-lens::after{content:""; position:absolute; inset:0; border-radius:50%; background:radial-gradient(60% 50% at 30% 25%, rgba(255,255,255,.45), transparent 60%); pointer-events:none;}
.shx-zoom-lens img{position:absolute; left:50%; top:50%; width:230%; height:auto; max-width:none; transform:translate(-50%,-50%); animation:shxPan 14s ease-in-out infinite;}
@keyframes shxPan{0%{transform:translate(-30%,-52%) scale(1);} 30%{transform:translate(-58%,-46%) scale(1.15);} 60%{transform:translate(-72%,-54%) scale(1);} 85%{transform:translate(-50%,-58%) scale(.72);} 100%{transform:translate(-30%,-52%) scale(1);}}
/* on the turntable: floats beside the garment when a Students piece is on it */
.shx-zoom{position:absolute; z-index:4; left:4%; top:1%; width:clamp(130px,13vw,190px); display:flex; flex-direction:column; align-items:center; gap:10px; pointer-events:none; opacity:0; transform:scale(.4) translateY(30px); transition:opacity .4s ease, transform .6s cubic-bezier(.3,1.5,.5,1);}
.shx-zoom.is-on{opacity:1; transform:none; animation:shxFloat 6s ease-in-out .6s infinite;}
.shx-zoom em{font-style:normal; font:700 10px "Space Mono",monospace; letter-spacing:.16em; text-transform:uppercase; color:#C8A96A; white-space:nowrap;}
@keyframes shxFloat{0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);}}
@media (max-width:900px){ .shx-zoom{width:110px; left:0; top:8%;} }
@media (prefers-reduced-motion: reduce){ .shx-zoom-lens img, .shx-zoom.is-on{animation:none;} }

/* ===== Homepage: the Ministries box (in Midweek's spot). Three photos in angled slices: the Midweek boys, students, young adults ===== */
.cube-grid .cube-ministries{grid-area:midweek;}
.cube-mn-front{background:#16241B;}
.cube-mn-front.has-img > .cube-mn{position:absolute; inset:0; z-index:0; display:block; overflow:hidden; border-radius:inherit;}
.cube-mn i{position:absolute; top:0; bottom:0; left:calc(var(--n) * 33.33% - 8%); width:calc(33.33% + 16%); overflow:hidden;
  clip-path:polygon(16% 0, 100% 0, 84% 100%, 0 100%); transition:transform .6s cubic-bezier(.3,1.2,.4,1);}
.cube-mn i:first-child{left:0; width:calc(33.33% + 8%); clip-path:polygon(0 0, 100% 0, 80% 100%, 0 100%);}
.cube-mn i:last-child{left:calc(66.66% - 8%); width:calc(33.34% + 8%); clip-path:polygon(20% 0, 100% 0, 100% 100%, 0 100%);}
.cube-mn img{display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.06); transition:transform 1.2s cubic-bezier(.2,.8,.2,1);}
.cube-mn::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(12,24,16,.05) 0%, rgba(12,24,16,.3) 45%, rgba(12,24,16,.88) 100%);}
.cube-mn-front.has-img::before{display:none;}
.cube-mn-front > *:not(.cube-mn){z-index:2;}
.cube-ministries:hover .cube-mn i:first-child{transform:translateX(-4%);}
.cube-ministries:hover .cube-mn i:last-child{transform:translateX(4%);}
.cube-ministries:hover .cube-mn img{transform:scale(1.12);}
@media (prefers-reduced-motion: reduce){ .cube-mn i, .cube-mn img{transition:none;} }

/* ===== 10 Years: the film at the top, in a gold frame (small gold triangle to play) ===== */
.tn-movie{position:relative; width:min(860px, 100%); margin:30px auto 26px; padding:6px; border-radius:18px; background:linear-gradient(135deg, #FFF3C4, #EBC660 28%, #B8862E 55%, #F3D684 78%, #A9781F); box-shadow:0 30px 70px -30px rgba(0,0,0,.85), 0 0 60px -20px rgba(235,198,96,.45);}
.tn-movie-poster, .tn-movie-vid{display:block; position:relative; width:100%; aspect-ratio:16/9; border:0; padding:0; border-radius:13px; overflow:hidden; background:#000; cursor:pointer;}
.tn-movie-poster img{display:block; width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.8,.2,1), filter .4s ease;}
.tn-movie-poster::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,9,14,.1) 30%, rgba(5,9,14,.78) 100%);}
.tn-movie-poster:hover img{transform:scale(1.04); filter:brightness(1.06);}
.tn-movie-play{position:absolute; z-index:2; left:50%; top:46%; width:58px; height:58px; margin:-29px 0 0 -29px; color:#EBC660; filter:drop-shadow(0 6px 16px rgba(0,0,0,.6)); transition:transform .35s cubic-bezier(.3,1.6,.5,1);}
.tn-movie-play svg{width:100%; height:100%;}
.tn-movie-poster:hover .tn-movie-play{transform:scale(1.15);}
.tn-movie-cap{position:absolute; z-index:2; left:22px; bottom:18px; display:flex; flex-direction:column; gap:4px; text-align:left;}
.tn-movie-cap b{font:700 clamp(20px,2.4vw,28px)/1.1 "Playfair Display", Georgia, serif; color:#fff;}
.tn-movie-cap small{font:800 11px "Manrope",sans-serif; letter-spacing:.2em; text-transform:uppercase; color:#EBC660;}
.tn-movie-vid{object-fit:contain; cursor:auto;}
@media (max-width:640px){ .tn-movie{margin:22px auto 20px; padding:4px; border-radius:14px;} .tn-movie-play{width:46px; height:46px; margin:-23px 0 0 -23px;} .tn-movie-cap{left:14px; bottom:12px;} }

/* ==== Coach's Hall of Fame, museum case (2026-10-27): real materials and quiet light, no neon, nothing bobbing ==== */
.mn-hall .mn-case{border-radius:6px;
  background:repeating-linear-gradient(90deg, rgba(255,235,200,.018) 0 1px, transparent 1px 6px, rgba(0,0,0,.05) 6px 7px, transparent 7px 13px), linear-gradient(180deg,#3B2617,#2B1A0F 55%,#22140B);
  box-shadow:inset 0 0 0 1px rgba(255,225,180,.07), inset 0 1px 0 rgba(255,225,180,.14), 0 46px 60px -34px rgba(0,0,0,.65), 0 2px 5px rgba(0,0,0,.25);}
/* the back wall: charcoal felt, lit from above like a museum case */
.mn-hall .mn-case::before{border-radius:2px;
  background:radial-gradient(52% 26% at 50% 0%, rgba(255,238,205,.26), transparent 72%), radial-gradient(40% 22% at 50% 36%, rgba(255,238,205,.07), transparent 70%), radial-gradient(42% 20% at 50% 66%, rgba(255,238,205,.06), transparent 70%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 3px), linear-gradient(180deg,#232A26,#1A201C 60%,#151A17);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.5), inset 0 18px 30px -18px rgba(0,0,0,.7), inset 0 -24px 40px -24px rgba(0,0,0,.7);}
.mn-hall .mn-case-lamp{opacity:.32; filter:blur(5px);}
/* engraved brass name plate */
.mn-hall .mn-case-plate{background:linear-gradient(180deg,#CDB074 0%,#B0904F 45%,#94753A 100%); border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(70,48,14,.55), inset 0 1px 0 rgba(255,244,214,.45), 0 2px 3px rgba(0,0,0,.45);}
.mn-hall .mn-case-plate::before, .mn-hall .mn-case-plate::after{background:#6E5524; box-shadow:inset 0 1px 0 rgba(255,240,200,.35);}
.mn-hall .mn-case-plate b{color:#2A1C0B; text-shadow:0 1px 0 rgba(255,240,205,.35); font-size:34px;}
.mn-hall .mn-case-plate small{color:#33230E; font-family:"Playfair Display",Georgia,serif; font-weight:700; letter-spacing:.32em;}
.mn-hall .mn-case-verse{color:rgba(232,222,198,.72); text-shadow:none;}
.mn-hall .mn-case-verse i{color:rgba(232,222,198,.45);}
/* glass shelves: a thin pane with a bright front edge and a soft shadow under it */
.mn-hall .mn-case-shelf::after{height:7px; background:linear-gradient(180deg, rgba(235,245,240,.30), rgba(235,245,240,.06) 70%, rgba(255,255,255,.22)); box-shadow:0 1px 0 rgba(255,255,255,.12), 0 12px 18px -8px rgba(0,0,0,.7);}
/* the trophies: still, grounded, real metal (no colored halos, no bounce or spin) */
.mn-hall .mn-trophy::before{display:none;}
.mn-hall .mn-trophy:hover, .mn-hall .mn-trophy.is-play{transform:translateY(-3px);}
.mn-hall .mn-trophy svg, .mn-hall .mn-trophy .mn-shirt{animation:none !important; filter:saturate(.72) brightness(.96) contrast(1.06) drop-shadow(0 12px 9px rgba(0,0,0,.5));}
.mn-hall .mn-trophy .mn-shirt svg{filter:none;}
.mn-hall .mn-shirt-glow, .mn-hall .mn-tro-shine, .mn-hall .mn-tro-glint{display:none;}
/* small engraved plates under each one */
.mn-hall .mn-trophy em{background:linear-gradient(180deg,#BFA164,#937338); color:#21160A; border-radius:1px; font-family:"Playfair Display",Georgia,serif; font-style:normal; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  box-shadow:inset 0 0 0 1px rgba(60,40,10,.5), inset 0 1px 0 rgba(255,244,214,.35), 0 1px 2px rgba(0,0,0,.4);}
/* photo frames and Coach's plaque in the same muted brass */
.mn-hall .mn-frame-in{background:linear-gradient(135deg,#C2A468,#8B6C33 55%,#B39557);}
.mn-hall .mn-memory{background:linear-gradient(180deg,#1E1510,#140D08); box-shadow:inset 0 0 0 1px #A88A4E, inset 0 0 0 4px #1E1510, inset 0 0 0 5px rgba(200,170,110,.3), 0 14px 20px -10px rgba(0,0,0,.75);}
.mn-hall .mn-memory:hover{box-shadow:inset 0 0 0 1px #C2A468, inset 0 0 0 4px #1E1510, inset 0 0 0 5px rgba(200,170,110,.5), 0 14px 20px -10px rgba(0,0,0,.75);}
.mn-hall .mn-memory-photo img{border-color:#A88A4E;}
/* the glass front: one faint reflection, slower */
.mn-hall .mn-case-glass{box-shadow:inset 0 0 0 2px #24150B, inset 0 0 0 3px rgba(255,255,255,.07);}
.mn-hall .mn-case-glass::before{opacity:.35; animation-duration:12s;}
.mn-hall .mn-case-glass::after{background:linear-gradient(180deg,#BFA164,#7A5E2A);}
/* a plain plinth instead of the little cupboard doors */
.mn-hall .mn-case::after{background:linear-gradient(180deg, rgba(255,225,180,.10), transparent 2px), linear-gradient(180deg,#2C1B10,#1E1209); box-shadow:inset 0 0 0 1px rgba(0,0,0,.4);}
.mn-hall .mn-memory-plaque b{font-family:"Playfair Display",Georgia,serif; letter-spacing:.22em; color:#C9AE76;}
.mn-hall .mn-memory-plaque i{font-family:"Playfair Display",Georgia,serif; font-style:normal; letter-spacing:.18em; color:rgba(201,174,118,.7);}
.mn-hall .mn-memory-plaque em{color:#E6D6B0;}

/* ==== Mountain theme (2026-11-03): the Kids area (Kids + Buddies) is becoming a mountain, and the website goes first.
   Drawn in SVG (inc/mountain.php), colored from each page's --mc / --mk, moves with transform + opacity only. ==== */
.mtn-defs{position:absolute; width:0; height:0; overflow:hidden;}
/* -- hero: sky, sun, clouds, birds and three ridges behind the snapshots -- */
.mn-kids .mn-hero, .mn-buddies .mn-hero{padding-bottom:clamp(150px,17vw,230px);}
.mn-kids .mn-hero-in, .mn-buddies .mn-hero-in{z-index:2;}
.mtn-sky, .mtn-range{position:absolute; left:0; right:0; pointer-events:none;}
.mtn-sky{inset:0; z-index:0; overflow:hidden;}
.mtn-range{bottom:0; height:clamp(190px,24vw,330px); z-index:1;}
.mtn-l{position:absolute; left:0; bottom:0; width:100%; height:100%; transform:translate3d(0, calc(var(--mtn-y, 0) * var(--mtn-d, 0px)), 0); will-change:transform;}
.mtn-far{--mtn-d:46px;} .mtn-mid{--mtn-d:24px;} .mtn-near{--mtn-d:0px;}
.mtn-far .mtn-rock{fill:color-mix(in srgb, var(--mc) 24%, #F6EFE2);}
.mtn-far .mtn-shade{fill:color-mix(in srgb, var(--mk) 16%, #F3E9D8); opacity:.75;}
.mtn-far use{fill:color-mix(in srgb, #2E6B3E 34%, #EFE6D3);}
.mtn-snow, .mtn-p-snow{fill:#fff;}
.mtn-mid .mtn-rock{fill:color-mix(in srgb, var(--mc) 46%, #E4D2B2);}
.mtn-mid .mtn-shade{fill:color-mix(in srgb, var(--mk) 40%, #D9C29C); opacity:.6;}
.mtn-near .mtn-hill{fill:#4C8A5A;}
.mtn-near .mtn-forest{fill:#2E6B3E;}
.mtn-near .mtn-ground{fill:var(--surface);}
.mtn-pole{stroke:#6B4A2B; stroke-width:3; stroke-linecap:round; fill:none;}
.mtn-pennant{fill:var(--mc); transform-box:fill-box; transform-origin:0 50%; animation:mtnWave 2.6s ease-in-out infinite;}
@keyframes mtnWave{0%,100%{transform:skewY(0) scaleX(1);} 50%{transform:skewY(-7deg) scaleX(.86);}}
.mtn-sun{position:absolute; left:47%; bottom:clamp(100px,13vw,190px); width:clamp(90px,10vw,150px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, #FFF6D8 0 42%, rgba(255,214,128,.55) 43%, rgba(255,200,110,0) 70%); animation:mtnSun 9s ease-in-out infinite;}
@keyframes mtnSun{0%,100%{transform:scale(1);} 50%{transform:scale(1.06);}}
.mtn-cloud{position:absolute; width:clamp(120px,14vw,220px); fill:#fff; opacity:.8; will-change:transform;}
.mtn-c1{top:22%; left:-16%; animation:mtnDrift 80s linear infinite;}
.mtn-c2{top:40%; left:-16%; width:clamp(90px,10vw,160px); opacity:.6; animation:mtnDrift 110s linear -55s infinite;}
@keyframes mtnDrift{from{transform:translate3d(0,0,0);} to{transform:translate3d(130vw,0,0);}}
.mtn-birds{position:absolute; top:26%; left:36%; width:clamp(70px,7vw,110px); fill:none; stroke:var(--mk); stroke-width:2.4; stroke-linecap:round; opacity:.55; animation:mtnGlide 16s ease-in-out infinite;}
.mtn-bd{transform-box:fill-box; transform-origin:50% 100%; animation:mtnFlap 1.1s ease-in-out infinite;}
.mtn-bd2{animation-delay:-.4s;} .mtn-bd3{animation-delay:-.75s;}
@keyframes mtnFlap{0%,100%{transform:scaleY(1);} 50%{transform:scaleY(.35);}}
@keyframes mtnGlide{0%,100%{transform:translate3d(0,0,0);} 50%{transform:translate3d(60px,-16px,0);}}
/* -- Sunday trail: a topographic map behind it and trail signs over each step -- */
.mn-kids .mn-sun, .mn-buddies .mn-sun{overflow:hidden;}
.mn-kids .mn-sun::before, .mn-buddies .mn-sun::before{content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:var(--mk); opacity:.07;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='420' viewBox='0 0 520 420'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M260 70c90 0 150 60 140 130s-80 120-150 116-140-60-130-130 50-116 140-116z'/%3E%3Cpath d='M262 100c66 0 110 44 102 98s-58 90-112 86-100-44-94-96 40-88 104-88z'/%3E%3Cpath d='M264 132c42 0 70 28 64 62s-36 58-70 54-64-28-58-62 26-54 64-54z'/%3E%3Cpath d='M266 164c18 0 30 12 28 28s-16 26-30 24-28-12-26-28 12-24 28-24z'/%3E%3Cpath d='M-20 360c80-40 150-20 210 10s160 40 230 0 120-30 140-10'/%3E%3Cpath d='M-20 390c90-36 160-14 220 14s150 34 220-4 110-26 120-10'/%3E%3Cpath d='M-20 30c70 30 120 20 160-10M380 -10c20 40 80 60 160 40'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 520px 420px repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='420' viewBox='0 0 520 420'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M260 70c90 0 150 60 140 130s-80 120-150 116-140-60-130-130 50-116 140-116z'/%3E%3Cpath d='M262 100c66 0 110 44 102 98s-58 90-112 86-100-44-94-96 40-88 104-88z'/%3E%3Cpath d='M264 132c42 0 70 28 64 62s-36 58-70 54-64-28-58-62 26-54 64-54z'/%3E%3Cpath d='M266 164c18 0 30 12 28 28s-16 26-30 24-28-12-26-28 12-24 28-24z'/%3E%3Cpath d='M-20 360c80-40 150-20 210 10s160 40 230 0 120-30 140-10'/%3E%3Cpath d='M-20 390c90-36 160-14 220 14s150 34 220-4 110-26 120-10'/%3E%3Cpath d='M-20 30c70 30 120 20 160-10M380 -10c20 40 80 60 160 40'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 520px 420px repeat;}
.mn-kids .mn-sun > .container, .mn-buddies .mn-sun > .container{position:relative; z-index:1;}
.mtn-sign{position:relative; z-index:2; display:inline-block; margin:0 0 12px; padding:5px 12px 4px; border-radius:3px; background:linear-gradient(180deg,#9A6A3E,#7A5130); color:#FFF4E2; font:800 11px/1.1 var(--font-mono, "Space Mono", monospace); letter-spacing:.14em; text-transform:uppercase; box-shadow:inset 0 0 0 1px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.18), 0 3px 0 #5A3A20; transform:rotate(-2deg);}
.mtn-sign::before, .mtn-sign::after{content:""; position:absolute; top:50%; width:4px; height:4px; margin-top:-2px; border-radius:50%; background:#4A2E18;}
.mtn-sign::before{left:4px;} .mtn-sign::after{right:4px;}
.mn-step:nth-child(even) .mtn-sign{transform:rotate(2deg);}
.mn-step:last-child .mtn-sign{background:linear-gradient(180deg, color-mix(in srgb, var(--mc) 85%, #fff), var(--mc)); color:#fff; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12), 0 3px 0 var(--mk);}
/* -- the skyline where Sundays meets the next section -- */
.mtn-edge{position:relative; z-index:2; height:clamp(70px,9vw,120px); margin-top:calc(clamp(70px,9vw,120px) * -1); pointer-events:none;}
.mtn-edge svg{position:absolute; left:0; bottom:-1px; width:100%; height:100%;}
.mtn-edge-back path{fill:color-mix(in srgb, var(--mc) 24%, var(--bg));}
.mtn-edge-front path{fill:var(--bg);}
.mtn-edge-trees{fill:color-mix(in srgb, #2E6B3E 70%, var(--bg));}
/* -- the closing summit -- */
.mn-kids .mn-end, .mn-buddies .mn-end{position:relative; overflow:hidden; padding:110px 0 clamp(260px,30vw,380px); background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--mt) 80%, transparent) 55%, var(--mt));}
.mn-kids .mn-end > .container, .mn-buddies .mn-end > .container{position:relative; z-index:2;}
.mtn-summit{position:absolute; inset:0; z-index:0; pointer-events:none;}
.mtn-rise{position:absolute; left:50%; bottom:clamp(120px,15vw,210px); width:clamp(240px,30vw,420px); aspect-ratio:1; margin-left:calc(clamp(240px,30vw,420px) / -2); border-radius:50%; background:radial-gradient(circle, rgba(255,231,170,.95) 0 30%, color-mix(in srgb, var(--mc) 35%, transparent) 50%, transparent 70%); opacity:0; transform:translateY(40px); transition:opacity 1.4s ease, transform 1.8s cubic-bezier(.2,.8,.2,1);}
.mtn-summit.is-go .mtn-rise{opacity:1; transform:none;}
.mtn-peak{position:absolute; left:0; bottom:0; width:100%; height:clamp(220px,26vw,360px);}
.mtn-p-back{fill:color-mix(in srgb, var(--mc) 30%, var(--mt));}
.mtn-p-main{fill:#3F6B51;}
.mtn-p-shade{fill:#2F5641;}
.mtn-peak use{fill:#2A4A39;}
.mtn-p-trail{fill:none; stroke:#F6EEDD; stroke-width:4; stroke-linecap:round; stroke-dasharray:2 12; opacity:0; transition:opacity 1s ease .6s;}
.mtn-summit.is-go .mtn-p-trail{opacity:.85;}
.mtn-summit .mtn-flag{transform-box:fill-box; transform-origin:50% 100%; transform:scaleY(0); transition:transform .7s cubic-bezier(.3,1.6,.5,1) 1.2s;}
.mtn-summit.is-go .mtn-flag{transform:scaleY(1);}
.mtn-star{position:absolute; width:var(--sz); height:var(--sz); background:#F2C14E; clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); opacity:.0; animation:mtnTwinkle 3.4s ease-in-out var(--d) infinite;}
@keyframes mtnTwinkle{0%,100%{opacity:.15; transform:scale(.7);} 50%{opacity:.9; transform:scale(1.1);}}
/* -- a little flag on the RH logo's mountain while you're in the Kids area -- */
body:has(.mn-kids, .mn-buddies) .brand{position:relative;}
body:has(.mn-kids, .mn-buddies) .brand::after{content:""; position:absolute; left:62%; top:-8px; width:22px; height:24px; pointer-events:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 24'%3E%3Cpath d='M3 23V2' stroke='%236B4A2B' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M4 3l15 4.5L4 12z' fill='%23F28C28'/%3E%3C/svg%3E") center / contain no-repeat; transform-origin:3px 23px; animation:mtnLogoFlag 1s cubic-bezier(.3,1.6,.5,1) .4s both;}
body:has(.mn-buddies) .brand::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 24'%3E%3Cpath d='M3 23V2' stroke='%236B4A2B' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M4 3l15 4.5L4 12z' fill='%238B5CF6'/%3E%3C/svg%3E");}
@keyframes mtnLogoFlag{from{transform:scale(0) rotate(-20deg);} to{transform:none;}}
@media (max-width:860px){
  .mtn-sun{left:auto; right:10%; bottom:auto; top:16%;}
  .mtn-birds{left:auto; right:30%; top:10%;}
  .mtn-sign{margin:0 0 8px; font-size:10px;}
}
@media (max-width:700px){
  .mn-step .mtn-sign{position:absolute; left:82px; top:-26px; margin:0;}
  .mn-kids .mn-step, .mn-buddies .mn-step{margin-top:14px;}
  .mtn-sun{top:6%; right:6%; width:70px;}
}
@media (prefers-reduced-motion: reduce){
  .mtn-pennant, .mtn-sun, .mtn-cloud, .mtn-birds, .mtn-bd, .mtn-star, body:has(.mn-kids, .mn-buddies) .brand::after{animation:none !important;}
  .mtn-l{transform:none;}
  .mtn-rise, .mtn-p-trail, .mtn-summit .mtn-flag{transition:none;}
  .mtn-star{opacity:.6;}
}
html.mn-calm-on .mtn-l{transform:none !important;}

/* ---- Students lockers: climbing gear on the top shelf, in place of the books (real photos, cut out).
   The top cubby gets 40px deeper to make room; everything below it moves down into the locker's spare space. ---- */
.mn-lk-in:has(.mtn-shelf){--lift:40px; padding-top:calc(54px + var(--lift));}
.mn-th.t-pillars:has(.mtn-shelf){padding-top:calc(78px + var(--lift));}
.mn-lk-in:has(.mtn-shelf) .mn-sc{top:var(--lift);}
.mn-lk-in:has(.mtn-shelf) .mn-lk-glow{top:calc(44px + var(--lift));}
.mn-lk-shelf:has(+ .mtn-shelf){top:calc(8px + var(--lift)); z-index:2;}
.mn-lk-shelf:has(+ .mtn-shelf) i{display:none;}
.mtn-shelf{position:absolute; z-index:1; left:0; right:0; top:0; height:calc(46px + var(--lift)); pointer-events:none; background:linear-gradient(180deg, var(--cb) 0 calc(100% - 4px), var(--bd) calc(100% - 4px)); box-shadow:inset 0 22px 34px -22px rgba(0,0,0,.55);}
.mn-th.t-midweek .mtn-shelf{--cb:#1A1530; --bd:#0E0B1F;}
.mn-th.t-forge .mtn-shelf{--cb:#3A2A20; --bd:#1E140F;}
.mn-th.t-pillars .mtn-shelf{--cb:#F3E9E4; --bd:#C9A15A; box-shadow:inset 0 22px 34px -24px rgba(90,40,50,.35);}
.mn-th.t-fuge .mtn-shelf{--cb:#FF7A1A; --bd:#C2410C;}
.mn-th.t-slt .mtn-shelf{--cb:#1F3550; --bd:#C9963F;}
.mtn-g{position:absolute; display:block; height:auto; max-width:none;}
.mtn-sit{bottom:3px; filter:drop-shadow(0 2px 1.5px rgba(0,0,0,.42)); transform-origin:50% 100%;}
.mtn-axe{left:42px; width:104px;}
.mtn-hammer{left:44px; width:84px;}
.mtn-lamp{left:44px; width:56px;}
.mtn-coil{right:6px; width:104px; bottom:2px;}
.mtn-hang{position:absolute; top:calc(100% - 5px); transform-origin:50% 0; filter:drop-shadow(2px 4px 3px rgba(0,0,0,.35));}
.mtn-hang img{position:static; display:block; height:100%; width:auto;}
.mtn-tail{right:9px; height:72px;}
.mtn-eye{position:absolute; top:calc(100% - 6px); width:9px; height:9px; margin-left:-4.5px; border-radius:50%; border:2px solid #C9CFCB; box-shadow:0 1px 1px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.6); box-sizing:border-box;}
.mn-th.t-forge .mtn-eye{right:30px;} .mn-th.t-slt .mtn-eye{right:40px;}
.mtn-rack{right:21px; top:calc(100% - 1px); height:76px;}
.mtn-draws{right:23px; top:calc(100% - 1px); height:82px;}
/* Midweek's headlamp: a soft beam that clicks on when the door opens */
.mtn-beam{position:absolute; left:58px; top:62px; width:190px; height:190px; transform-origin:0 0; transform:rotate(10deg); opacity:0; mix-blend-mode:screen;
  background:radial-gradient(ellipse 100% 100% at 0 0, rgba(255,255,235,.8), rgba(190,255,150,.3) 36%, rgba(155,255,107,.08) 60%, transparent 74%);
  clip-path:polygon(0 0, 100% 30%, 100% 80%, 0 7%);}
.mn-lk.is-open .mtn-beam{animation:mtnBeamOn 1.1s steps(1) .95s forwards, mtnBeamHum 4s ease-in-out 2.1s infinite;}
@keyframes mtnBeamOn{0%{opacity:.9;} 12%{opacity:0;} 22%{opacity:.85;} 30%{opacity:.15;} 42%,100%{opacity:1;}}
@keyframes mtnBeamHum{0%,100%{opacity:1;} 50%{opacity:.82;}}
/* the door opening knocks things around: hanging gear swings out and settles into a slow sway, the rest jostles */
.mn-lk.is-open .mtn-hang{animation:mtnSwing 3.4s cubic-bezier(.25,.6,.35,1) .45s backwards, mtnIdleSwing 6s ease-in-out 3.85s infinite;}
.mn-lk.is-open .mtn-rack{animation-delay:.5s, 3.9s; animation-duration:3.8s, 7s;}
.mn-lk.is-open .mtn-draws{animation-delay:.55s, 3.95s; animation-duration:3.6s, 6.6s;}
@keyframes mtnSwing{0%{transform:rotate(0);} 12%{transform:rotate(15deg);} 30%{transform:rotate(-10deg);} 48%{transform:rotate(6deg);} 68%{transform:rotate(-3deg);} 86%{transform:rotate(1.2deg);} 100%{transform:rotate(0);}}
@keyframes mtnIdleSwing{0%,100%{transform:rotate(0);} 25%{transform:rotate(2.4deg);} 75%{transform:rotate(-2deg);}}
.mn-lk.is-open .mtn-sit{animation:mtnJostle .9s cubic-bezier(.3,1.5,.5,1) .5s backwards;}
.mn-lk.is-open .mtn-coil{animation-delay:.58s;}
@keyframes mtnJostle{0%{transform:translateY(-6px) rotate(-5deg);} 55%{transform:translateY(0) rotate(2deg);} 100%{transform:none;}}
@media (max-width:700px){
  .mn-lk-in:has(.mtn-shelf){--lift:26px;}
  .mtn-axe{left:38px; width:72px;} .mtn-hammer{left:40px; width:62px;} .mtn-lamp{left:40px; width:42px;}
  .mtn-coil{right:4px; width:78px;} .mtn-tail{right:6px; height:56px;} .mtn-rack{height:58px;} .mtn-draws{height:62px;}
  .mtn-beam{left:50px; top:46px; width:130px; height:130px;}
}
}
@media (prefers-reduced-motion: reduce){
  .mn-lk.is-open .mtn-hang, .mn-lk.is-open .mtn-sit{animation:none;}
  .mn-lk.is-open .mtn-beam{animation:none; opacity:1;}
}

/* ==== Students series nights (first: "We Are Family", Nov 2026). Built from the series' own art: the polaroid wall,
   the orange-to-purple wash, film grain, and the hugging "we are family" logo. Students page + Student Calendar only. ==== */
@keyframes serPan{from{transform:scale(1.08) translate3d(-2%,-1%,0);} to{transform:scale(1.17) translate3d(2%,1.5%,0);}}
@keyframes serLeak{0%,100%{transform:translate3d(-35%,4%,0); opacity:.35;} 50%{transform:translate3d(38%,-8%,0); opacity:.85;}}
@keyframes serHug{0%,100%{transform:scale(1);} 44%{transform:scale(1.035,.985);} 56%{transform:scale(.99,1.02);}}
@keyframes serPop{from{opacity:0; transform:scale(.55) rotate(-8deg);} to{opacity:1; transform:none;}}
@keyframes serShine{0%,62%{transform:translate3d(-130%,0,0) skewX(-18deg);} 100%{transform:translate3d(130%,0,0) skewX(-18deg);}}
@keyframes serGrain{0%{transform:translate3d(0,0,0);} 20%{transform:translate3d(-3%,2%,0);} 40%{transform:translate3d(2%,-3%,0);} 60%{transform:translate3d(-2%,-1%,0);} 80%{transform:translate3d(3%,2%,0);} 100%{transform:translate3d(0,0,0);}}
@keyframes serToss{from{opacity:0; transform:translate3d(0,-150%,0) rotate(calc(var(--r) * 3));} to{opacity:1; transform:rotate(var(--r));}}
@keyframes serFloat{0%,100%{translate:0 0;} 50%{translate:0 -7px;}}
@keyframes serRise{from{opacity:0; transform:translate3d(0,14px,0);} to{opacity:1; transform:none;}}

/* -- "Coming up" on the Students page: the weekly Midweek row becomes the series' next night -- */
.mn-ser{--sd:40,16,60; --ser-ink:#5B2C83; --ser-plan:linear-gradient(120deg,#FF8A3C,#E8457A 55%,#7A4BD8); --ser-plan-ink:#fff; position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:center; gap:18px; min-height:270px; padding:22px 26px; border-radius:12px; color:#fff; background:#2A1640;
  box-shadow:0 22px 40px -22px rgba(80,20,90,.8), inset 0 0 0 1px rgba(255,255,255,.12);}
.mn-ser-bg{position:absolute; inset:-8%; z-index:-3; background:center / cover no-repeat; animation:serPan 26s ease-in-out infinite alternate; will-change:transform;}
.mn-ser::before{content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg, rgba(var(--sd),0) 0%, rgba(var(--sd),.35) 42%, rgba(var(--sd),.8) 100%), linear-gradient(0deg, rgba(var(--sd),.35), transparent 50%);}
.mn-ser-leak{position:absolute; inset:-20% -10%; z-index:-1; background:radial-gradient(34% 48% at 30% 40%, rgba(255,176,96,.6), transparent 70%), radial-gradient(26% 40% at 70% 70%, rgba(255,90,150,.35), transparent 70%); mix-blend-mode:screen; animation:serLeak 11s ease-in-out infinite; will-change:transform, opacity;}
.mn-ser-grain{position:absolute; inset:-10%; z-index:-1; opacity:.22; mix-blend-mode:overlay; pointer-events:none; animation:serGrain .9s steps(1) infinite;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");}
.mn-ser-pols{position:absolute; left:0; top:0; bottom:0; width:52%; z-index:-1; pointer-events:none;}
.mn-ser-pol{position:absolute; width:96px; padding:6px 6px 22px; background:#F7F2EC; box-shadow:0 12px 18px -8px rgba(0,0,0,.55); transform:rotate(var(--r)); opacity:0;}
.mn-ser-pol span{display:block; aspect-ratio:1; background-size:420% auto; filter:saturate(1.15) contrast(1.05);}
.mn-ser-pol.p1{left:4%; top:8%;} .mn-ser-pol.p2{left:30%; top:56%; width:84px;} .mn-ser-pol.p3{left:64%; top:4%; width:76px;}
.mn-ser.is-in .mn-ser-pol{animation:serToss .9s cubic-bezier(.2,1.25,.4,1) backwards, serFloat 6s ease-in-out 1s infinite; opacity:1;}
.mn-ser.is-in .mn-ser-pol.p2{animation-delay:.12s, 1.6s; animation-duration:.9s, 7s;} .mn-ser.is-in .mn-ser-pol.p3{animation-delay:.24s, 2.2s; animation-duration:.9s, 6.4s;}
.mn-ser-logo{position:relative; justify-self:center; width:min(100%, 330px); filter:drop-shadow(0 10px 26px rgba(40,10,60,.5)); opacity:0;}
.mn-ser-logo img{display:block; width:100%; height:auto;}
.mn-ser.is-in .mn-ser-logo{opacity:1; animation:serPop 1s cubic-bezier(.2,1.3,.4,1) .35s backwards;}
.mn-ser.is-in .mn-ser-logo img{animation:serHug 3.8s ease-in-out 1.4s infinite; transform-origin:50% 60%;}
.mn-ser-shine{position:absolute; inset:0; overflow:hidden; -webkit-mask-size:100% 100%; mask-size:100% 100%; pointer-events:none;}
.mn-ser-shine::before{content:""; position:absolute; top:0; bottom:0; left:0; width:45%; background:linear-gradient(90deg, transparent, rgba(255,236,200,.95), transparent); animation:serShine 5.5s ease-in-out 2s infinite;}
.mn-ser-copy{position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0;}
.mn-ser-copy > *{opacity:0;}
.mn-ser.is-in .mn-ser-copy > *{opacity:1; animation:serRise .7s cubic-bezier(.2,.8,.2,1) backwards;}
.mn-ser.is-in .mn-ser-copy > :nth-child(2){animation-delay:.1s;} .mn-ser.is-in .mn-ser-copy > :nth-child(3){animation-delay:.2s;} .mn-ser.is-in .mn-ser-copy > :nth-child(4){animation-delay:.3s;} .mn-ser.is-in .mn-ser-copy > :nth-child(5){animation-delay:.4s;} .mn-ser.is-in .mn-ser-copy > :nth-child(6){animation-delay:.5s;}
.mn-ser-k{padding:6px 12px 5px; border-radius:99px; background:rgba(255,255,255,.16); box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); font:800 11px/1 var(--font-mono, "Space Mono", monospace); letter-spacing:.14em; text-transform:uppercase;}
.mn-ser-when{font:400 clamp(26px,3vw,38px)/1.02 "Anton", Impact, sans-serif; letter-spacing:.01em; text-transform:uppercase; text-shadow:0 3px 18px rgba(40,10,60,.45);}
.mn-ser-time{margin-top:-2px; font:800 12.5px/1.2 var(--font-mono, "Space Mono", monospace); letter-spacing:.08em; text-transform:uppercase; opacity:.9;}
.mn-ser-who{font-size:17px; font-weight:800;}
.mn-ser-nx{font-size:13.5px; opacity:.85;}
.mn-ser-btns{display:flex; flex-wrap:wrap; gap:10px; margin-top:8px;}
.mn-ser-go, .mn-ser-plan{display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:99px; font-weight:800; font-size:14px; text-decoration:none; transition:transform .25s cubic-bezier(.2,1.4,.4,1);}
.mn-ser-go{background:#fff; color:var(--ser-ink);}
.mn-ser-go::after{content:""; position:absolute; inset:-400px; z-index:-1;} /* the whole card opens the night */
.mn-ser-plan{position:relative; z-index:3; background:var(--ser-plan); color:var(--ser-plan-ink); box-shadow:0 8px 18px -8px rgba(232,69,122,.8);}
.mn-ser-go:hover, .mn-ser-plan:hover{transform:translateY(-2px);}
.mn-ser-go svg, .mn-ser-plan svg{width:15px; height:15px;}
.mn-ser *{animation-play-state:paused !important;}
.mn-ser.is-on *{animation-play-state:running !important;}
.mn-ser-bg, .mn-ser-leak{animation-play-state:paused;}
.mn-ser.is-on .mn-ser-bg, .mn-ser.is-on .mn-ser-leak{animation-play-state:running;}
@media (max-width:700px){
  .mn-ser{grid-template-columns:1fr; gap:6px; padding:22px 18px 20px; min-height:0; text-align:left;}
  .mn-ser::before{background:linear-gradient(180deg, rgba(var(--sd),.05) 0%, rgba(var(--sd),.55) 48%, rgba(var(--sd),.85) 100%);}
  .mn-ser-logo{width:min(78%, 260px);}
  .mn-ser-pols{width:100%; height:48%;}
  .mn-ser-pol{width:70px;} .mn-ser-pol.p2{width:62px; top:62%; left:72%;} .mn-ser-pol.p3{width:58px; left:78%; top:4%;}
}

/* -- the night's square on the Student Calendar -- */
#view-calendar .cal-cell.has-series, #view-calendar .cal-cell.has-series:hover{background:#2A1640; border-color:transparent; color:#fff;}
#view-calendar .cal-cell.has-series > :not(.cal-ser){position:relative; z-index:1;}
#view-calendar .cal-cell.has-series .cal-num{color:#fff;}
#view-calendar .cal-cell.has-series .cal-chip{background:rgba(255,255,255,.92); color:#5B2C83;}
.cal-ser{position:absolute; inset:0; z-index:0; overflow:hidden; border-radius:inherit; pointer-events:none;}
.cal-ser-bg{position:absolute; inset:-12%; background:center / cover no-repeat; animation:serPan 30s ease-in-out infinite alternate;}
.cal-ser::after{content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(255,122,60,.28), rgba(90,40,150,.6));}
.ser-unx .cal-ser::after{background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(120,8,20,.5));}
#view-calendar .cal-cell.has-series.ser-unx, #view-calendar .cal-cell.has-series.ser-unx:hover{background:#C9303B;}
#view-calendar .cal-cell.has-series.ser-unx .cal-chip{color:#B3121E;}
.cal-ser img{position:absolute; z-index:1; right:7%; bottom:8%; width:64%; max-width:120px; filter:drop-shadow(0 3px 8px rgba(30,0,40,.45)); animation:serHug 3.8s ease-in-out infinite;}

/* -- the event pop-out on a series night -- */
#eventModal .ev-flyer.ev-ser{height:clamp(210px,32vh,300px); background:#2A1640;}
.ev-ser-bg{position:absolute; inset:-8%; z-index:-2; background:center / cover no-repeat; animation:serPan 26s ease-in-out infinite alternate;}
.ev-ser-leak{position:absolute; inset:-20%; z-index:-1; background:radial-gradient(34% 50% at 30% 40%, rgba(255,176,96,.55), transparent 70%); mix-blend-mode:screen; animation:serLeak 10s ease-in-out infinite;}
.ev-ser-logo{width:min(56%, 320px); height:auto; filter:drop-shadow(0 10px 24px rgba(40,10,60,.5)); animation:serPop .9s cubic-bezier(.2,1.3,.4,1) .2s backwards, serHug 3.8s ease-in-out 1.3s infinite;}
.ev-ser-wk{position:absolute; left:16px; bottom:14px; padding:6px 12px 5px; border-radius:99px; background:rgba(255,255,255,.94); color:#5B2C83; font:800 11px/1 var(--font-mono, "Space Mono", monospace); letter-spacing:.14em; text-transform:uppercase;}
#eventModal .is-series .ev-head{background:linear-gradient(120deg, #FF7A3C, #E8457A 52%, #6F4BD8);}
#eventModal .is-series.ser-unx .ev-head{background:linear-gradient(120deg, #B3121E, #E23A44 50%, #F27A6E);}
#eventModal .ev-flyer.ev-ser.ser-unx{background:#C9303B;}
.ser-unx .ev-plan{background:linear-gradient(120deg,#A6E85A,#5FC24A); color:#1B2A12; box-shadow:0 10px 20px -10px rgba(95,194,74,.8);}
.ser-unx .ev-desc.ev-lesson{border-left-color:#E23A44;}
#eventModal .ev-desc.ev-speaker{font-size:17px; font-weight:800; color:var(--ink);}
#eventModal .ev-desc.ev-lesson{font-size:16px; line-height:1.55; border-left-color:#E8457A;}
.ev-plan{display:flex; align-items:center; gap:10px; margin:14px 0 6px; padding:14px 16px; border-radius:14px; background:linear-gradient(120deg,#FF8A3C,#E8457A 55%,#7A4BD8); color:#fff; font-weight:800; font-size:15px; text-decoration:none; box-shadow:0 10px 20px -10px rgba(232,69,122,.75); transition:transform .25s cubic-bezier(.2,1.4,.4,1);}
.ev-plan span{flex:1;}
.ev-plan svg{flex:none; width:20px; height:20px;}
.ev-plan:hover{transform:translateY(-2px);}
.ev-plan.is-small{padding:10px 14px; font-size:14px; background:#F4ECFA; color:#5B2C83; box-shadow:none;}
@media (prefers-reduced-motion: reduce){
  .mn-ser *, .mn-ser-bg, .mn-ser-leak, .cal-ser-bg, .cal-ser img, .ev-ser-bg, .ev-ser-leak, .ev-ser-logo{animation:none !important;}
  .mn-ser-pol, .mn-ser-logo, .mn-ser-copy > *{opacity:1 !important;}
}

/* ---- Shop color dots: the whole circle clicks (2026-11-09). The showroom's product name sat over the bottom half of
   the dots and ate the clicks; the color row now stacks above it, and every dot gets a slightly bigger invisible hit area. ---- */
.sh-sw-row, .sh-swatches{position:relative; z-index:3;}
.sh-sw{position:relative;}
.sh-sw::before{content:""; position:absolute; inset:-5px; border-radius:50%;}
#shName{position:relative; z-index:1;}

/* -- "Unexpected: The Gift of Christmas": a torn paper label slapped onto wrapping paper, green tape stuck across it,
   snow drifting down. The label and tape are cut from the series' title slide. -- */
.mn-ser.ser-unx{--sd:96,6,18; --ser-ink:#B3121E; --ser-plan:linear-gradient(120deg,#A6E85A,#5FC24A); --ser-plan-ink:#1B2A12; background:#C9303B;}
.ser-lab{position:relative; display:block; aspect-ratio:1664 / 642; width:min(100%, 400px);}
.ser-lab img{position:absolute; display:block; height:auto; max-width:none;}
.ser-lab img.ser-lab-l{left:0; top:0; width:96.8%; filter:drop-shadow(0 8px 14px rgba(60,0,10,.45));}
.ser-lab img.ser-lab-t{left:38.3%; top:72%; width:61.7%; filter:drop-shadow(0 4px 6px rgba(20,40,0,.35));}
@keyframes serSlap{0%{opacity:0; transform:scale(1.7) rotate(-12deg);} 55%{opacity:1; transform:scale(.95) rotate(1.5deg);} 75%{transform:scale(1.02) rotate(-.6deg);} 100%{opacity:1; transform:none;}}
@keyframes serTape{from{opacity:1; clip-path:inset(-10% 100% -10% 0); transform:rotate(-4deg) translate3d(-8px,0,0);} to{opacity:1; clip-path:inset(-10% 0 -10% 0); transform:none;}}
@keyframes serWiggle{0%,86%,100%{transform:rotate(0);} 89%{transform:rotate(-1.6deg);} 93%{transform:rotate(1.2deg);} 96%{transform:rotate(-.5deg);}}
@keyframes serSnow{from{transform:translate3d(0,-20px,0);} to{transform:translate3d(var(--dx,20px),330px,0);}}
.mn-ser .ser-lab{justify-self:center; width:min(94%, 380px); opacity:0;}
.mn-ser.is-in .ser-lab{opacity:1; animation:serSlap .8s cubic-bezier(.3,1.2,.4,1) .35s backwards;}
.mn-ser .ser-lab .ser-lab-t{clip-path:inset(-10% 100% -10% 0);}
.mn-ser.is-in .ser-lab .ser-lab-t{animation:serTape .55s cubic-bezier(.3,.8,.3,1) 1.15s forwards;}
.mn-ser.is-in .ser-lab .ser-lab-l{animation:serWiggle 6s ease-in-out 2.4s infinite; transform-origin:30% 60%;}
.mn-ser-pops{position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none;}
.mn-ser-pops i, .mn-ser-pops i::before, .mn-ser-pops i::after{position:absolute; width:7px; height:7px; border-radius:50%; background:#fff; opacity:.75; filter:blur(.4px);}
.mn-ser-pops i{top:0; animation:serSnow 9s linear infinite;}
.mn-ser-pops i::before, .mn-ser-pops i::after{content:"";}
.mn-ser-pops i::before{left:120px; top:-60px; width:5px; height:5px; opacity:.6;}
.mn-ser-pops i::after{left:-90px; top:-140px; width:9px; height:9px; opacity:.5;}
.mn-ser-pops i:nth-child(1){left:8%; --dx:30px; animation-delay:-2s;}
.mn-ser-pops i:nth-child(2){left:28%; --dx:-20px; animation-duration:11s; animation-delay:-6s;}
.mn-ser-pops i:nth-child(3){left:50%; --dx:24px; animation-duration:8s; animation-delay:-4s;}
.mn-ser-pops i:nth-child(4){left:70%; --dx:-26px; animation-duration:12s; animation-delay:-9s;}
.mn-ser-pops i:nth-child(5){left:90%; --dx:18px; animation-duration:10s; animation-delay:-1s;}
/* the pop-out and the calendar day use the same two pieces */
.ev-ser-logo.ser-lab{width:min(70%, 420px); animation:serSlap .8s cubic-bezier(.3,1.2,.4,1) .2s backwards;}
.ev-ser-logo.ser-lab .ser-lab-t{clip-path:inset(-10% 100% -10% 0); animation:serTape .5s cubic-bezier(.3,.8,.3,1) .95s forwards;}
@media (max-width:700px){ .mn-ser .ser-lab{width:min(88%, 320px); margin:6px 0 10px;} }
@media (prefers-reduced-motion: reduce){
  .ser-lab, .ser-lab img, .mn-ser-pops i{animation:none !important;}
  .ser-lab, .ser-lab .ser-lab-t{opacity:1 !important; clip-path:none !important;}
}

/* ===== My Rising Hills (member sign-in, inc/members.php) ===== */
.me-btn{position:relative; width:44px; height:44px; flex:none; border-radius:50%; border:1.5px solid rgba(46,107,62,.35); background:rgba(255,255,255,.55); color:#1C2A1E; display:grid; place-items:center; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); transition:transform .3s cubic-bezier(.3,1.5,.5,1), border-color .3s, background .3s;}
.me-btn svg{width:21px; height:21px;}
.me-btn:hover{transform:translateY(-2px) scale(1.05); border-color:var(--green);}
body.hero-dark header.nav:not(.scrolled) .me-btn, body.theme-midweek .me-btn, body.bp-page .me-btn{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.35);}
.me-dot{position:absolute; right:1px; top:1px; width:11px; height:11px; border-radius:50%; background:#3FB36A; border:2px solid var(--bg); transform:scale(0); transition:transform .4s cubic-bezier(.3,1.6,.5,1);}
html.me-in .me-dot{transform:scale(1);}
.mm-me{display:flex; align-items:center; gap:10px; position:relative;}
.mm-me svg{width:20px; height:20px;}
.mm-me .me-dot{position:static; order:3; border:0;}
@media (max-width:640px){ .nav-cta .me-btn{width:40px; height:40px;} }
@media (max-width:420px){ .nav-cta .me-btn{display:none;} }

.me-door{position:relative; min-height:86vh; display:grid; place-items:center; padding:150px 0 80px; overflow:hidden; background:linear-gradient(180deg,var(--surface),var(--bg));}
.me-door-glow, .me-top-glow{position:absolute; inset:-20%; pointer-events:none; background:radial-gradient(40% 36% at 28% 30%, rgba(var(--teal-rgb),.20), transparent 70%), radial-gradient(36% 34% at 74% 62%, rgba(var(--blue-rgb),.18), transparent 70%), radial-gradient(30% 30% at 55% 18%, rgba(var(--tan-rgb),.20), transparent 70%); animation:meDrift 22s ease-in-out infinite alternate;}
@keyframes meDrift{ to{ transform:translate3d(3%,-2%,0) rotate(6deg) scale(1.06);} }
.me-door-in{position:relative; display:grid; place-items:center;}
.me-door-card{width:min(100%,520px); text-align:center; padding:44px 34px 34px; border-radius:28px; background:rgba(251,247,239,.82); border:1px solid var(--line); box-shadow:var(--shadow); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); animation:meRise .8s cubic-bezier(.2,.9,.2,1) both;}
@keyframes meRise{ from{opacity:0; transform:translateY(26px) scale(.97);} }
.me-door-mark{display:inline-grid; place-items:center; width:84px; height:84px; border-radius:50%; background:#fff; box-shadow:0 14px 30px -16px rgba(19,42,22,.5); margin-bottom:18px; animation:meBob 5s ease-in-out infinite;}
.me-door-mark img{width:56px; height:56px; object-fit:contain;}
@keyframes meBob{ 50%{ transform:translateY(-6px);} }
.me-door-card h1{font-size:clamp(40px,7vw,64px); margin-top:8px;}
.me-door-p{margin:16px auto 0; max-width:38ch; font-size:16.5px; color:var(--ink-soft);}
.me-door-btn{margin-top:26px; width:100%; justify-content:center; min-height:54px; font-size:16px;}
.me-door-small{margin-top:16px; font-size:13px; color:var(--ink-faint); line-height:1.55;}

.me-top{position:relative; overflow:hidden; padding:150px 0 44px; background:linear-gradient(180deg,var(--surface),var(--bg)); border-bottom:1px solid var(--line);}
.me-top-in{position:relative; display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.me-face{flex:none; width:64px; height:64px; border-radius:50%; overflow:hidden; display:grid; place-items:center; background:var(--grad); color:#fff; box-shadow:0 0 0 3px var(--surface), 0 0 0 5px rgba(var(--teal-rgb),.35);}
.me-face img{width:100%; height:100%; object-fit:cover;}
.me-face b{font-family:"Anton",sans-serif; font-weight:400; font-size:24px; letter-spacing:.03em;}
.me-top .me-face{width:104px; height:104px; animation:meRise .7s cubic-bezier(.2,.9,.2,1) both;}
.me-top .me-face b{font-size:40px;}
.me-top-txt{flex:1; min-width:220px; animation:meRise .7s .08s cubic-bezier(.2,.9,.2,1) both;}
.me-top-txt h1{font-size:clamp(40px,6.4vw,76px); margin-top:8px; overflow-wrap:anywhere;}
.me-top-sub{margin-top:10px; color:var(--ink-soft); font-weight:700;}
.me-out{font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); text-decoration:none; padding:12px 18px; border:1.5px solid var(--line-strong); border-radius:999px; transition:background .25s, color .25s;}
.me-out:hover{background:var(--ink); color:var(--surface);}

.me-body{padding:38px 0 90px;}
.me-note{margin:0 0 18px; padding:14px 18px; border-radius:14px; background:var(--surface); border:1px solid var(--line); font-size:15px;}
.me-note-ok{border-color:rgba(46,107,62,.4); background:rgba(46,107,62,.08);}
.me-note-bad{border-color:rgba(160,50,40,.4); background:rgba(160,50,40,.07);}
.me-waiting{display:grid; gap:10px; margin-bottom:24px;}
.me-wait{display:flex; gap:14px; align-items:flex-start; padding:14px 18px; border-radius:16px; background:rgba(var(--tan-rgb),.16); border:1px solid rgba(var(--tan-rgb),.5);}
.me-wait b{display:block; font-size:12px; text-transform:uppercase; letter-spacing:.08em;}
.me-wait span{display:block; margin-top:3px; font-size:15px; color:var(--ink-soft); overflow-wrap:anywhere;}
.me-pulse{flex:none; width:12px; height:12px; margin-top:4px; border-radius:50%; background:var(--tan); animation:mePulse 2s ease-out infinite;}
@keyframes mePulse{ 0%{box-shadow:0 0 0 0 rgba(var(--tan-rgb),.6);} 100%{box-shadow:0 0 0 12px rgba(var(--tan-rgb),0);} }
.me-wait-no{background:rgba(160,50,40,.06); border-color:rgba(160,50,40,.3);}
.me-wait-no i{flex:none; width:22px; height:22px; border-radius:50%; background:#A03228; color:#fff; font-style:normal; font-weight:800; font-size:13px; display:grid; place-items:center;}

.me-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start;}
.me-card{padding:26px; border-radius:22px; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow); opacity:0; transform:translateY(22px); transition:opacity .7s var(--me-d,0ms), transform .7s var(--me-d,0ms) cubic-bezier(.2,.9,.2,1);}
.me-card.is-in{opacity:1; transform:none;}
.me-card header{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;}
.me-card h2{font-size:28px;}
.me-edit{font:inherit; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:10px 16px; min-height:44px; border-radius:999px; border:1.5px solid rgba(46,107,62,.45); background:transparent; color:var(--teal-ink); cursor:pointer; transition:background .25s, color .25s, transform .3s cubic-bezier(.3,1.5,.5,1);}
.me-edit:hover{background:var(--green); color:#fff; transform:translateY(-2px);}
.me-about dl{margin:0;}
.me-about dl div{display:grid; grid-template-columns:96px 1fr; gap:12px; padding:13px 0; border-top:1px solid var(--line);}
.me-about dt{font-family:"Space Mono",monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-faint); padding-top:3px;}
.me-about dd{margin:0; font-weight:600; overflow-wrap:anywhere;}
.me-about dd em{font-weight:500; color:var(--ink-faint);}
.me-tag{display:inline-block; margin-left:6px; padding:2px 9px; border-radius:999px; background:rgba(var(--tan-rgb),.25); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#6B4E22; white-space:nowrap;}
.me-fine{margin-top:14px; font-size:12.5px; color:var(--ink-faint);}
.me-people{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.me-people li{display:flex; align-items:center; gap:14px; padding:10px; border-radius:16px; background:var(--bg); border:1px solid var(--line);}
.me-people .me-face{width:48px; height:48px; box-shadow:none;}
.me-people .me-face b{font-size:18px;}
.me-people b{display:block;} .me-people small{color:var(--ink-faint); font-size:13px;}
.me-empty{color:var(--ink-soft); font-size:15px;}

.me-dlg{width:min(94vw,560px); max-height:92vh; padding:0; border:0; border-radius:24px; background:var(--surface); color:var(--ink); box-shadow:0 40px 90px -30px rgba(0,0,0,.6); overflow:auto;}
.me-dlg[open]{animation:meRise .45s cubic-bezier(.2,.9,.2,1) both;}
.me-dlg::backdrop{background:rgba(var(--scrim-rgb),.6); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);}
.me-dlg form{padding:28px;}
.me-dlg h2{font-size:30px;}
.me-dlg-p{margin-top:8px; color:var(--ink-soft); font-size:14.5px;}
.me-fields{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px;}
.me-f span{display:block; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-soft); margin-bottom:6px;}
.me-f input, .me-f select{width:100%; min-height:48px; padding:10px 14px; font:inherit; font-size:16px; color:var(--ink); background:#fff; border:1.5px solid var(--line-strong); border-radius:12px; transition:border-color .2s, box-shadow .2s;}
.me-f input:focus, .me-f select:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(46,107,62,.15);}
.me-f-email, .me-f-street{grid-column:1 / -1;}
.me-dlg-row{display:flex; justify-content:flex-end; gap:10px; margin-top:24px; flex-wrap:wrap;}
@media (max-width:760px){
  .me-grid{grid-template-columns:1fr;}
  .me-top{padding-top:120px;} .me-top .me-face{width:76px; height:76px;} .me-top .me-face b{font-size:30px;}
  .me-door{padding-top:120px;} .me-door-card{padding:34px 22px 26px;}
  .me-fields{grid-template-columns:1fr;} .me-dlg form{padding:22px;}
  .me-dlg-row .btn{flex:1; justify-content:center;}
  .me-about dl div{grid-template-columns:1fr; gap:2px;}
}
@media (prefers-reduced-motion:reduce){
  .me-door-glow, .me-top-glow, .me-door-mark, .me-pulse{animation:none;}
  .me-door-card, .me-top .me-face, .me-top-txt, .me-dlg[open]{animation:none;}
  .me-card{opacity:1; transform:none; transition:none;}
}

/* ===== Students "Ascend" touches (2026-11-10): neon RH on top, the rope route, Coach's plaque, locker lean ===== */
.lf-front:has(.lf-neon){background:#04070c; box-shadow:0 0 0 1px rgba(34,211,198,.6), 0 0 20px rgba(34,211,198,.5), 0 0 38px rgba(62,123,250,.35);}
.lf-front img.lf-neon{padding:0; object-fit:cover;}
header.nav.scrolled .lf-front img.lf-neon{padding:0;}

.mn-students{position:relative;}
.asc-route{position:absolute; z-index:4; right:max(22px, calc(50vw - 668px)); width:0; pointer-events:none;}
.asc-rope{position:absolute; top:0; bottom:0; left:-4.5px; width:9px; border-radius:5px; background:url(../media/asc-rope-v1.png) center top / 9px auto repeat-y; filter:saturate(.62) brightness(.8) hue-rotate(24deg); box-shadow:3px 4px 6px rgba(20,30,22,.28);}
.asc-rope::after{content:""; position:absolute; inset:0; border-radius:5px; background:linear-gradient(90deg, rgba(0,0,0,.38), rgba(255,255,255,.22) 38%, rgba(0,0,0,.05) 60%, rgba(0,0,0,.42));}
.asc-rope::before{content:""; position:absolute; left:-5px; top:-9px; width:19px; height:19px; border-radius:50%; background:radial-gradient(circle at 38% 34%, #f4f6f8, #9aa1a9 45%, #4d535b); box-shadow:0 3px 5px rgba(0,0,0,.45), inset 0 0 0 5px rgba(0,0,0,.0); z-index:1;}
.asc-anchor{position:absolute; left:-27px; width:26px; transform-origin:50% 3px; transform:rotate(-16deg); opacity:0; filter:drop-shadow(3px 5px 4px rgba(20,30,22,.35));}
.asc-anchor img{display:block; width:100%; height:auto;}
.asc-anchor::before{content:""; position:absolute; left:50%; top:-7px; width:14px; height:14px; margin-left:-7px; border-radius:50%; background:radial-gradient(circle at 38% 34%, #f4f6f8, #9aa1a9 45%, #4d535b); box-shadow:0 2px 3px rgba(0,0,0,.5);}
.asc-anchor.is-in{opacity:1; animation:ascClip 2.2s cubic-bezier(.3,.6,.3,1) both;}
@keyframes ascClip{ 0%{opacity:0; transform:rotate(-58deg);} 18%{opacity:1;} 38%{transform:rotate(6deg);} 56%{transform:rotate(-9deg);} 74%{transform:rotate(-1deg);} 100%{transform:rotate(-4deg);} }
.asc-run{position:sticky; top:44vh; display:block; width:40px; margin-left:-20px; transform-origin:50% 4px; transform:rotate(var(--sw, 0deg)); transition:transform .9s cubic-bezier(.3,1.7,.4,1); filter:drop-shadow(4px 7px 5px rgba(20,30,22,.38));}
.asc-run img{display:block; width:100%; height:auto;}
@media (max-width:1380px){
  .asc-route{right:9px;}
  .asc-rope{left:-3px; width:6px; background-size:6px auto;}
  .asc-rope::before{left:-4px; top:-7px; width:14px; height:14px;}
  .asc-anchor{display:none;}
  .asc-run{width:22px; margin-left:-11px; top:52vh;}
}

.mn-students .mn-lk-bank{transform:perspective(1900px) rotateY(var(--ax, 0deg)) rotateX(var(--ay, 0deg)); transition:transform .6s cubic-bezier(.2,.8,.2,1); will-change:transform;}
.mn-lk.asc-rattle{animation:ascRattle .55s ease-out 1;}
@keyframes ascRattle{ 0%{transform:translateX(0);} 18%{transform:translateX(-3px) rotate(-.25deg);} 42%{transform:translateX(2.4px) rotate(.2deg);} 68%{transform:translateX(-1.2px);} 100%{transform:none;} }

.asc-coach{position:relative; padding:14px 0 64px;}
.asc-plq{position:relative; display:flex; align-items:center; gap:22px; max-width:860px; margin:0 auto; padding:20px 34px; border-radius:8px; color:#2A2110;
  background:linear-gradient(100deg,#A9823A,#F3DFA2 28%,#C9A24D 52%,#EFD996 74%,#96712C); background-size:230% 100%; background-position:var(--gx, 40%) 0;
  box-shadow:inset 0 1px 0 #FFF6D6, inset 0 -2px 3px rgba(0,0,0,.32), inset 0 0 0 5px rgba(120,86,26,.22), 0 22px 34px -20px rgba(40,28,8,.7);}
.asc-plq::after{content:""; position:absolute; inset:0; border-radius:8px; pointer-events:none; opacity:.5; mix-blend-mode:soft-light;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='b'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9 .012' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23b)'/%3E%3C/svg%3E");}
.asc-scr{position:absolute; width:9px; height:9px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFF3C4, #8C6420 70%); box-shadow:0 1px 1px rgba(0,0,0,.45);}
.asc-scr::after{content:""; position:absolute; left:1.5px; right:1.5px; top:4px; height:1px; background:rgba(60,40,8,.7); transform:rotate(-35deg);}
.asc-scr.is-1{left:10px; top:10px;} .asc-scr.is-2{right:10px; top:10px;} .asc-scr.is-3{left:10px; bottom:10px;} .asc-scr.is-4{right:10px; bottom:10px;}
.asc-plq-pic{flex:none; width:92px; height:92px; border-radius:50%; overflow:hidden; box-shadow:0 0 0 3px #8C6420, 0 0 0 5px #F3DFA2, 0 6px 12px rgba(40,28,8,.5);}
.asc-plq-pic img{width:100%; height:100%; object-fit:cover; object-position:50% 30%; display:block;}
.asc-plq-txt{flex:1; min-width:0; text-shadow:0 1px 0 rgba(255,255,255,.5);}
.asc-plq-txt small{display:block; font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase;}
.asc-plq-txt b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:clamp(22px,2.6vw,30px); letter-spacing:.05em; text-transform:uppercase; line-height:1.05; margin-top:3px;}
.asc-plq-txt em{display:block; font-family:Georgia,serif; font-size:14.5px; line-height:1.4; margin-top:6px;}
.asc-plq-txt i{display:block; font-family:"Space Mono",monospace; font-style:normal; font-size:10px; letter-spacing:.22em; text-transform:uppercase; margin-top:5px;}
.asc-plq-more{flex:none; display:flex; gap:8px;}
.asc-plq-more img{width:74px; height:74px; object-fit:cover; border-radius:4px; box-shadow:0 0 0 2px #8C6420, 0 0 0 4px #F3DFA2, 0 5px 10px rgba(40,28,8,.45); transition:transform .5s cubic-bezier(.3,1.5,.5,1);}
.asc-plq-more img:first-child{transform:rotate(-3deg);} .asc-plq-more img:last-child{transform:rotate(3deg);}
@media (hover:hover){ .asc-plq:hover .asc-plq-more img{transform:rotate(0) translateY(-3px);} }
@media (max-width:760px){
  .asc-coach{padding:6px 0 44px;}
  .asc-plq{flex-wrap:wrap; justify-content:center; text-align:center; gap:14px; padding:24px 22px 22px; margin:0 6px;}
  .asc-plq-txt{flex-basis:100%;}
  .asc-plq-pic{width:84px; height:84px;}
  .asc-plq-more img{width:64px; height:64px;}
}
@media (prefers-reduced-motion:reduce){
  .asc-anchor.is-in{animation:none; transform:rotate(-4deg);} .asc-run{transition:none;} .mn-students .mn-lk-bank{transform:none; transition:none;} .mn-lk.asc-rattle{animation:none;}
}
/* the signed-in student ID, hanging under the buttons at the top of Students */
.asc-id{position:relative; display:inline-block; margin-top:34px; text-decoration:none; color:#14201A; perspective:900px; transform-origin:34px -26px; animation:ascIdDrop 2.4s cubic-bezier(.3,.6,.3,1) both;}
@keyframes ascIdDrop{ 0%{opacity:0; transform:translateY(-40px) rotate(-14deg);} 22%{opacity:1; transform:rotate(7deg);} 44%{transform:rotate(-5deg);} 66%{transform:rotate(2.5deg);} 100%{transform:rotate(0);} }
.asc-id-strap{position:absolute; left:26px; top:-30px; width:16px; height:36px; border-radius:3px; background:linear-gradient(90deg,#1F5A30,#4FA765 45%,#24663A); box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);}
.asc-id-strap::after{content:""; position:absolute; left:-4px; bottom:-10px; width:24px; height:18px; border-radius:5px 5px 8px 8px; background:linear-gradient(90deg,#6D727A,#F1F3F5 40%,#8A9098 70%,#4C5158); box-shadow:0 3px 5px rgba(0,0,0,.35);}
.asc-id-card{position:relative; display:flex; align-items:center; gap:14px; padding:14px 18px 14px 14px; min-width:290px; border-radius:16px; overflow:hidden; background:linear-gradient(150deg,#FFFFFF,#F1ECE0); box-shadow:0 22px 34px -18px rgba(20,32,26,.55), inset 0 0 0 1px rgba(255,255,255,.9), 0 0 0 1px rgba(28,42,30,.12); transform:rotateY(var(--ix,0deg)) rotateX(var(--iy,0deg)); transition:transform .5s cubic-bezier(.2,.9,.2,1);}
.asc-id-foil{position:absolute; inset:0; pointer-events:none; opacity:.5; background:linear-gradient(115deg,transparent 25%,rgba(255,120,200,.45) 40%,rgba(120,220,255,.5) 48%,rgba(180,255,140,.45) 56%,transparent 70%); background-size:250% 100%; background-position:var(--fx,30%) 0; transition:background-position .4s;}
.asc-id-pic{position:relative; flex:none; width:58px; height:66px; border-radius:9px; display:grid; place-items:center; background:var(--grad); color:#fff; font-family:"Anton",sans-serif; font-size:26px; box-shadow:inset 0 0 0 2px #fff, 0 4px 9px rgba(0,0,0,.2);}
.asc-id-txt{position:relative; min-width:0;}
.asc-id-txt small{display:block; font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--green);}
.asc-id-txt b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:30px; line-height:1; text-transform:uppercase; margin-top:3px; overflow-wrap:anywhere;}
.asc-id-txt em{display:block; font-style:normal; font-size:12.5px; font-weight:700; color:var(--ink-soft); margin-top:4px;}
.asc-id-go{position:relative; margin-left:auto; padding-left:10px; font-size:12px; font-weight:800; white-space:nowrap; color:var(--green);}
@media (max-width:480px){ .asc-id{display:block;} .asc-id-card{min-width:0;} .asc-id-go{display:none;} }
@media (prefers-reduced-motion:reduce){ .asc-id{animation:none;} .asc-id-card{transition:none;} }

/* ===== My Rising Hills part two: sign-in top right, student look, coming up, serving, staff edit mode ===== */
.nav-cta .me-btn{order:9;} .nav-cta .burger{order:10;}
@media (max-width:420px){ .nav-cta .me-btn{display:grid; width:38px; height:38px;} .nav-cta:has(.me-btn) .btn-pray .bp-short{display:none;} .nav-cta:has(.me-btn) .btn-pray{padding-left:11px; padding-right:11px;} .nav-cta:has(.me-btn){gap:6px;} }
.me-role{display:inline-block; padding:3px 10px; border-radius:999px; background:var(--grad); color:#fff; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; vertical-align:2px;}
.me-grid-top{margin-bottom:22px;}
.me-staffcard{margin-bottom:22px; border-color:rgba(var(--tan-rgb),.6);}
.me-staffcard p{margin:0; color:var(--ink-soft);}
.me-reqs{list-style:none; margin:14px 0 0; padding:0; display:grid; gap:8px;}
.me-reqs li{padding:10px 14px; border-radius:12px; background:var(--bg); border:1px solid var(--line); font-size:14px;}
.me-reqs b{display:block; font-size:11.5px; text-transform:uppercase; letter-spacing:.08em;} .me-reqs span{color:var(--ink-soft);}
.me-reqs .is-accepted b{color:var(--green);} .me-reqs .is-denied b{color:#A03228;}
.me-up{display:grid; gap:8px;}
.me-ev{display:flex; align-items:center; gap:14px; padding:10px 12px; border-radius:16px; background:var(--bg); border:1px solid var(--line); text-decoration:none; color:var(--ink); transition:transform .3s cubic-bezier(.3,1.5,.5,1), border-color .25s, box-shadow .3s; animation:meEv .6s calc(var(--i) * 70ms) cubic-bezier(.2,.9,.2,1) both;}
@keyframes meEv{ from{opacity:0; transform:translateX(-14px);} }
.me-ev:hover{transform:translateX(4px); border-color:var(--kc); box-shadow:-4px 0 0 var(--kc);}
.me-ev-d{flex:none; width:54px; padding:6px 0; border-radius:12px; text-align:center; background:var(--surface); border:1px solid var(--line); line-height:1;}
.me-ev-d small{display:block; font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--kc);}
.me-ev-d b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:24px; margin:2px 0;}
.me-ev-d i{display:block; font-style:normal; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-faint);}
.me-ev-b{flex:1; min-width:0;} .me-ev-b b{display:block; overflow-wrap:anywhere;} .me-ev-b span{display:block; font-size:13px; color:var(--ink-soft);}
.me-ev em{flex:none; font-style:normal; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint);}
.me-cals{display:grid; gap:8px; margin-top:16px;}
.me-cal{display:block; padding:12px 16px; border-radius:14px; border:1.5px dashed var(--line-strong); text-decoration:none; color:var(--ink); transition:background .25s, border-color .25s;}
.me-cal:hover{background:rgba(var(--teal-rgb),.08); border-color:var(--teal);}
.me-cal b{display:block;} .me-cal b::after{content:" →";} .me-cal span{font-size:13px; color:var(--ink-soft);}
.me-serve{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.me-serve li{padding:14px; border-radius:16px; background:var(--bg); border:1px solid var(--line); border-left:5px solid var(--ink-faint);}
.me-serve .is-yes{border-left-color:#3FB36A;} .me-serve .is-ask{border-left-color:var(--tan);} .me-serve .is-no{border-left-color:#A03228; opacity:.7;}
.me-sv-main b{display:block;} .me-sv-main span{display:block; font-size:13.5px; color:var(--ink-soft);}
.me-sv-main em{display:inline-block; margin-top:6px; font-style:normal; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em;}
.me-serve .is-ask em{color:#8A6418; animation:mePulseTxt 2s ease-in-out infinite;} .me-serve .is-yes em{color:#2E8B4A;}
@keyframes mePulseTxt{ 50%{opacity:.55;} }
.me-sv-form{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap;}
.me-sv-form button{font:inherit; font-size:14px; font-weight:800; min-height:44px; padding:10px 18px; border-radius:999px; cursor:pointer; border:1.5px solid var(--line-strong); background:transparent; color:var(--ink); transition:transform .3s cubic-bezier(.3,1.5,.5,1), background .25s, color .25s;}
.me-sv-form .me-sv-yes{background:#2E8B4A; border-color:#2E8B4A; color:#fff;}
.me-sv-form button:hover{transform:translateY(-2px);}
.me-sub{font-size:20px; margin:22px 0 10px;}
.me-grps{list-style:none; margin:0; padding:0; display:grid; gap:6px;}
.me-grps li{padding:10px 14px; border-radius:12px; background:var(--bg); border:1px solid var(--line);} .me-grps span{display:block; font-size:13px; color:var(--ink-soft);}

/* a signed-in student: the Midweek look on regular pages. These are the light cards that need dark-mode ink. */
body.me-student .me-f input, body.me-student .me-f select{background:#15151F; color:var(--ink);}
body.me-student .me-door-card{background:rgba(16,16,24,.82);}
body.me-student .me-out:hover{background:#fff; color:#07070B;}
body.me-student .me-tag{color:#F2D9A8;}
body.me-student .me-dot{border-color:#07070B;}
body.me-student .mn-time{background:rgba(255,255,255,.08); border-color:var(--line-strong); color:var(--ink);}
body.me-student .mn-time b{color:var(--ink);}
body.me-student .mn-students{background:var(--bg);}
body.me-student .asc-id-card{color:#14201A;} body.me-student .asc-id-txt em{color:#48594C;} body.me-student .asc-id-txt small, body.me-student .asc-id-go{color:#2E6B3E;}

/* staff edit mode */
.me-ed-bar{position:fixed; left:14px; bottom:14px; z-index:99990; display:flex; align-items:center; gap:8px; padding:6px; border-radius:999px; background:rgba(20,26,22,.92); color:#fff; box-shadow:0 14px 34px -12px rgba(0,0,0,.6); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); font-family:Manrope,system-ui,sans-serif;}
.me-ed-bar button{font:inherit; font-size:13.5px; font-weight:800; min-height:44px; padding:10px 16px; border-radius:999px; border:0; cursor:pointer; color:#fff; background:transparent;}
.me-ed-go{display:flex; align-items:center; gap:8px;} .me-ed-go svg{width:18px; height:18px;}
html.me-editing .me-ed-go{background:#F2B84B; color:#1B1405;}
.me-ed-tray{display:flex; align-items:center; gap:6px;} .me-ed-tray[hidden]{display:none;}
.me-ed-n{font-size:12.5px; padding:0 8px; white-space:nowrap;}
.me-ed-bar .me-ed-send{background:#2E8B4A; opacity:.45; pointer-events:none;} .me-ed-bar.has .me-ed-send{opacity:1; pointer-events:auto; animation:meEdNudge 2.4s ease-in-out infinite;}
@keyframes meEdNudge{ 50%{box-shadow:0 0 0 6px rgba(46,139,74,.25);} }
.me-ed-bar .me-ed-x{color:#C9CEC9;}
.me-ed-tip{position:fixed; left:14px; right:14px; bottom:78px; z-index:99990; max-width:440px; padding:12px 16px; border-radius:14px; background:#1B1405; color:#FFE9B8; font:600 13.5px/1.45 Manrope,system-ui,sans-serif; box-shadow:0 14px 34px -12px rgba(0,0,0,.6); animation:meRise .4s both;}
.me-ed-tip.ok{background:#123D22; color:#D6F5DF;}
html.me-editing body :is(h1,h2,h3,h4,h5,h6,p,li,a,span,b,em,strong,small,button,img,dt,dd,label):not(.me-ed *):hover{outline:2px dashed #F2B84B; outline-offset:3px; cursor:crosshair;}
html.me-editing .me-ed-on{outline:3px solid #F2B84B !important; outline-offset:3px;}
html.me-editing .me-ed-done{outline:2px solid #2E8B4A !important; outline-offset:3px;}
.me-ed-pop{position:absolute; z-index:99991; padding:16px; border-radius:16px; background:#FBF7EF; color:#1C2A1E; box-shadow:0 26px 60px -18px rgba(0,0,0,.65), 0 0 0 1px rgba(28,42,30,.14); font-family:Manrope,system-ui,sans-serif; animation:meRise .3s both;}
.me-ed-pop b{display:block; font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px;}
.me-ed-pop textarea, .me-ed-pop .me-ed-note{width:100%; font:inherit; font-size:16px; padding:10px 12px; border-radius:10px; border:1.5px solid rgba(28,42,30,.25); background:#fff; color:#1C2A1E;}
.me-ed-pop .me-ed-note{margin-top:8px; min-height:44px;}
.me-ed-file{display:block; cursor:pointer;} .me-ed-file input{position:absolute; opacity:0; width:1px; height:1px;}
.me-ed-file span{display:block; padding:12px; border-radius:10px; border:1.5px dashed rgba(28,42,30,.35); text-align:center; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.me-ed-prev img{display:block; max-width:100%; max-height:150px; margin:8px auto 0; border-radius:8px;}
.me-ed-row{display:flex; justify-content:flex-end; gap:8px; margin-top:12px;}
.me-ed-row button{font:inherit; font-size:14px; font-weight:800; min-height:44px; padding:10px 16px; border-radius:999px; border:1.5px solid rgba(28,42,30,.25); background:transparent; color:#1C2A1E; cursor:pointer;}
.me-ed-row .me-ed-ok{background:#2E6B3E; border-color:#2E6B3E; color:#fff;}
@media (max-width:520px){ .me-ed-bar{left:8px; right:8px; bottom:8px; justify-content:space-between; border-radius:22px; flex-wrap:wrap;} .me-ed-go span{font-size:13px;} }
@media (prefers-reduced-motion:reduce){ .me-ev, .me-ed-tip, .me-ed-pop{animation:none;} .me-serve .is-ask em, .me-ed-bar.has .me-ed-send{animation:none;} }

/* ===== legal pages + small audit touches (2026-11-10) ===== */
.lg-body{padding:44px 0 90px;}
.lg-wrap{max-width:780px;}
.lg-wrap h2{font-size:26px; margin:34px 0 10px;}
.lg-wrap p, .lg-wrap li{font-size:16.5px; line-height:1.65; color:var(--ink-soft);}
.lg-wrap p{margin:0 0 12px;} .lg-wrap ul{margin:0 0 12px; padding-left:22px;} .lg-wrap li{margin-bottom:6px;}
.lg-wrap a{color:var(--teal-ink); font-weight:700;}
.lg-draft{padding:14px 18px; border-radius:14px; background:rgba(var(--tan-rgb),.2); border:1px solid rgba(var(--tan-rgb),.6); color:var(--ink) !important;}
.lg-date{margin-top:34px !important; font-family:"Space Mono",monospace; font-size:12px !important; letter-spacing:.08em; text-transform:uppercase;}
.foot-legal{display:block; margin-bottom:8px;} .foot-legal a{opacity:.85;}
.cd-cell b, .calc-out b, .sh-price, .me-ev-d b, .mn-stcal-grid, .cal-grid{font-variant-numeric:tabular-nums;}
.me-ed-bar{bottom:max(14px, env(safe-area-inset-bottom));}

/* ===== Staff Studio, Review Board and Sandbox Edit (2026-11-10) ===== */
.pe-studio, .pe-board{margin-bottom:26px; opacity:0; transform:translateY(22px); transition:opacity .7s, transform .7s cubic-bezier(.2,.9,.2,1);}
.pe-studio.is-in, .pe-board.is-in{opacity:1; transform:none;}
.pe-hero{position:relative; overflow:hidden; padding:34px 32px; border-radius:26px; color:#F4F7F2; background:linear-gradient(135deg,#10231A,#16324A 60%,#2A2148); box-shadow:0 30px 60px -34px rgba(10,20,14,.9);}
.pe-grid{position:absolute; inset:-2px; pointer-events:none; opacity:.5; background:linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px) 0 0 / 100% 34px, linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px) 0 0 / 34px 100%; -webkit-mask-image:radial-gradient(90% 90% at 80% 20%, #000, transparent 75%); mask-image:radial-gradient(90% 90% at 80% 20%, #000, transparent 75%); animation:peGrid 18s linear infinite;}
@keyframes peGrid{ to{ background-position:0 34px, 34px 0; } }
.pe-cursor{position:absolute; right:9%; top:22%; width:150px; height:54px; border:2px dashed #F2B84B; border-radius:8px; pointer-events:none; animation:peCursor 7s cubic-bezier(.5,0,.3,1) infinite;}
.pe-cursor::after{content:""; position:absolute; right:-16px; bottom:-20px; width:0; height:0; border:9px solid transparent; border-left-color:#fff; border-top-color:#fff; transform:rotate(8deg); filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));}
@keyframes peCursor{ 0%,100%{transform:translate(0,0); width:150px; height:54px;} 30%{transform:translate(-60px,58px); width:210px; height:34px;} 62%{transform:translate(28px,96px); width:110px; height:84px;} }
.pe-hero .eyebrow{color:#F2B84B;}
.pe-hero h2{position:relative; font-size:clamp(40px,6vw,68px); color:#fff; margin-top:6px;}
.pe-hero > p:not(.eyebrow){position:relative; max-width:56ch; margin:12px 0 0; color:#C9D6CD; font-size:16px;}
.pe-hero-row{position:relative; display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:24px;}
.pe-start{display:inline-flex; align-items:center; gap:12px; font:inherit; font-size:16px; font-weight:800; min-height:56px; padding:14px 26px; border:0; border-radius:999px; cursor:pointer; color:#1B1405; background:#F2B84B; box-shadow:0 14px 30px -12px #F2B84B; transition:transform .35s cubic-bezier(.3,1.6,.5,1), box-shadow .3s;}
.pe-start svg{width:20px; height:20px; transition:transform .35s cubic-bezier(.3,1.6,.5,1);}
.pe-start:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 20px 40px -12px #F2B84B;} .pe-start:hover svg{transform:translateX(5px);}
.pe-steps{list-style:none; display:flex; gap:8px; flex-wrap:wrap; margin:0; padding:0;}
.pe-steps li{display:flex; align-items:center; gap:8px; padding:8px 14px 8px 8px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); font-size:13px; font-weight:700; color:#E6EEE8;}
.pe-steps b{display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.16); font-size:12px;}
.pe-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:14px 0;}
.pe-stat{padding:18px 20px; border-radius:20px; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow);}
.pe-stat b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:44px; line-height:1; font-variant-numeric:tabular-nums;}
.pe-stat span{font-size:13px; font-weight:700; color:var(--ink-soft);}
.pe-stat.is-wait b{color:#B07A12;} .pe-stat.is-back b{color:#A03228;} .pe-stat.is-live b{color:#2E8B4A;}
.pe-none{padding:22px; border-radius:18px; border:1.5px dashed var(--line-strong); color:var(--ink-soft); text-align:center;}
.pe-req{margin-top:10px; border-radius:18px; background:var(--surface); border:1px solid var(--line); border-left:6px solid var(--ink-faint); overflow:hidden; animation:meEv .6s calc(var(--i) * 80ms) cubic-bezier(.2,.9,.2,1) both;}
.pe-req.is-pending{border-left-color:#E0A526;} .pe-req.is-accepted{border-left-color:#2E8B4A;} .pe-req.is-denied{border-left-color:#A03228;}
.pe-req summary{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:16px 18px; cursor:pointer; list-style:none; min-height:56px;}
.pe-req summary::-webkit-details-marker{display:none;}
.pe-chip{display:inline-block; padding:4px 11px; border-radius:999px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; background:rgba(224,165,38,.2); color:#7A5606; white-space:nowrap;}
.is-accepted > summary .pe-chip, .pe-pastrow.is-accepted .pe-chip{background:rgba(46,139,74,.18); color:#1F6A36;} .is-denied > summary .pe-chip, .pe-pastrow.is-denied .pe-chip{background:rgba(160,50,40,.15); color:#8A2A20;}
.pe-when{margin-left:auto; font-size:13px; color:var(--ink-faint);}
.pe-caret{width:10px; height:10px; border-right:2.5px solid var(--ink-soft); border-bottom:2.5px solid var(--ink-soft); transform:rotate(45deg); transition:transform .3s;} .pe-req[open] .pe-caret{transform:rotate(-135deg);}
.pe-req-in{padding:0 18px 18px;}
.pe-page{margin-top:12px; border-radius:14px; background:var(--bg); border:1px solid var(--line); overflow:hidden;}
.pe-page h4{display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0; padding:9px 14px; font-family:"Space Mono",monospace; font-weight:700; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); border-bottom:1px solid var(--line);}
.pe-page h4 a{font-family:Manrope,sans-serif; letter-spacing:0; text-transform:none; font-size:13px; font-weight:800; color:var(--teal-ink); white-space:nowrap;}
.pe-item{display:flex; gap:12px; align-items:flex-start; padding:12px 14px; border-top:1px solid var(--line); cursor:default;} .pe-item:first-of-type{border-top:0;}
.pe-item input{width:22px; height:22px; margin-top:2px; accent-color:#2E8B4A; flex:none; cursor:pointer;} .pe-nobox{width:22px; flex:none;}
.pe-item-b{min-width:0; flex:1;} .pe-item del{display:block; color:#A03228; opacity:.8; overflow-wrap:anywhere;} .pe-item ins{display:block; text-decoration:none; font-weight:700; background:linear-gradient(transparent 62%, rgba(46,139,74,.25) 62%); overflow-wrap:anywhere;}
.pe-item em{display:block; margin-top:4px; font-size:14px; color:var(--ink-soft);} .pe-about{color:var(--ink-soft);}
.pe-swap{display:flex; align-items:center; gap:10px; flex-wrap:wrap;} .pe-swap code{font-size:12px; overflow-wrap:anywhere;} .pe-swap i{font-style:normal; font-weight:800;} .pe-swap img{height:84px; border-radius:8px; box-shadow:0 6px 14px -6px rgba(0,0,0,.5);}
.pe-thread{list-style:none; margin:14px 0 0; padding:0 0 0 6px;}
.pe-thread li{position:relative; display:flex; gap:12px; padding:0 0 12px 0; font-size:14px;}
.pe-thread li::before{content:""; position:absolute; left:5px; top:14px; bottom:0; width:2px; background:var(--line-strong);} .pe-thread li:last-child::before{display:none;}
.pe-thread i{flex:none; width:12px; height:12px; margin-top:4px; border-radius:50%; background:var(--ink-faint); box-shadow:0 0 0 3px var(--surface);}
.pe-thread .is-approved i{background:#2E8B4A;} .pe-thread .is-denied i{background:#A03228;} .pe-thread .is-note i{background:#2A5680;} .pe-thread .is-submitted i, .pe-thread .is-resubmitted i{background:#E0A526;}
.pe-thread time{color:var(--ink-faint); font-size:12.5px; white-space:nowrap;} .pe-thread p{margin:3px 0 0; padding:8px 12px; border-radius:4px 12px 12px 12px; background:var(--bg); border:1px solid var(--line); color:var(--ink);}
.pe-again{margin-top:14px; font:inherit; font-size:15px; font-weight:800; min-height:48px; padding:12px 22px; border:0; border-radius:999px; cursor:pointer; background:#A03228; color:#fff; transition:transform .3s cubic-bezier(.3,1.6,.5,1);} .pe-again:hover{transform:translateY(-2px);}
.pe-board{padding:26px; border-radius:26px; background:linear-gradient(180deg, rgba(var(--blue-rgb),.10), rgba(var(--teal-rgb),.06)); border:1px solid var(--line);}
.pe-board-top{display:flex; justify-content:space-between; align-items:flex-end; gap:14px; flex-wrap:wrap; margin-bottom:14px;} .pe-board-top h2{font-size:clamp(30px,4.4vw,48px);}
.pe-livelink{font-size:13px; font-weight:700; color:var(--ink-soft); text-decoration:none; padding:10px 14px; border-radius:999px; border:1px solid var(--line-strong);} .pe-livelink b{color:var(--ink);}
.pe-card{margin-top:14px; padding:20px; border-radius:20px; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow); animation:meEv .6s calc(var(--i) * 90ms) cubic-bezier(.2,.9,.2,1) both;}
.pe-card-top{display:flex; align-items:center; gap:12px;} .pe-card-top b{display:block; font-size:17px;} .pe-card-top span{font-size:13px; color:var(--ink-faint);}
.pe-av{display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--grad); color:#fff !important; font-family:"Anton",sans-serif; font-size:20px !important;}
.pe-card textarea{width:100%; margin-top:14px; font:inherit; font-size:16px; padding:12px 14px; border-radius:14px; border:1.5px solid var(--line-strong); background:var(--bg); color:var(--ink); resize:vertical;}
.pe-acts{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px;}
.pe-acts button{font:inherit; font-size:14.5px; font-weight:800; min-height:48px; padding:12px 20px; border-radius:999px; cursor:pointer; border:1.5px solid var(--line-strong); background:transparent; color:var(--ink); transition:transform .3s cubic-bezier(.3,1.6,.5,1), box-shadow .3s;}
.pe-acts button:hover{transform:translateY(-2px);} .pe-acts .pe-yes{background:#2E8B4A; border-color:#2E8B4A; color:#fff; box-shadow:0 12px 24px -14px #2E8B4A;} .pe-acts .pe-no{margin-left:auto; color:#A03228; border-color:rgba(160,50,40,.5);}
.pe-past{margin-top:18px;} .pe-past summary{cursor:pointer; font-weight:800; padding:10px 0;} .pe-pastrow{padding:14px 0; border-top:1px solid var(--line);} .pe-pastrow > b{margin-right:10px;}
body.me-student .pe-chip{color:#F2D9A8;} body.me-student .pe-item ins{background:linear-gradient(transparent 62%, rgba(46,139,74,.45) 62%);}

.me-ed-bar .me-ed-mode{display:flex; padding:3px; border-radius:999px; background:rgba(255,255,255,.12);}
.me-ed-bar .me-ed-mode button{min-height:38px; padding:6px 14px; font-size:13px; color:#C9CEC9;} .me-ed-bar .me-ed-mode button.on{background:#fff; color:#141A16;}
.me-ed-bar .me-ed-n{font-size:12.5px; padding:0 10px; white-space:nowrap; text-decoration:underline dotted; text-underline-offset:4px;}
html.me-sandbox .me-ed-go{background:#F2B84B; color:#1B1405;}
html.me-sandbox::after{content:"SANDBOX · nothing here is live"; position:fixed; z-index:99989; top:0; left:50%; transform:translateX(-50%); padding:5px 16px; border-radius:0 0 12px 12px; background:#F2B84B; color:#1B1405; font:800 11px/1.2 "Space Mono",monospace; letter-spacing:.12em; pointer-events:none;}
.me-ed-tip button.me-ed-undo{margin-left:8px; font:inherit; font-weight:800; text-decoration:underline; background:none; border:0; color:inherit; cursor:pointer; min-height:32px;}
.me-ed-list{position:fixed; left:14px; bottom:78px; z-index:99991; width:min(380px, calc(100vw - 28px)); max-height:56vh; overflow:auto; padding:16px; border-radius:18px; background:#FBF7EF; color:#1C2A1E; box-shadow:0 26px 60px -18px rgba(0,0,0,.65), 0 0 0 1px rgba(28,42,30,.14); font-family:Manrope,system-ui,sans-serif; animation:meRise .3s both;}
.me-ed-list > b{display:block; font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px;}
.me-ed-li{display:flex; align-items:center; gap:8px; padding:10px 0; border-top:1px solid rgba(28,42,30,.12); font-size:14px;} .me-ed-li span{flex:1; min-width:0; overflow-wrap:anywhere;} .me-ed-li small{display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:#7A8A78;}
.me-ed-li a{font-weight:800; color:#2E6B3E;} .me-ed-li button{width:36px; height:36px; border-radius:50%; border:0; background:rgba(160,50,40,.12); color:#A03228; font-size:18px; cursor:pointer;}
.me-ed-row .me-ed-follow{margin-right:auto; align-self:center; font-size:13.5px; font-weight:800; color:#2A5680;}
.me-pv-bar{position:fixed; z-index:99990; left:50%; bottom:14px; transform:translateX(-50%); max-width:calc(100vw - 28px); padding:12px 18px; border-radius:14px; background:#16324A; color:#E8F0F8; font:600 13.5px/1.4 Manrope,system-ui,sans-serif; box-shadow:0 14px 34px -12px rgba(0,0,0,.6);} .me-pv-bar a{color:#F2B84B; font-weight:800; margin-left:6px;}
.me-pv-hit{outline:3px solid #F2B84B !important; outline-offset:4px; animation:pePvHit 1.6s ease-in-out 3;}
@keyframes pePvHit{ 50%{outline-offset:9px;} }
@media (max-width:760px){ .pe-hero{padding:26px 20px;} .pe-cursor{display:none;} .pe-stats{grid-template-columns:1fr;} .pe-stat{display:flex; align-items:center; gap:14px;} .pe-stat b{font-size:36px; min-width:44px;} .pe-board{padding:16px;} .pe-acts .pe-no{margin-left:0;} .pe-acts button{flex:1;} .pe-start{width:100%; justify-content:center;}
  .me-ed-bar .me-ed-n{order:5;} .me-ed-list{left:8px; bottom:126px;} }
@media (prefers-reduced-motion:reduce){ .pe-grid, .pe-cursor, .me-pv-hit{animation:none;} .pe-studio, .pe-board{opacity:1; transform:none; transition:none;} .pe-req, .pe-card{animation:none;} }

/* Coach's plaque (2026-11-11): photos sit above the brass grain so they stay sharp, are bigger, and open large when tapped */
.asc-plq-pic, .asc-plq-more{position:relative; z-index:1;}
.asc-plq-pic{width:112px; height:112px; padding:0; border:0; background:none; cursor:zoom-in; transition:transform .45s cubic-bezier(.3,1.5,.5,1);}
.asc-plq-more{gap:12px;}
.asc-plq-more button{padding:0; border:0; background:none; cursor:zoom-in; line-height:0; border-radius:5px; transition:transform .45s cubic-bezier(.3,1.5,.5,1);}
.asc-plq-more button:first-child{transform:rotate(-3deg);} .asc-plq-more button:last-child{transform:rotate(3deg);}
.asc-plq-more img, .asc-plq-more img:first-child, .asc-plq-more img:last-child{width:96px; height:96px; transform:none;}
.asc-plq-pic:hover, .asc-plq-pic:focus-visible{transform:scale(1.06);}
.asc-plq-more button:hover, .asc-plq-more button:focus-visible{transform:rotate(0) scale(1.08);}
.asc-plq :is(.asc-plq-pic, .asc-plq-more button):focus-visible{outline:3px solid #2A2110; outline-offset:4px;}
@media (hover:hover){ .asc-plq:hover .asc-plq-more img{transform:none;} }
@media (max-width:760px){ .asc-plq-pic{width:104px; height:104px;} .asc-plq-more img, .asc-plq-more img:first-child, .asc-plq-more img:last-child{width:84px; height:84px;} }

/* ===== Students: the dark hallway (2026-11-11). The same lockers, photos, pages and animations, in a lit school hallway with real-looking steel. ===== */
body.mn-dark .mn-students{background:#0B0D11;}
body.mn-dark .mn-time{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:var(--ink);} body.mn-dark .mn-time b{color:var(--ink);}
body.mn-dark .mn-hero{background:radial-gradient(60% 50% at 78% 30%, rgba(120,80,255,.26), transparent 70%), radial-gradient(50% 45% at 12% 80%, rgba(255,79,183,.14), transparent 70%), linear-gradient(180deg,#12141B,#0B0D11);}
body.mn-dark .mn-hero .mn-blob{display:none;}
body.mn-dark .mn-title{color:#F3EFE6; text-shadow:0 0 60px rgba(182,255,92,.18);}
body.mn-dark .mn-title span:nth-child(n+4){color:#B6FF5C;}
body.mn-dark .mn-kick, body.mn-dark .mn-kick a{color:#B6FF5C;}
body.mn-dark .mn-lk-sec{overflow:hidden; padding-top:110px; background:
  linear-gradient(180deg, rgba(0,0,0,.55), transparent 30%, rgba(0,0,0,.4)),
  repeating-linear-gradient(0deg, transparent 0 62px, rgba(0,0,0,.34) 62px 64px),
  repeating-linear-gradient(90deg, transparent 0 126px, rgba(0,0,0,.26) 126px 128px),
  linear-gradient(180deg,#2C313B,#232831);}
/* three ceiling lights; the last one buzzes now and then */
body.mn-dark .mn-lk-sec::before{content:""; position:absolute; left:0; right:0; top:0; height:640px; pointer-events:none; z-index:0;
  background:
   linear-gradient(#F4FBFF,#F4FBFF) 8% 24px / 21% 9px no-repeat, linear-gradient(#F4FBFF,#F4FBFF) 50% 24px / 21% 9px no-repeat, linear-gradient(#F4FBFF,#F4FBFF) 92% 24px / 21% 9px no-repeat,
   radial-gradient(34% 100% at 18% 0, rgba(190,215,255,.20), transparent 70%), radial-gradient(34% 100% at 50% 0, rgba(190,215,255,.20), transparent 70%), radial-gradient(34% 100% at 82% 0, rgba(190,215,255,.20), transparent 70%);
  filter:drop-shadow(0 0 14px rgba(200,225,255,.85)); animation:hallBuzz 9s steps(1) infinite;}
@keyframes hallBuzz{ 0%,100%{opacity:1;} 61%{opacity:1;} 62%{opacity:.72;} 63%{opacity:1;} 65%{opacity:.8;} 66%{opacity:1;} }
body.mn-dark .mn-lk-sec .container{position:relative; z-index:2;}
body.mn-dark .mn-lk-sec .mn-head h2, body.mn-dark .mn-lk-sec .mn-head p{color:#F3EFE6;} body.mn-dark .mn-lk-sec .mn-head p{color:#B4BAC4;}
/* the floor: polished, catching the lights, with a black kick plate the open doors swing in front of */
body.mn-dark .mn-lk-sec::after{position:relative; z-index:1; height:150px; margin-top:0; background:
  linear-gradient(180deg,#08090B 0 22px, transparent 22px),
  radial-gradient(40% 90% at 50% 22px, rgba(200,220,255,.22), transparent 70%),
  repeating-linear-gradient(90deg, transparent 0 158px, rgba(0,0,0,.4) 158px 160px),
  linear-gradient(180deg,#3A3F48,#15171C);}
body.mn-dark .mn-lk-bank{background:linear-gradient(180deg,#3B4049,#22262D); border-radius:10px 10px 0 0; padding-bottom:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 40px 80px -20px #000; -webkit-box-reflect:below 22px linear-gradient(transparent 68%, rgba(0,0,0,.28));}
body.mn-dark .mn-lk-crown{background:linear-gradient(180deg,#454B55,#2E333B); border-radius:10px 10px 0 0;}
body.mn-dark .mn-lk{z-index:1;} body.mn-dark .mn-lk.is-open{z-index:8;}
/* painted steel: a soft light from the upper left, a darker lower right, a pressed panel, fine grain */
body.mn-dark .mn-lk-face{box-shadow:inset 0 0 0 1px rgba(0,0,0,.6), inset 0 0 0 2px rgba(255,255,255,.10), inset 16px 0 20px -16px rgba(255,255,255,.34), inset -18px 0 24px -14px rgba(0,0,0,.6), inset 0 20px 24px -18px rgba(255,255,255,.28), inset 0 -40px 50px -24px rgba(0,0,0,.55);}
body.mn-dark .mn-lk-face::before{inset:9px; border-radius:4px; box-shadow:inset 0 2px 3px rgba(0,0,0,.5), inset 0 -1px 1px rgba(255,255,255,.2), 0 1px 0 rgba(255,255,255,.14);}
body.mn-dark .mn-lk-handle{width:20px; height:62px; margin-top:-31px; right:10px; border-radius:5px; background:linear-gradient(90deg,#0C0D10,#2B2E34); box-shadow:inset 0 2px 5px #000, 0 1px 0 rgba(255,255,255,.2);}
body.mn-dark .mn-lk-handle::after{content:""; position:absolute; left:4px; top:8px; width:12px; height:34px; border-radius:4px; background:linear-gradient(90deg,#757B84,#F4F6F8 45%,#8B9199 75%,#51565E); box-shadow:0 3px 5px rgba(0,0,0,.7); transition:transform .25s cubic-bezier(.3,1.6,.5,1);}
body.mn-dark .mn-lk.is-unlock .mn-lk-handle::after, body.mn-dark .mn-lk.is-open .mn-lk-handle::after{transform:translateY(-7px);}
body.mn-dark .mn-lk-lock{right:5px; top:calc(50% + 34px);}
body.mn-dark .mn-lk-dial{box-shadow:0 0 0 3px #B9952F, 0 0 0 4px #6E5514, 0 4px 6px rgba(0,0,0,.6);}
/* inside: deeper, darker, and a strip light that flickers on */
body.mn-dark .mn-lk-in{box-shadow:inset 0 0 0 3px #50565E, inset 0 34px 44px -22px rgba(0,0,0,.75), inset 22px 0 30px -16px rgba(0,0,0,.6), inset -22px 0 30px -16px rgba(0,0,0,.6), inset 0 -30px 40px -20px rgba(0,0,0,.6);}
body.mn-dark .mn-lk-in::before{content:""; position:absolute; left:8%; right:8%; top:5px; height:5px; z-index:5; border-radius:4px; background:#fff; opacity:0; box-shadow:0 0 12px 3px rgba(255,246,214,.95), 0 0 60px 24px rgba(255,236,190,.4); pointer-events:none;}
body.mn-dark .mn-lk.is-open .mn-lk-in::before{opacity:1; animation:mnFlick 1.2s steps(1) .35s 1 both;}
body.mn-dark .mn-lk-back{box-shadow:inset 0 0 0 10px rgba(0,0,0,.22), inset 0 0 0 11px rgba(255,255,255,.08), inset 0 0 60px rgba(0,0,0,.45);}
body.mn-dark .asc-rope{filter:saturate(.7) brightness(.95) hue-rotate(24deg);}
body.mn-dark .asc-coach{background:linear-gradient(180deg, transparent, #14110D 60%);}
@media (max-width:760px){ body.mn-dark .mn-lk-bank{-webkit-box-reflect:unset;} body.mn-dark .mn-lk-sec::after{height:90px;} body.mn-dark .mn-lk-sec{padding-top:90px;} }
@media (prefers-reduced-motion:reduce){ body.mn-dark .mn-lk-sec::before{animation:none;} }

/* Students dark page: light cards keep dark ink; the signed-in student ID hangs on a lanyard in the hero */
body.mn-dark .mn-crew{--ink:#1C2A1E; --ink-soft:#48594C; --ink-faint:#7A8A78; color:#1C2A1E;}
.mn-hero.has-sid .mn-wall{display:none;}
.sid-zone{position:relative; height:560px; perspective:1300px; display:grid; justify-items:center;}
.sid-lany{position:absolute; top:-240px; left:50%; width:0; height:330px; transform-origin:50% 0; animation:sidSwing 3.2s cubic-bezier(.3,.1,.3,1) both, sidSway 6s 3.2s ease-in-out infinite;}
.sid-lany::before, .sid-lany::after{content:""; position:absolute; top:0; left:-10px; height:100%; width:20px; background:linear-gradient(90deg,#3A7D2A,#B6FF5C 45%,#5FA32F); box-shadow:inset 0 0 0 1px rgba(0,0,0,.25); transform-origin:50% 100%;}
.sid-lany::before{transform:rotate(9deg);} .sid-lany::after{transform:rotate(-9deg);}
.sid-clip{position:absolute; left:-17px; top:318px; width:34px; height:46px; border-radius:8px 8px 12px 12px; background:linear-gradient(90deg,#6D727A,#F1F3F5 40%,#8A9098 70%,#4C5158); box-shadow:0 4px 8px rgba(0,0,0,.5);}
.sid-card{position:absolute; left:-140px; top:372px; width:280px; height:410px; cursor:pointer; transform-style:preserve-3d; transition:transform .9s cubic-bezier(.3,1.3,.4,1); transform:rotateX(var(--rx,0deg)) rotateY(calc(var(--ry,0deg) + var(--flip,0deg)));}
.sid-card.is-flip{--flip:180deg;}
.sid-face{position:absolute; inset:0; border-radius:18px; overflow:hidden; background:linear-gradient(160deg,#FBFAF6,#E7E4DC); color:#14161A; box-shadow:0 30px 60px -20px rgba(0,0,0,.8), inset 0 0 0 1px rgba(255,255,255,.7); transition:visibility 0s .3s;}
.sid-back{transform:rotateY(180deg); visibility:hidden; padding:30px 24px; background:linear-gradient(160deg,#1A1D24,#0F1116); color:#F3EFE6;}
.sid-card.is-flip .sid-face{visibility:hidden;} .sid-card.is-flip .sid-back{visibility:visible;}
.sid-foil{position:absolute; inset:0; pointer-events:none; opacity:.42; background:linear-gradient(115deg,transparent 20%,rgba(255,120,200,.5) 38%,rgba(140,225,255,.55) 46%,rgba(200,255,140,.5) 54%,transparent 72%); background-size:260% 260%; background-position:var(--hx,30%) 30%;}
.sid-slot{position:absolute; top:12px; left:50%; width:54px; height:12px; margin-left:-27px; border-radius:8px; background:#0B0D11; box-shadow:inset 0 2px 3px rgba(0,0,0,.8);}
.sid-top{padding:38px 20px 14px; background:linear-gradient(120deg,#151821,#2A1E4D); color:#fff;}
.sid-top b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:26px; letter-spacing:.04em;} .sid-top small{font-family:"Space Mono",monospace; font-size:10px; letter-spacing:.2em; color:#B6FF5C;}
.sid-pic{width:112px; height:128px; margin:18px 0 0 20px; border-radius:10px; background:linear-gradient(160deg,#2F6B3D,#2A5680); display:grid; place-items:center; color:#fff; font-family:"Anton",sans-serif; font-size:50px; box-shadow:inset 0 0 0 3px #fff, 0 6px 14px rgba(0,0,0,.25);}
.sid-seal{position:absolute; right:18px; top:150px; width:84px; height:84px; border-radius:50%; background:conic-gradient(#FF4FB7,#5AD6FF,#B6FF5C,#FFD45C,#FF4FB7); opacity:.55; display:grid; place-items:center; font-family:"Anton",sans-serif; color:#fff; font-size:22px;}
.sid-name{padding:14px 20px 0; font-family:"Anton",sans-serif; font-size:32px; line-height:1; text-transform:uppercase; overflow-wrap:anywhere;}
.sid-meta{padding:6px 20px 0; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#555B66;}
.sid-bar{position:absolute; left:20px; right:20px; bottom:18px; height:34px; background:repeating-linear-gradient(90deg,#14161A 0 2px,transparent 2px 5px,#14161A 5px 6px,transparent 6px 10px,#14161A 10px 13px,transparent 13px 15px);}
.sid-back h3{font-size:34px; color:#B6FF5C;} .sid-back p{margin:10px 0 0; font-size:14.5px; line-height:1.5; color:#C9CED6;} .sid-back hr{border:0; border-top:1px dashed rgba(255,255,255,.18); margin:18px 0;}
.sid-go{display:inline-flex; margin-top:20px; padding:14px 20px; min-height:48px; border-radius:999px; background:#B6FF5C; color:#10140A; font-weight:800; text-decoration:none;}
.sid-hint{position:absolute; bottom:-6px; font-family:"Space Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint);}
@keyframes sidSwing{ 0%{transform:translateY(-640px) rotate(0);} 34%{transform:translateY(0) rotate(15deg);} 52%{transform:rotate(-10deg);} 68%{transform:rotate(6deg);} 82%{transform:rotate(-3deg);} 100%{transform:rotate(0);} }
@keyframes sidSway{ 0%,100%{transform:rotate(0);} 50%{transform:rotate(1.6deg);} }
@media (max-width:900px){ .sid-zone{height:570px; margin-top:6px; clip-path:inset(0 -200px -200px -200px);} .sid-lany{top:-240px;} }
@media (prefers-reduced-motion:reduce){ .sid-lany{animation:none;} .sid-card{transition:none;} }

/* ===== The app (ap-): opened from a phone's home screen. Tab bar + "put it on your phone" card ===== */
.ap-bar{display:none;}
html.rh-app{-webkit-tap-highlight-color:transparent;}
html.rh-app .ap-bar{--ap-lift:calc(8px + env(safe-area-inset-bottom,0px)); display:grid; grid-template-columns:repeat(5,1fr); align-items:stretch; position:fixed; left:0; right:0; bottom:var(--ap-lift); z-index:78; width:min(calc(100% - 20px),520px); height:66px; margin:0 auto; padding:0 6px; view-transition-name:apbar; transition:transform .5s cubic-bezier(.3,1.25,.4,1);}
html.rh-app .ap-bar.is-low{transform:translateY(calc(100% + 40px));}
.ap-bar-glass{position:absolute; inset:0; border-radius:26px; background:rgba(251,247,239,.97); border:1px solid rgba(28,42,30,.12); box-shadow:0 14px 34px -10px rgba(28,42,30,.38), 0 2px 6px rgba(28,42,30,.08), inset 0 1px 0 rgba(255,255,255,.8); -webkit-backdrop-filter:blur(18px) saturate(1.5); backdrop-filter:blur(18px) saturate(1.5);}
.ap-tab{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; color:#5A6A5C; text-decoration:none; transition:color .25s, transform .18s;}
.ap-tab svg{width:24px; height:24px; transition:transform .4s cubic-bezier(.3,1.6,.5,1);}
.ap-tab b{font:700 10.5px/1 Manrope,system-ui,sans-serif; letter-spacing:.02em;}
.ap-tab::after{content:""; position:absolute; bottom:6px; left:50%; width:16px; height:3px; margin-left:-8px; border-radius:3px; background:var(--green); transform:scaleX(0); transition:transform .4s cubic-bezier(.3,1.6,.5,1);}
.ap-tab.is-on{color:var(--green);}
.ap-tab.is-on svg{transform:translateY(-4px);}
.ap-tab.is-on b{transform:translateY(-3px);}
.ap-tab.is-on::after{transform:scaleX(1);}
.ap-tab.is-tap{transform:scale(.9);}
.ap-me{justify-content:flex-end; padding-bottom:9px;}
.ap-me::after{display:none;}
.ap-me-ring{position:absolute; left:50%; top:-20px; width:56px; height:56px; margin-left:-28px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(160deg,#fff,#F1EADB); border:1.5px solid rgba(28,42,30,.14); box-shadow:0 10px 20px -8px rgba(28,42,30,.5), inset 0 1px 0 #fff; transition:transform .45s cubic-bezier(.3,1.6,.5,1), box-shadow .3s, border-color .3s;}
.ap-me-ring img{display:block;}
.ap-me-day{width:34px; height:auto;}
.ap-me-ring .ap-me-neon{display:none; width:44px; height:44px; object-fit:contain;}
.ap-me.is-on .ap-me-ring{transform:translateY(-3px) scale(1.06); border-color:var(--green); box-shadow:0 0 0 4px rgba(46,107,62,.16), 0 12px 22px -8px rgba(28,42,30,.55), inset 0 1px 0 #fff;}
.ap-me.is-on b{transform:none;}
/* room for the bar, and things that already sit at the bottom move up out of its way */
html.rh-app footer.ft{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px));}
html.rh-app .nav-cta .me-btn{display:none;}
html.rh-app .tn-dial, html.rh-app .mn-staff, html.rh-app .shc-fab, html.rh-app .me-ed-bar, html.rh-app .me-pv-bar, html.rh-app .ccf-meter{bottom:calc(92px + env(safe-area-inset-bottom,0px));}
html.rh-app .shx-toast, html.rh-app .me-ed-tip, html.rh-app .me-ed-list{bottom:calc(156px + env(safe-area-inset-bottom,0px));}
/* Midweek, Students and a signed-in student: the bar goes dark and wears the neon RH */
body.theme-midweek .ap-bar-glass{background:rgba(13,13,21,.93); border-color:rgba(255,255,255,.14); box-shadow:0 14px 34px -10px #000, inset 0 1px 0 rgba(255,255,255,.08);}
body.theme-midweek .ap-tab{color:#A9A9C0;}
body.theme-midweek .ap-tab.is-on{color:#fff;}
body.theme-midweek .ap-tab::after{background:#fff; box-shadow:0 0 10px #fff;}
body.theme-midweek .ap-me-ring{background:radial-gradient(circle at 50% 35%,#23233A,#0B0B13); border-color:rgba(255,255,255,.22); box-shadow:0 0 22px -4px rgba(120,160,255,.55), 0 10px 20px -8px #000;}
body.theme-midweek .ap-me-ring .ap-me-day{display:none;}
body.theme-midweek .ap-me-ring .ap-me-neon{display:block;}
body.theme-midweek .ap-me.is-on .ap-me-ring{border-color:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.12), 0 0 26px -2px rgba(120,160,255,.8);}
/* pages swap with a soft fade inside the app, and the bar stays put */
@media (display-mode:standalone){ @view-transition{navigation:auto;} ::view-transition-old(root), ::view-transition-new(root){animation-duration:.24s;} }
/* "Put Rising Hills on your phone" */
.ap-get{position:relative; display:flex; align-items:center; gap:16px; width:min(100%,520px); margin:18px auto 22px; padding:16px 44px 16px 16px; border-radius:22px; background:var(--surface); border:1px solid var(--line); box-shadow:0 14px 30px -18px rgba(28,42,30,.45); text-align:left; opacity:0; transform:translateY(14px); transition:opacity .5s, transform .6s cubic-bezier(.3,1.3,.4,1);}
.ap-get[hidden]{display:none;}
.ap-get.is-in{opacity:1; transform:none;}
.me-body .ap-get{width:100%; max-width:none;}
.ap-get-icon{flex:none; width:64px; height:64px; border-radius:16px; overflow:hidden; box-shadow:0 8px 16px -6px rgba(28,42,30,.5), 0 0 0 1px rgba(28,42,30,.1);}
.ap-get-icon img{display:block; width:100%; height:100%;}
.ap-get-txt{flex:1; min-width:0;}
.ap-get h3{margin:0 0 4px; font:800 17px/1.2 Manrope,system-ui,sans-serif; letter-spacing:0; text-transform:none; color:var(--ink);}
.ap-get-p{margin:0; font-size:14px; line-height:1.45; color:var(--ink-soft);}
.ap-get-steps{margin:8px 0 0; padding-left:20px; font-size:14px; line-height:1.6; color:var(--ink);}
.ap-get-steps[hidden]{display:none;}
.ap-get-steps svg{width:17px; height:17px; vertical-align:-3px; color:var(--blue);}
.ap-get-btn{flex:none;}
.ap-get-btn[hidden]{display:none;}
.ap-get-x{position:absolute; top:8px; right:8px; width:32px; height:32px; border:0; border-radius:50%; background:transparent; color:var(--ink-faint); font-size:22px; line-height:1; cursor:pointer;}
.ap-get-x:hover{background:rgba(28,42,30,.08); color:var(--ink);}
body.me-student .ap-get{background:#12121B; border-color:rgba(255,255,255,.14);}
@media (max-width:520px){ .ap-get{flex-wrap:wrap;} .ap-get-btn{width:100%;} }
@media (prefers-reduced-motion:reduce){ .ap-bar, .ap-tab, .ap-tab svg, .ap-me-ring, .ap-get{transition:none !important;} }

/* inside the app the page runs under the phone's status bar: the top bar and menu step down out of it */
html.rh-app header.nav{padding-top:calc(16px + env(safe-area-inset-top,0px));}
html.rh-app header.nav.scrolled{padding-top:calc(10px + env(safe-area-inset-top,0px));}
html.rh-app .mobile-menu{padding-top:calc(92px + env(safe-area-inset-top,0px));}

/* ===== Profile: My Calendar, serving cards, your photo in the top button ===== */
.me-upcard header, .me-servecard header{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.me-upall[aria-pressed="true"]{background:var(--green); color:#fff; border-color:var(--green);}
.me-up-why{margin:-6px 0 12px; font-size:13px; color:var(--ink-faint);}
.me-up.is-swap .me-ev{animation:meEvIn .5s cubic-bezier(.2,.9,.3,1) both; animation-delay:calc(var(--i) * 45ms);}
@keyframes meEvIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}
.me-ev.is-serve{background:rgba(63,179,106,.08); border-color:rgba(63,179,106,.35);}
.me-ev-sv{font-style:normal; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#2E8B4A; white-space:nowrap;}
.me-ev.is-off .me-ev-b b{text-decoration:line-through; text-decoration-color:#E0B000; text-decoration-thickness:3px;}
/* serving: cards that scroll sideways (swipe on a phone, arrows on a desktop) */
.me-sv-rail{overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; margin:0 -4px; padding:4px 4px 10px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.me-sv-rail::-webkit-scrollbar{display:none;}
.me-sv-rail .me-serve{display:flex; gap:12px;}
.me-sv-rail .me-serve li{flex:0 0 min(78%,280px); scroll-snap-align:start; display:flex; flex-direction:column; justify-content:space-between; gap:12px; min-height:150px; padding:16px; border-radius:18px; border-left-width:6px; box-shadow:0 10px 24px -18px rgba(28,42,30,.5); transition:transform .3s cubic-bezier(.3,1.4,.5,1), box-shadow .3s;}
.me-sv-rail .me-serve li:hover{transform:translateY(-3px); box-shadow:0 18px 30px -18px rgba(28,42,30,.55);}
.me-sv-rail .me-serve.only-ask li:not(.is-ask){display:none;}
.me-sv-rail .me-sv-main b{display:block; font-family:"Anton",sans-serif; font-weight:400; font-size:22px; line-height:1; letter-spacing:.01em; margin-bottom:6px;}
.me-sv-rail .me-sv-main span{display:block; font-size:14px; color:var(--ink-soft);}
.me-sv-rail .me-sv-form{display:flex; gap:8px; margin:0;}
.me-sv-rail .me-sv-form button{flex:1;}
.me-sv-nav{display:none; gap:6px; justify-content:flex-end; margin-top:-2px;}
.me-sv-nav button{width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:var(--surface); color:var(--ink); cursor:pointer; font-size:16px; transition:background .2s, transform .2s;}
.me-sv-nav button:hover{background:var(--green); color:#fff; transform:scale(1.06);}
@media (hover:hover) and (min-width:700px){ .me-sv-nav{display:flex;} }
.me-svfilter b{display:inline-grid; place-items:center; min-width:20px; height:20px; margin-left:6px; padding:0 6px; border-radius:10px; background:var(--tan); color:#fff; font-size:11px;}
.me-svfilter[aria-pressed="true"]{background:var(--tan); color:#fff; border-color:var(--tan);} .me-svfilter[aria-pressed="true"] b{background:#fff; color:var(--tan);}
body.me-student .me-sv-rail .me-serve li{box-shadow:none;}
/* the top-right button wears their photo (or initials) once they're in */
.me-btn{overflow:hidden;}
.me-btn .me-pic{position:absolute; inset:0; display:grid; place-items:center; border-radius:50%; background:linear-gradient(150deg,var(--green),var(--blue)); color:#fff; opacity:0; transform:scale(.4) rotate(-30deg); transition:opacity .45s, transform .55s cubic-bezier(.3,1.5,.5,1);}
.me-btn .me-pic img{width:100%; height:100%; object-fit:cover; display:block;}
.me-btn .me-pic b{font:800 13px/1 Manrope,system-ui,sans-serif; letter-spacing:0;}
.me-btn.has-pic .me-pic{opacity:1; transform:none;}
.me-btn.has-pic > svg{opacity:0;}
.me-btn.has-pic{border-color:rgba(46,107,62,.55); box-shadow:0 0 0 2px rgba(255,255,255,.6);}
.me-btn .me-dot{z-index:2;}
.mm-me .me-pic{width:40px; height:40px; border-radius:50%; overflow:hidden; display:grid; place-items:center; background:linear-gradient(150deg,var(--green),var(--blue)); color:#fff; flex:none;}
.mm-me .me-pic img{width:100%; height:100%; object-fit:cover; display:block;} .mm-me .me-pic b{font:800 14px/1 Manrope,system-ui,sans-serif;}
.mm-me.has-pic > svg{display:none;}
/* ===== A night off: caution tape across the tile ===== */
.cal-chip.off{--kc:#E0B000; background:repeating-linear-gradient(135deg,#F2C200 0 10px,#15151A 10px 20px) !important; color:#fff !important; text-shadow:0 1px 0 #000, 0 0 6px #000; font-weight:800; letter-spacing:.04em; text-transform:uppercase;}
.cal-cell.has-off .cal-num{text-decoration:line-through; text-decoration-color:#E0B000; text-decoration-thickness:3px;}
.mn-stcal-d.is-off{background:#15151A !important; overflow:hidden;}
.mn-stcal-d.is-off > b{opacity:.55; text-decoration:line-through; text-decoration-color:#F2C200; text-decoration-thickness:3px;}
.mn-stcal-tape{position:absolute; left:-30%; right:-30%; top:50%; height:22px; margin-top:-11px; transform:rotate(-14deg); background:repeating-linear-gradient(135deg,#F2C200 0 12px,#15151A 12px 24px); box-shadow:0 2px 6px rgba(0,0,0,.6), inset 0 0 0 1px rgba(0,0,0,.5); display:grid; place-items:center; pointer-events:none; animation:tapeIn .6s cubic-bezier(.2,1.3,.4,1) both;}
.mn-stcal-tape i{font:900 10px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.14em; text-transform:uppercase; color:#111; background:#F2C200; padding:3px 7px; border-radius:2px; white-space:nowrap;}
.mn-stcal-tape.big{position:relative; left:auto; right:auto; top:auto; margin:6px 0 14px; height:34px; transform:rotate(-3deg);} .mn-stcal-tape.big i{font-size:14px; padding:6px 12px;}
@keyframes tapeIn{from{transform:rotate(-14deg) scaleX(0);} to{transform:rotate(-14deg) scaleX(1);}}
.mn-stcal-off{padding:6px 2px 2px;} .mn-stcal-off h4{margin:0 0 6px; font-family:"Anton",sans-serif; font-weight:400; font-size:24px; letter-spacing:.01em; color:#fff;} .mn-stcal-off p{margin:0; color:rgba(255,255,255,.75); font-size:14px;}
@media (prefers-reduced-motion:reduce){ .mn-stcal-tape, .me-up.is-swap .me-ev{animation:none;} .me-btn .me-face{transition:none;} }

/* ===== A Wednesday both Students and Kids have a series night: the tile splits corner to corner ===== */
.cal-cell.has-split .cal-ser-a{clip-path:polygon(0 0, 100% 0, 0 100%);}
.cal-cell.has-split .cal-ser-b{clip-path:polygon(100% 0, 100% 100%, 0 100%);}
.cal-cell.has-split .cal-ser-a img{right:auto; left:6%; top:6%; bottom:auto; width:48%;}
.cal-cell.has-split .cal-ser-b img{right:6%; bottom:6%; width:48%;}
.cal-cell.has-split::before{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to top right, transparent calc(50% - 1.5px), rgba(255,255,255,.9) calc(50% - 1.5px), rgba(255,255,255,.9) calc(50% + 1.5px), transparent calc(50% + 1.5px)); pointer-events:none; border-radius:inherit;}
/* Kids and Buddies calendars on their pages: same block, their own color */
.mn-stcal-kids{--tone:#F28C28;} .mn-stcal-buddies{--tone:#8B5CF6;}
.mn-stcal-kids .mn-stcal-key .is-st{--tone:#F28C28;} .mn-stcal-buddies .mn-stcal-key .is-st{--tone:#8B5CF6;}

/* ===== Review Board upgrade: change log, Advanced Settings, review on the page ===== */
.pe-board-tools{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.pe-adv{white-space:nowrap;}
.pe-hist{margin-top:22px; padding-top:18px; border-top:1px solid var(--line);}
.pe-hist-top{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px;}
.pe-hist-top h3{margin:0; font-size:20px;}
.pe-hist-f{display:inline-flex; gap:4px; padding:4px; border-radius:999px; background:var(--surface); border:1px solid var(--line);}
.pe-hist-f button{border:0; background:transparent; color:var(--ink-soft); font:700 12.5px/1 Manrope,system-ui,sans-serif; padding:8px 12px; border-radius:999px; cursor:pointer; transition:background .25s, color .25s;}
.pe-hist-f button.is-on{background:var(--ink); color:#fff;}
.pe-hist-list{list-style:none; margin:0; padding:0; display:grid; gap:8px;}
.pe-hrow[hidden]{display:none;}
.pe-hrow-a{display:grid; grid-template-columns:40px 1fr auto; gap:12px; align-items:center; padding:12px 14px; border-radius:16px; background:var(--surface); border:1px solid var(--line); border-left:5px solid #3FB36A; text-decoration:none; color:inherit; transition:transform .3s cubic-bezier(.3,1.4,.5,1), box-shadow .3s;}
.pe-hrow.is-denied .pe-hrow-a{border-left-color:#C44536;}
.pe-hrow-a:hover{transform:translateX(4px); box-shadow:0 12px 26px -18px rgba(28,42,30,.5);}
.pe-hrow-b{min-width:0;} .pe-hrow-b b{display:block;} .pe-hrow-where{display:block; font-size:12.5px; color:var(--ink-faint);}
.pe-hrow-diff{display:flex; align-items:center; gap:8px; margin-top:6px; font-size:13.5px; flex-wrap:wrap;}
.pe-hrow-diff del{color:#9A3B2E; background:rgba(196,69,54,.10); text-decoration-thickness:2px; padding:1px 6px; border-radius:6px;}
.pe-hrow-diff ins{text-decoration:none; color:#1F6B3A; background:rgba(63,179,106,.14); padding:1px 6px; border-radius:6px;}
.pe-hrow-diff img{width:54px; height:36px; object-fit:cover; border-radius:6px; border:1px solid var(--line);}
.pe-hrow-st{text-align:right; white-space:nowrap;} .pe-hrow-st i{display:block; font-style:normal; font:800 11px/1 "Space Mono",monospace; letter-spacing:.1em; text-transform:uppercase; color:#2E8B4A;} .pe-hrow.is-denied .pe-hrow-st i{color:#C44536;} .pe-hrow-st small{display:block; margin-top:4px; font-size:12px; color:var(--ink-faint);}
.pe-advdlg{width:min(94vw,760px);}
.pe-adv-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px;}
.pe-adv-grid textarea{width:100%; min-height:150px; resize:vertical; font:inherit; font-size:15px;}
.pe-adv-grid small{display:block; margin-top:6px; font-size:12.5px; color:var(--ink-faint); line-height:1.4;}
.pe-adv-h{margin:22px 0 8px; font-size:16px;}
.pe-adv-log{list-style:none; margin:0; padding:0; max-height:180px; overflow:auto; border:1px solid var(--line); border-radius:12px; font-size:13.5px;}
.pe-adv-log li{display:grid; grid-template-columns:110px 1fr; gap:4px 10px; padding:8px 12px; border-bottom:1px solid var(--line);} .pe-adv-log li:last-child{border-bottom:0;}
.pe-adv-log time{color:var(--ink-faint); font-size:12px;} .pe-adv-log b{display:inline;} .pe-adv-log span{grid-column:2;}
@media (max-width:640px){ .pe-adv-grid{grid-template-columns:1fr;} .pe-hrow-a{grid-template-columns:40px 1fr;} .pe-hrow-st{grid-column:2; text-align:left; display:flex; gap:8px;} }
/* the preview bar: Before/After, step through changes, approve or send back right here */
.me-pv-bar{display:flex; align-items:center; gap:14px; flex-wrap:wrap; max-width:min(calc(100vw - 28px), 980px);}
.me-pv-txt{flex:1; min-width:180px;}
.me-pv-acts{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.me-pv-acts button, .me-pv-back{border:0; border-radius:999px; padding:9px 14px; font:700 13px/1 Manrope,system-ui,sans-serif; cursor:pointer; text-decoration:none; transition:transform .2s, background .2s;}
.me-pv-acts button:hover, .me-pv-back:hover{transform:translateY(-1px);}
.me-pv-flip{background:#F2B84B; color:#1C2A1E;} .me-pv-flip[aria-pressed="false"]{background:#E8F0F8; color:#16324A;}
.me-pv-next{background:rgba(255,255,255,.14); color:#fff;}
.me-pv-form{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0;}
.me-pv-form input[type="text"]{width:200px; max-width:40vw; padding:8px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff; font:500 13px/1 Manrope,system-ui,sans-serif;}
.me-pv-form input::placeholder{color:rgba(255,255,255,.6);}
.me-pv-yes{background:#3FB36A; color:#fff;} .me-pv-no{background:#C44536; color:#fff;}
.me-pv-back{background:transparent; color:#E8F0F8; border:1px solid rgba(255,255,255,.3) !important;}
.me-pv-hit.is-before{outline-color:#C44536 !important; outline-style:dashed !important;}
.me-pv-hit.is-focus{outline-width:5px !important; box-shadow:0 0 0 9999px rgba(10,20,30,.35); position:relative; z-index:5;}
@media (max-width:640px){ .me-pv-bar{bottom:8px; padding:10px 12px; gap:8px;} .me-pv-form input[type="text"]{width:100%; max-width:none;} }

/* ===== App view switch, at the very bottom on phones and tablets ===== */
.ap-switch[hidden]{display:none;}
.ap-switch{display:flex; justify-content:center; padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px)); background:#0E1A12; border-top:1px solid rgba(255,255,255,.08);}
html.rh-app .ap-switch{position:relative; z-index:2; background:transparent; border-top:0; padding:0 16px; margin-top:calc(-150px - env(safe-area-inset-bottom,0px)); height:calc(150px + env(safe-area-inset-bottom,0px)); align-items:flex-start;}
html.rh-app:has(.ap-switch:not([hidden])) footer.ft{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px));}
.ap-switch button{display:none; align-items:center; gap:10px; min-height:44px; padding:10px 18px; border-radius:999px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:#E6EEE7; font:700 13.5px/1 Manrope,system-ui,sans-serif; cursor:pointer; transition:background .25s, transform .25s;}
.ap-switch button svg{width:18px; height:18px;}
.ap-switch button:active{transform:scale(.97);}
.ap-switch[data-on="0"] [data-ap-view="1"], .ap-switch[data-on="1"] [data-ap-view="0"]{display:inline-flex;}
html.ap-switching body{opacity:0; transition:opacity .18s;}
/* app view on a phone: roomier taps, calmer header, pages feel like screens */
html.rh-app a.btn, html.rh-app button.btn{min-height:46px;}
html.rh-app .nav-cta .btn-pray .bp-long{display:none;} html.rh-app .nav-cta .btn-pray .bp-short{display:inline;}
html.rh-app main{animation:apScreenIn .32s cubic-bezier(.2,.9,.3,1) both;}
@keyframes apScreenIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}
@media (prefers-reduced-motion:reduce){ html.rh-app main{animation:none;} html.ap-switching body{transition:none;} }
/* change log on the dark student look */
.pe-hist-f button.is-on{color:var(--bg);}
body.me-student .pe-hrow-diff del{color:#FFB4A8; background:rgba(196,69,54,.22);}
body.me-student .pe-hrow-diff ins{color:#9BE8B4; background:rgba(63,179,106,.2);}

/* ===== Student profile: this week's lesson + my huddle ===== */
.me-week{display:grid; grid-template-columns:1.35fr 1fr; gap:18px; margin-bottom:18px; align-items:stretch;}
.me-devo[hidden]{display:none;}
.me-devo{position:relative; overflow:hidden; border-radius:26px; min-height:320px; color:#fff; isolation:isolate; box-shadow:0 30px 60px -30px rgba(0,0,0,.8); opacity:0; transform:translateY(16px) scale(.985); transition:opacity .7s, transform .9s cubic-bezier(.2,.9,.2,1);}
.me-devo.is-in{opacity:1; transform:none;}
.me-devo-bg{position:absolute; inset:-8%; z-index:-2; background:center / cover no-repeat; animation:serPan 30s ease-in-out infinite alternate;}
.me-devo::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(105deg, rgba(20,6,32,.88) 0%, rgba(20,6,32,.62) 55%, rgba(20,6,32,.25) 100%);}
.me-devo-in{padding:28px; display:flex; flex-direction:column; gap:10px; height:100%;}
.me-devo-k{margin:0; font:700 11.5px/1 "Space Mono",monospace; letter-spacing:.16em; text-transform:uppercase; color:#FFD9A0;}
.me-devo-logo{width:min(46%,210px); height:auto; filter:drop-shadow(0 6px 14px rgba(0,0,0,.5)); animation:serHug 3.8s ease-in-out infinite;}
.me-devo h2{margin:0; font-size:34px; color:#fff;} .me-devo h3{margin:0; font-size:26px; color:#fff;}
.me-devo-when{margin:0; font-size:13.5px; color:rgba(255,255,255,.82);}
.me-devo-p{margin:0; font-size:15px; line-height:1.5; color:rgba(255,255,255,.9); max-width:56ch;}
.me-devo-btns{display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; padding-top:8px;}
.me-hud-g + .me-hud-g{margin-top:16px; padding-top:16px; border-top:1px solid var(--line);}
.me-hud-n{margin:0 0 10px;} .me-hud-n b{display:block; font-size:17px;} .me-hud-n span{display:block; font-size:13px; color:var(--ink-faint);}
.me-hud-l{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.me-hud-l li{display:flex; align-items:center; gap:12px;}
.me-hud-l .me-face{width:48px; height:48px;} .me-hud-l .me-face b{font-size:18px;}
.me-hud-who{flex:1; min-width:0;} .me-hud-who b{display:block;} .me-hud-who small{display:block; font-size:12px; color:var(--ink-faint);}
.me-hud-msg{flex:none; min-height:40px; display:inline-flex; align-items:center; padding:8px 14px; border-radius:999px; border:1px solid var(--line-strong); font:700 13px/1 Manrope,system-ui,sans-serif; text-decoration:none; color:inherit; transition:transform .25s cubic-bezier(.3,1.5,.5,1), background .25s;}
.me-hud-msg:hover{transform:translateY(-2px); background:rgba(255,255,255,.1);}
.me-hud-note{margin:14px 0 0; font-size:12.5px; color:var(--ink-faint);}
@media (max-width:860px){ .me-week{grid-template-columns:1fr;} .me-devo{min-height:280px;} .me-devo-in{padding:22px;} }
@media (prefers-reduced-motion:reduce){ .me-devo{transition:none; opacity:1; transform:none;} .me-devo-bg, .me-devo-logo{animation:none;} }
/* a ministry page whose "Coming up" section holds only its calendar */
.mn-soon.is-calonly .mn-evs:empty{display:none;}

/* ===== Huddle leaders (hd-): the names from Services, and the "Contact your huddle leader" pop-up ===== */
.hd-card{display:flex; flex-direction:column;}
.hd-list{list-style:none; margin:0 0 16px; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:8px; max-height:292px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin;}
.hd-who{width:100%; display:flex; align-items:center; gap:10px; min-height:52px; padding:7px 12px 7px 7px; border-radius:16px; border:1px solid var(--line); background:rgba(255,255,255,.035); color:inherit; font:inherit; text-align:left; cursor:pointer; transition:transform .35s cubic-bezier(.3,1.5,.5,1), border-color .25s, background .25s;}
.hd-who i, .hd-to i{flex:none; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; font:800 13px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.02em; color:#07070B; background:linear-gradient(135deg,#F2D9A8,#8FD0A0);}
.hd-who span{min-width:0;} .hd-who b{display:block; font-size:14.5px; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.hd-who small{display:block; font-size:12px; color:var(--ink-faint); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.hd-who:hover, .hd-who:focus-visible{transform:translateY(-2px); border-color:var(--line-strong); background:rgba(255,255,255,.08); outline:none;}
.hd-who:focus-visible{box-shadow:0 0 0 3px rgba(143,208,160,.45);}
.hd-open{margin-top:auto; justify-content:center; width:100%;}
.hd-note{margin:12px 0 0; font-size:12.5px; color:var(--ink-faint); text-align:center;}
.hd-dlg .hd-form[hidden], .hd-done[hidden], .hd-to[hidden]{display:none;}
.hd-to{display:flex; align-items:center; gap:12px; margin-top:16px; padding:10px 14px 10px 10px; border-radius:18px; border:1px solid var(--line); background:rgba(127,127,127,.08); animation:hdIn .4s cubic-bezier(.2,.9,.2,1) both;}
.hd-to i{width:46px; height:46px; font-size:15px;}
.hd-to small{display:block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft);} .hd-to b{display:block; font-size:18px; line-height:1.2;}
.hd-f{display:block; margin-top:16px;}
.hd-f > span{display:block; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-soft); margin-bottom:6px;}
.hd-f select, .hd-f textarea{width:100%; min-height:48px; padding:12px 14px; font:inherit; font-size:16px; color:var(--ink); background:#fff; border:1.5px solid var(--line-strong); border-radius:12px; transition:border-color .2s, box-shadow .2s;}
.hd-f textarea{min-height:150px; resize:vertical; line-height:1.5;}
.hd-f select{-webkit-appearance:none; appearance:none; padding-right:42px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; background-size:12px 8px;}
.hd-f select:focus, .hd-f textarea:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(46,107,62,.15);}
body.me-student .hd-f select, body.me-student .hd-f textarea{background:#15151F; color:var(--ink);}
.hd-count{margin:6px 2px 0; font-size:12px; color:var(--ink-faint); text-align:right;}
.hd-err{margin:10px 0 0; padding:10px 14px; border-radius:12px; font-size:14px; font-weight:700; color:#fff; background:#B3372F;}
.hd-err[hidden]{display:none;}
.hd-fine{margin:12px 0 0; font-size:13px; color:var(--ink-soft);}
.hd-send[disabled]{opacity:.6; pointer-events:none;}
.hd-done{padding:40px 28px 28px; text-align:center;}
.hd-done h2{margin-top:10px;} .hd-done p{margin-top:8px; color:var(--ink-soft);}
.hd-done .me-dlg-row{justify-content:center;}
.hd-tick{display:inline-grid; color:#3FB36A; animation:hdPop .6s cubic-bezier(.3,1.6,.5,1) both;}
.hd-tick path{stroke-dasharray:40; stroke-dashoffset:40; animation:hdDraw .45s .25s ease-out forwards;}
@keyframes hdIn{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:none;}}
@keyframes hdPop{from{opacity:0; transform:scale(.5);} to{opacity:1; transform:none;}}
@keyframes hdDraw{to{stroke-dashoffset:0;}}
@media (max-width:640px){ .hd-list{grid-template-columns:1fr 1fr; max-height:250px;} .hd-who{padding-right:8px;} .hd-done{padding:32px 22px 22px;} }
@media (max-width:380px){ .hd-list{grid-template-columns:1fr;} }
@media (prefers-reduced-motion:reduce){ .hd-who{transition:none;} .hd-to, .hd-tick{animation:none;} .hd-tick path{animation:none; stroke-dashoffset:0;} }

/* ===== My Rising Hills, upgraded (mx-): glance strip, jump bar, card depth, serving grid ===== */
.mx-glance{flex:1 1 100%; order:5; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-top:6px; perspective:900px;}
.mx-tile{position:relative; overflow:hidden; display:flex; flex-direction:column; gap:2px; min-height:112px; padding:16px 18px; border-radius:20px; text-decoration:none; text-align:left; font:inherit; color:var(--ink); cursor:pointer;
  background:linear-gradient(160deg,rgba(255,255,255,.75),rgba(255,255,255,.35)); border:1px solid var(--line); box-shadow:0 18px 40px -26px rgba(20,30,25,.55), inset 0 1px 0 rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  animation:mxIn .8s calc(.25s + var(--i,0) * .09s) cubic-bezier(.2,.9,.2,1) backwards; transition:transform .45s cubic-bezier(.2,.9,.2,1), box-shadow .35s, border-color .3s;}
.mx-tile::before{content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--grad); opacity:.9;}
.mx-tile b{font-family:"Anton",sans-serif; font-weight:400; font-size:40px; line-height:1; letter-spacing:.01em;}
.mx-tile span{font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-top:6px;}
.mx-tile small{font-size:13px; color:var(--ink-soft);}
.mx-tile:hover{border-color:var(--line-strong); box-shadow:0 28px 50px -26px rgba(20,30,25,.6), inset 0 1px 0 rgba(255,255,255,.7);}
.mx-tile.mx-lean{transform:rotateX(var(--mx-rx,0)) rotateY(var(--mx-ry,0)) translateY(-3px);}
.mx-shine{position:absolute; inset:0; pointer-events:none; background:radial-gradient(260px circle at var(--mx-gx,50%) var(--mx-gy,0%),rgba(255,255,255,.55),transparent 60%); opacity:0; transition:opacity .3s;}
.mx-tile:hover .mx-shine{opacity:1;}
.mx-ask b{color:#B8662A;} .mx-ask::after{content:""; position:absolute; top:16px; right:16px; width:10px; height:10px; border-radius:50%; background:#E08A3C; animation:mePulse 2s ease-out infinite;}
.mx-next b{font-size:34px;}
@keyframes mxIn{from{opacity:0; transform:translateY(18px) rotateX(-8deg);}}
body.me-student .mx-tile{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03)); box-shadow:0 18px 40px -26px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.08);}
body.me-student .mx-shine{background:radial-gradient(260px circle at var(--mx-gx,50%) var(--mx-gy,0%),rgba(255,255,255,.14),transparent 60%);}
body.me-student .mx-ask b{color:#F2B074;}

.mx-nav{position:sticky; top:calc(var(--mx-top,0px) + 10px); z-index:30; display:flex; justify-content:center; margin:-8px 0 26px; pointer-events:none;}
.mx-nav[hidden]{display:none;}
.mx-nav-in{position:relative; pointer-events:auto; display:flex; gap:2px; max-width:100%; overflow-x:auto; scrollbar-width:none; padding:5px; border-radius:999px; background:rgba(255,255,255,.72); border:1px solid var(--line); box-shadow:0 14px 34px -22px rgba(20,30,25,.55); -webkit-backdrop-filter:blur(14px) saturate(1.4); backdrop-filter:blur(14px) saturate(1.4); transition:box-shadow .3s, transform .4s cubic-bezier(.2,.9,.2,1);}
.mx-nav-in::-webkit-scrollbar{display:none;}
.mx-nav.is-stuck .mx-nav-in{box-shadow:0 18px 40px -18px rgba(20,30,25,.6);}
.mx-nav a{position:relative; z-index:1; flex:none; padding:10px 16px; border-radius:999px; font-size:13.5px; font-weight:800; letter-spacing:.02em; color:var(--ink-soft); text-decoration:none; white-space:nowrap; transition:color .3s;}
.mx-nav a.is-on{color:#fff;}
.mx-nav-pill{position:absolute; z-index:0; left:0; top:5px; bottom:5px; width:0; border-radius:999px; background:var(--grad); opacity:0; box-shadow:0 8px 18px -8px rgba(var(--teal-rgb),.7); transition:transform .5s cubic-bezier(.3,1.3,.5,1), width .5s cubic-bezier(.3,1.3,.5,1), opacity .3s;}
body.me-student .mx-nav-in{background:rgba(16,16,24,.78);}

/* cards: depth and a soft light that follows the mouse */
.me-body .me-card{position:relative; transform-style:preserve-3d;}
.me-body .me-card.is-in.mx-lean{transform:perspective(1100px) rotateX(var(--mx-rx,0)) rotateY(var(--mx-ry,0)); transition:transform .25s ease-out, box-shadow .3s;}
.me-body .me-card.is-in{transition:opacity .7s var(--me-d,0ms), transform .6s cubic-bezier(.2,.9,.2,1), box-shadow .3s;}
.me-body .me-card.mx-lean{box-shadow:0 30px 60px -34px rgba(20,30,25,.55);}
.me-card h2{position:relative;}
.me-card > header h2::after{content:""; display:block; width:34px; height:3px; margin-top:8px; border-radius:3px; background:var(--grad); transition:width .5s cubic-bezier(.2,.9,.2,1);}
.me-card:hover > header h2::after{width:64px;}

/* serving: three across on a computer, then three more under them; phones keep the swipe row */
@media (min-width:861px){
  .me-grid-top{grid-template-columns:1fr;}
  .me-upcard{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); column-gap:30px; align-items:start;}
  .me-upcard > header, .me-upcard > .me-up-why{grid-column:1 / -1;}
  .me-upcard > .me-up{grid-column:1;}
  .me-upcard > .me-cals{grid-column:2; grid-row:3; margin-top:0;}
  .me-sv-rail{overflow:visible; scroll-snap-type:none; margin:0; padding:4px 0 2px;}
  .me-sv-rail .me-serve{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px;}
  .me-sv-rail .me-serve li{flex:none; min-height:170px; animation:mxIn .6s calc(var(--n,0) * .07s + .1s) cubic-bezier(.2,.9,.2,1) backwards;}
  .me-sv-rail .me-serve li:hover{transform:translateY(-4px);}
  .me-sv-nav{display:none !important;}
  .me-servecard .me-grps{grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
}
@media (max-width:860px){ .mx-glance{grid-template-columns:1fr 1fr;} .mx-tile{min-height:100px; padding:14px 15px;} .mx-tile b{font-size:32px;} .mx-next b{font-size:28px;} .mx-nav{margin-bottom:20px;} .mx-nav a{padding:9px 13px; font-size:13px;} }

/* huddle leader faces (students' card) */
.hd-av img, .hf-av img{width:100%; height:100%; object-fit:cover; border-radius:50%; display:block;}
.hd-who i.has-img{background:none; padding:0; overflow:hidden;}
.hd-who{position:relative;}
.hd-who.is-own{border-color:rgba(143,208,160,.55); background:rgba(143,208,160,.08);}
.hd-who em{position:absolute; top:-8px; right:10px; padding:3px 8px; border-radius:999px; font:800 10px/1 Manrope,system-ui,sans-serif; font-style:normal; text-transform:uppercase; letter-spacing:.07em; color:#07070B; background:linear-gradient(135deg,#F2D9A8,#8FD0A0);}

/* ===== Parents: "Your students' huddle leaders" (hf-) ===== */
.hf-btn{position:relative; display:flex; align-items:center; gap:12px; width:100%; margin-top:18px; padding:16px 18px; border:0; border-radius:18px; cursor:pointer; text-align:left; font:800 15px/1.2 Manrope,system-ui,sans-serif; color:#fff; background:linear-gradient(120deg,#1E3A2A,#0E2F44 55%,#3A2C52); box-shadow:0 18px 34px -20px rgba(14,47,68,.9); overflow:hidden; isolation:isolate; transition:transform .4s cubic-bezier(.3,1.4,.5,1), box-shadow .3s;}
.hf-btn::before{content:""; position:absolute; inset:-40%; z-index:-1; background:conic-gradient(from 0deg,transparent 0 60%,rgba(143,208,160,.45),rgba(242,217,168,.45),transparent 85%); animation:hfSpin 6s linear infinite;}
.hf-btn::after{content:""; position:absolute; inset:2px; z-index:-1; border-radius:16px; background:linear-gradient(120deg,#1E3A2A,#0E2F44 55%,#3A2C52);}
.hf-btn:hover{transform:translateY(-3px); box-shadow:0 26px 40px -20px rgba(14,47,68,.95);}
.hf-btn-ring{flex:none; width:38px; height:38px; border-radius:50%; background:conic-gradient(#8FD0A0,#F2D9A8,#7FB2E5,#8FD0A0); -webkit-mask:radial-gradient(circle,transparent 11px,#000 12px); mask:radial-gradient(circle,transparent 11px,#000 12px); animation:hfSpin 4s linear infinite;}
.hf-btn-t{flex:1;}
.hf-btn-arr{font-size:20px; transition:transform .35s;}
.hf-btn:hover .hf-btn-arr{transform:translateX(5px);}
@keyframes hfSpin{to{transform:rotate(1turn);}}

.hf-dlg{width:min(1120px,96vw); max-width:none; max-height:94vh; margin:auto; padding:0; border:0; border-radius:30px; color:#F4F1EA; background:#0B0D14; box-shadow:0 60px 120px -40px rgba(0,0,0,.9); overflow:auto; overscroll-behavior:contain;}
.hf-dlg[open]{animation:hfOpen .55s cubic-bezier(.2,.9,.2,1) backwards;}
@keyframes hfOpen{from{opacity:0; transform:translateY(30px) scale(.96);}}
.hf-dlg::backdrop{background:rgba(5,8,12,.7); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
.hf-in{position:relative; padding:44px 44px 34px; isolation:isolate;}
.hf-glow{position:absolute; z-index:-1; inset:-20% -10% auto; height:520px; background:radial-gradient(40% 60% at 25% 30%,rgba(232,120,170,.22),transparent 70%),radial-gradient(40% 60% at 75% 20%,rgba(90,160,230,.25),transparent 70%),radial-gradient(30% 40% at 50% 60%,rgba(143,208,160,.18),transparent 70%); filter:blur(10px); animation:hfDrift 14s ease-in-out infinite alternate;}
@keyframes hfDrift{to{transform:translate3d(3%,4%,0) scale(1.08);}}
.hf-x{position:absolute; top:20px; right:22px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff; font-size:26px; line-height:1; cursor:pointer; transition:transform .3s, background .3s;}
.hf-x:hover{transform:rotate(90deg); background:rgba(255,255,255,.14);}
.hf-eye{margin:0; font:800 12px/1 Manrope,system-ui,sans-serif; text-transform:uppercase; letter-spacing:.18em; color:#8FD0A0;}
.hf-dlg h2{margin:10px 0 0; font-size:clamp(34px,5vw,60px); line-height:.95; color:#fff;}
.hf-kids{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px;}
.hf-kid{display:flex; align-items:center; gap:10px; padding:8px 16px 8px 8px; border-radius:999px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.05); color:#fff; font:inherit; text-align:left; cursor:pointer; transition:transform .35s cubic-bezier(.3,1.4,.5,1), background .3s, border-color .3s;}
.hf-kid i{width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font:800 13px/1 Manrope,system-ui,sans-serif; font-style:normal; color:#07070B; background:linear-gradient(135deg,#F2D9A8,#8FD0A0);}
.hf-kid b{display:block; font-size:15px;} .hf-kid small{display:block; font-size:12px; color:rgba(255,255,255,.62);}
.hf-kid:hover{transform:translateY(-2px); background:rgba(255,255,255,.1);}
.hf-kid[aria-pressed="true"]{border-color:#8FD0A0; background:rgba(143,208,160,.16); box-shadow:0 0 0 3px rgba(143,208,160,.18);}
.hf-seg{position:relative; display:inline-flex; margin-top:22px; padding:4px; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);}
.hf-seg button{position:relative; z-index:1; padding:10px 20px; border:0; border-radius:999px; background:none; color:rgba(255,255,255,.7); font:800 14px/1 Manrope,system-ui,sans-serif; cursor:pointer; transition:color .3s;}
.hf-seg button[aria-pressed="true"]{color:#07070B;}
.hf-seg-pill{position:absolute; z-index:0; left:0; top:4px; bottom:4px; width:0; border-radius:999px; background:linear-gradient(135deg,#F2D9A8,#8FD0A0); transition:transform .5s cubic-bezier(.3,1.3,.5,1), width .5s cubic-bezier(.3,1.3,.5,1);}
.hf-cols{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:28px;}
.hf-col{position:relative; padding:24px; border-radius:24px; background:linear-gradient(170deg,rgba(255,255,255,.06),rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.1); transition:opacity .45s, transform .55s cubic-bezier(.2,.9,.2,1), filter .45s;}
.hf-col-f{box-shadow:inset 0 3px 0 rgba(232,120,170,.7);} .hf-col-m{box-shadow:inset 0 3px 0 rgba(90,160,230,.8);} .hf-col-x{margin-top:22px; box-shadow:inset 0 3px 0 rgba(242,217,168,.6);}
.hf-col h3{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 6px; font-size:34px; color:#fff;}
.hf-col h3 small{font:700 13px/1 Manrope,system-ui,sans-serif; color:rgba(255,255,255,.55); letter-spacing:.02em;}
.hf-col h4{margin:18px 0 10px; font:800 11.5px/1 Manrope,system-ui,sans-serif; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,255,255,.55);}
.hf-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px;}
.hf-tile{position:relative; display:flex; align-items:center; gap:12px; padding:10px 14px 10px 10px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); transition:transform .4s cubic-bezier(.3,1.4,.5,1), background .3s, border-color .3s, opacity .4s, box-shadow .4s;}
.hf-dlg[open] .hf-tile{animation:hfTile .6s calc(.15s + min(var(--i,0),24) * .035s) cubic-bezier(.2,.9,.2,1) backwards;}
@keyframes hfTile{from{opacity:0; transform:translateY(16px) scale(.97);}}
.hf-tile:hover{background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.18);}
.hf-face{position:relative; flex:none; width:52px; height:52px; border-radius:50%; padding:2px; background:conic-gradient(from var(--hf-a,0deg),#8FD0A0,#F2D9A8,#E878AA,#7FB2E5,#8FD0A0);}
.hf-col-m .hf-face{background:conic-gradient(from var(--hf-a,0deg),#7FB2E5,#8FD0A0,#5A7FE6,#7FB2E5);}
.hf-col-f .hf-face{background:conic-gradient(from var(--hf-a,0deg),#E878AA,#F2D9A8,#C49BE8,#E878AA);}
.hf-tile:hover .hf-face, .hf-tile.is-mine .hf-face{animation:hfRing 3s linear infinite;}
@property --hf-a{syntax:"<angle>"; inherits:false; initial-value:0deg;}
@keyframes hfRing{to{--hf-a:360deg;}}
.hf-av{width:100%; height:100%; border-radius:50%; display:grid; place-items:center; font:800 15px/1 Manrope,system-ui,sans-serif; font-style:normal; color:#fff; background:#141826; border:2px solid #0B0D14;}
.hf-who{flex:1; min-width:0;}
.hf-who b{display:block; font-size:15.5px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.hf-who small{display:block; margin-top:2px; font-size:12.5px; color:rgba(255,255,255,.58); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.hf-badge{position:absolute; top:-9px; right:10px; padding:4px 9px; border-radius:999px; font:800 10.5px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.04em; color:#07070B; background:linear-gradient(135deg,#F2D9A8,#8FD0A0); box-shadow:0 6px 14px -6px rgba(143,208,160,.8);}
.hf-tile.is-mine{border-color:rgba(143,208,160,.5); background:rgba(143,208,160,.08); box-shadow:0 0 0 1px rgba(143,208,160,.25), 0 14px 30px -18px rgba(143,208,160,.7);}
.hf-dlg.has-focus .hf-tile:not(.is-focus){opacity:.28 !important; filter:saturate(.4);}
.hf-dlg.has-focus .hf-tile.is-focus{transform:scale(1.03);}
.hf-dlg[data-show="F"] .hf-col-m, .hf-dlg[data-show="M"] .hf-col-f{display:none;}
.hf-dlg[data-show="F"] .hf-cols, .hf-dlg[data-show="M"] .hf-cols{grid-template-columns:1fr;}
.hf-none, .hf-empty{color:rgba(255,255,255,.6); margin:10px 0 0;}
.hf-fine{margin:22px 0 0; font-size:13px; color:rgba(255,255,255,.5);}
@media (max-width:760px){
  .hf-dlg{width:100vw; max-height:100dvh; height:100dvh; border-radius:0;}
  .hf-in{padding:64px 18px 28px;}
  .hf-cols{grid-template-columns:1fr;}
  .hf-col{padding:18px;}
  .hf-grid{grid-template-columns:1fr;}
  .hf-seg{display:flex;} .hf-seg button{flex:1;}
}
@media (prefers-reduced-motion:reduce){
  .mx-tile, .hf-tile, .me-sv-rail .me-serve li{animation:none !important;}
  .hf-btn::before, .hf-btn-ring, .hf-glow, .hf-face{animation:none !important;}
  .hf-dlg[open]{animation:none;} .mx-nav-pill, .hf-seg-pill{transition:none;}
}

/* ===== My Rising Hills: the month calendar on the profile (.mcx). A copy of the Calendar page grid styles, scoped to the profile only. ===== */
.mcx{ --cal-green:#2E6B3E; --cal-green-ink:#24512E; --cal-navy:#2A5680; --cal-tan:#B8925A; --cal-rust:#B4532F; --cal-deep:#0D1A12; --cal-tile:#FFFBF3; --cal-grad:linear-gradient(135deg,#2E6B3E 0%,#2A5680 100%); --cal-ease:cubic-bezier(.2,.9,.25,1); }
.mcx .cal-layout{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:24px; align-items:start; }
@media (max-width:1099px){
.mcx .cal-layout{ grid-template-columns:minmax(0,1fr); gap:18px; }
}
.mcx .cal-board{ min-width:0; padding:16px 16px 14px; border-radius:26px; background:var(--surface); border:1px solid var(--line);
  box-shadow:0 34px 64px -46px rgba(19,42,22,.65); }
.mcx .cal-dow{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin-bottom:10px; }
.mcx .cal-dow span{ font-family:"Space Mono",monospace; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; text-align:center; color:var(--ink-faint); }
.mcx .cal-dow span:first-child, .mcx .cal-dow span:last-child{ color:color-mix(in srgb, var(--cal-tan) 85%, #000); }
.mcx .cal-grid{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; transform-style:flat; animation:none; touch-action:pan-y; }
.mcx .cal-cell{ position:relative; display:flex; flex-direction:column; align-items:stretch; gap:4px; min-width:0; min-height:118px;
  padding:8px 7px; overflow:hidden; border-radius:15px; border:1px solid var(--line); background:var(--cal-tile);
  color:var(--ink); font:inherit; text-align:left; cursor:pointer; opacity:1; animation:none;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset, 0 8px 16px -14px rgba(19,42,22,.6);
  -webkit-backface-visibility:hidden; backface-visibility:hidden; -webkit-tap-highlight-color:transparent;
  transition:transform .3s var(--cal-ease), box-shadow .3s ease, background-color .3s ease, border-color .3s ease; }
.mcx .cal-cell:hover, .mcx .cal-cell:focus-visible{ transform:none; background:var(--cal-tile); box-shadow:0 1px 0 rgba(255,255,255,.85) inset, 0 8px 16px -14px rgba(19,42,22,.6); }
.mcx .cal-cell.wkend, .mcx .cal-cell.wkend:hover{ background:color-mix(in srgb, var(--cal-tile) 86%, var(--cal-tan)); }
.mcx .cal-cell.out, .mcx .cal-cell.out:hover{ opacity:.45; background:transparent; box-shadow:none; border-style:dashed; }
.mcx .cal-cell.has-sp::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--cal-rust); }
.mcx .cal-cell:active{ transform:scale(.95); }
.mcx .cal-cell:focus-visible{ outline:3px solid var(--cal-navy); outline-offset:2px; border-radius:15px; z-index:4; }
.mcx .cal-num{ flex:none; display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%;
  font-family:"Anton",Impact,sans-serif; font-size:17px; line-height:1; color:var(--ink); transform:none;
  transition:background .3s ease, color .3s ease; }
.mcx .cal-tag{ position:absolute; top:11px; right:8px; font-family:"Space Mono",monospace; font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--cal-green-ink); }
.mcx .cal-cell.today, .mcx .cal-cell.today:hover{ z-index:1; border-color:transparent;
  box-shadow:0 0 0 2px var(--cal-green), 0 0 0 7px rgba(46,107,62,.15), 0 18px 34px -16px rgba(46,107,62,.75); }
.mcx .cal-cell.today .cal-num{ background:var(--cal-green); color:#fff; box-shadow:0 6px 14px -6px rgba(46,107,62,.9); }
.mcx .cal-cell.today::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 0 22px rgba(46,107,62,.38); animation:rhGlow 2.6s ease-in-out infinite; }
.mcx .cal-cell.today.ping{ animation:rhTodayPing .75s var(--cal-ease); }
.mcx .cal-cell.sel, .mcx .cal-cell.sel:hover{ z-index:2; background:var(--cal-grad); border-color:transparent; color:#fff;
  box-shadow:0 20px 34px -18px rgba(42,86,128,.9); }
.mcx .cal-cell.sel.today, .mcx .cal-cell.sel.today:hover{ box-shadow:0 0 0 2px var(--cal-green), 0 0 0 7px rgba(46,107,62,.18), 0 20px 34px -18px rgba(42,86,128,.9); }
.mcx .cal-cell.sel .cal-num{ color:#fff; }
.mcx .cal-cell.sel.today .cal-num{ background:#fff; color:var(--cal-green-ink); }
.mcx .cal-cell.sel .cal-tag{ color:rgba(255,255,255,.88); }
.mcx .cal-cell.sel .cal-more{ color:rgba(255,255,255,.85); }
.mcx .cal-cell.sel .cal-dots i{ box-shadow:0 0 0 1.5px #fff; }
.mcx .cal-cell.sel .cal-chip:not(.sp){ background:rgba(255,255,255,.94); }
.mcx .cal-chips{ display:flex; flex-direction:column; gap:3px; min-width:0; transform:none; }
.mcx .cal-chip{ display:block; min-width:0; padding:3px 6px; border-radius:7px; border-left:3px solid var(--kc);
  background:color-mix(in srgb, var(--kc) 14%, #fff); color:var(--ink);
  font-size:11px; font-weight:700; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  transition:transform .2s var(--cal-ease), filter .2s ease; }
.mcx .cal-chip em{ margin-right:4px; font-style:normal; font-family:"Space Mono",monospace; font-size:9.5px; font-weight:700; color:color-mix(in srgb, var(--kc) 78%, #000); }
.mcx .cal-chip svg{ display:inline-block; width:9px; height:9px; margin-right:3px; vertical-align:-1px; }
.mcx .cal-chip.sp{ background:var(--kc); border-left-color:color-mix(in srgb, var(--kc) 62%, #000); color:#fff; }
.mcx .cal-chip.sp em{ color:rgba(255,255,255,.88); }
.mcx .cal-more{ padding-left:4px; font-size:10.5px; font-weight:800; color:var(--ink-faint); }
.mcx .cal-dots{ display:none; gap:3px; justify-content:center; flex-wrap:wrap; margin-top:auto; }
.mcx .cal-dots i{ width:6px; height:6px; border-radius:50%; background:var(--kc); }
@media (hover:hover) and (pointer:fine){
.mcx .cal-cell:not(.out):hover{ z-index:3; transform:perspective(700px) translateY(-4px) rotateX(7deg) scale(1.035);
    border-color:color-mix(in srgb, var(--cal-green) 45%, transparent);
    box-shadow:0 26px 36px -22px rgba(19,42,22,.7), 0 0 0 1px color-mix(in srgb, var(--cal-green) 40%, transparent); }
.mcx .cal-cell.today:hover{ box-shadow:0 0 0 2px var(--cal-green), 0 0 0 7px rgba(46,107,62,.15), 0 26px 36px -20px rgba(46,107,62,.8); }
.mcx .cal-cell.sel:hover{ box-shadow:0 28px 40px -20px rgba(42,86,128,.95); }
.mcx .cal-cell.sel:hover, .mcx .cal-cell.today:hover{ border-color:transparent; }
.mcx .cal-cell.out:hover{ opacity:.8; }
.mcx .cal-chip:hover{ transform:translateX(2px); filter:brightness(1.05) saturate(1.1); }
}
.mcx .cal-legend{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:14px; padding:0 4px; font-size:12px; font-weight:700; color:var(--ink-soft); }
.mcx .cal-legend span{ display:inline-flex; align-items:center; gap:6px; }
.mcx .cal-legend i{ width:9px; height:9px; border-radius:50%; background:var(--kc); display:inline-block; }
.mcx .cal-legend .cal-hint{ display:none; width:100%; font-family:"Space Mono",monospace; font-size:10.5px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }
@media (hover:none){
.mcx .cal-legend .cal-hint{ display:inline-flex; }
}
@media (max-width:760px){
.mcx .cal-board{ padding:12px 8px 10px; border-radius:22px; }
.mcx .cal-grid, .mcx .cal-dow{ gap:4px; }
.mcx .cal-dow{ margin-bottom:8px; }
.mcx .cal-dow span{ font-size:10.5px; letter-spacing:.08em; }
.mcx .cal-cell{ min-height:54px; padding:5px 2px 6px; align-items:center; gap:3px; border-radius:12px; }
.mcx .cal-chips, .mcx .cal-more, .mcx .cal-tag{ display:none; }
.mcx .cal-dots{ display:flex; }
.mcx .cal-num{ width:28px; height:28px; font-size:15px; }
.mcx .cal-cell.has-sp::before{ height:3px; }
.mcx .cal-cell.today, .mcx .cal-cell.today:hover{ box-shadow:0 0 0 2px var(--cal-green), 0 10px 20px -12px rgba(46,107,62,.85); }
.mcx .cal-cell.sel.today, .mcx .cal-cell.sel.today:hover{ box-shadow:0 0 0 2px var(--cal-green), 0 12px 22px -12px rgba(42,86,128,.9); }
.mcx .cal-cell.today::after{ box-shadow:inset 0 0 12px rgba(46,107,62,.35); }
.mcx .cal-legend{ gap:6px 12px; font-size:11.5px; }
}
@media (max-width:480px){
.mcx .cal-board{ padding:6px 0 4px; background:none; border:0; box-shadow:none; border-radius:0; }
.mcx .cal-grid, .mcx .cal-dow{ gap:3px; }
.mcx .cal-legend{ padding:0; }
}
.mcx .cal-grid.fx-intro .cal-cell{ animation:rhCellIn .6s var(--cal-ease) backwards; animation-delay:calc((var(--r,0) * 7 + var(--c,0)) * 13ms); }
.mcx .cal-grid.fx-next .cal-cell{ animation:rhFlipNext .62s var(--cal-ease) backwards; animation-delay:calc(var(--c,0) * 38ms + var(--r,0) * 22ms); }
.mcx .cal-grid.fx-prev .cal-cell{ animation:rhFlipPrev .62s var(--cal-ease) backwards; animation-delay:calc((6 - var(--c,0)) * 38ms + var(--r,0) * 22ms); }
.mcx .cal-grid.fx-filter .cal-chip, .mcx .cal-grid.fx-filter .cal-dots i{ animation:rhPop .45s var(--cal-ease) backwards; animation-delay:calc((var(--r,0) + var(--c,0)) * 18ms); }
.mcx .cal-grid .cal-cell.today.ping{ animation:rhTodayPing .75s var(--cal-ease); }
.mcx .day-panel{ position:sticky; top:calc(var(--cal-nav-h) + 16px); min-width:0; padding:0; overflow:hidden; border-radius:26px;
  background:var(--surface); border:1px solid var(--line); box-shadow:0 34px 64px -42px rgba(19,42,22,.7); }
@media (max-width:1099px){
.mcx .day-panel{ position:relative; top:auto; }
}
.mcx .dp-head{ position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; gap:16px;
  padding:20px 20px 18px; background:var(--cal-grad); color:#fff; }
.mcx .dp-head::after{ content:""; position:absolute; z-index:-1; right:-50px; top:-70px; width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle, rgba(184,146,90,.6), transparent 68%); }
.mcx .dp-head::before{ content:""; position:absolute; z-index:-1; left:-30px; bottom:-80px; width:160px; height:160px; border-radius:50%;
  border:26px solid rgba(255,255,255,.06); }
.mcx .dp-date{ flex:none; width:64px; overflow:hidden; border-radius:14px; background:var(--cal-tile); text-align:center; box-shadow:0 14px 26px -12px rgba(0,0,0,.6); transform-origin:50% 0; }
.mcx .dp-date span{ display:block; padding:4px 0 3px; background:var(--cal-rust); color:#fff; font-family:"Space Mono",monospace; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.mcx .dp-date b{ display:block; padding:4px 0 7px; font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:34px; line-height:1; color:var(--ink); }
.mcx .dp-titles{ min-width:0; }
.mcx .day-panel h3{ font-size:28px; color:#fff; }
.mcx .day-panel .dp-sub{ margin-top:5px; font-family:"Space Mono",monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.82); }
.mcx .dp-rel{ display:inline-flex; margin-top:8px; padding:3px 10px; border-radius:999px; background:rgba(255,255,255,.17); font-size:12px; font-weight:800; }
.mcx .dp-list{ display:flex; flex-direction:column; gap:10px; margin:0; padding:14px;
  max-height:calc(100vh - var(--cal-nav-h) - 180px); overflow-y:auto; overscroll-behavior:contain; }
.mcx .dp-empty{ padding:22px 20px 24px; font-size:15px; color:var(--ink-soft); }
.mcx .dp-jump{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 12px; width:100%; min-height:60px; margin-top:14px;
  padding:12px 14px; border-radius:16px; border:1.5px dashed color-mix(in srgb, var(--kc) 55%, transparent);
  background:color-mix(in srgb, var(--kc) 8%, var(--cal-tile)); color:var(--ink); font:inherit; text-align:left; cursor:pointer;
  -webkit-tap-highlight-color:transparent; transition:transform .25s var(--cal-ease), border-color .25s ease; }
.mcx .dp-jump small{ grid-column:1; font-family:"Space Mono",monospace; font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:color-mix(in srgb, var(--kc) 78%, #000); }
.mcx .dp-jump b{ grid-column:1; font-size:15px; font-weight:800; line-height:1.3; }
.mcx .dp-jump svg{ grid-column:2; grid-row:1 / span 2; width:18px; height:18px; color:color-mix(in srgb, var(--kc) 78%, #000); transition:transform .3s var(--cal-ease); }
.mcx .dp-jump:active{ transform:scale(.98); }
.mcx .dp-jump:focus-visible{ border-radius:16px; }
@media (hover:hover) and (pointer:fine){
.mcx .dp-jump:hover{ border-style:solid; }
.mcx .dp-jump:hover svg{ transform:translateX(4px); }
}
.mcx .day-panel.dp-anim .dp-date{ animation:rhPageFlip .6s var(--cal-ease) backwards; }
.mcx .day-panel.dp-anim .dp-titles{ animation:rhFadeUp .5s var(--cal-ease) .06s backwards; }
@media (max-width:1099px){
.mcx .dp-list{ max-height:none; overflow:visible; }
}
@media (min-width:700px) and (max-width:1099px){
.mcx .dp-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px){
.mcx .dp-head{ padding:16px 16px 15px; gap:14px; }
.mcx .day-panel h3{ font-size:24px; }
.mcx .dp-list{ padding:12px; }
.mcx .day-panel{ border-radius:22px; }
}
.mcx .ag-row{ position:relative; display:grid; grid-template-columns:76px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; min-height:66px;
  padding:12px 12px 12px 17px; overflow:hidden; border-radius:16px; border:1px solid var(--line); background:var(--cal-tile);
  color:var(--ink); font:inherit; text-align:left; cursor:pointer; -webkit-tap-highlight-color:transparent;
  box-shadow:0 10px 20px -18px rgba(19,42,22,.7);
  transition:transform .25s var(--cal-ease), box-shadow .25s ease, border-color .25s ease; }
.mcx .ag-row.has-img{ grid-template-columns:76px minmax(0,1fr) auto auto; }
.mcx .ag-row::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--kc); }
.mcx .ag-row:hover{ transform:none; border-color:var(--line); }
.mcx .ag-row:active{ transform:scale(.985); }
.mcx .ag-row:focus-visible{ border-radius:16px; outline:3px solid var(--kc); outline-offset:2px; }
.mcx .ag-row .ag-t{ min-width:0; display:flex; flex-direction:column; gap:1px; font-family:"Space Mono",monospace; line-height:1.25; color:var(--ink-soft); }
.mcx .ag-row .ag-t b{ display:block; font-size:12.5px; font-weight:700; color:color-mix(in srgb, var(--kc) 78%, #000); }
.mcx .ag-row .ag-t small{ font-size:10.5px; color:var(--ink-faint); }
.mcx .ag-main{ min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.mcx .ag-main b{ display:block; max-width:100%; font-size:15.5px; font-weight:800; line-height:1.25; }
.mcx .ag-row span.loc{ display:block; max-width:100%; margin-top:3px; font-size:12.5px; color:var(--ink-faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mcx .ag-row span.loc svg{ width:12px; height:12px; margin-right:3px; vertical-align:-1px; }
.mcx .ag-kind{ margin-top:6px; padding:2px 8px; border-radius:999px; background:color-mix(in srgb, var(--kc) 13%, transparent);
  color:color-mix(in srgb, var(--kc) 78%, #000); font-family:"Space Mono",monospace; font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.mcx .ag-thumb{ width:72px; height:44px; border-radius:9px; object-fit:cover; box-shadow:0 8px 16px -8px rgba(0,0,0,.5); }
.mcx .ag-go{ display:flex; color:var(--ink-faint); }
.mcx .ag-go svg{ width:18px; height:18px; transition:transform .3s var(--cal-ease), color .2s ease; }
@media (hover:hover) and (pointer:fine){
.mcx .ag-row:hover{ transform:translateY(-2px); border-color:color-mix(in srgb, var(--kc) 50%, transparent); box-shadow:0 18px 30px -20px color-mix(in srgb, var(--kc) 75%, #000); }
.mcx .ag-row:hover .ag-go svg{ transform:translateX(3px); color:var(--kc); }
}
@media (min-width:1100px){
.mcx .day-panel .ag-row{ grid-template-columns:70px minmax(0,1fr); }
.mcx .day-panel .ag-row.has-img{ grid-template-columns:70px minmax(0,1fr) auto; }
.mcx .day-panel .ag-go{ display:none; }
.mcx .day-panel .ag-thumb{ width:54px; height:36px; }
}
@media (max-width:480px){
.mcx .ag-row, .mcx .ag-row.has-img{ grid-template-columns:66px minmax(0,1fr) auto; gap:10px; padding-right:10px; }
.mcx .ag-row .ag-t small{ font-size:9.5px; white-space:nowrap; }
.mcx .ag-go{ display:none; }
.mcx .ag-thumb{ width:54px; height:36px; }
.mcx .ag-main b{ font-size:15px; }
}
@media (prefers-reduced-motion: reduce){
.mcx *, .mcx *::before, .mcx *::after{ animation:none !important; transition-delay:0s !important; }
.mcx .cht-tear{ display:none; }
.mcx .cal-cell:hover, .mcx .feat-card:hover, .mcx .ag-row:hover{ transform:none !important; }
}
.mcx .ag-main .ag-sub{ display:block; font-size:13px; font-weight:600; color:var(--ink-soft); margin-top:2px; }
.mcx .cal-cell.hol, .mcx .cal-cell.hol:hover{ background:linear-gradient(165deg, color-mix(in srgb, var(--hc) 15%, var(--cal-tile)), var(--cal-tile) 70%); border-color:color-mix(in srgb, var(--hc) 45%, transparent); }
.mcx .cal-cell.hol::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--hc); }
.mcx .cal-cell.hol:not(.today):not(.sel) .cal-num{ color:var(--hc); }
.mcx .cal-hol{ display:flex; align-items:center; gap:4px; min-width:0; color:var(--hc); }
.mcx .cal-hol svg{ flex:none; width:14px; height:14px; }
.mcx .cal-hol b{ font-family:"Space Mono",monospace; font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mcx .cal-mark{ position:absolute; right:6px; bottom:4px; width:38px; height:38px; color:var(--hc); opacity:.16; pointer-events:none; }
.mcx .cal-mark svg{ width:100%; height:100%; }
.mcx .cal-decal{ position:absolute; right:4px; bottom:2px; display:flex; align-items:flex-end; pointer-events:none; }
.mcx .cal-decal i{ display:block; }
.mcx .cal-decal svg{ display:block; width:100%; height:auto; }
.mcx .cal-decal .cd-pumpkin{ width:26px; margin-right:-4px; position:relative; z-index:1; }
.mcx .cal-decal .cd-scarecrow{ width:30px; }
.mcx .cal-cell.hol-oct31 .cal-hol svg{ width:15px; }
.mcx .cal-grid .cal-cell.hol .cal-mark, .mcx .cal-grid .cal-cell.hol .cal-decal{ animation:holIn .8s cubic-bezier(.3,1.6,.5,1) .5s backwards; transform-origin:50% 100%; }
@media (max-width:760px){
.mcx .cal-hol b{ display:none; }
.mcx .cal-hol{ position:absolute; top:4px; right:4px; }
.mcx .cal-hol svg{ width:12px; height:12px; }
.mcx .cal-mark{ width:22px; height:22px; right:3px; bottom:3px; }
.mcx .cal-decal .cd-pumpkin{ width:16px; }
.mcx .cal-decal .cd-scarecrow{ width:18px; }
}
.mcx .dp-hol{ display:flex; align-items:center; gap:10px; margin:14px 0 4px; padding:10px 14px; border-radius:14px; background:color-mix(in srgb, var(--hc) 12%, transparent); border:1px solid color-mix(in srgb, var(--hc) 40%, transparent); color:var(--hc); }
.mcx .dp-hol-ic{ display:grid; place-items:center; width:30px; height:30px; flex:none; }
.mcx .dp-hol-ic svg{ width:100%; height:100%; }
.mcx .dp-hol b{ font-family:"Anton",Impact,sans-serif; font-weight:400; font-size:20px; letter-spacing:.02em; text-transform:uppercase; }
@media (prefers-reduced-motion: reduce){
.mcx .cal-grid .cal-cell.hol .cal-mark, .mcx .cal-grid .cal-cell.hol .cal-decal{ animation:none; }
}
.mcx .cht-tear{ -webkit-backface-visibility:hidden; backface-visibility:hidden; will-change:transform, opacity; }
@media (max-width:699px){
.mcx .cal-hero-tile.cht-themed{ transform-style:flat; -webkit-transform-style:flat; transform:none !important; }
.mcx .cal-hero-tile.cht-themed .cht-page{ border-radius:20px; -webkit-mask-image:linear-gradient(#000,#000); mask-image:linear-gradient(#000,#000); }
.mcx .cal-hero-tile.cht-themed .cht-back{ transform:translate(8px,8px) rotate(4deg); }
.mcx .cal-hero-tile.cht-themed .cht-front{ animation:none; transform:none; }
.mcx .cal-hero-tile.cht-themed .cht-decor{ transform:none; }
.mcx .cal-hero-tile.cht-themed .cht-tear{ animation:rhTearSm .9s cubic-bezier(.55,.05,.6,.95) 1s forwards; }
}
@media (max-width:699px){
.mcx .cal-hero-grid{ display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"eye eye" "h1 h1" "intro tile" "btns tile" "next next"; column-gap:14px; row-gap:0; align-items:start; }
.mcx .cal-hero-copy{ display:contents; }
.mcx .cal-hero-copy > .eyebrow{ grid-area:eye; }
.mcx .cal-hero-copy > h1{ grid-area:h1; }
.mcx .cal-hero-copy > .intro{ grid-area:intro; }
.mcx .cal-hero-copy > .cal-pop-btns{ grid-area:btns; }
.mcx .cal-hero-copy > .cal-nextup{ grid-area:next; }
.mcx .cal-hero-tile, .mcx .cal-hero-tile.cht-themed{ grid-area:tile; display:block; width:124px; height:142px; margin:10px 18px 18px 0; align-self:start; transform-style:preserve-3d; -webkit-transform-style:preserve-3d; }
.mcx .cal-hero-tile .cht-page, .mcx .cal-hero-tile.cht-themed .cht-page{ border-radius:18px; -webkit-mask-image:none; mask-image:none; }
.mcx .cal-hero-tile .cht-back, .mcx .cal-hero-tile.cht-themed .cht-back{ transform:translate(9px,9px) rotate(5deg); }
.mcx .cal-hero-tile .cht-front, .mcx .cal-hero-tile.cht-themed .cht-front{ transform-origin:50% 0; animation:rhFloat 6.5s ease-in-out 1.4s infinite; }
.mcx .cal-hero-tile .cht-tear, .mcx .cal-hero-tile.cht-themed .cht-tear{ display:flex; animation:rhTear 1s cubic-bezier(.55,.05,.6,.95) 1s forwards; }
.mcx .cal-hero-tile.cht-themed .cht-decor{ transform:translateZ(40px); }
.mcx .cal-hero-tile .cht-day, .mcx .cal-hero-tile.cht-themed .cht-day{ font-size:58px; margin-top:8px; }
.mcx .cal-hero-tile .cht-top, .mcx .cal-hero-tile.cht-themed .cht-top{ height:34px; padding:0 12px; }
.mcx .cal-hero-tile .cht-top b{ font-size:10px; letter-spacing:.14em; }
.mcx .cal-hero-tile .cht-top i{ width:10px; height:10px; }
.mcx .cal-hero-tile .cht-dow{ font-size:9.5px; letter-spacing:.16em; margin-top:2px; }
.mcx .chd{ width:calc(var(--w) * .62); margin-left:calc(var(--w) * -.31); }
}
@media (max-width:699px) and (prefers-reduced-motion: reduce){
.mcx .cal-hero-tile .cht-tear{ display:none; }
.mcx .cal-hero-tile .cht-front{ animation:none; }
}
@media (min-width:900px){
.mcx .cal-feat .feat-card:only-child{ flex-direction:row; align-items:stretch; }
.mcx .cal-feat .feat-card:only-child .fc-media{ flex:0 0 40%; aspect-ratio:16/9; border-radius:21px 0 0 21px; }
.mcx .cal-feat .feat-card:only-child .fc-body{ justify-content:center; gap:10px; padding:24px 32px; min-width:0; }
.mcx .cal-feat .feat-card:only-child .fc-date{ position:static; margin:0 0 8px; transform:none; }
.mcx .cal-feat .feat-card:only-child .fc-top{ padding-left:0; min-height:0; margin-bottom:2px; }
.mcx .cal-feat .feat-card:only-child .fc-title{ font-size:clamp(30px,3.4vw,46px); }
.mcx .cal-feat .feat-card:only-child .fc-meta{ margin-top:10px; }
}
body.me-student .mcx{ --cal-green:#22D3C6;
  --cal-green-ink:#18B3A8;
  --cal-navy:#3E7BFA;
  --cal-tan:#F2B84B;
  --cal-rust:#EC4899;
  --cal-deep:#05060A;
  --cal-tile:#12141E;
  --cal-grad:linear-gradient(135deg,#3E7BFA 0%,#8B5CF6 52%,#22D3C6 100%); }
body.me-student .mcx .cal-hero{ background:
    radial-gradient(55% 90% at 88% 8%, rgba(139,92,246,.28), transparent 62%),
    radial-gradient(45% 70% at 102% 100%, rgba(34,211,198,.2), transparent 60%),
    radial-gradient(40% 60% at 0% 0%, rgba(62,123,250,.22), transparent 60%),
    linear-gradient(180deg, #0B0C14, var(--bg)); }
body.me-student .mcx .cal-hero h1{ background:var(--cal-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
body.me-student .mcx .cal-nextup{ background:rgba(18,20,30,.86); border-color:rgba(34,211,198,.35); }
body.me-student .mcx .cal-nextup.live{ background:color-mix(in srgb, var(--kc) 16%, #12141E); }
body.me-student .mcx .cht-back::after{ background:repeating-linear-gradient(0deg, transparent 0 22px, rgba(244,242,250,.06) 22px 23px); }
body.me-student .mcx .cal-board, body.me-student .mcx .day-panel, body.me-student .mcx .agenda{ box-shadow:0 0 60px -26px rgba(139,92,246,.75); }
body.me-student .mcx .cal-cell{ border-color:rgba(244,242,250,.08); }
body.me-student .mcx .cal-cell.today .cal-num{ color:#05060A; box-shadow:0 0 18px -2px #22D3C6; }
body.me-student .mcx .cal-cell.sel.today .cal-num{ background:#fff; color:#05060A; }
body.me-student .mcx .cal-cell.sel .cal-chip:not(.sp){ background:rgba(5,6,10,.55); color:#fff; }
body.me-student .mcx .cal-chip{ background:color-mix(in srgb, var(--kc) 20%, #12141E); color:#F4F2FA; box-shadow:inset 0 0 12px -8px var(--kc); }
body.me-student .mcx .cf-chip[aria-pressed="true"]{ box-shadow:0 0 22px -6px var(--kc, #22D3C6); }
body.me-student .mcx .cal-arrow:hover{ color:#05060A; box-shadow:0 0 22px -4px #22D3C6; }
@media (max-width:640px){
body.me-student .mcx .ag-day .ag-date{ background:rgba(18,20,30,.93); }
}
.mcx .cal-cell.has-series, .mcx .cal-cell.has-series:hover{ background:#2A1640; border-color:transparent; color:#fff; }
.mcx .cal-cell.has-series > :not(.cal-ser){ position:relative; z-index:1; }
.mcx .cal-cell.has-series .cal-num{ color:#fff; }
.mcx .cal-cell.has-series .cal-chip{ background:rgba(255,255,255,.92); color:#5B2C83; }
.mcx .cal-cell.has-series.ser-unx, .mcx .cal-cell.has-series.ser-unx:hover{ background:#C9303B; }
.mcx .cal-cell.has-series.ser-unx .cal-chip{ color:#B3121E; }
/* profile calendar: its own month bar, and the serving days */
.mcx{margin:6px 0 26px;}
.mcx-bar{display:flex; align-items:center; gap:10px; margin:0 0 14px;}
.mcx-title{flex:1; margin:0; font-size:clamp(26px,3.2vw,38px); line-height:1;}
.mcx-title em{font-style:normal; color:var(--ink-faint);}
.mcx-nav{flex:none; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink); cursor:pointer; transition:transform .3s cubic-bezier(.3,1.4,.5,1), background .25s, color .25s;}
.mcx-nav svg{width:18px; height:18px;}
.mcx-nav[data-mcx="-1"] svg{transform:scaleX(-1);}
.mcx-nav:hover{transform:scale(1.08); background:var(--cal-green,#2E6B3E); color:#fff;}
.mcx-today{flex:none; min-height:44px; padding:0 16px; border-radius:999px; border:1.5px solid var(--line-strong); background:none; color:var(--ink); font:800 13px/1 Manrope,system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; transition:background .25s, color .25s;}
.mcx-today:hover{background:var(--ink); color:var(--surface);}
.mcx .cal-cell.has-sv:not(.sel){box-shadow:0 0 0 2px rgba(46,155,85,.55), 0 10px 20px -14px rgba(46,155,85,.8);}
.mcx .cal-chip.mcx-sv{background:#2E9B55; border-left-color:#1F6E3B; color:#fff;}
.mcx .cal-chip.mcx-sv em{color:rgba(255,255,255,.85);}
.mcx .cal-chip.mcx-sv.is-ask{background:#D98A2B; border-left-color:#9A5E16;}
.mcx .cal-dots i.mcx-dot-sv{width:8px; height:8px; box-shadow:0 0 0 2px rgba(46,155,85,.35);}
.mcx .mcx-svrow{text-decoration:none; color:inherit; border-left:4px solid var(--kc);}
.mcx-listh{margin:4px 0 12px; font-size:22px;}
body.me-student .mcx-nav{background:#15151F;}
body.me-student .mcx .cal-cell.has-sv:not(.sel){box-shadow:0 0 0 2px rgba(63,179,106,.7), 0 0 22px -6px rgba(63,179,106,.8);}
@media (min-width:861px){
  .me-upcard{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);}
  .me-upcard > .mcx{grid-column:1 / -1;}
  .me-upcard > .mcx-listh{grid-column:1;}
  .me-upcard > .me-up{grid-column:1;}
  .me-upcard > .me-cals{grid-column:2; grid-row:4 / span 2; align-self:start;}
}
@media (max-width:760px){
  .mcx-bar{gap:8px;} .mcx-nav{width:40px; height:40px;} .mcx-today{min-height:40px; padding:0 12px; font-size:12px;}
  .mcx{margin-bottom:20px;}
}

/* phones: no big empty gap between the calendar card and the serving card */
@media (max-width:860px){
  .me-grid-top{gap:16px; align-items:start;}
  .me-grid-top > .me-card{align-self:start; height:auto;}
}

/* serving dates as tickets: a date tile, what you're doing, and your answer */
.me-sv-rail .me-serve li{position:relative;}
.me-sv-date{flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center; width:62px; padding:8px 0 7px; border-radius:14px; background:var(--surface); border:1px solid var(--line); line-height:1;}
.me-sv-date small{font:800 10.5px/1 Manrope,system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);}
.me-sv-date b{font-family:"Anton",sans-serif; font-weight:400; font-size:30px; margin:4px 0 3px;}
.me-sv-date i{font:700 10px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint);}
.me-serve li.is-ask .me-sv-date{background:rgba(217,138,43,.12); border-color:rgba(217,138,43,.45);}
.me-serve li.is-yes .me-sv-date{background:rgba(46,155,85,.1); border-color:rgba(46,155,85,.4);}
body.me-student .me-sv-date{background:#15151F;}
.me-sv-more{display:none;}
@media (min-width:861px){
  .me-sv-rail .me-serve li{display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto 1fr; column-gap:14px; row-gap:12px; align-content:space-between;}
  .me-sv-rail .me-serve li .me-sv-date{grid-row:1; grid-column:1;}
  .me-sv-rail .me-serve li .me-sv-main{grid-row:1; grid-column:2; min-width:0;}
  .me-sv-rail .me-serve li .me-sv-form{grid-row:2; grid-column:1 / -1; align-self:end;}
  .me-sv-rail .me-sv-main b{font-size:20px;}
}
@media (max-width:860px){
  .me-sv-rail{overflow:visible; scroll-snap-type:none; margin:0; padding:2px 0 0;}
  .me-sv-rail .me-serve{display:grid; grid-template-columns:1fr; gap:10px;}
  .me-sv-rail .me-serve li{flex:none; display:grid; grid-template-columns:auto 1fr; column-gap:14px; row-gap:12px; min-height:0; padding:14px; border-radius:18px; border-left-width:5px;
    animation:mxIn .5s calc(var(--n,0) * .06s) cubic-bezier(.2,.9,.2,1) backwards;}
  .me-sv-rail .me-serve li:hover{transform:none;}
  .me-sv-rail .me-sv-main{align-self:center; min-width:0;}
  .me-sv-rail .me-sv-main b{font-size:19px; margin-bottom:4px;}
  .me-sv-rail .me-sv-main span{font-size:13.5px; line-height:1.35;}
  .me-sv-rail .me-sv-main em{display:inline-block; margin-top:6px;}
  .me-sv-rail .me-sv-form{grid-column:1 / -1;}
  .me-sv-rail .me-sv-form button{min-height:46px;}
  .me-sv-rail .me-serve.is-short:not(.only-ask) li:nth-child(n+4){display:none;}
  .me-sv-more{display:block; width:100%; margin-top:12px; min-height:48px; border-radius:14px; border:1.5px dashed var(--line-strong); background:none; color:var(--ink); font:800 14px/1 Manrope,system-ui,sans-serif; cursor:pointer;}
  .me-sv-nav{display:none !important;}
}

/* Students staff: the Students look switch in the header */
.mx-look{display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:6px 16px 6px 8px; border-radius:999px; border:1.5px solid var(--line-strong); background:none; color:var(--ink-soft); font:800 13px/1 Manrope,system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; transition:background .25s, color .25s, border-color .25s;}
.mx-look-k{position:relative; width:42px; height:24px; border-radius:999px; background:rgba(127,127,127,.3); transition:background .3s;}
.mx-look-k i{position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.3); transition:transform .35s cubic-bezier(.3,1.4,.5,1);}
.mx-look[aria-pressed="true"] .mx-look-k{background:linear-gradient(90deg,#3E7BFA,#8B5CF6,#22D3C6);}
.mx-look[aria-pressed="true"] .mx-look-k i{transform:translateX(18px);}
.mx-look.is-busy{opacity:.6; pointer-events:none;}
@media (prefers-reduced-motion:reduce){ .me-sv-rail .me-serve li{animation:none !important;} .mx-look-k i{transition:none;} }

/* profile on phones: cards show right away (no long staggered wait), and the Coming up rows get room */
@media (max-width:860px){
  .me-body [data-me-rise]{--me-d:0ms !important;}
  .me-body .me-card{transition:opacity .45s, transform .5s cubic-bezier(.2,.9,.2,1);}
}
@media (max-width:600px){
  .me-ev{display:grid; grid-template-columns:54px minmax(0,1fr); column-gap:12px; row-gap:4px; align-items:center;}
  .me-ev-d{grid-row:1 / span 2;}
  .me-ev-b b{font-size:15.5px; line-height:1.25;}
  .me-ev em{grid-column:2; justify-self:start; font-size:10.5px;}
  .me-ev em.me-ev-sv{color:#2E9B55;}
  .mcx-bar{gap:6px;} .mcx-nav{width:38px; height:38px;} .mcx-today{padding:0 10px; min-height:38px;}
  .mcx-title{min-width:0; font-size:clamp(19px,6.2vw,26px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .me-upcard > header{flex-wrap:wrap;}
}

/* ===== Kids Midweek monthly theme (kt-, sr-, .ser-sbs): November 2026 "Side-by-Side".
   Flat Hyfi colors, plum outlines, halftone dots, slab title and hand-lettered caps, so it reads as the series art. ===== */
.kt-ban, .ser-sbs{--kt-plum:#4D3E60; --kt-teal:#08A3A3; --kt-sea:#5CC4B3; --kt-mint:#CEE3D6; --kt-red:#EB5244; --kt-orange:#F77D57; --kt-gold:#E4B948; --kt-butter:#F5DB87; --kt-cream:#F2E8ED; --kt-blush:#EDD1CF;}

/* the riding scene: shadow, bike and title are separate cut-outs, so they move apart in depth */
.ser-ride{position:relative; display:block; aspect-ratio:16 / 9; transform-style:preserve-3d;}
.ser-ride > *{position:absolute; display:block;}
.ser-ride .sr-shadow{left:10.62%; top:85.78%; width:78.92%; animation:ktShadow .5s ease-in-out infinite alternate;}
.ser-ride .sr-bikewrap{left:10.54%; top:24.67%; width:79.08%; animation:ktBob .5s ease-in-out infinite alternate;}
.ser-ride .sr-bike{width:100%; height:auto;}
.ser-ride .sr-title{left:14.38%; top:6.59%; width:71.08%; height:auto; animation:ktFloat 4.2s ease-in-out infinite; filter:drop-shadow(0 6px 10px rgba(77,62,96,.25));}
.ser-ride .sr-road{left:0; right:0; top:88%; height:1.6%; background:repeating-linear-gradient(90deg, rgba(255,255,255,.95) 0 6%, transparent 6% 14%); background-size:200% 100%; animation:ktRoad .9s linear infinite; border-radius:4px; opacity:.85;}

@keyframes ktBob{from{transform:translateY(0) rotate(0deg);} to{transform:translateY(-1.6%) rotate(-.6deg);}}
@keyframes ktShadow{from{transform:scaleX(1); opacity:1;} to{transform:scaleX(.97); opacity:.8;}}
@keyframes ktFloat{0%, 100%{transform:translateY(0) rotate(0deg);} 50%{transform:translateY(-3%) rotate(-1deg);}}
@keyframes ktRoad{to{background-position:-100% 0;}}
@keyframes ktRideIn{from{transform:translateX(-120%) rotate(-2deg);} 70%{transform:translateX(4%) rotate(1deg);} to{transform:none;}}
@keyframes ktDrop{from{opacity:0; transform:translateY(-40%) rotate(-6deg) scale(.8);} 60%{opacity:1; transform:translateY(4%) rotate(1deg) scale(1.03);} to{opacity:1; transform:none;}}
@keyframes ktSpeed{from{transform:translateX(0) scaleX(.4); opacity:0;} 30%{opacity:1;} to{transform:translateX(-160%) scaleX(1); opacity:0;}}
@keyframes ktBlob{0%, 100%{border-radius:44px 64px 52px 72px / 66px 46px 74px 50px;} 50%{border-radius:68px 42px 70px 48px / 48px 70px 46px 66px;}}
@keyframes ktPulse{0%{box-shadow:0 0 0 0 rgba(235,82,68,.55), 5px 5px 0 var(--kt-plum);} 100%{box-shadow:0 0 0 12px rgba(235,82,68,0), 5px 5px 0 var(--kt-plum);}}
@keyframes ktHills{from{transform:translateZ(-60px) scale(1.16) translateX(-1.5%);} to{transform:translateZ(-60px) scale(1.16) translateX(1.5%);}}

/* ---- the month banner on the Kids calendar ---- */
.kt-ban{position:relative; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:0; margin:0 0 20px; border-radius:22px; overflow:hidden; color:var(--kt-plum); background:var(--kt-cream);
  box-shadow:0 0 0 3px var(--kt-plum), 8px 8px 0 3px var(--kt-plum), 0 30px 60px -30px rgba(0,0,0,.7);}
.kt-stage{position:relative; min-height:340px; perspective:1000px; overflow:hidden; background:var(--kt-mint);}
.kt-frame{position:absolute; left:0; right:0; top:50%; aspect-ratio:16 / 9; transform:translateY(-50%); transform-style:preserve-3d;}
.kt-frame > *{position:absolute; display:block;}
.kt-scene{position:absolute; inset:0; transform-style:preserve-3d; transform:rotateY(calc(var(--kx, 0) * 9deg)) rotateX(calc(var(--ky, 0) * -6deg)); transition:transform .5s cubic-bezier(.2,.9,.2,1);}
.kt-scene > .kt-hills, .kt-scene > .kt-sky{position:absolute; display:block;}
.kt-sky{display:none;}
.kt-hills{inset:-4%; background:center 60% / cover no-repeat; animation:ktHills 9s ease-in-out infinite alternate;}
.kt-road{left:-5%; right:-5%; top:88.4%; height:1.4%; transform:translateZ(10px); background:repeating-linear-gradient(90deg, #fff 0 5%, transparent 5% 12%); background-size:200% 100%; animation:ktRoad .8s linear infinite; border-radius:4px;}
.kt-speed{left:2%; top:50%; width:16%; height:30%; transform:translateZ(30px);}
.kt-speed i{position:absolute; left:40%; width:70%; height:3px; border-radius:3px; background:#fff; animation:ktSpeed 1.1s linear infinite;}
.kt-speed i:nth-child(1){top:10%;} .kt-speed i:nth-child(2){top:38%; animation-delay:.3s; width:50%;} .kt-speed i:nth-child(3){top:66%; animation-delay:.55s;} .kt-speed i:nth-child(4){top:90%; animation-delay:.8s; width:45%;}
.kt-shadow{left:10.62%; top:85.78%; width:78.92%; transform:translateZ(15px); animation:ktShadow .5s ease-in-out infinite alternate;}
.kt-bikewrap{left:10.54%; top:24.67%; width:79.08%; transform:translateZ(45px);}
.kt-bike{width:100%; height:auto; animation:ktBob .5s ease-in-out infinite alternate; transform-origin:50% 90%;}
.kt-title{left:14.38%; top:6.59%; width:71.08%; height:auto; transform:translateZ(90px); filter:drop-shadow(0 10px 14px rgba(77,62,96,.28));}
.kt-ban.is-in .kt-bikewrap{animation:ktRideIn 1.4s cubic-bezier(.2,.8,.2,1) .15s backwards;}
.kt-ban.is-in .kt-title{animation:ktDrop .9s cubic-bezier(.2,1.2,.4,1) .9s backwards, ktFloat 4.2s ease-in-out 1.9s infinite;}
.kt-ban:not(.is-on) *{animation-play-state:paused !important;}

.kt-copy{display:flex; flex-direction:column; justify-content:center; gap:12px; padding:26px 28px; background:
  radial-gradient(circle, rgba(8,163,163,.16) 1.6px, transparent 2px) 0 0 / 12px 12px, var(--kt-cream);}
.kt-k{margin:0; font:800 11.5px/1 Manrope,system-ui,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:var(--kt-teal);}
.kt-name{margin:0; font-family:"Zilla Slab","Rockwell",Georgia,serif; font-weight:700; font-size:clamp(34px,4vw,52px); line-height:.95; letter-spacing:.01em; text-transform:uppercase; color:var(--kt-cream);
  -webkit-text-stroke:2.5px var(--kt-plum); paint-order:stroke fill; text-shadow:4px 4px 0 var(--kt-plum);}
.kt-truth{margin:0; display:flex; flex-direction:column; gap:2px;}
.kt-truth span{font:800 11px/1 Manrope,system-ui,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--kt-plum); opacity:.7;}
.kt-truth b{font-family:"Amatic SC","Gochi Hand",cursive; font-weight:700; font-size:clamp(28px,3vw,36px); line-height:1; color:var(--kt-red); transform:rotate(-2deg); transform-origin:left;}
.kt-verse{position:relative; margin:4px 0 0; padding:22px 24px 18px; color:var(--kt-plum); background:
  radial-gradient(circle, rgba(255,255,255,.22) 1.4px, transparent 1.8px) 0 0 / 10px 10px, var(--kt-sea);
  border:3px solid var(--kt-plum); border-radius:44px 64px 52px 72px / 66px 46px 74px 50px; animation:ktBlob 9s ease-in-out infinite;}
.kt-verse-k{display:block; margin-bottom:6px; font:800 10.5px/1 Manrope,system-ui,sans-serif; letter-spacing:.16em; text-transform:uppercase; opacity:.75;}
.kt-verse p{margin:0; font:800 14.5px/1.45 Manrope,system-ui,sans-serif;}
.kt-verse cite{display:inline-block; margin-top:10px; padding:5px 12px 4px; border-radius:999px; background:var(--kt-butter); font:800 11.5px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.1em; text-transform:uppercase;}

.kt-weeks{grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:18px 18px 22px; background:var(--kt-plum);
  background-image:radial-gradient(circle, rgba(255,255,255,.07) 1.5px, transparent 2px); background-size:12px 12px;}
.kt-wk{position:relative; display:flex; gap:12px; align-items:flex-start; min-width:0; padding:12px 12px 14px; border:2.5px solid var(--kt-plum); border-radius:16px; background:var(--kt-cream); color:var(--kt-plum); font:inherit; text-align:left; cursor:pointer;
  box-shadow:5px 5px 0 rgba(0,0,0,.35); transition:transform .35s cubic-bezier(.3,1.5,.5,1), box-shadow .3s;}
.kt-ban.is-in .kt-wk{animation:ktCard .6s cubic-bezier(.2,1.2,.4,1) calc(1.1s + var(--i,0) * .1s) backwards;}
@keyframes ktCard{from{opacity:0; transform:translateY(24px) rotate(-3deg);}}
button.kt-wk:hover{transform:translateY(-4px) rotate(-1deg); box-shadow:8px 9px 0 rgba(0,0,0,.4);}
button.kt-wk:focus-visible{outline:3px solid var(--kt-butter); outline-offset:3px;}
.kt-wk-d{flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center; width:50px; height:56px; border-radius:12px; background:var(--kt-teal); color:#fff; line-height:1; border:2px solid var(--kt-plum);}
.kt-wk-d small{font:800 10px/1 Manrope,system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase;}
.kt-wk-d b{font-family:"Zilla Slab",Georgia,serif; font-weight:700; font-size:26px; margin-top:2px;}
.kt-wk-t{display:flex; flex-direction:column; gap:3px; min-width:0;}
.kt-wk-t em{font:800 10.5px/1.1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.14em; text-transform:uppercase; color:var(--kt-teal);}
.kt-wk-t b{font-family:"Zilla Slab",Georgia,serif; font-weight:700; font-size:18px; line-height:1.1;}
.kt-wk-t small{font-size:12.5px; line-height:1.35; color:rgba(77,62,96,.85);}
.kt-wk-t small span{display:block; font-weight:800; color:var(--kt-red);}
.kt-wk.is-next{animation:ktPulse 1.8s ease-out infinite;}
.kt-wk.is-next .kt-wk-d{background:var(--kt-red);}
.kt-wk.is-past{opacity:.6;}
.kt-wk.is-off{cursor:default; overflow:hidden; background:#E9E2E6; padding-bottom:36px;}
.kt-wk.is-off .kt-wk-d{background:#9A8FA6;}
.kt-wk-tape{position:absolute; left:-10%; right:-10%; bottom:8px; height:20px; display:flex; align-items:center; justify-content:center; transform:rotate(-3deg); pointer-events:none;
  background:repeating-linear-gradient(45deg, #FFD23F 0 14px, #1B1B1B 14px 28px); box-shadow:0 4px 10px rgba(0,0,0,.25); opacity:.92;}
.kt-wk-tape i{padding:2px 10px; background:#FFD23F; color:#1B1B1B; font:800 11px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.14em; text-transform:uppercase;}
@media (min-width:901px){
  .mn-stcal:has(> .kt-ban){grid-template-areas:"ban ban" "head head" "hi hi" "key key" "dow day" "grid day" "grid open";}
  .mn-stcal > .kt-ban{grid-area:ban;}
}
@media (max-width:1100px){ .kt-weeks{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:760px){
  .kt-ban{grid-template-columns:1fr; border-radius:18px; box-shadow:0 0 0 3px var(--kt-plum), 5px 5px 0 3px var(--kt-plum);}
  .kt-stage{min-height:0; aspect-ratio:16 / 9;}
  .kt-copy{padding:20px 18px;}
  .kt-weeks{grid-template-columns:1fr; gap:10px; padding:14px;}
  .kt-verse{border-radius:28px; animation:none;}
  .kt-verse p{font-size:14px;}
}

/* ---- Wednesday blocks on the calendars: the hills, the riders rolling, the title on top ---- */
.cal-ser.is-ride .cal-ser-bg{background-position:center 62%; background-size:cover;}
.cal-ser.is-ride::after{background:linear-gradient(180deg, rgba(242,232,237,.55) 0%, rgba(242,232,237,0) 34%, rgba(77,62,96,0) 70%, rgba(77,62,96,.18) 100%);}
.cal-ser.is-ride img{right:auto; bottom:auto; max-width:none; filter:none;}
.cal-ser.is-ride .cal-ser-bike{z-index:1; left:6%; bottom:9%; top:auto; width:88%; animation:ktBob .5s ease-in-out infinite alternate; filter:drop-shadow(0 3px 3px rgba(77,62,96,.25));}
.cal-ser.is-ride .cal-ser-ttl{z-index:2; left:8%; top:22%; width:84%; animation:ktFloat 4.2s ease-in-out infinite;}
.cal-ser.is-ride .cal-ser-road{position:absolute; z-index:1; left:0; right:0; bottom:8%; height:2px; background:repeating-linear-gradient(90deg, #fff 0 8px, transparent 8px 18px); background-size:36px 100%; animation:ktRoadPx .6s linear infinite;}
@keyframes ktRoadPx{to{background-position:-36px 0;}}
/* the Kids half of a split Wednesday (bottom-right triangle): just the riders */
.cal-ser.is-ride.cal-ser-b .cal-ser-ttl{display:none;}
.cal-ser.is-ride.cal-ser-b .cal-ser-bike{left:auto; right:3%; bottom:6%; width:62%;}
#view-calendar .cal-cell.has-series.ser-sbs, #view-calendar .cal-cell.has-series.ser-sbs:hover, .mcx .cal-cell.has-series.ser-sbs, .mcx .cal-cell.has-series.ser-sbs:hover{background:var(--kt-mint,#CEE3D6);}
#view-calendar .cal-cell.has-series.ser-sbs .cal-num, .mcx .cal-cell.has-series.ser-sbs .cal-num{color:#4D3E60; background:rgba(242,232,237,.92); box-shadow:0 0 0 2px #4D3E60;}
#view-calendar .cal-cell.has-series.ser-sbs .cal-chip, .mcx .cal-cell.has-series.ser-sbs .cal-chip{background:rgba(242,232,237,.95); color:#4D3E60; border-left-color:#08A3A3;}
#view-calendar .cal-cell.has-series.ser-sbs .cal-tag, .mcx .cal-cell.has-series.ser-sbs .cal-tag{color:#4D3E60;}
@media (max-width:760px){
  .cal-ser.is-ride .cal-ser-ttl{display:none;}
  .cal-ser.is-ride .cal-ser-bike{left:4%; width:92%; bottom:12%;}
  .cal-ser.is-ride.cal-ser-b .cal-ser-bike{width:70%; right:0;}
}

/* the Kids page calendar: the riders roll across the Wednesday square */
.mn-stcal-ride{position:absolute; inset:0; overflow:hidden; border-radius:inherit;}
.mn-stcal-ride-bg{position:absolute; inset:-6%; background:center 62% / cover no-repeat; animation:ktHillsFlat 8s ease-in-out infinite alternate;}
@keyframes ktHillsFlat{from{transform:translateX(-3%);} to{transform:translateX(3%);}}
.mn-stcal-ride-bike{position:absolute; left:4%; bottom:22%; width:92%; height:auto; animation:ktBob .5s ease-in-out infinite alternate;}
.mn-stcal-d.has-art:has(.mn-stcal-ride)::after{background:linear-gradient(180deg, rgba(40,25,60,.25), rgba(40,25,60,0) 35%, rgba(40,25,60,.65));}
.mn-stcal-d:has(.mn-stcal-ride):hover .mn-stcal-ride-bike{animation-duration:.25s;}
.mn-stcal-poster.is-lesson span{display:flex; flex-direction:column; gap:2px;}
.mn-stcal-poster .mn-stcal-wk{font:800 10.5px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.14em; text-transform:uppercase; color:#F5DB87;}
.mn-stcal-poster small{font-size:12.5px; font-weight:700; opacity:.92;}

/* the Kids board banner and the pop-out flyer */
.mn-ser.ser-sbs{--sd:77,62,96; background:#CEE3D6;}
.mn-ser.ser-sbs .mn-ser-leak{opacity:.45;}
.mn-ser-ride{width:min(100%, 440px); justify-self:center; filter:drop-shadow(0 12px 20px rgba(40,25,60,.35));}
.mn-ser.ser-sbs .mn-ser-who b{display:block; font-family:"Zilla Slab",Georgia,serif; font-size:20px; line-height:1.1;}
#eventModal .ev-flyer.ev-ser.ser-sbs{background:#CEE3D6;}
.ev-ser-ride{width:min(82%, 460px); margin:0 auto;}
#eventModal .is-series.ser-sbs .ev-head{background:linear-gradient(120deg, #08A3A3, #5CC4B3 55%, #F77D57);}
.ev-ser-wk{z-index:3;}
#eventModal .ev-flyer.ev-ser.ser-sbs .ev-ser-wk{color:#4D3E60;}

@media (prefers-reduced-motion:reduce){
  .ser-ride *, .kt-ban *, .cal-ser.is-ride *, .mn-stcal-ride *{animation:none !important;}
  .kt-scene{transition:none; transform:none !important;}
}

/* ===== Sandbox approvals, part 2 (pr-): the Review banner, the pop-out, the Archive, Deny ===== */
.pr{margin-bottom:22px;}
.pr-ban{position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:1fr auto; grid-template-areas:"k go" "h go" "n go"; gap:6px 18px; align-items:center; width:100%; padding:24px 26px; border:0; border-radius:24px; text-align:left; font:inherit; color:#fff; cursor:pointer;
  background:linear-gradient(120deg,#1E3A2A,#0E2F44 55%,#3A2C52); box-shadow:0 24px 48px -26px rgba(14,47,68,.9), inset 0 0 0 1px rgba(255,255,255,.08); transition:transform .45s cubic-bezier(.2,.9,.2,1), box-shadow .35s;}
.pr-ban:hover{transform:translateY(-3px); box-shadow:0 30px 56px -24px rgba(14,47,68,.95), inset 0 0 0 1px rgba(255,255,255,.14);}
.pr-ban-glow{position:absolute; z-index:-1; inset:-40% -10%; background:radial-gradient(30% 50% at 18% 30%, rgba(143,208,160,.35), transparent 70%), radial-gradient(28% 45% at 80% 70%, rgba(127,178,229,.32), transparent 70%); animation:prGlow 12s ease-in-out infinite alternate;}
@keyframes prGlow{to{transform:translate3d(6%,4%,0) scale(1.08);}}
.pr-ban-k{grid-area:k; font:800 11.5px/1 Manrope,system-ui,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#8FD0A0;}
.pr-ban-h{grid-area:h; font-family:"Anton",sans-serif; font-size:clamp(26px,3vw,36px); line-height:1.05; letter-spacing:.01em;}
.pr-ban-n{grid-area:n; display:flex; flex-wrap:wrap; gap:8px; margin-top:6px;}
.pr-ban-n > span{display:inline-flex; align-items:center; gap:8px; padding:7px 12px 7px 7px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); font:700 13px/1 Manrope,system-ui,sans-serif; color:rgba(255,255,255,.85);}
.pr-ban-n b{display:grid; place-items:center; min-width:26px; height:26px; padding:0 7px; border-radius:999px; font-family:"Anton",sans-serif; font-weight:400; font-size:15px; color:#07070B; background:#fff;}
.pr-ban-n .is-wait b{background:#F2C14E;} .pr-ban-n .is-back b{background:#F28C6B;} .pr-ban-n .is-live b{background:#8FD0A0;} .pr-ban-n .is-owner b{background:#C49BE8;}
.pr-ban.has-new .pr-ban-n .is-wait b{animation:prPing 1.8s ease-out infinite;}
@keyframes prPing{0%{box-shadow:0 0 0 0 rgba(242,193,78,.7);} 100%{box-shadow:0 0 0 10px rgba(242,193,78,0);}}
.pr-ban-go{grid-area:go; display:inline-flex; align-items:center; gap:10px; padding:14px 20px; border-radius:999px; background:#fff; color:#0E2F44; font:800 14px/1 Manrope,system-ui,sans-serif; white-space:nowrap; transition:transform .35s cubic-bezier(.3,1.4,.5,1);}
.pr-ban-go i{font-style:normal; transition:transform .3s;} .pr-ban:hover .pr-ban-go i{transform:translateX(5px);}
.pr-ban-links{display:flex; gap:16px; align-items:center; justify-content:flex-end; margin-top:10px; font-size:13.5px; font-weight:800;}
.pr-ban-links a, .pr-linkbtn{color:var(--ink-soft); text-decoration:none; background:none; border:0; padding:6px 2px; font:inherit; cursor:pointer;}
.pr-ban-links a:hover, .pr-linkbtn:hover{color:var(--ink); text-decoration:underline;}

.pr-dlg{width:min(1040px,96vw); max-width:none; max-height:92vh; padding:0; border:0; border-radius:28px; background:var(--bg); color:var(--ink); box-shadow:0 50px 100px -40px rgba(0,0,0,.8); overflow:hidden;}
.pr-dlg[open]{animation:prIn .5s cubic-bezier(.2,.9,.2,1) backwards;}
@keyframes prIn{from{opacity:0; transform:translateY(24px) scale(.97);}}
.pr-dlg::backdrop{background:rgba(5,8,12,.62); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);}
.pr-dlg-in{display:flex; flex-direction:column; max-height:92vh;}
.pr-dlg-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:24px 26px 10px;}
.pr-dlg-top h2{font-size:clamp(28px,3.4vw,40px);}
.pr-x{flex:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink); font-size:26px; line-height:1; cursor:pointer; transition:transform .3s;}
.pr-x:hover{transform:rotate(90deg);}
.pr-tabs{position:relative; display:inline-flex; align-self:flex-start; margin:0 26px 12px; padding:4px; border-radius:999px; background:var(--surface); border:1px solid var(--line); max-width:calc(100% - 52px); overflow-x:auto; scrollbar-width:none;}
.pr-tabs::-webkit-scrollbar{display:none;}
.pr-tabs button{position:relative; z-index:1; flex:none; padding:10px 16px; border:0; border-radius:999px; background:none; color:var(--ink-soft); font:800 14px/1 Manrope,system-ui,sans-serif; cursor:pointer; transition:color .3s; white-space:nowrap;}
.pr-tabs button b{display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:6px; padding:0 6px; border-radius:999px; background:rgba(127,127,127,.18); font-size:12px;}
.pr-tabs button[aria-selected="true"], .pr-tabs.is-static button.is-on{color:#fff;}
.pr-tabs.is-static button.is-on{background:var(--grad);}
.pr-tabs button[aria-selected="true"] b{background:rgba(255,255,255,.25);}
.pr-tabs-pill{position:absolute; z-index:0; left:0; top:4px; bottom:4px; width:0; border-radius:999px; background:var(--grad); transition:transform .5s cubic-bezier(.3,1.3,.5,1), width .5s cubic-bezier(.3,1.3,.5,1);}
.pr-panes{flex:1; min-height:0; display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none;}
.pr-panes::-webkit-scrollbar{display:none;}
.pr-pane{flex:0 0 100%; min-width:0; max-height:calc(92vh - 190px); overflow-y:auto; overscroll-behavior:contain; padding:4px 26px 20px; scroll-snap-align:start;}
.pr-pane .pe-card:first-child{margin-top:4px;}
.pr-dlg-foot{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 26px 18px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-faint);}
.pr-dlg-foot a{font-weight:800; color:var(--ink); text-decoration:none;}

.pe-acts .pr-b.is-deny, .pr-b.is-deny{color:#fff; background:#B3372F; border-color:#B3372F;}
.pr-b{display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border-radius:999px; border:1.5px solid var(--line-strong); background:transparent; color:var(--ink); font:800 13.5px/1 Manrope,system-ui,sans-serif; text-decoration:none; cursor:pointer; transition:transform .3s cubic-bezier(.3,1.5,.5,1), background .25s, color .25s;}
.pr-b:hover{transform:translateY(-2px);}
.pr-b.is-arch{background:var(--surface);} .pr-b.is-del{color:#A03228; border-color:rgba(160,50,40,.5);} .pr-b.is-del:hover{background:#A03228; color:#fff;}
.pr-f{display:inline; margin:0;}
.pr-row{margin-top:10px; border-radius:18px; background:var(--surface); border:1px solid var(--line); border-left:6px solid var(--ink-faint); overflow:hidden;}
.pr-row.is-accepted{border-left-color:#2E8B4A;} .pr-row.is-denied{border-left-color:#E0873A;} .pr-row.is-refused{border-left-color:#B3372F;} .pr-row.is-pending{border-left-color:#C49BE8;}
.pr-row summary{display:flex; align-items:center; gap:12px; padding:14px 16px; cursor:pointer; list-style:none;}
.pr-row summary::-webkit-details-marker{display:none;}
.pr-row[open] .pe-caret{transform:rotate(-135deg);}
.pr-row .pe-av{flex:none; width:40px; height:40px; font-size:18px !important;}
.pr-row-b{flex:1; min-width:0;} .pr-row-b b{display:block;} .pr-row-b small{display:block; font-size:13px; color:var(--ink-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pr-st{flex:none; text-align:right;} .pr-st i{display:inline-block; padding:4px 10px; border-radius:999px; font:800 11px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.07em; text-transform:uppercase;}
.pr-st small{display:block; margin-top:4px; font-size:12px; color:var(--ink-faint);}
.is-accepted .pr-st i{background:rgba(46,139,74,.16); color:#1F6A36;} .is-denied .pr-st i{background:rgba(224,135,58,.18); color:#8A4A10;} .is-refused .pr-st i{background:rgba(179,55,47,.16); color:#8A2A20;} .is-pending .pr-st i{background:rgba(196,155,232,.2); color:#5B3A88;}
.pr-row-in{padding:0 16px 16px;}
.pr-acts{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
.pr-wait-on{display:inline-flex; align-items:center; padding:10px 14px; border-radius:12px; background:rgba(196,155,232,.16); color:var(--ink); font-size:13.5px; font-weight:700;}
body.me-student .is-accepted .pr-st i{color:#8FD0A0;} body.me-student .is-denied .pr-st i{color:#F2B074;} body.me-student .is-refused .pr-st i{color:#FF8A80;} body.me-student .is-pending .pr-st i{color:#D9B8F5;}

.pr-arch{padding:26px; border-radius:26px; background:var(--surface); border:1px solid var(--line);}
.pr-arch-top{display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; margin-bottom:16px;}
.pr-arch-top h2{font-size:clamp(30px,3.6vw,44px);} .pr-arch-top p{max-width:62ch; color:var(--ink-soft); margin-top:6px;}
.pr-arch .pr-tabs{margin:0 0 10px;}
.pr-trash{margin-top:28px; padding:20px; border-radius:20px; border:1.5px dashed rgba(179,55,47,.45); background:rgba(179,55,47,.05);}
.pr-trash h3{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 6px; font-size:24px;}
.pr-trash h3 small{font:700 13px/1 Manrope,system-ui,sans-serif; color:var(--ink-faint);}

.pr-denydlg .pr-warn{margin:12px 0 4px; padding:12px 14px; border-radius:12px; background:rgba(179,55,47,.1); border:1px solid rgba(179,55,47,.35); font-size:14.5px;}
.pr-denydlg textarea{width:100%; min-height:110px; padding:12px 14px; font:inherit; font-size:16px; border:1.5px solid var(--line-strong); border-radius:12px; background:var(--surface); color:var(--ink);}
.pr-deny-go{background:#B3372F; border-color:#B3372F; color:#fff;}

/* the requester's red banner and their Denied chip */
.pr-deny{position:relative; display:flex; align-items:stretch; margin:0 0 14px; border-radius:18px; background:linear-gradient(120deg,#B3372F,#D9483B); color:#fff; box-shadow:0 18px 34px -20px rgba(179,55,47,.9); animation:prDrop .55s cubic-bezier(.2,1.2,.4,1) backwards; transition:opacity .35s, transform .35s;}
.pr-deny.is-gone{opacity:0; transform:translateY(-8px) scale(.98);}
@keyframes prDrop{from{opacity:0; transform:translateY(-14px);}}
.pr-deny-a{flex:1; display:flex; gap:14px; align-items:center; padding:16px 18px; color:inherit; text-decoration:none;}
.pr-deny-a > i{flex:none; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#fff; color:#B3372F; font:800 20px/1 Manrope,system-ui,sans-serif; font-style:normal;}
.pr-deny-a b{display:block; font-size:17px;} .pr-deny-a small{display:block; margin-top:3px; font-size:13.5px; opacity:.92;} .pr-deny-a em{display:inline-block; margin-top:6px; font-size:12px; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.85;}
.pr-deny-x{display:flex; margin:0;} .pr-deny-x button{width:52px; border:0; border-left:1px solid rgba(255,255,255,.25); background:none; color:#fff; font-size:26px; cursor:pointer; border-radius:0 18px 18px 0;}
.pr-deny-x button:hover{background:rgba(0,0,0,.12);}
.pr-chip-denied{display:inline-flex; align-items:center; gap:8px; margin:0 0 12px; padding:7px 14px 7px 7px; border-radius:999px; background:rgba(179,55,47,.12); color:#A03228; font-size:13px; font-weight:800; text-decoration:none;}
.pr-chip-denied b{display:grid; place-items:center; min-width:24px; height:24px; border-radius:999px; background:#B3372F; color:#fff;}
.pe-req.is-refused{border-left-color:#B3372F;} .is-refused > summary .pe-chip{background:rgba(179,55,47,.16); color:#8A2A20;}
body.me-student .pr-chip-denied{color:#FF8A80;}
@media (max-width:760px){
  .pr-ban{grid-template-columns:1fr; grid-template-areas:"k" "h" "n" "go"; padding:20px;}
  .pr-ban-go{justify-content:center;}
  .pr-dlg{width:100vw; max-height:100dvh; height:100dvh; border-radius:0;}
  .pr-dlg-in{max-height:100dvh; height:100%;}
  .pr-pane{max-height:none; padding:4px 16px 20px;}
  .pr-dlg-top{padding:18px 16px 8px;} .pr-tabs{margin:0 16px 10px; max-width:calc(100% - 32px);} .pr-dlg-foot{padding:10px 16px 16px;}
  .pr-arch{padding:18px;}
  .pr-st small{display:none;}
}
@media (prefers-reduced-motion:reduce){ .pr-ban-glow, .pr-ban.has-new .pr-ban-n .is-wait b, .pr-dlg[open], .pr-deny{animation:none;} .pr-tabs-pill{transition:none;} }

/* Sandbox: your own unsent drafts are dashed amber with a "draft" tag, so they never look approved.
   A request preview that isn't waiting (sent back / denied) is drawn amber too; only live changes are green. */
html.me-editing .me-ed-done, html.me-sandbox .me-ed-done{outline:2px dashed #E0A526 !important; outline-offset:3px; position:relative;}
html.me-sandbox .me-ed-done::after{content:"draft"; position:absolute; top:-10px; right:-6px; padding:2px 6px; border-radius:6px; background:#E0A526; color:#1B1406; font:800 9.5px/1.2 Manrope,system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; pointer-events:none;}
.me-pv-bar.is-denied ~ * .me-pv-hit, body:has(.me-pv-bar.is-denied) .me-pv-hit, body:has(.me-pv-bar.is-refused) .me-pv-hit{outline-color:#E0A526 !important; background:rgba(224,165,38,.12) !important;}
.pe-req.is-denied .pe-item ins, .pe-req.is-refused .pe-item ins, .pr-row.is-denied .pe-item ins, .pr-row.is-refused .pe-item ins{background:linear-gradient(transparent 62%, rgba(224,165,38,.4) 62%);}

/* ===== Nov 11 (late): calendar + profile + movie night ===== */
/* Split Wednesdays (Students + Kids): no white line across the tile, the two halves just meet. */
.cal-cell.has-split::before{display:none;}

/* A series night in a day panel / list: the night's art behind the row, and the week, speaker and title on top. */
body #view-calendar .ag-row.ag-ser, body .mcx .ag-row.ag-ser{background:#1B0F2A; border-color:transparent; color:#fff; isolation:isolate; box-shadow:0 16px 30px -18px rgba(30,10,50,.85);}
.ag-row.ag-ser .ag-ser-bg{position:absolute; inset:0; z-index:-1; background:center / cover no-repeat; transform:scale(1.04); transition:transform 1s cubic-bezier(.2,.9,.25,1);}
.ag-row.ag-ser .ag-ser-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(18,8,30,.94) 0%, rgba(18,8,30,.8) 55%, rgba(18,8,30,.38) 100%);}
.ag-row.ag-ser.ser-sbs .ag-ser-bg::after{background:linear-gradient(90deg, rgba(40,28,62,.93) 0%, rgba(40,28,62,.76) 55%, rgba(40,28,62,.25) 100%);}
.ag-row.ag-ser:hover .ag-ser-bg{transform:scale(1.1);}
body #view-calendar .ag-row.ag-ser .ag-t b, body .mcx .ag-row.ag-ser .ag-t b{color:#FFD9A0;}
body #view-calendar .ag-row.ag-ser .ag-t small, body .mcx .ag-row.ag-ser .ag-t small{color:rgba(255,255,255,.72);}
body #view-calendar .ag-row.ag-ser .ag-main b, body .mcx .ag-row.ag-ser .ag-main b{color:#fff;}
body #view-calendar .ag-row.ag-ser .ag-sub, body .mcx .ag-row.ag-ser .ag-sub{color:rgba(255,255,255,.86);}
body #view-calendar .ag-row.ag-ser .ag-kind, body .mcx .ag-row.ag-ser .ag-kind{background:rgba(255,255,255,.16); color:#fff;}
body #view-calendar .ag-row.ag-ser .ag-go, body .mcx .ag-row.ag-ser .ag-go{color:#fff;}
.ag-row .ag-wk{display:block; margin-bottom:3px; font:800 10px/1.25 Manrope,system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#FFD9A0;}
.ag-row.ser-sbs .ag-wk{color:#9FE6DF;}
.ag-row .ag-spk{display:block; margin-top:3px; font-size:12.5px; font-weight:700; color:#fff;}
body #view-calendar .ag-row.ag-ser .ag-thumb, body .mcx .ag-row.ag-ser .ag-thumb{object-fit:contain; box-shadow:none; filter:drop-shadow(0 4px 10px rgba(0,0,0,.55)); animation:serHug 3.8s ease-in-out infinite;}
body #view-calendar .ag-row .ag-t small{white-space:nowrap;}

/* Students / Kids page: the big square next to the calendar carries the whole night and opens the pop-out. */
button.mn-stcal-poster{width:100%; padding:0; border:0; font:inherit; text-align:left; cursor:pointer; background:#000;}
.mn-stcal-poster.is-lesson{aspect-ratio:auto; min-height:clamp(250px, 26vw, 340px); display:flex; flex-direction:column; justify-content:flex-end;}
.mn-stcal-poster.is-lesson span{position:relative; padding-top:70px;}
.mn-stcal-poster .mn-stcal-spk{font-weight:800; color:#fff; font-size:13px;}
.mn-stcal-poster .mn-stcal-about{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:4px 0 2px; font-size:12.5px; line-height:1.45; color:rgba(255,255,255,.86);}
.mn-stcal-poster .mn-stcal-more{display:inline-flex; align-items:center; gap:6px; margin-top:8px; font:800 11.5px/1 Manrope,system-ui,sans-serif; font-style:normal; letter-spacing:.06em; text-transform:uppercase; color:#F5DB87;}
.mn-stcal-poster .mn-stcal-more svg{width:14px; height:14px; transition:transform .3s ease;}
.mn-stcal-poster:hover .mn-stcal-more svg{transform:translateX(4px);}
.mn-stcal-poster:focus-visible{outline:3px solid var(--tone); outline-offset:3px;}

/* Profile: this week's Midweek night per ministry (Kids for parents, Students for teens), and the latest message. */
.me-devo-spk{margin:0; font-size:14px; line-height:1.45; color:rgba(255,255,255,.92);}
.me-devo-spk b{color:#FFD9A0;}
.me-devo.is-kids::after{background:linear-gradient(105deg, rgba(36,24,58,.92) 0%, rgba(36,24,58,.72) 55%, rgba(36,24,58,.28) 100%);}
.me-devo.is-kids .me-devo-k{color:#9FE6DF;}
.me-devo.is-kids .me-devo-spk b{color:#9FE6DF;}
.me-devo .me-devo-btns button.btn{font:inherit; font-weight:800; cursor:pointer;}
.me-week-ser{grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr));}
.me-week-ser:not(:has(.me-devo:not([hidden]))){display:none;}
.mx-msg{margin:0 0 18px; --m-gold:#E9C46A;}
.mx-msg[hidden]{display:none;}
.mx-msg .mf-media{aspect-ratio:21 / 9;}
@media (max-width:700px){
  .mx-msg .mf-media{aspect-ratio:16 / 10;}
  .mx-msg .mf-play{width:62px; height:62px; margin:-31px 0 0 -31px;}
  .mx-msg .mf-play svg{width:26px; height:26px;}
  .mx-msg .mf-body{padding:16px 18px;}
}

/* ---------- Merry Movie Night: the marquee ---------- */
.mq{position:absolute; inset:0; display:block; overflow:hidden; container-type:inline-size; color:#fff; background:#0A1433;}
.mq-sky{position:absolute; inset:0; background:radial-gradient(120% 90% at 50% 0%, #26407F 0%, #15265C 45%, #0A1433 100%);}
.mq-sky::after{content:""; position:absolute; inset:0; opacity:.55; background-image:radial-gradient(1px 1px at 12% 30%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 82% 22%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 66% 48%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 30% 58%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 90% 62%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 6% 70%, #fff 50%, transparent 51%);}
.mq-string{position:absolute; left:-3%; right:-3%; top:0; height:26%;}
.mq-string svg{position:absolute; inset:0; width:100%; height:100%;}
.mq-string i{position:absolute; width:1.1%; aspect-ratio:1; margin:-.55% 0 0 -.55%; border-radius:50%; background:#FFF6D8; box-shadow:0 0 .9cqw .3cqw rgba(255,236,170,.75); animation:mqTw 2.6s ease-in-out infinite; animation-delay:calc(var(--j) * -.37s);}
@keyframes mqTw{0%,100%{opacity:1;} 50%{opacity:.35;}}
.mq-sign{position:absolute; left:23%; width:54%; top:7%; aspect-ratio:600 / 330; container-type:inline-size; filter:drop-shadow(0 1.2cqw 2.4cqw rgba(0,0,0,.55));}
.mq-frame{position:absolute; inset:0; width:100%; height:100%; overflow:visible;}
.mq-bulbs{position:absolute; inset:0;}
.mq-bulbs i{position:absolute; width:2.4%; aspect-ratio:1; margin:-1.2% 0 0 -1.2%; border-radius:50%; background:#5E3F0E; box-shadow:inset 0 -.2cqw .4cqw rgba(0,0,0,.55);}
/* each bulb fades light yellow -> dark -> light; the delays step around the sign, so the light travels round it */
.mq-bulbs i::after{content:""; position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 40% 35%, #fff 0 18%, #FFF4B8 45%, #FFD95A 100%); box-shadow:0 0 1.4cqw .4cqw rgba(255,226,120,.85), 0 0 3cqw 1cqw rgba(255,200,60,.3); animation:mqChase 4.8s ease-in-out infinite; animation-delay:calc(var(--i) * -.15s);}
@keyframes mqChase{0%,100%{opacity:1;} 50%{opacity:.05;}}
.mq-words{position:absolute; inset:0;}
.mq-words b{position:absolute; left:0; right:0; text-align:center; transform:translateY(-50%); line-height:1; white-space:nowrap; text-transform:uppercase;}
.mq-top{top:23%; font:600 5.2cqw/1 Oswald,"Arial Narrow","Helvetica Neue",sans-serif; color:#7A1018; letter-spacing:.03em;}
.mq-mid{top:45%; font:600 9cqw/1 Oswald,"Arial Narrow","Helvetica Neue",sans-serif; color:#7A1018; letter-spacing:.01em;}
.mq-name{top:71%; font:400 11.5cqw/1 "Lilita One","Arial Black",sans-serif; color:#46C232; -webkit-text-stroke:.3cqw #1D6B1A; text-shadow:0 .6cqw 0 #1D6B1A, 0 0 3cqw rgba(120,255,90,.35); animation:mqName 5s ease-in-out infinite;}
@keyframes mqName{0%,100%{transform:translateY(-50%) rotate(-1deg);} 50%{transform:translateY(-50%) rotate(1deg) scale(1.03);}}
.mq-words::after{content:""; position:absolute; left:6%; right:6%; top:30%; bottom:11%; background:linear-gradient(105deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%) no-repeat; background-size:250% 100%; mix-blend-mode:soft-light; animation:mqSweep 6s ease-in-out infinite; pointer-events:none;}
@keyframes mqSweep{0%{background-position:150% 0;} 60%,100%{background-position:-50% 0;}}
.mq-holly{position:absolute; left:2%; width:96%; bottom:-7%; height:auto; overflow:visible;}
.mq-pop{position:absolute; left:3%; top:-6%; width:15%; height:auto; transform:rotate(-8deg); overflow:visible;}
.mq-reel{position:absolute; right:4%; top:-11%; width:18%; height:auto; overflow:visible;}
.mq-reel-spin{transform-box:view-box; transform-origin:55px 62px; animation:mqSpin 9s linear infinite;}
@keyframes mqSpin{to{transform:rotate(360deg);}}
.mq-date{position:absolute; left:0; right:0; top:69%; text-align:center; font:600 4.4cqw/1.05 Oswald,"Arial Narrow","Helvetica Neue",sans-serif; letter-spacing:.06em; text-transform:uppercase; text-shadow:0 .3cqw 1cqw rgba(0,0,0,.6);}
.mq-date b{display:block; font-weight:600;}
.mq-date small{display:block; margin-top:.5cqw; font-size:3.1cqw; color:#FFE7A3; letter-spacing:.08em;}
.mq-seats{position:absolute; left:0; bottom:0; width:100%; height:15%;}
/* the card: a little glow when you point at it */
.fc-mq .mq-sign{transition:transform .6s cubic-bezier(.2,.9,.25,1);}
.feat-card:hover .fc-mq .mq-sign{transform:scale(1.04) translateY(-1%);}
#view-calendar .fc-media.fc-mq::after{background:linear-gradient(180deg, rgba(0,0,0,0) 70%, rgba(6,10,28,.35));}

/* the pop-out: bigger, the sign drops in, the bulbs chase faster, popcorn pops and it snows */
#eventModal .ev-flyer.ev-mqwrap{display:block; width:100%; aspect-ratio:16 / 9; height:auto; background:#0A1433;}
.mq.is-big .mq-sign{animation:mqDrop 1s cubic-bezier(.2,1.25,.4,1) both;}
@keyframes mqDrop{from{opacity:0; transform:translateY(-28%) scale(.9) rotate(-2deg);} to{opacity:1; transform:none;}}
.mq.is-big .mq-bulbs i::after{animation-duration:2s; animation-delay:calc(var(--i) * -.0625s);}
.mq.is-big .mq-string i{animation-duration:1.2s;}
.mq.is-big .mq-reel-spin{animation-duration:3s;}
.mq.is-big .mq-name{animation:mqName 2.4s ease-in-out infinite;}
.mq.is-big .mq-kern{animation:mqPop 1.6s cubic-bezier(.3,1.6,.5,1) infinite; transform-box:fill-box; transform-origin:50% 100%;}
@keyframes mqPop{0%,60%,100%{transform:none;} 70%{transform:translateY(-12%) scale(1.06);} 80%{transform:translateY(0) scale(.98);}}
.mq.is-big .mq-date{animation:mqUp .8s .5s cubic-bezier(.2,.9,.25,1) both;}
@keyframes mqUp{from{opacity:0; transform:translateY(30%);} to{opacity:1; transform:none;}}
.mq-snow{position:absolute; inset:0; z-index:1; pointer-events:none; background-image:radial-gradient(2px 2px at 20% 30%, #fff 50%, transparent 51%), radial-gradient(3px 3px at 60% 70%, rgba(255,255,255,.9) 50%, transparent 51%), radial-gradient(2px 2px at 80% 10%, rgba(255,255,255,.8) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 40% 85%, #fff 50%, transparent 51%);
  background-size:180px 180px, 260px 260px, 220px 220px, 320px 320px; animation:mqSnow 10s linear infinite;}
@keyframes mqSnow{to{background-position:20px 180px, -30px 260px, 15px 220px, -10px 320px;}}
@media (prefers-reduced-motion: reduce){ .mq *, .mq *::after{animation:none !important;} }

/* ===== Sandbox (own side): four boxes that open the pop-out ===== */
.pe-stats.is-four{grid-template-columns:repeat(4,1fr);}
button.pe-stat{position:relative; display:block; width:100%; font:inherit; color:inherit; text-align:left; cursor:pointer; overflow:hidden; transition:transform .35s cubic-bezier(.3,1.4,.5,1), box-shadow .3s ease, border-color .3s ease; -webkit-tap-highlight-color:transparent;}
button.pe-stat:hover{transform:translateY(-3px); box-shadow:0 18px 34px -20px rgba(19,42,22,.6);}
button.pe-stat:active{transform:scale(.97);}
button.pe-stat:focus-visible{outline:3px solid #2A5680; outline-offset:3px;}
.pe-stat span{display:block;}
.pe-stat-go{display:block; margin-top:8px; font-style:normal; font-size:11.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); transition:color .25s ease, transform .3s ease;}
button.pe-stat:hover .pe-stat-go{color:var(--ink); transform:translateX(3px);}
.pe-stat.is-arch b{color:#5B6B7A;}
.pe-mine .pr-pane .pe-req{margin-top:10px;}
.pe-gone{margin-top:18px; border-radius:16px; border:1px dashed var(--line); background:color-mix(in srgb, var(--surface) 70%, transparent);}
.pe-gone > summary{display:flex; align-items:center; gap:10px; padding:14px 16px; cursor:pointer; list-style:none; font-weight:800;}
.pe-gone > summary::-webkit-details-marker{display:none;}
.pe-gone > summary small{font-weight:600; color:var(--ink-faint); font-size:12.5px;}
.pe-gone > summary .pe-caret{margin-left:auto;}
.pe-gone > .pr-row, .pe-gone > .pe-none{margin:0 12px 12px;}
.pr-row.is-deleted .pr-st i{background:rgba(91,107,122,.16); color:#46525E;}
.pe-gone-items{margin:0 0 12px; padding:0; list-style:none; display:grid; gap:6px; font-size:14px;}
.pe-gone-items del{color:var(--ink-faint);} .pe-gone-items ins{text-decoration:none; font-weight:700;} .pe-gone-items span{font-weight:800;}
@media (max-width:760px){ .pe-stats.is-four{grid-template-columns:1fr 1fr;} .pe-stat b{font-size:36px;} }

/* ===== Sign-in: sunrise over the hills ===== */
.me-door.has-scene{background:#0F2236; isolation:isolate;}
.me-door-scene{position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; --mx:0; --my:0;}
.mds-sky{position:absolute; inset:0; background:linear-gradient(180deg, #16314F 0%, #2F5A82 30%, #7FA3C0 55%, #E9D2A6 78%, #F6E7C8 100%); animation:mdsSky 2.4s ease-out both;}
@keyframes mdsSky{from{filter:brightness(.55) saturate(.8);} to{filter:none;}}
.mds-stars{position:absolute; inset:0 0 50% 0; opacity:.7; background-image:radial-gradient(1px 1px at 10% 20%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 28% 8%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 47% 16%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 66% 6%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 84% 22%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 92% 9%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 18% 34%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 74% 30%, #fff 50%, transparent 51%); animation:mdsStars 4s ease-out 1s both;}
@keyframes mdsStars{from{opacity:.8;} to{opacity:.12;}}
.mds-sun{position:absolute; left:calc(62% + var(--mx) * -10px); top:42%; width:clamp(120px,16vw,240px); aspect-ratio:1; margin-left:calc(clamp(120px,16vw,240px) / -2); border-radius:50%; background:radial-gradient(circle, #FFF8E6 0 34%, #FCE3AE 52%, rgba(248,206,140,.5) 64%, rgba(248,206,140,0) 72%); filter:blur(.5px); animation:mdsRise 3.2s cubic-bezier(.2,.8,.2,1) both, mdsGlow 6s ease-in-out 3.2s infinite;}
@keyframes mdsRise{from{transform:translateY(120%); opacity:.4;} to{transform:none; opacity:1;}}
@keyframes mdsGlow{0%,100%{box-shadow:0 0 80px 30px rgba(252,227,174,.35);} 50%{box-shadow:0 0 120px 50px rgba(252,227,174,.5);}}
.mds-rays{position:absolute; left:62%; top:calc(42% + clamp(60px,8vw,120px)); width:140vmax; aspect-ratio:1; transform:translate(-50%,-50%); background:repeating-conic-gradient(from 0deg, rgba(255,240,205,.10) 0 4deg, transparent 4deg 14deg); -webkit-mask:radial-gradient(circle, #000 0 18%, transparent 52%); mask:radial-gradient(circle, #000 0 18%, transparent 52%); animation:mdsSpin 90s linear infinite, mdsFade 3s ease-out 1.6s both;}
@keyframes mdsSpin{to{transform:translate(-50%,-50%) rotate(360deg);}}
@keyframes mdsFade{from{opacity:0;} to{opacity:1;}}
.mds-birds{position:absolute; left:20%; top:24%; width:clamp(70px,8vw,120px); fill:none; stroke:#22344A; stroke-width:2.2; stroke-linecap:round; opacity:.55; animation:mdsBirds 38s linear infinite;}
@keyframes mdsBirds{from{transform:translate(-30vw,4vh);} to{transform:translate(90vw,-6vh);}}
.mds-r{position:absolute; left:-4%; width:108%; bottom:0; transform:translate3d(calc(var(--mx) * var(--d) * -1px), calc(var(--my) * var(--d) * .6px), 0); will-change:transform;}
.mds-r path{animation:mdsUp 1.6s cubic-bezier(.2,.9,.25,1) both;}
.mds-r1{height:72%; --d:6; fill:#9DB3C9;} .mds-r1 path{animation-delay:.1s;}
.mds-r2{height:62%; --d:12; fill:#7B98B4;} .mds-r2 path{animation-delay:.22s;}
.mds-r3{height:52%; --d:20; fill:#5C7F86;} .mds-r3 path{animation-delay:.34s;}
.mds-r4{height:41%; --d:30; fill:#3F6650;} .mds-r4 path{animation-delay:.46s;}
.mds-r5{height:30%; --d:44; fill:#244731;} .mds-r5 path{animation-delay:.58s;}
@keyframes mdsUp{from{transform:translateY(40%); opacity:0;} to{transform:none; opacity:1;}}
.mds-mist{position:absolute; left:-30%; width:90%; height:18%; border-radius:50%; background:radial-gradient(closest-side, rgba(246,240,228,.55), rgba(246,240,228,0)); filter:blur(8px); animation:mdsMist 46s linear infinite;}
.mds-mist1{bottom:30%;} .mds-mist2{bottom:18%; animation-duration:62s; animation-delay:-20s; opacity:.8;} .mds-mist3{bottom:8%; animation-duration:54s; animation-delay:-38s; opacity:.6;}
@keyframes mdsMist{from{transform:translateX(-10%);} to{transform:translateX(150%);}}
.me-door.has-scene .me-door-card{background:rgba(251,247,239,.84); border-color:rgba(255,255,255,.55); box-shadow:0 40px 90px -40px rgba(8,20,32,.85), 0 0 0 1px rgba(255,255,255,.25) inset;}
.me-door.has-scene .app-card, .me-door.has-scene .rh-app-card{position:relative;}
body.me-student .me-door.has-scene .me-door-card{background:rgba(251,247,239,.84);}
@media (max-width:700px){ .mds-sun{left:70%; top:36%;} .mds-rays{left:70%;} .mds-r1{height:60%;} .mds-r2{height:50%;} .mds-r3{height:40%;} .mds-r4{height:31%;} .mds-r5{height:22%;} }
@media (prefers-reduced-motion: reduce){ .me-door-scene *, .me-door-scene *::before{animation:none !important;} .mds-r{transform:none;} }

/* ===== Profile: the event strip above the calendar ===== */
.mxs{margin:0 -4px 16px;}
.mxs:empty{display:none;}
.mxs-track{display:flex; gap:14px; overflow-x:auto; padding:6px 4px 14px; scroll-snap-type:x proximity; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.mxs-track::-webkit-scrollbar{display:none;}
.mxs-card{flex:0 0 clamp(200px, 23%, 250px); scroll-snap-align:start; display:flex; flex-direction:column; padding:0; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--surface); color:var(--ink); font:inherit; text-align:left; cursor:pointer; box-shadow:0 14px 26px -20px rgba(19,42,22,.6); transition:transform .45s cubic-bezier(.2,.9,.25,1), box-shadow .3s ease, opacity .45s ease; animation:mxsIn .6s cubic-bezier(.2,.9,.25,1) both; animation-delay:calc(var(--i) * 50ms); -webkit-tap-highlight-color:transparent;}
@keyframes mxsIn{from{opacity:0; transform:translateX(24px);} to{opacity:1; transform:none;}}
.mxs-card:hover{box-shadow:0 22px 36px -22px color-mix(in srgb, var(--kc) 70%, #000);}
.mxs-card:focus-visible{outline:3px solid var(--kc); outline-offset:3px;}
.mxs-media{position:relative; display:block; aspect-ratio:16 / 9; overflow:hidden; background:color-mix(in srgb, var(--kc) 30%, #10201A);}
.mxs-img, .mxs-ser{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:center / cover no-repeat; transition:transform .9s cubic-bezier(.2,.9,.25,1);}
.mxs-card:hover .mxs-img, .mxs-card:hover .mxs-ser{transform:scale(1.07);}
.mxs-ser::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.45));}
.mxs-logo{position:absolute; left:50%; top:46%; width:62%; max-height:62%; object-fit:contain; transform:translate(-50%,-50%); filter:drop-shadow(0 6px 12px rgba(0,0,0,.45)); animation:serHug 3.8s ease-in-out infinite;}
.mxs-ph{position:absolute; inset:0; display:grid; place-items:center; padding:12px; text-align:center; background:linear-gradient(135deg, color-mix(in srgb, var(--kc) 85%, #fff), color-mix(in srgb, var(--kc) 60%, #000)); color:#fff;}
.mxs-ph b{font-family:"Anton",sans-serif; font-weight:400; font-size:20px; line-height:1.05; text-transform:uppercase;}
.mxs-date{position:absolute; left:10px; top:10px; z-index:2; display:grid; place-items:center; min-width:42px; padding:5px 6px; border-radius:11px; background:rgba(255,255,255,.94); color:#10201A; line-height:1; box-shadow:0 6px 14px -6px rgba(0,0,0,.5);}
.mxs-date b{font-family:"Anton",sans-serif; font-weight:400; font-size:19px;}
.mxs-date small{font-size:9.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--kc);}
.mxs-body{display:block; padding:10px 13px 12px; border-top:3px solid var(--kc);}
.mxs-body b{display:block; font-size:14.5px; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mxs-body small{display:block; margin-top:2px; font-size:12px; color:var(--ink-soft);}
body.me-student .mxs-card{background:#15151F; border-color:rgba(255,255,255,.1); color:#fff;}
body.me-student .mxs-body small{color:rgba(255,255,255,.7);}
@media (max-width:760px){
  .mxs-track{scroll-snap-type:x mandatory; padding:10px calc(50% - 39vw) 16px; gap:10px;}
  .mxs-card{flex-basis:78vw; scroll-snap-align:center; transform:scale(.88); opacity:.72;}
  .mxs-card.is-focus{transform:scale(1); opacity:1; box-shadow:0 22px 40px -22px color-mix(in srgb, var(--kc) 70%, #000);}
}
@media (prefers-reduced-motion: reduce){ .mxs-card{animation:none; transition:none;} }

/* ===== Profile: Coming up in two columns when it's long, with a small picture ===== */
@media (min-width:900px){ .me-up.is-cols{grid-template-columns:1fr 1fr; column-gap:12px;} }
.me-ev{position:relative; overflow:hidden;}
.me-ev-pic{flex:none; width:64px; height:44px; border-radius:10px; background:center / cover no-repeat; box-shadow:0 8px 16px -10px rgba(0,0,0,.6); order:3;}
.me-ev em, .me-ev .me-ev-sv{order:4;}
.me-ev::after{content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg, color-mix(in srgb, var(--kc) 10%, transparent), transparent 45%); opacity:0; transition:opacity .3s ease;}
.me-ev:hover::after{opacity:1;}
@media (max-width:520px){ .me-ev-pic{width:48px; height:36px;} }
/* sign-in tune: the sun sits beside the card, softer rays, a warmer card, hazier far ridges */
.mds-sun{left:calc(80% + var(--mx) * -10px); top:30%;}
.mds-rays{left:80%; top:calc(30% + clamp(60px,8vw,120px)); background:repeating-conic-gradient(from 0deg, rgba(255,240,205,.06) 0 4deg, transparent 4deg 14deg);}
.mds-r1{filter:blur(1.2px);} .mds-r2{filter:blur(.6px);}
.me-door.has-scene .me-door-card{background:rgba(251,247,239,.93);}
@media (max-width:700px){ .mds-sun{left:84%; top:12%;} .mds-rays{left:84%; top:calc(12% + 60px);} }
.mds-sun{background:radial-gradient(circle, #FFF8E6 0 30%, #FCE3AE 44%, rgba(248,206,140,.45) 56%, rgba(248,206,140,.12) 66%, rgba(248,206,140,0) 71%);}
@keyframes mdsGlow{0%,100%{box-shadow:none; transform:scale(1); opacity:1;} 50%{box-shadow:none; transform:scale(1.05); opacity:.94;}}
/* light outline buttons on the dark "this week" cards */
.me-devo .btn-ghost{color:#fff; border:1.5px solid rgba(255,255,255,.55); background:rgba(255,255,255,.08); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);}
.me-devo .btn-ghost:hover{background:rgba(255,255,255,.18); border-color:#fff; color:#fff;}
@media (max-width:560px){ .me-devo-in{padding:22px;} .me-devo h3{font-size:24px;} .me-devo-btns .btn{flex:1 1 100%; justify-content:center;} }
body .me-devo a.btn-ghost{color:#fff; border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.08);}
body .me-devo a.btn-ghost:hover{background:rgba(255,255,255,.18); border-color:#fff; color:#fff;}

/* the event strip spans the whole calendar card */
.me-upcard > .mxs{grid-column:1 / -1; min-width:0;}
.mxs-logo{left:0; right:0; top:0; bottom:0; margin:auto; width:66%; height:62%; max-height:none; transform:none;}

/* ===== Family: parents edit their children and add photos; website sign-up ===== */
.fm-me{position:relative; padding:0; border:0; background:none; border-radius:50%; cursor:pointer; flex:none; -webkit-tap-highlight-color:transparent;}
.fm-me:focus-visible{outline:3px solid #fff; outline-offset:4px;}
.fm-cam{position:absolute; right:2px; bottom:2px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#fff; color:#1F3A2A; box-shadow:0 6px 14px -6px rgba(0,0,0,.6); transition:transform .3s cubic-bezier(.3,1.5,.5,1);}
.fm-cam svg{width:16px; height:16px;}
.fm-me:hover .fm-cam{transform:scale(1.12);}
.me-people li > .fm-kid{display:flex; align-items:center; gap:12px; width:100%; padding:6px 8px; margin:-6px -8px; border:0; border-radius:14px; background:none; font:inherit; color:inherit; text-align:left; cursor:pointer; transition:background .25s ease;}
.me-people li > .fm-kid:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);}
.me-people li > .fm-kid span{flex:1; min-width:0;}
.fm-edit{flex:none; font-style:normal; font-size:11.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:5px 10px; border-radius:999px; border:1px solid var(--line-strong, var(--line)); color:var(--ink-soft);}
.fm-dlg .fm-photo{display:grid; place-items:center; margin-bottom:6px;}
.fm-ph-form{display:grid; justify-items:center; gap:10px;}
.fm-face{position:relative; display:grid; place-items:center; cursor:pointer;}
.fm-face-img{display:grid; place-items:center; width:112px; height:112px; border-radius:50%; background:linear-gradient(135deg,#2E6B3E,#2A5680) center / cover no-repeat; color:#fff; font:400 38px/1 "Anton",sans-serif; box-shadow:0 18px 34px -18px rgba(0,0,0,.6), 0 0 0 4px #fff;}
.fm-face i{position:absolute; bottom:-10px; padding:5px 12px; border-radius:999px; background:#fff; color:#1F3A2A; font-style:normal; font-size:12px; font-weight:800; box-shadow:0 6px 14px -6px rgba(0,0,0,.5); white-space:nowrap;}
.fm-ph-form.is-picked .fm-face i{background:#2E8B4A; color:#fff;}
.fm-ph-form .fm-ph-send{margin-top:12px;}
.fm-dlg.is-self .fm-ph-form .fm-ph-send{margin-bottom:6px;}
.fm-dlg.is-self .fm-photo::after{content:"The church office checks new photos before they show."; font-size:12.5px; color:var(--ink-faint); margin-top:6px;}
.fm-new{display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:18px; padding-top:16px; border-top:1px solid var(--line);}
.fm-new span{font-weight:700; color:var(--ink-soft);}
.fm-hp{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden;}
.fm-join .me-door-small{text-align:left;}

.fm-dlg:not(.is-self) .fm-ph-close{display:none;}

/* ===== Nov 12: phone fixes ===== */
/* The banner row may never push its card wider than the screen (this is what broke the phone calendar). */
.me-grid > *, .me-upcard, .me-week > *{min-width:0;}
.mxs{min-width:0; max-width:100%; contain:inline-size; overflow:hidden;}
.mxs-track{max-width:100%;}
/* calendar links (Kids / Student / church calendars) sit at the very bottom of the card, side by side */
.me-upcard > .me-cals{grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); margin-top:20px;}
@media (min-width:861px){
  .me-upcard > .me-cals{grid-column:1 / -1; grid-row:auto;}
  .me-upcard > .me-up, .me-upcard > .mcx-listh{grid-column:1 / -1;}
}
/* smaller banners on phones: the middle one grows, the calendar follows right after */
@media (max-width:760px){
  .mxs{margin:0 0 6px;}
  .mxs-track{padding:8px 18% 12px; gap:8px;}
  .mxs-card{flex-basis:64%; border-radius:15px;}
  .mxs-body{padding:8px 11px 10px;} .mxs-body b{font-size:13.5px;} .mxs-body small{font-size:11.5px;}
  .mxs-date{left:8px; top:8px; min-width:36px; padding:4px 5px;} .mxs-date b{font-size:16px;}
}
/* Side-by-Side riders on the profile banner and the small banners */
.me-devo-ride{width:min(82%, 330px); flex:none; margin:2px 0 4px;}
.mxs-ride{position:absolute; left:15%; top:5%; width:70%;}
/* Sandbox on phones: a small pencil circle until you tap it */
@media (max-width:700px){
  .me-ed-bar:not(.is-open){left:auto; right:12px; width:50px; height:50px; padding:0; border-radius:50%; flex-wrap:nowrap; justify-content:center; gap:0;}
  .me-ed-bar:not(.is-open) .me-ed-tray{display:none;}
  .me-ed-bar:not(.is-open) .me-ed-go{width:50px; height:50px; min-height:50px; padding:0; justify-content:center; border-radius:50%;}
  .me-ed-bar:not(.is-open) .me-ed-go span{display:none;}
  .me-ed-bar:not(.is-open) .me-ed-go svg{width:20px; height:20px;}
  .me-ed-bar:not(.is-open).has::after{content:""; position:absolute; right:2px; top:2px; width:12px; height:12px; border-radius:50%; background:#2E8B4A; box-shadow:0 0 0 2px rgba(20,26,22,.92);}
  html.me-sandbox .me-ed-bar:not(.is-open) .me-ed-go{background:#F2B84B; color:#1B1405;}
}
/* tighter stacking on the profile: Sandbox approvals sit right under the counters */
.pe-studio{margin-bottom:12px;}
.pe-studio .pe-stats{margin-bottom:0;}
.me-body .pr{margin-bottom:22px;}
@media (max-width:760px){
  .me-body{padding-top:22px;}
  .mx-nav{margin-bottom:14px;}
  .pe-hero{padding:24px 20px;}
  .me-week, .mx-msg, .me-grid-top{margin-bottom:14px;}
  .me-grid{gap:14px;}
}

.fm-chk{font-style:normal; font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; margin-left:6px; padding:2px 7px; border-radius:999px; background:rgba(224,165,38,.18); color:#8A5E0A;}

/* ===== Messages (the inbox) ===== */
.mg-wrap{padding:132px 0 34px;}
.mg-shell{display:grid; grid-template-columns:minmax(260px,340px) minmax(0,1fr); height:clamp(480px, calc(100dvh - 230px), 860px); border-radius:26px; overflow:hidden; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow);}
.mg-side{display:flex; flex-direction:column; min-height:0; border-right:1px solid var(--line); background:color-mix(in srgb, var(--bg) 60%, var(--surface));}
.mg-side-top{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:20px 18px 14px;}
.mg-side-top h1{font-size:30px; margin:0;}
.mg-new{display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 14px; border-radius:999px; border:0; background:var(--grad); color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; transition:transform .3s cubic-bezier(.3,1.5,.5,1);}
.mg-new[hidden]{display:none;} .mg-new svg{width:16px; height:16px;} .mg-new:hover{transform:translateY(-2px);} .mg-new:active{transform:scale(.96);}
.mg-list{flex:1; min-height:0; overflow-y:auto; padding:0 8px 10px; -webkit-overflow-scrolling:touch;}
.mg-row{display:flex; align-items:center; gap:12px; width:100%; padding:11px 10px; border:0; border-radius:16px; background:none; font:inherit; color:inherit; text-align:left; cursor:pointer; transition:background .2s ease; animation:mgIn .45s cubic-bezier(.2,.9,.25,1) both; animation-delay:calc(var(--i) * 30ms);}
@keyframes mgIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}
.mg-row:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);} .mg-row.is-on{background:color-mix(in srgb, var(--ink) 10%, transparent);}
.mg-av{flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,#2E6B3E,#2A5680); color:#fff; font:400 17px/1 "Anton",sans-serif; letter-spacing:.02em;}
.mg-av.is-group{background:linear-gradient(135deg,#B08A55,#2A5680);} .mg-av svg{width:24px; height:24px;}
.mg-av.sm{width:30px; height:30px; font-size:12px; align-self:flex-end;}
.mg-row-b{flex:1; min-width:0;} .mg-row-b b{display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:15px;}
.mg-row-b small{display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; color:var(--ink-soft);}
.mg-row.is-unread .mg-row-b b{font-weight:800;} .mg-row.is-unread .mg-row-b small{color:var(--ink); font-weight:700;}
.mg-row-e{flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:5px;} .mg-row-e time{font-size:11px; color:var(--ink-faint);}
.mg-badge, .mg-pill{display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:#D8342B; color:#fff; font-style:normal; font-size:11.5px; font-weight:800; line-height:1;}
.mg-pill[hidden]{display:none;}
.mg-tag{display:inline-block; font-style:normal; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:2px 6px; border-radius:999px; background:rgba(42,86,128,.14); color:#2A5680; vertical-align:1px;}
.mg-tag.is-paused{background:rgba(216,52,43,.14); color:#A02A22;}
.mg-empty{padding:26px 16px; text-align:center; color:var(--ink-soft); font-size:14px;}
.mg-main{display:flex; flex-direction:column; min-width:0; min-height:0; position:relative;}
.mg-blank, .mg-loading{flex:1; display:grid; place-items:center; align-content:center; gap:12px; padding:30px; text-align:center; color:var(--ink-soft);}
.mg-blank-ic{display:grid; place-items:center; width:74px; height:74px; border-radius:50%; background:color-mix(in srgb, var(--ink) 6%, transparent);} .mg-blank-ic svg{width:34px; height:34px;}
.mg-top{display:flex; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--line);}
.mg-top h2{font-size:20px; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mg-top-b{min-width:0; flex:1;}
.mg-people{border:0; background:none; padding:0; font:inherit; font-size:12.5px; font-weight:700; color:var(--ink-soft); cursor:pointer; text-decoration:underline dotted; text-underline-offset:3px;}
.mg-back{display:none; flex:none; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:var(--surface); color:var(--ink); cursor:pointer; place-items:center;} .mg-back svg{width:20px; height:20px;}
.mg-pause{margin:10px 16px 0; padding:10px 14px; border-radius:14px; background:rgba(216,52,43,.1); color:#8A241D; font-size:13.5px;}
.mg-scroll{flex:1; min-height:0; overflow-y:auto; padding:16px 18px; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}
.mg-msgs{display:flex; flex-direction:column; gap:8px;}
.mg-day{align-self:center; margin:8px 0 2px; padding:3px 12px; border-radius:999px; background:color-mix(in srgb, var(--ink) 7%, transparent); font-size:11.5px; font-weight:700; color:var(--ink-soft);}
.mg-msg{display:flex; gap:8px; max-width:min(78%, 560px); animation:mgPop .35s cubic-bezier(.2,.9,.25,1) both;}
@keyframes mgPop{from{opacity:0; transform:translateY(10px) scale(.97);} to{opacity:1; transform:none;}}
.mg-msg.is-mine{align-self:flex-end; flex-direction:row-reverse;}
.mg-bub{position:relative; padding:9px 13px 6px; border-radius:18px 18px 18px 6px; background:color-mix(in srgb, var(--ink) 7%, var(--surface)); min-width:0;}
.mg-msg.is-mine .mg-bub{border-radius:18px 18px 6px 18px; background:linear-gradient(135deg,#2E6B3E,#2A5680); color:#fff;}
.mg-bub p{margin:0; font-size:15px; line-height:1.45; overflow-wrap:anywhere;} .mg-bub a{color:inherit; text-decoration:underline;}
.mg-who{display:block; font-size:12px; margin-bottom:2px; color:#2A5680;}
.mg-meta{display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:2px;} .mg-meta time{font-size:10.5px; opacity:.7;}
.mg-more{border:0; background:none; color:inherit; opacity:.55; cursor:pointer; padding:0 4px; font-size:16px; line-height:1; min-width:28px; min-height:24px;} .mg-more:hover{opacity:1;}
.mg-pic{display:block; margin:6px 0 4px; border-radius:12px; overflow:hidden; max-width:260px;} .mg-pic img{display:block; width:100%; height:auto;}
.mg-file{display:inline-flex; align-items:center; gap:6px; margin:6px 0 4px; padding:8px 12px; border-radius:12px; background:rgba(255,255,255,.2); border:1px solid color-mix(in srgb, currentColor 25%, transparent); font-size:13.5px; font-weight:700; text-decoration:none !important;} .mg-file svg{width:18px; height:18px;}
.mg-compose{position:relative; padding:10px 14px 14px; border-top:1px solid var(--line); background:var(--surface);}
.mg-compose-row{display:flex; align-items:flex-end; gap:6px;}
.mg-compose textarea{flex:1; min-width:0; resize:none; min-height:44px; max-height:140px; padding:11px 14px; border-radius:22px; border:1px solid var(--line-strong, var(--line)); background:var(--bg); color:var(--ink); font:inherit; font-size:16px; line-height:1.35;}
.mg-compose textarea:focus{outline:2px solid #2A5680; outline-offset:1px;}
.mg-ic{flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:0; background:none; color:var(--ink-soft); font-size:20px; cursor:pointer; transition:background .2s ease;} .mg-ic:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);} .mg-ic svg{width:22px; height:22px;}
.mg-send{flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:0; background:var(--grad); color:#fff; cursor:pointer; transition:transform .25s cubic-bezier(.3,1.5,.5,1), opacity .2s;} .mg-send svg{width:20px; height:20px;} .mg-send:active{transform:scale(.9);} .mg-send:disabled{opacity:.45;}
.mg-compose.is-off{opacity:.6;}
.mg-chips{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px;} .mg-chips:empty{display:none;}
.mg-chip{display:inline-flex; align-items:center; gap:6px; padding:5px 6px 5px 11px; border-radius:999px; background:color-mix(in srgb, var(--ink) 8%, transparent); font-size:13px; font-weight:700;}
.mg-chip button{border:0; background:color-mix(in srgb, var(--ink) 14%, transparent); color:inherit; width:22px; height:22px; border-radius:50%; cursor:pointer; line-height:1; font-size:14px;}
.mg-chip.is-new{background:rgba(46,139,74,.16);} .mg-chip.is-list{background:rgba(42,86,128,.16);} .mg-chip.is-up{padding-right:11px; opacity:.7;}
.mg-chip .mg-chip-open{width:auto; height:auto; background:none; padding:0; font:inherit; font-weight:700; text-decoration:underline dotted; border-radius:0;}
.mg-emoji{position:absolute; left:14px; bottom:calc(100% + 6px); display:grid; grid-template-columns:repeat(8, 1fr); gap:2px; padding:8px; border-radius:16px; background:var(--surface); border:1px solid var(--line); box-shadow:0 18px 40px -18px rgba(0,0,0,.5);}
.mg-emoji[hidden]{display:none;} .mg-emoji button{border:0; background:none; font-size:22px; width:38px; height:38px; border-radius:10px; cursor:pointer;} .mg-emoji button:hover{background:color-mix(in srgb, var(--ink) 8%, transparent);}
.mg-dlg{width:min(94vw, 480px); border:0; border-radius:24px; padding:26px; background:var(--surface); color:var(--ink); box-shadow:0 40px 90px -30px rgba(0,0,0,.6);}
.mg-dlg::backdrop{background:rgba(10,16,12,.55); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);}
.mg-dlg[open]{animation:mgPop .35s cubic-bezier(.2,.9,.25,1) both;}
.mg-dlg h2{margin:0 0 10px; font-size:26px;} .mg-dlg p{margin:0 0 10px; font-size:14.5px; color:var(--ink-soft);}
.mg-notice{padding:12px 14px; border-radius:14px; background:rgba(42,86,128,.1); color:var(--ink) !important; font-weight:700;}
.mg-dlg-row{display:flex; justify-content:flex-end; gap:10px; margin-top:16px;}
.mg-f{display:block; margin-bottom:10px;} .mg-f span{display:block; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:5px;}
.mg-f input{width:100%; min-height:46px; padding:0 14px; border-radius:14px; border:1px solid var(--line-strong, var(--line)); background:var(--bg); color:var(--ink); font:inherit; font-size:16px;}
.mg-sug{display:grid; gap:2px; max-height:190px; overflow-y:auto; margin:-4px 0 8px;} .mg-sug:empty{display:none;}
.mg-sug-row{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; border:0; border-radius:12px; background:none; font:inherit; color:inherit; text-align:left; cursor:pointer;} .mg-sug-row:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);}
.mg-sug-row small{color:var(--ink-faint); font-size:12px;} .mg-sug-row.is-list b{color:#2A5680;}
.mg-count{font-size:12.5px !important; font-weight:700;} .mg-sel{display:flex; flex-wrap:wrap; gap:6px; max-height:160px; overflow-y:auto;}
.mg-plist{list-style:none; margin:0 0 10px; padding:0; display:grid; gap:8px;} .mg-plist li{display:flex; align-items:center; gap:10px;} .mg-plist .mg-av.sm{align-self:center;}
.mg-toast{position:fixed; left:50%; bottom:calc(110px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); z-index:99999; max-width:min(92vw, 420px); padding:12px 18px; border-radius:14px; background:#16241B; color:#fff; font-size:14px; font-weight:700; box-shadow:0 18px 40px -16px rgba(0,0,0,.7); animation:mgPop .35s both; transition:opacity .4s;} .mg-toast.is-bad{background:#8A241D;} .mg-toast.is-out{opacity:0;}
.mg-foot{margin:14px 4px 0; font-size:12.5px; color:var(--ink-faint); text-align:center;}
/* unread dots on the header photo, and the Messages buttons */
[data-me-link].has-mg-dot{position:relative;}
.mg-dot{position:absolute; right:-4px; top:-4px; z-index:3; display:grid; place-items:center; min-width:19px; height:19px; padding:0 5px; border-radius:999px; background:#D8342B; color:#fff; font-style:normal; font:800 11px/1 Manrope,system-ui,sans-serif; box-shadow:0 0 0 2px var(--surface, #fff); pointer-events:none;}
.mg-dot[hidden]{display:none;}
.me-msgs{display:inline-flex; align-items:center; gap:8px;}
.pm-msg{display:inline-flex; align-items:center; gap:8px; margin:10px 0 4px; min-height:44px;}
.hd-msg{margin-left:8px; font-size:12.5px; font-weight:800; color:inherit; text-decoration:underline;}
@media (max-width:860px){
  .mg-wrap{padding:104px 0 16px;} .mg-wrap > .container{padding-left:10px; padding-right:10px;}
  .mg-shell{grid-template-columns:1fr; height:calc(100dvh - 150px); border-radius:20px;}
  html.rh-app .mg-shell{height:calc(100dvh - 232px - env(safe-area-inset-bottom,0px));}
  .mg-main{display:none;} .is-thread .mg-main{display:flex;} .is-thread .mg-side{display:none;}
  .mg-back{display:grid;} .mg-msg{max-width:88%;} .mg-emoji{grid-template-columns:repeat(6, 1fr);}
  .mg-foot{display:none;}
}
@media (prefers-reduced-motion: reduce){ .mg-row, .mg-msg, .mg-dlg[open], .mg-toast{animation:none;} }

.mg-shell .mg-main, .mg-shell .mg-side{padding:0; margin:0;}

/* ===== The bottom bar: your own shortcuts, badges, and Me flipping between your photo and the RH mark ===== */
.ap-badge{position:absolute; left:calc(50% + 6px); top:6px; z-index:4; display:grid; place-items:center; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#D8342B; color:#fff; font:800 10.5px/1 Manrope,system-ui,sans-serif; font-style:normal; box-shadow:0 0 0 2px rgba(251,247,239,.97); pointer-events:none;}
.ap-badge[hidden]{display:none;}
.ap-me .ap-badge{left:calc(50% + 14px); top:-22px;}
.ap-me-ring.has-face{perspective:300px; overflow:visible;}
.ap-me-ring.has-face > img{display:none !important;}
.ap-flip{position:absolute; inset:3px; transform-style:preserve-3d;}
.ap-flip.is-turning{transition:transform .55s cubic-bezier(.3,1.2,.4,1);}
.ap-flip.is-mark{transform:rotateY(180deg);}
.ap-face{position:absolute; inset:0; display:grid; place-items:center; border-radius:50%; overflow:hidden; -webkit-backface-visibility:hidden; backface-visibility:hidden;}
.ap-face-pic{background:linear-gradient(135deg,#2E6B3E,#2A5680); color:#fff;} .ap-face-pic img{width:100%; height:100%; object-fit:cover;} .ap-face-pic b{font:400 18px/1 "Anton",sans-serif; letter-spacing:.02em;}
.ap-face-mark{transform:rotateY(180deg); background:linear-gradient(160deg,#fff,#F1EADB);} .ap-face-mark img{width:70%; height:auto;}
.ap-tab.ap-empty{border:0; background:none; font:inherit; cursor:pointer; opacity:0; pointer-events:none;}
.ap-bar.is-edit .ap-tab.ap-empty{opacity:.75; pointer-events:auto;}
.ap-bar.is-edit .ap-tab.ap-empty svg{padding:3px; border:1.5px dashed currentColor; border-radius:50%;}
.ap-x{position:absolute; left:calc(50% - 26px); top:2px; z-index:5; display:none; place-items:center; width:20px; height:20px; border-radius:50%; background:#3A3F3B; color:#fff; font:800 13px/1 system-ui,sans-serif; box-shadow:0 0 0 2px rgba(251,247,239,.97); cursor:pointer;}
.ap-bar.is-edit .ap-x{display:grid;}
.ap-bar.is-edit .ap-tab:not(.ap-me):not(.ap-empty){animation:apWig .32s ease-in-out infinite alternate; touch-action:none;}
.ap-bar.is-edit .ap-tab:nth-child(odd):not(.ap-me):not(.ap-empty){animation-delay:-.16s;}
@keyframes apWig{from{transform:rotate(-2.4deg);} to{transform:rotate(2.4deg);}}
.ap-bar.is-edit .ap-tab.is-drag{animation:none; z-index:6; transition:none;}
.ap-bar.is-edit .ap-tab::after{display:none;}
.ap-bar .ap-tab{-webkit-touch-callout:none; -webkit-user-select:none; user-select:none;}
.ap-editbar{position:fixed; left:50%; bottom:calc(92px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); z-index:79; display:flex; align-items:center; gap:8px; width:min(calc(100% - 24px), 500px); padding:8px 8px 8px 14px; border-radius:18px; background:#16241B; color:#fff; font-size:12.5px; box-shadow:0 18px 40px -16px rgba(0,0,0,.7); animation:mgPop .3s both;}
.ap-editbar span{flex:1; min-width:0;}
.ap-editbar button{flex:none; min-height:40px; padding:0 14px; border-radius:12px; border:1px solid rgba(255,255,255,.3); background:none; color:#fff; font:inherit; font-weight:800; cursor:pointer;} .ap-editbar .is-go{background:#fff; color:#16241B; border-color:#fff;}
.ap-sheet{position:fixed; left:50%; bottom:calc(150px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); z-index:80; width:min(calc(100% - 24px), 500px); padding:16px; border-radius:22px; background:var(--surface,#FBF7EF); color:var(--ink,#1B2A1E); box-shadow:0 26px 60px -20px rgba(0,0,0,.65); animation:mgPop .3s both;}
.ap-sheet > b{display:block; margin-bottom:10px; font-size:15px;}
.ap-sheet-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
.ap-sheet-grid button{display:grid; justify-items:center; gap:5px; padding:12px 6px; border-radius:14px; border:1px solid var(--line,#ddd); background:none; color:inherit; font:inherit; font-size:12.5px; font-weight:800; cursor:pointer;} .ap-sheet-grid svg{width:24px; height:24px;}
.ap-sheet-grid button:active{transform:scale(.95);}
.ap-sheet-x{display:block; width:100%; margin-top:10px; min-height:42px; border-radius:12px; border:0; background:color-mix(in srgb, currentColor 8%, transparent); color:inherit; font:inherit; font-weight:800; cursor:pointer;}
.ap-editbtn{display:none; cursor:pointer; font:inherit;} html.rh-app .ap-editbtn{display:inline-flex;}
body.theme-midweek .ap-badge, body.theme-midweek .ap-x{box-shadow:0 0 0 2px rgba(13,13,21,.93);}
@media (prefers-reduced-motion: reduce){ .ap-bar.is-edit .ap-tab{animation:none !important;} .ap-flip.is-turning{transition:none;} }

/* ===== Phones: a day opens as a panel that grows out of its tile ===== */
.dpx{position:fixed; inset:0; z-index:9990; display:grid; align-items:end;}
.dpx.is-under{z-index:60;}
.dpx-back{position:absolute; inset:0; background:rgba(10,16,12,.5); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); animation:dpxFade .25s both;}
.dpx.is-closing .dpx-back{animation:dpxFade .25s reverse both;}
@keyframes dpxFade{from{opacity:0;} to{opacity:1;}}
.dpx-panel{position:relative; display:flex; flex-direction:column; width:calc(100% - 16px); max-height:min(86dvh, 760px); margin:0 8px calc(8px + env(safe-area-inset-bottom,0px)); border-radius:26px; background:var(--surface,#FBF7EF); color:var(--ink,#1B2A1E); box-shadow:0 30px 70px -20px rgba(0,0,0,.7); overflow:hidden; transform-origin:0 0;}
.dpx-top{display:flex; align-items:center; gap:12px; padding:14px 14px 12px; background:linear-gradient(135deg,#2E6B3E,#2A5680); color:#fff;}
.dpx-top .dp-date{flex:none; display:grid; place-items:center; width:54px; padding:6px 0; border-radius:12px; background:#fff; color:#1B2A1E; line-height:1;} .dpx-top .dp-date span{font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#B2552E;} .dpx-top .dp-date b{font:400 26px/1 "Anton",sans-serif;}
.dpx-titles{flex:1; min-width:0;} .dpx-titles h3{margin:0; font-size:26px; color:#fff;} .dpx-titles p{margin:2px 0 0; font-size:12.5px; opacity:.85;}
.dpx-x{flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.18); color:#fff; cursor:pointer;} .dpx-x svg{width:20px; height:20px;}
.dpx-body{flex:1; min-height:0; overflow-y:auto; padding:12px; display:grid; gap:10px; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}
.dpx-none{margin:0; padding:34px 10px; text-align:center; color:var(--ink-soft,#5A6A5C); font-weight:700;}
.dpx-ev{display:block; width:100%; padding:0; border:1px solid var(--line,#e2dccc); border-left:5px solid var(--kc); border-radius:18px; overflow:hidden; background:var(--bg,#F3EDE0); color:inherit; font:inherit; text-align:left; cursor:pointer; animation:mgIn .4s cubic-bezier(.2,.9,.25,1) both; animation-delay:calc(var(--i) * 50ms + 120ms);}
.dpx-art{position:relative; display:block; aspect-ratio:16 / 9; background:#10201A center / cover no-repeat; overflow:hidden;} .dpx-art > img:not(.dpx-logo){display:block; width:100%; height:100%; object-fit:cover;}
.dpx-logo{position:absolute; inset:0; margin:auto; width:56%; height:60%; object-fit:contain; filter:drop-shadow(0 6px 12px rgba(0,0,0,.45));}
.dpx-ride{position:absolute; left:16%; top:6%; width:68%;}
.dpx-ev-b{display:grid; gap:4px; padding:12px 14px 14px;} .dpx-ev-b b{font-size:17px; line-height:1.2;}
.dpx-wk{font-style:normal; font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--kc);}
.dpx-when, .dpx-line{display:flex; align-items:center; gap:6px; font-size:13.5px; color:var(--ink-soft,#5A6A5C);} .dpx-when{font-weight:800; color:inherit;} .dpx-when svg, .dpx-line svg{flex:none; width:15px; height:15px;}
.dpx-desc{display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; margin-top:2px; font-size:13.5px; line-height:1.45; color:var(--ink-soft,#5A6A5C);}
.dpx-more{display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--kc);} .dpx-more svg{width:14px; height:14px;}
.dpx-cancel{justify-self:start; font-style:normal; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border-radius:999px; background:#FFD23F; color:#3A2C00;}
.dpx-ev.is-off b, .dpx-ev.is-rain b{text-decoration:line-through; text-decoration-thickness:2px;}
@media (min-width:761px){ .dpx{display:none;} }
@media (prefers-reduced-motion: reduce){ .dpx-back, .dpx-ev{animation:none;} }

.dpx-art:not(.is-mq){aspect-ratio:auto; height:118px;}
.dpx-art:not(.is-mq) .dpx-ride{left:31%; top:5%; width:38%;}
.dpx-art:not(.is-mq) .dpx-logo{width:44%; height:78%;}

/* small fixes + notifications card + Sandbox share */
button.ap-editbtn{background:transparent; color:inherit; -webkit-appearance:none; appearance:none;}
.pn-card{position:relative; display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 16px; padding:14px 44px 14px 14px; border-radius:20px; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow);}
.pn-card[hidden]{display:none;}
.pn-ic{flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,#2E6B3E,#2A5680); color:#fff;} .pn-ic svg{width:24px; height:24px;}
.pn-txt{flex:1; min-width:200px;} .pn-txt b{display:block;} .pn-txt p{margin:2px 0 0; font-size:13px; color:var(--ink-soft);}
.pn-x{position:absolute; right:8px; top:8px; width:32px; height:32px; border-radius:50%; border:0; background:none; color:var(--ink-faint); font-size:20px; cursor:pointer;}
.pn-card.is-on .pn-ic{background:#2E8B4A;}
.mg-wrap .pn-card{margin-bottom:12px;}
.me-ed-bar .me-ed-share{border:1px solid rgba(255,255,255,.35);}
.me-ed-sharedlg{width:min(94vw, 460px); border:0; border-radius:20px; padding:22px; background:#FBF7EF; color:#1C2A1E; font-family:Manrope,system-ui,sans-serif; box-shadow:0 40px 90px -30px rgba(0,0,0,.7);}
.me-ed-sharedlg::backdrop{background:rgba(10,16,12,.55);}
.me-ed-sharedlg h3{margin:0 0 4px; font-size:22px;} .me-ed-sp{margin:0 0 12px; font-size:13px; color:#5A6A5C;}
.me-ed-shot{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px; margin-bottom:12px; border-radius:14px; border:1.5px dashed rgba(28,42,30,.3);}
.me-ed-shot img{width:100%; border-radius:10px; display:block;}
.me-ed-sharedlg button{min-height:42px; padding:0 14px; border-radius:12px; border:1px solid rgba(28,42,30,.25); background:#fff; color:#1C2A1E; font:inherit; font-weight:800; cursor:pointer;}
.me-ed-sharedlg button.is-go{background:#2E6B3E; border-color:#2E6B3E; color:#fff;}
.me-ed-pick{font-size:13px; font-weight:700; text-decoration:underline; cursor:pointer;}
.me-ed-sl{display:block; margin-bottom:10px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#5A6A5C;}
.me-ed-sl select, .me-ed-sl textarea{display:block; width:100%; margin-top:5px; padding:10px 12px; border-radius:12px; border:1.5px solid rgba(28,42,30,.25); background:#fff; color:#1C2A1E; font:inherit; font-size:16px; text-transform:none; letter-spacing:0; font-weight:500;}
.me-ed-srow{display:flex; justify-content:flex-end; gap:8px;}

.mg-sys{font-weight:600;}

/* The pencil circle can be dragged (phones). */
@media (max-width:700px){ .me-ed-bar:not(.is-open){touch-action:none; cursor:grab;} .me-ed-bar.is-moving{transition:none !important; box-shadow:0 18px 40px -10px rgba(0,0,0,.7); transform:scale(1.08);} }
/* The shortcut sheet, its edit bar and the Messages toast are centered with margins, so their pop-in animation can't push them off the screen. */
.ap-sheet, .ap-editbar{left:12px; right:12px; width:auto; max-width:500px; margin-left:auto; margin-right:auto; transform:none;}
.ap-sheet{max-height:calc(100dvh - 190px - env(safe-area-inset-bottom,0px)); overflow-y:auto;}
.ap-sheet-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
.ap-sheet-grid button{min-width:0;} .ap-sheet-grid button span{overflow:hidden; text-overflow:ellipsis; max-width:100%;}
.mg-toast{left:12px; right:12px; width:fit-content; max-width:min(calc(100% - 24px), 420px); margin-left:auto; margin-right:auto; transform:none;}

/* ===== Messages, redone: no site footer, a cleaner look, and full screen on phones (like a phone's own Messages) ===== */
html.mg-full footer.ft{display:none;}
.mg-foot{display:none;}
.mg-emoji{display:none !important;}
.mg-shell{box-shadow:0 30px 70px -40px rgba(19,42,22,.55);}
/* the list */
.mg-side-top h1{font-size:34px; letter-spacing:.01em;}
.mg-row{position:relative; padding:12px 12px 12px 22px; border-radius:18px;}
.mg-row + .mg-row::before{content:""; position:absolute; left:82px; right:10px; top:0; height:1px; background:var(--line);}
.mg-row:hover + .mg-row::before, .mg-row.is-on + .mg-row::before, .mg-row:hover::before, .mg-row.is-on::before{opacity:0;}
.mg-row.is-unread::after{content:""; position:absolute; left:7px; top:50%; width:9px; height:9px; margin-top:-4.5px; border-radius:50%; background:#2A7BE4;}
.mg-av{width:50px; height:50px; box-shadow:inset 0 1px 0 rgba(255,255,255,.25);}
.mg-row-b b{font-size:16px;} .mg-row-b small{font-size:13.5px; margin-top:2px;}
.mg-badge{background:#2A7BE4;}
/* the top of a conversation */
.mg-top{position:relative; z-index:2; justify-content:space-between; padding:10px 12px; background:color-mix(in srgb, var(--surface) 86%, transparent); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);}
button.mg-top-b{flex:0 1 auto; display:flex; flex-direction:column; align-items:center; gap:3px; min-width:0; padding:2px 10px; border:0; background:none; font:inherit; color:inherit; cursor:pointer;}
.mg-top-b .mg-av.sm{width:38px; height:38px; font-size:14px; align-self:center;}
.mg-top-t{display:block; min-width:0; text-align:center; line-height:1.15;} .mg-top-t b{display:block; max-width:56vw; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13.5px;} .mg-top-t small{font-size:11px; color:var(--ink-soft);}
.mg-top-sp{flex:none; width:40px;}
.mg-back{display:grid; border:0; background:none; color:#2A7BE4; width:40px; height:40px;} .mg-back svg{width:26px; height:26px;}
@media (min-width:861px){ .mg-back, .mg-top-sp{display:none;} .mg-top{justify-content:center;} }
/* bubbles */
.mg-scroll{padding:12px 12px 6px; background:var(--surface);}
.mg-msgs{gap:2px;}
.mg-msg{display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:6px; max-width:min(80%, 560px); margin-top:8px; animation:mgPop .28s cubic-bezier(.2,.9,.25,1) both;}
.mg-msg.is-mine{grid-template-columns:minmax(0,1fr); justify-items:end; flex-direction:initial;}
.mg-msg.is-cont{margin-top:1px;}
.mg-msg .mg-av.sm{grid-row:1; width:28px; height:28px; font-size:11px; align-self:end;}
.mg-msg.has-next .mg-av.sm{visibility:hidden;}
.mg-msg.is-cont .mg-who{display:none;}
.mg-bub{justify-self:start; padding:8px 13px; border-radius:20px; background:#E9E9EB; color:#111; cursor:pointer; -webkit-tap-highlight-color:transparent; outline:0;}
.mg-msg:not(.is-mine):not(.has-next) .mg-bub{border-bottom-left-radius:6px;}
.mg-msg.is-mine .mg-bub{justify-self:end; border-radius:20px; background:linear-gradient(180deg,#3C8DF2,#1F6FE0); color:#fff;}
.mg-msg.is-mine:not(.has-next) .mg-bub{border-bottom-right-radius:6px;}
.mg-bub p{font-size:16px; line-height:1.35;}
.mg-who{font-size:11.5px; font-weight:700; color:#6B7280; margin:0 0 1px;}
.mg-meta{grid-column:1 / -1; display:none; justify-content:flex-start; gap:10px; padding:3px 4px 2px 38px; margin:0;}
.mg-msg.is-mine .mg-meta{justify-content:flex-end; padding-left:4px;}
.mg-msg.is-open .mg-meta{display:flex; animation:mgIn .2s both;}
.mg-meta time{font-size:11px; opacity:1; color:var(--ink-faint);}
.mg-more{min-width:0; min-height:0; padding:0; font-size:11px; font-weight:800; opacity:1; color:#C0392B; text-decoration:underline;}
.mg-pic{margin:2px 0; max-width:240px; border-radius:14px;} .mg-day{background:none; font-size:11px; color:var(--ink-faint); margin:12px 0 2px;}
.mg-sys{font-weight:600;}
/* the composer */
.mg-compose{padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px)); border-top:0; background:var(--surface);}
.mg-compose-row{align-items:flex-end; gap:8px;}
.mg-plus{width:36px; height:36px; margin-bottom:3px; border-radius:50%; background:color-mix(in srgb, var(--ink) 9%, transparent); color:var(--ink-soft);} .mg-plus svg{width:20px; height:20px;}
.mg-field{flex:1; min-width:0; display:flex; align-items:flex-end; gap:4px; padding:3px 4px 3px 14px; border-radius:22px; border:1px solid color-mix(in srgb, var(--ink) 22%, transparent); background:var(--surface);}
.mg-field:focus-within{border-color:#2A7BE4;}
.mg-compose .mg-field textarea{flex:1; min-height:34px; max-height:132px; padding:7px 0; border:0; border-radius:0; background:none; outline:0 !important; font-size:16px; line-height:1.3;}
.mg-send{width:32px; height:32px; margin-bottom:1px; background:#2A7BE4; transform:scale(0); opacity:0; transition:transform .22s cubic-bezier(.3,1.5,.5,1), opacity .15s;} .mg-send svg{width:18px; height:18px;}
.mg-compose.has-text .mg-send{transform:scale(1); opacity:1;} .mg-compose.has-text .mg-send:active{transform:scale(.88);}

/* ===== Messages, full screen (html.mg-fs: phones, and the home-screen app at any size) ===== */
/* The page behind it is locked in place: only the list or the conversation scrolls. (Inbox page only.) */
html.mg-fs, html.mg-fs body{height:100%; overflow:hidden; overscroll-behavior:none;}
html.mg-fs body{position:fixed; left:0; right:0; top:0; bottom:0; width:100%;}
html.mg-fs header.nav, html.mg-fs #wpadminbar, html.mg-fs .ap-switch, html.mg-fs .me-ed-bar, html.mg-fs #main{display:none !important;}
html.mg-fs .mg-wrap{position:fixed; left:0; right:0; top:0; height:var(--mg-h, 100dvh); transform:translate3d(0, var(--mg-top, 0px), 0); z-index:70; display:flex; flex-direction:column; padding:0; margin:0; background:var(--surface); animation:none;}
html.mg-fs .mg-wrap > .container{flex:1; min-height:0; display:flex; flex-direction:column; width:100%; max-width:none; padding:0; margin:0;}
html.mg-fs .mg-wrap .pn-card{flex:none; margin:calc(8px + env(safe-area-inset-top,0px)) 10px 0; border-radius:16px;}
html.mg-fs #rhInbox{flex:1; min-height:0; min-width:0; display:flex; flex-direction:column;}
html.mg-fs .mg-shell{flex:1; min-height:0; height:auto; width:100%; max-width:100vw; border:0; border-radius:0; box-shadow:none; background:var(--surface); overflow:hidden;}
html.mg-fs .mg-side, html.mg-fs .mg-main{min-height:0; min-width:0;}
html.mg-fs .mg-side{background:var(--surface);}
html.mg-fs .mg-side-top{padding:calc(14px + env(safe-area-inset-top,0px)) 16px 6px;}
html.mg-fs .mg-list{padding:0 6px calc(96px + env(safe-area-inset-bottom,0px));}
html.mg-fs .mg-top{padding-top:calc(6px + env(safe-area-inset-top,0px)); border-bottom:1px solid var(--line);}
html.mg-fs.mg-kb .mg-compose{padding-bottom:8px;}
html.mg-fs.mg-kb .ap-bar{display:none !important;}
@media (max-width:860px){
  html.mg-fs .mg-shell{display:flex; flex-direction:column;}
  html.mg-fs .mg-side, html.mg-fs .mg-main{flex:1; width:100%; border:0;}
  html.mg-fs .mg-main{display:none;} html.mg-fs .is-thread .mg-main{display:flex;} html.mg-fs .is-thread .mg-side{display:none;}
  html.mg-fs.mg-thread .ap-bar, html.mg-fs.mg-thread .pn-card{display:none !important;}
  html.mg-fs .mg-new span{display:none;} html.mg-fs .mg-new{flex:none; width:40px; padding:0; justify-content:center;}
  .mg-msg{max-width:82%;}
}
@media (min-width:861px){
  html.mg-fs .mg-shell{grid-template-columns:minmax(260px,340px) minmax(0,1fr);}
  html.mg-fs .mg-wrap{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px));}
  html.mg-fs.mg-kb .mg-wrap{padding-bottom:0;}
}
/* looks like a texting app: messages sit at the bottom by the keyboard, the list has a search box and times */
.mg-scroll{display:flex; flex-direction:column; overflow-x:hidden; background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 55%, var(--surface)), var(--surface) 55%);}
.mg-msgs{margin-top:auto; padding-bottom:4px;}
.mg-hello{margin:auto 0; padding:40px 20px; font-size:15px; line-height:1.5;} .mg-hello span{display:block; font-size:44px; margin-bottom:8px;}
.mg-search{display:flex; align-items:center; gap:8px; margin:0 14px 8px; padding:0 12px; min-height:38px; border-radius:12px; background:color-mix(in srgb, var(--ink) 8%, transparent); color:var(--ink-soft);}
.mg-search svg{flex:none; width:17px; height:17px;}
.mg-search input{flex:1; min-width:0; border:0; background:none; outline:0; font:inherit; font-size:16px; color:var(--ink); -webkit-appearance:none; appearance:none;}
.mg-row{animation:none;}
.mg-list.is-first .mg-row{animation:mgIn .45s cubic-bezier(.2,.9,.25,1) both; animation-delay:calc(var(--i) * 30ms);}
.mg-row-e{display:flex; align-self:flex-start; padding-top:3px;} .mg-row-e time{font-size:12px;}
.mg-row-b small{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; white-space:normal; line-height:1.3;}
.mg-row .mg-tag{vertical-align:1px;}

@media (max-height:480px){ button.mg-top-b{flex-direction:row; gap:8px;} .mg-top-b .mg-av.sm{width:28px; height:28px; font-size:11px;} .mg-top-t{text-align:left;} html.mg-fs .mg-top{padding-top:calc(4px + env(safe-area-inset-top,0px)); padding-bottom:4px;} }

/* ===== Messages: smoother, and "New message" instead of "New group" ===== */
.mg-av{background:linear-gradient(145deg, hsl(var(--h,150) 52% 50%), hsl(calc(var(--h,150) + 28) 58% 36%));}
.mg-av.is-group{background:linear-gradient(145deg, hsl(var(--h,35) 40% 58%), hsl(calc(var(--h,35) + 200) 45% 38%));}
.mg-row{transition:background .2s ease, transform .2s ease;} .mg-row:active{transform:scale(.985); background:color-mix(in srgb, var(--ink) 9%, transparent);}
.mg-msgs.no-anim .mg-msg{animation:none;}
.mg-msg{animation:mgBubble .34s cubic-bezier(.2,.95,.3,1.05) both; transform-origin:0 100%;}
.mg-msg.is-mine{transform-origin:100% 100%;}
@keyframes mgBubble{from{opacity:0; transform:translateY(14px) scale(.9);} to{opacity:1; transform:none;}}
.mg-bub{transition:transform .15s ease, filter .15s ease;} .mg-bub:active{transform:scale(.97); filter:brightness(.96);}
.mg-msg.is-sending .mg-bub{opacity:.72;}
.mg-msgs > .mg-msg.is-mine:last-child::after{content:"Delivered"; grid-column:1 / -1; justify-self:end; padding:2px 6px 0; font-size:10.5px; font-weight:600; color:var(--ink-faint);}
.mg-msgs > .mg-msg.is-mine.is-sending:last-child::after{content:"Sending…";}
.mg-msgs > .mg-msg.is-mine.is-open:last-child::after{display:none;}
.mg-scroll{scroll-behavior:auto; -webkit-overflow-scrolling:touch;}
.mg-send{transition:transform .22s cubic-bezier(.3,1.6,.5,1), opacity .15s, background .2s;}
.mg-field{transition:border-color .2s ease, box-shadow .2s ease;} .mg-field:focus-within{box-shadow:0 0 0 3px rgba(42,123,228,.14);}
.mg-search{transition:background .2s ease, box-shadow .2s ease;} .mg-search:focus-within{background:color-mix(in srgb, var(--ink) 5%, transparent); box-shadow:0 0 0 2px rgba(42,123,228,.35);}
.mg-new{background:#2A7BE4;} html.mg-fs .mg-new{box-shadow:0 8px 18px -8px rgba(42,123,228,.8);}
@media (max-width:860px){
  html.mg-fs .is-thread .mg-main{animation:mgPush .34s cubic-bezier(.2,.85,.25,1) both;}
  html.mg-fs .is-back .mg-side{animation:mgUnpush .3s cubic-bezier(.2,.85,.25,1) both;}
}
@keyframes mgPush{from{transform:translateX(100%); box-shadow:-20px 0 40px -20px rgba(0,0,0,.3);} to{transform:none;}}
@keyframes mgUnpush{from{transform:translateX(-22%); opacity:.6;} to{transform:none; opacity:1;}}
/* New message */
.mg-compose-new{width:min(96vw, 520px); height:min(86dvh, 640px); padding:0; display:none; flex-direction:column; overflow:hidden;}
.mg-compose-new[open]{display:flex;}
.mg-cn-top{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; border-bottom:1px solid var(--line);}
.mg-cn-top b{font-size:16px;}
.mg-cn-x, .mg-cn-go{border:0; background:none; font:inherit; font-size:16px; color:#2A7BE4; cursor:pointer; min-height:40px; padding:0 4px;} .mg-cn-go{font-weight:800;} .mg-cn-go:disabled{color:var(--ink-faint);}
.mg-cn-to{display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:10px 14px; border-bottom:1px solid var(--line);}
.mg-cn-to > span:first-child{color:var(--ink-soft); font-size:15px;}
.mg-cn-chips{display:contents;}
.mg-cn-to input{flex:1; min-width:120px; min-height:34px; border:0; background:none; outline:0; font:inherit; font-size:16px; color:var(--ink); -webkit-appearance:none; appearance:none;}
.mg-cn-to .mg-chip{border:0; cursor:pointer; background:rgba(42,123,228,.14); color:#1B5FB8; padding:5px 10px; font:inherit; font-size:14px; font-weight:700;} .mg-cn-to .mg-chip i{font-style:normal; opacity:.6; margin-left:2px;}
.mg-cn-hint{margin:0 !important; padding:6px 14px 0; font-size:12.5px !important;} .mg-cn-hint:empty{display:none;}
.mg-cn-list{flex:1; min-height:0; overflow-y:auto; padding:6px 8px; -webkit-overflow-scrolling:touch;}
.mg-cn-row{display:flex; align-items:center; gap:12px; width:100%; padding:9px 8px; border:0; border-radius:14px; background:none; font:inherit; color:inherit; text-align:left; cursor:pointer;}
.mg-cn-row:hover, .mg-cn-row:active{background:color-mix(in srgb, var(--ink) 7%, transparent);}
.mg-cn-row b{flex:1; min-width:0; font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;} .mg-cn-row small{color:var(--ink-faint); font-size:12.5px;}
.mg-cn-row .mg-av.sm{width:38px; height:38px; font-size:13px; align-self:center;}
.mg-cn-name{margin:0; padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line);} .mg-cn-name[hidden]{display:none;}
@media (max-width:860px){ .mg-compose-new{width:100vw; max-width:100vw; height:var(--mg-h, 100dvh); max-height:none; margin:0; border-radius:0; top:var(--mg-top, 0px);} .mg-cn-top{padding-top:calc(10px + env(safe-area-inset-top,0px));} }
@media (prefers-reduced-motion: reduce){ .mg-msg, html.mg-fs .is-thread .mg-main, html.mg-fs .is-back .mg-side{animation:none !important;} }

.mg-av{background:linear-gradient(145deg, hsl(var(--h,150) 38% 44%), hsl(calc(var(--h,150) + 18) 46% 30%));}
.mg-av.is-group{background:linear-gradient(145deg, #B08A55, #2A5680);}
