/* Canada Day 2027 — realistic animated flag treatment.
   All visible treatment is isolated to body[data-theme="canadaday"]. */
.canadaday-decor,
.canadaday-note,
.canadaday-transition {display:none}

body[data-theme="canadaday"] {
  --gold:#df0a2b;
  --gold-2:#ff4a63;
  --line:rgba(255,255,255,.18);
  --line-strong:rgba(225,18,49,.58);
  background:#080607;
}

body[data-theme="canadaday"] header {
  border-bottom-color:rgba(232,24,54,.42);
  background:
    linear-gradient(90deg,rgba(22,5,8,.98),rgba(65,5,14,.97) 34%,rgba(17,7,9,.98));
  box-shadow:0 12px 38px rgba(0,0,0,.38);
}
body[data-theme="canadaday"] nav a {color:#fff}
body[data-theme="canadaday"] nav a:hover {color:#ffb8c2}
body[data-theme="canadaday"] .header-listen,
body[data-theme="canadaday"] .btn.primary {
  border-color:#ff6478;
  background:linear-gradient(#ee2945,#b8001a);
  color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.34),0 9px 24px rgba(80,0,10,.36),0 0 18px rgba(216,6,33,.16);
}

body[data-theme="canadaday"] .hero {
  position:relative;
  isolation:isolate;
  min-height:940px;
  overflow:hidden;
  border-bottom-color:rgba(216,6,33,.48);
  background:
    radial-gradient(circle at 50% 22%,rgba(190,0,24,.24),transparent 42rem),
    linear-gradient(180deg,#1a080c 0%,#0b0809 58%,#070607 100%);
}

body[data-theme="canadaday"] .hero::before,
body[data-theme="canadaday"] .hero::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
body[data-theme="canadaday"] .hero::before {
  z-index:2;
  background:
    linear-gradient(180deg,rgba(3,4,8,.18) 0%,rgba(3,4,8,.05) 29%,rgba(7,4,6,.22) 60%,rgba(7,5,6,.88) 100%),
    radial-gradient(ellipse at 50% 18%,rgba(255,255,255,.10),transparent 44%),
    linear-gradient(90deg,rgba(111,0,15,.26),transparent 18%,transparent 82%,rgba(111,0,15,.26));
}
body[data-theme="canadaday"] .hero::after {
  z-index:3;
  top:auto;
  height:36%;
  bottom:0;
  background:
    linear-gradient(180deg,transparent 0%,rgba(12,6,8,.22) 28%,rgba(8,6,7,.76) 82%,#080607 100%);
}

body[data-theme="canadaday"] .canadaday-decor {
  display:block;
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}

body[data-theme="canadaday"] .canadaday-desktop-video {
  display:none;
}

body[data-theme="canadaday"] .canadaday-flag-photo {
  --canada-flag-bright:.72;
  --canada-flag-sat:1.42;
  --canada-flag-contrast:1.16;
  position:absolute;
  z-index:0;
  inset:-6%;
  width:112%;
  height:112%;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(8,9,14,.08),rgba(18,4,8,.18)),
    url("https://images.unsplash.com/photo-1746468356902-ba2f8fc0a45c?auto=format&fit=crop&fm=jpg&q=88&w=2400") center 44% / cover no-repeat;
  filter:brightness(var(--canada-flag-bright)) saturate(var(--canada-flag-sat)) contrast(var(--canada-flag-contrast)) !important;
  transform:scale(1.035);
  transform-origin:center center;
}

body[data-theme="canadaday"] .canadaday-flag-strip {
  position:absolute;
  inset:-1.5%;
  background-image:inherit;
  background-size:inherit;
  background-position:inherit;
  background-repeat:inherit;
  transform-origin:50% 50%;
  animation:canadadayStripWave 3.6s cubic-bezier(.45,.05,.55,.95) infinite;
  animation-delay:calc(var(--i) * -0.09s);
  will-change:transform;
  backface-visibility:hidden;
}

body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(1) {clip-path:inset(-3% 96.0486% -3% 0.0000%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(2) {clip-path:inset(-3% 92.4771% -3% 3.1914%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(3) {clip-path:inset(-3% 88.9057% -3% 6.7629%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(4) {clip-path:inset(-3% 85.3343% -3% 10.3343%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(5) {clip-path:inset(-3% 81.7629% -3% 13.9057%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(6) {clip-path:inset(-3% 78.1914% -3% 17.4771%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(7) {clip-path:inset(-3% 74.6200% -3% 21.0486%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(8) {clip-path:inset(-3% 71.0486% -3% 24.6200%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(9) {clip-path:inset(-3% 67.4771% -3% 28.1914%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(10) {clip-path:inset(-3% 63.9057% -3% 31.7629%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(11) {clip-path:inset(-3% 60.3343% -3% 35.3343%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(12) {clip-path:inset(-3% 56.7629% -3% 38.9057%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(13) {clip-path:inset(-3% 53.1914% -3% 42.4771%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(14) {clip-path:inset(-3% 49.6200% -3% 46.0486%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(15) {clip-path:inset(-3% 46.0486% -3% 49.6200%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(16) {clip-path:inset(-3% 42.4771% -3% 53.1914%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(17) {clip-path:inset(-3% 38.9057% -3% 56.7629%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(18) {clip-path:inset(-3% 35.3343% -3% 60.3343%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(19) {clip-path:inset(-3% 31.7629% -3% 63.9057%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(20) {clip-path:inset(-3% 28.1914% -3% 67.4771%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(21) {clip-path:inset(-3% 24.6200% -3% 71.0486%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(22) {clip-path:inset(-3% 21.0486% -3% 74.6200%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(23) {clip-path:inset(-3% 17.4771% -3% 78.1914%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(24) {clip-path:inset(-3% 13.9057% -3% 81.7629%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(25) {clip-path:inset(-3% 10.3343% -3% 85.3343%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(26) {clip-path:inset(-3% 6.7629% -3% 88.9057%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(27) {clip-path:inset(-3% 3.1914% -3% 92.4771%);}
body[data-theme="canadaday"] .canadaday-flag-strip:nth-child(28) {clip-path:inset(-3% 0.0000% -3% 96.0486%);}

@keyframes canadadayStripWave {
  0%,100% {
    transform:translate3d(0,-.48%,0) scaleY(1.006) skewY(.05deg);
  }
  25% {
    transform:translate3d(0,.34%,0) scaleY(.998) skewY(-.04deg);
  }
  50% {
    transform:translate3d(0,.72%,0) scaleY(1.008) skewY(.06deg);
  }
  75% {
    transform:translate3d(0,-.30%,0) scaleY(1.001) skewY(-.04deg);
  }
}

body[data-theme="canadaday"] .canadaday-flag-photo::after {
  content:"";
  position:absolute;
  z-index:20;
  inset:-8%;
  background:
    linear-gradient(102deg,
      transparent 0 28%,
      rgba(255,255,255,.04) 34%,
      rgba(255,255,255,.16) 40%,
      rgba(255,255,255,.05) 47%,
      transparent 55% 100%);
  transform:translateX(-22%);
  mix-blend-mode:soft-light;
  animation:canadadayFabricSheen 4.6s ease-in-out infinite alternate;
  pointer-events:none;
}

@keyframes canadadayFabricSheen {
  from {transform:translateX(-22%) skewX(-4deg);opacity:.42}
  to {transform:translateX(22%) skewX(4deg);opacity:.80}
}

body[data-theme="canadaday"] .canadaday-scene-wash {
  position:absolute;
  z-index:1;
  inset:0;
  background:
    linear-gradient(180deg,rgba(5,8,17,.58),rgba(18,4,8,.18) 24%,rgba(12,4,7,.24) 56%,rgba(4,5,8,.78) 100%),
    radial-gradient(ellipse at 50% 28%,rgba(205,0,28,.08),transparent 42%),
    linear-gradient(90deg,rgba(108,0,15,.30),transparent 25%,transparent 75%,rgba(108,0,15,.30));
  mix-blend-mode:multiply;
}

body[data-theme="canadaday"] .canadaday-fireworks-canvas {
  position:absolute;
  z-index:3;
  inset:0;
  width:100%;
  height:67%;
  opacity:.96;
}

body[data-theme="canadaday"] .canadaday-horizon-glow {
  position:absolute;
  z-index:2;
  left:-5%;
  right:-5%;
  bottom:26%;
  height:18%;
  opacity:.48;
  background:
    radial-gradient(ellipse at 50% 100%,rgba(255,50,72,.30),transparent 60%),
    linear-gradient(180deg,transparent,rgba(217,12,40,.08) 68%,rgba(255,105,120,.12));
  filter:blur(12px);
}

body[data-theme="canadaday"] .canadaday-reflection {
  position:absolute;
  z-index:2;
  left:-4%;
  right:-4%;
  bottom:-2%;
  height:32%;
  opacity:.34;
  transform:perspective(520px) rotateX(59deg) scaleX(1.08);
  transform-origin:center top;
  background:
    repeating-linear-gradient(90deg,
      transparent 0 4%,
      rgba(237,25,54,.18) 4.5% 5.2%,
      rgba(255,255,255,.10) 5.6% 6.0%,
      transparent 6.5% 11%),
    linear-gradient(180deg,rgba(233,19,48,.20),rgba(20,4,7,.02));
  filter:blur(7px);
  animation:canadadayReflection 8s ease-in-out infinite alternate;
}

@keyframes canadadayReflection {
  from {background-position:0 0,0 0;opacity:.28}
  to {background-position:7% 0,0 0;opacity:.40}
}

body[data-theme="canadaday"] .hero > .container {
  position:relative;
  z-index:5;
  padding-top:58px;
  padding-bottom:48px;
}

body[data-theme="canadaday"] .radio-intro {
  position:relative;
  z-index:6;
  width:min(100%,820px);
  margin:0 auto 245px;
  padding:28px 34px 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(5,6,10,.54),rgba(20,4,8,.35));
  box-shadow:0 24px 60px rgba(0,0,0,.20);
  backdrop-filter:blur(3px);
  text-align:center;
}
body[data-theme="canadaday"] .radio-intro .eyebrow {
  justify-content:center;
  margin-bottom:12px;
  color:#fff0f2;
  font-size:.76rem;
  letter-spacing:.22em;
  text-shadow:0 2px 12px rgba(0,0,0,.90);
}
body[data-theme="canadaday"] .radio-intro h1 {
  max-width:none;
  color:#fff;
  font-size:clamp(3.15rem,5.2vw,5rem);
  line-height:.94;
  text-shadow:0 4px 22px rgba(0,0,0,.84),0 0 18px rgba(255,255,255,.08);
}
body[data-theme="canadaday"] .radio-intro h1 span {
  color:#ff304c;
  text-shadow:0 4px 22px rgba(0,0,0,.84),0 0 20px rgba(216,6,33,.20);
}

body[data-theme="canadaday"] .canadaday-note {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 18px;
  width:auto;
  max-width:100%;
  margin:22px auto 0;
  padding:10px 20px 11px;
  border:1px solid rgba(255,255,255,.66);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(148,0,22,.74),rgba(77,0,12,.70));
  box-shadow:0 10px 28px rgba(0,0,0,.28),0 0 24px rgba(216,6,33,.12);
  color:#fff;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase;
  backdrop-filter:blur(5px);
}
body[data-theme="canadaday"] .canadaday-note strong {
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.34);
  color:#fff;
  font-size:.77rem;
  letter-spacing:.16em;
}

body[data-theme="canadaday"] .tuner {
  position:relative;
  z-index:7;
  border-color:rgba(255,255,255,.72);
  background:
    linear-gradient(135deg,rgba(255,255,255,.16),transparent 8%,transparent 91%,rgba(255,255,255,.08)),
    #2a2224;
  box-shadow:
    inset 0 0 0 3px #090708,
    inset 0 0 0 5px #d9d2d1,
    0 30px 78px rgba(0,0,0,.62),
    0 0 0 3px rgba(216,6,33,.76),
    0 0 42px rgba(216,6,33,.30);
}
body[data-theme="canadaday"] .tuner-inner {
  border-color:#6b0a19;
  background:linear-gradient(#161013,#080607);
}
body[data-theme="canadaday"] .tuner-top {
  border-bottom-color:rgba(216,6,33,.42);
  color:#f4d8dd;
}
body[data-theme="canadaday"] .station-row.is-active {
  border-color:#ed1735;
  background:linear-gradient(120deg,rgba(216,6,33,.19),rgba(255,255,255,.02) 58%,transparent 78%),#141011;
  box-shadow:inset 4px 0 #ed1735,0 15px 38px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.07);
}
body[data-theme="canadaday"] .section-kicker,
body[data-theme="canadaday"] .selected-station h2,
body[data-theme="canadaday"] .live-track span,
body[data-theme="canadaday"] .program-station {color:#ff4058}

body[data-theme="canadaday"] .canadaday-transition {
  display:grid;
  min-height:164px;
  place-items:center;
  position:relative;
  overflow:hidden;
  border-block:1px solid rgba(216,6,33,.52);
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.05),transparent 38%),
    linear-gradient(105deg,rgba(101,0,15,.98),#b90420 25%,#f2ece9 25% 75%,#b90420 75%,rgba(101,0,15,.98));
  box-shadow:inset 0 16px 40px rgba(0,0,0,.14),inset 0 -16px 40px rgba(0,0,0,.16);
}
body[data-theme="canadaday"] .canadaday-transition::before {
  content:"";
  position:absolute;
  inset:-20%;
  opacity:.16;
  background:
    repeating-linear-gradient(106deg,rgba(255,255,255,.11) 0 2px,transparent 3px 15px),
    radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.60),transparent 35%);
  transform:rotate(-2deg);
}
body[data-theme="canadaday"] .canadaday-transition-maple {
  position:absolute;
  left:50%;
  top:50%;
  width:118px;
  transform:translate(-50%,-50%);
  fill:#c8001d;
  opacity:.12;
}
body[data-theme="canadaday"] .canadaday-transition-copy {
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  text-align:center;
  color:#160f11;
  text-transform:uppercase;
}
body[data-theme="canadaday"] .canadaday-transition-network {
  color:#9f0018;
  font-size:.69rem;
  font-weight:950;
  letter-spacing:.24em;
}
body[data-theme="canadaday"] .canadaday-transition-title {
  margin-top:4px;
  color:#bd001b;
  font-size:clamp(1.8rem,4vw,3.15rem);
  line-height:1;
  letter-spacing:.02em;
  text-shadow:0 2px rgba(255,255,255,.66);
}
body[data-theme="canadaday"] .canadaday-transition-date {
  margin-top:10px;
  color:#23181b;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.18em;
}

body[data-theme="canadaday"] .programs {
  position:relative;
  border-block-color:rgba(216,6,33,.30);
  background:
    radial-gradient(ellipse at 50% 0,rgba(216,6,33,.13),transparent 31rem),
    linear-gradient(90deg,rgba(216,6,33,.11),transparent 22%,transparent 78%,rgba(216,6,33,.11)),
    #0c090a;
}
body[data-theme="canadaday"] .programs::before,
body[data-theme="canadaday"] .programs::after {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(#68000f,#dc0829,#68000f);
  opacity:.48;
  pointer-events:none;
}
body[data-theme="canadaday"] .programs::before {left:0}
body[data-theme="canadaday"] .programs::after {right:0}
body[data-theme="canadaday"] footer {border-top-color:rgba(216,6,33,.34)}

/* Canada Day wide-screen realism pass: keep portrait composition untouched. */
@media (min-width:821px) {
  body[data-theme="canadaday"] .canadaday-flag-photo {
    background-image:
      linear-gradient(180deg,rgba(8,9,14,.02),rgba(18,4,8,.07)),
      url("https://images.pexels.com/photos/11184234/pexels-photo-11184234.jpeg?cs=srgb&fm=jpg");
    background-size:108% auto;
    background-position:center 44%;
    --canada-flag-bright:.90;
    --canada-flag-sat:1.24;
    --canada-flag-contrast:1.10;
  }

  body[data-theme="canadaday"] .canadaday-decor::before {
    content:none !important;
    display:none !important;
    background:none !important;
  }

  body[data-theme="canadaday"] .canadaday-scene-wash {
    z-index:2;
    background:
      linear-gradient(180deg,rgba(3,5,10,.38),rgba(18,4,8,.08) 27%,rgba(13,4,7,.15) 58%,rgba(4,5,8,.67) 100%),
      radial-gradient(ellipse at 50% 34%,rgba(216,6,33,.08),transparent 48%),
      linear-gradient(90deg,rgba(82,0,12,.18),transparent 22%,transparent 78%,rgba(82,0,12,.18));
    mix-blend-mode:multiply;
  }

  body[data-theme="canadaday"] .canadaday-fireworks-canvas {
    z-index:4;
    height:72%;
    opacity:1;
  }

  body[data-theme="canadaday"] .canadaday-horizon-glow {
    z-index:3;
    opacity:.64;
  }

  body[data-theme="canadaday"] .canadaday-reflection {
    z-index:3;
    opacity:.42;
  }
}


@media (max-width:430px) {
  body[data-theme="canadaday"] .canadaday-transition-copy {
    width:calc(100% - 28px);
    max-width:100%;
    padding-inline:8px;
    box-sizing:border-box;
  }
  body[data-theme="canadaday"] .canadaday-transition-title {
    font-size:clamp(1.38rem,7.1vw,1.88rem);
    line-height:1.02;
    letter-spacing:.005em;
    white-space:nowrap;
  }
  body[data-theme="canadaday"] .canadaday-transition-network {
    font-size:clamp(.52rem,2.35vw,.64rem);
    letter-spacing:.16em;
  }
  body[data-theme="canadaday"] .canadaday-transition-date {
    font-size:clamp(.52rem,2.35vw,.64rem);
    letter-spacing:.10em;
  }
}

@media (max-width:370px) {
  body[data-theme="canadaday"] .canadaday-transition-copy {
    width:calc(100% - 18px);
    padding-inline:4px;
  }
  body[data-theme="canadaday"] .canadaday-transition-title {
    font-size:clamp(1.22rem,6.9vw,1.48rem);
  }
  body[data-theme="canadaday"] .canadaday-transition-network,
  body[data-theme="canadaday"] .canadaday-transition-date {
    letter-spacing:.08em;
  }
}

@media (max-width:820px) and (orientation:landscape) {
  body[data-theme="canadaday"] .canadaday-decor::before {
    content:"";
    position:absolute;
    z-index:2;
    inset:0;
    background:
      url("https://images.unsplash.com/photo-1625872044888-06c359e06710?auto=format&fit=crop&fm=jpg&q=80&w=1800")
      center 34% / cover no-repeat;
    opacity:.38;
    mix-blend-mode:screen;
    filter:saturate(1.25) contrast(1.10);
    pointer-events:none;
  }
  body[data-theme="canadaday"] .canadaday-scene-wash {
    z-index:2;
    background:
      linear-gradient(180deg,rgba(3,5,10,.58),rgba(18,4,8,.14) 30%,rgba(12,4,7,.24) 60%,rgba(5,5,7,.82) 100%),
      linear-gradient(90deg,rgba(88,0,13,.24),transparent 20%,transparent 80%,rgba(88,0,13,.24));
  }
  body[data-theme="canadaday"] .canadaday-fireworks-canvas {z-index:4;opacity:1}
}

@media (min-width:1121px) {
  body[data-theme="canadaday"] .canadaday-desktop-video {
    display:block;
    position:absolute;
    z-index:0;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center bottom;
    filter:brightness(.80) saturate(1.26);
    transform:translateY(-7%);
    height:107%;
  }

  body[data-theme="canadaday"] .canadaday-fireworks-canvas {
    display:block;
  }

  body[data-theme="canadaday"] .canadaday-flag-photo {
    display:none;
  }
  body[data-theme="canadaday"] .hero {
    min-height:760px;
  }

  body[data-theme="canadaday"] .hero > .container {
    padding-top:34px;
    padding-bottom:26px;
  }

  body[data-theme="canadaday"] .canadaday-flag-photo {
    background-size:92% auto;
    background-position:center 48%;
    background-repeat:no-repeat;
    background-color:#160308;
  }

  body[data-theme="canadaday"] .radio-intro {
    width:min(100%,660px);
    margin:0 auto 96px;
    padding:20px 26px 22px;
    border-color:rgba(255,255,255,.095);
    background:linear-gradient(180deg,rgba(5,6,10,.46),rgba(20,4,8,.30));
    box-shadow:0 22px 52px rgba(0,0,0,.15);
    backdrop-filter:blur(2.5px);
  }

  body[data-theme="canadaday"] .radio-intro h1 {
    font-size:clamp(2.75rem,3.9vw,3.85rem);
    line-height:.95;
  }

  body[data-theme="canadaday"] .radio-intro .eyebrow {
    margin-bottom:10px;
  }

  body[data-theme="canadaday"] .canadaday-note {
    margin-top:18px;
  }
}

@media (min-width:821px) and (max-width:1120px) {
  body[data-theme="canadaday"] .hero {min-height:900px}
  body[data-theme="canadaday"] .canadaday-flag-photo {background-position:center 48%}
  body[data-theme="canadaday"] .radio-intro {width:min(100%,720px);margin-bottom:210px}
}

@media (max-width:820px) {
  body[data-theme="canadaday"] .hero {
    min-height:0;
    background:#0a0709;
  }
  body[data-theme="canadaday"] .hero > .container {
    width:min(calc(100% - 28px),var(--max));
    padding-top:26px;
    padding-bottom:30px;
  }
  body[data-theme="canadaday"] .canadaday-flag-photo {
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    background-position:56% 42%;
    --canada-flag-bright:.46;
    --canada-flag-sat:1.70;
    --canada-flag-contrast:1.18;
    transform:scale(1.02);
  }
  body[data-theme="canadaday"] .canadaday-scene-wash {
    background:
      linear-gradient(180deg,rgba(4,6,12,.52),rgba(10,4,6,.14) 24%,rgba(8,4,6,.26) 55%,rgba(5,5,7,.90) 100%),
      linear-gradient(90deg,rgba(105,0,15,.24),transparent 22%,transparent 78%,rgba(105,0,15,.24));
  }
  body[data-theme="canadaday"] .canadaday-fireworks-canvas {height:58%}
  body[data-theme="canadaday"] .canadaday-reflection {
    bottom:2%;
    height:25%;
    opacity:.25;
  }
  body[data-theme="canadaday"] .radio-intro {
    width:min(100%,430px);
    margin:0 auto 176px;
    padding:22px clamp(18px,6vw,30px) 24px;
    border-radius:16px;
    background:linear-gradient(180deg,rgba(5,6,10,.57),rgba(18,4,8,.37));
  }
  body[data-theme="canadaday"] .radio-intro .eyebrow {
    font-size:clamp(.60rem,2.3vw,.72rem);
    letter-spacing:.14em;
  }
  body[data-theme="canadaday"] .radio-intro h1 {
    font-size:clamp(2.45rem,10.2vw,3.35rem);
    line-height:.93;
  }
  body[data-theme="canadaday"] .canadaday-note {
    gap:7px 12px;
    margin-top:18px;
    padding:9px 14px 10px;
    font-size:clamp(.65rem,2.45vw,.77rem);
    letter-spacing:.09em;
  }
  body[data-theme="canadaday"] .canadaday-note strong {
    padding-left:12px;
    font-size:clamp(.61rem,2.25vw,.71rem);
  }
  body[data-theme="canadaday"] .tuner {
    min-width:0;
    max-width:100%;
    padding:8px;
    border-radius:17px;
  }
  body[data-theme="canadaday"] .canadaday-transition {
    min-height:132px;
  }
  body[data-theme="canadaday"] .canadaday-transition-maple {width:86px}
  body[data-theme="canadaday"] .canadaday-transition-copy {
    width:min(72vw,430px);
    padding-inline:8px;
  }
  body[data-theme="canadaday"] .canadaday-transition-title {
    width:100%;
    white-space:nowrap;
    font-size:clamp(1.55rem,7.4vw,2.55rem);
    letter-spacing:0;
  }
}

@media (max-width:430px) {
  body[data-theme="canadaday"] .hero > .container {width:calc(100% - 22px)}
  body[data-theme="canadaday"] .radio-intro {
    width:min(100%,390px);
    margin-bottom:162px;
    padding-inline:clamp(16px,6vw,26px);
  }
  body[data-theme="canadaday"] .canadaday-flag-photo {background-position:58% 42%}
}

@media (max-width:400px) {
  body[data-theme="canadaday"] .hero > .container {width:calc(100% - 18px)}
  body[data-theme="canadaday"] .radio-intro {
    width:min(100%,360px);
    margin-bottom:154px;
    padding-inline:18px;
  }
  body[data-theme="canadaday"] .radio-intro h1 {
    font-size:clamp(2.28rem,10.3vw,2.78rem);
  }
}

@media (max-width:370px) {
  body[data-theme="canadaday"] .hero > .container {width:calc(100% - 14px)}
  body[data-theme="canadaday"] .radio-intro {
    width:min(100%,330px);
    margin-bottom:148px;
    padding-inline:14px;
  }
  body[data-theme="canadaday"] .radio-intro h1 {
    font-size:clamp(2.08rem,10.3vw,2.48rem);
  }
  body[data-theme="canadaday"] .canadaday-flag-photo {background-position:60% 43%}
}

@media (max-width:340px) {
  body[data-theme="canadaday"] .radio-intro {margin-bottom:142px;padding-inline:12px}
  body[data-theme="canadaday"] .radio-intro h1 {font-size:2.04rem}
}

@media (max-width:820px) and (orientation:portrait) {
  body[data-theme="canadaday"] .canadaday-flag-strip {
    animation-duration:3.15s;
  }
  body[data-theme="canadaday"] .hero > .container {
    padding-top:22px;
    padding-bottom:26px;
  }

  body[data-theme="canadaday"] .canadaday-flag-photo {
    inset:0;
    width:100%;
    height:100%;
    background-size:auto 138%;
    background-position:50% 100%;
    --canada-flag-bright:.76;
    --canada-flag-sat:1.52;
    --canada-flag-contrast:1.15;
    animation:none !important;
  }

  body[data-theme="canadaday"] .canadaday-scene-wash {
    background:
      linear-gradient(180deg,rgba(5,7,12,.22),rgba(11,4,6,.05) 26%,rgba(10,4,6,.14) 58%,rgba(5,5,7,.74) 100%),
      radial-gradient(ellipse at 50% 26%,rgba(216,6,33,.08),transparent 48%),
      linear-gradient(90deg,rgba(94,0,13,.16),transparent 18%,transparent 82%,rgba(94,0,13,.16));
    mix-blend-mode:multiply;
  }

  body[data-theme="canadaday"] .canadaday-fireworks-canvas {
    height:72%;
    opacity:1;
  }

  body[data-theme="canadaday"] .radio-intro {
    margin-bottom:92px;
    padding-top:18px;
    padding-bottom:20px;
    border-color:rgba(255,255,255,.065);
    background:linear-gradient(180deg,rgba(7,7,11,.23),rgba(31,4,10,.13));
    box-shadow:0 16px 38px rgba(0,0,0,.10);
    backdrop-filter:blur(1px);
  }

  body[data-theme="canadaday"] .radio-intro h1 {
    text-shadow:0 4px 20px rgba(0,0,0,.86),0 0 16px rgba(255,255,255,.06);
  }

  body[data-theme="canadaday"] .canadaday-note {
    background:linear-gradient(180deg,rgba(150,0,23,.76),rgba(80,0,13,.72));
  }

  body[data-theme="canadaday"] .canadaday-reflection {
    bottom:0;
    height:20%;
    opacity:.22;
  }
}

@media (max-width:820px) and (orientation:landscape) {
  body[data-theme="canadaday"] .hero > .container {padding-top:20px}
  body[data-theme="canadaday"] .radio-intro {
    width:min(78vw,650px);
    margin-bottom:105px;
    padding:18px 24px 20px;
  }
  body[data-theme="canadaday"] .radio-intro h1 {
    font-size:clamp(2.15rem,6.3vw,3.15rem);
  }
  body[data-theme="canadaday"] .canadaday-flag-photo {background-position:center 44%}
  body[data-theme="canadaday"] .canadaday-fireworks-canvas {height:70%}
}


/* Canada Day mobile final override — keep desktop untouched. */
@media (max-width:820px) and (orientation:portrait) {
  body[data-theme="canadaday"] .canadaday-fireworks-canvas {
    z-index:5 !important;
    height:88% !important;
    opacity:1 !important;
    filter:contrast(1.48) brightness(1.42) saturate(1.06);
  }
  body[data-theme="canadaday"] .canadaday-transition {
    background:
      radial-gradient(circle at 50% 50%,rgba(255,255,255,.05),transparent 38%),
      linear-gradient(105deg,rgba(101,0,15,.98),#b90420 18%,#f2ece9 18% 82%,#b90420 82%,rgba(101,0,15,.98)) !important;
  }
  body[data-theme="canadaday"] .canadaday-transition-copy {
    width:100% !important;
    max-width:none !important;
    padding-inline:12px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
  body[data-theme="canadaday"] .canadaday-transition-title {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    white-space:nowrap !important;
    font-size:clamp(1.42rem,6.75vw,2.35rem) !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    transform:scaleX(1.08);
  }
}
@media (max-width:370px) and (orientation:portrait) {
  body[data-theme="canadaday"] .canadaday-transition-copy {padding-inline:8px !important}
  body[data-theme="canadaday"] .canadaday-transition-title {font-size:clamp(1.12rem,6.05vw,1.42rem) !important}
}

@media (prefers-reduced-motion:reduce) {
  body[data-theme="canadaday"] .canadaday-reflection,
  body[data-theme="canadaday"] .canadaday-flag-photo::after,
  body[data-theme="canadaday"] .canadaday-flag-strip {animation:none!important}
  body[data-theme="canadaday"] .canadaday-flag-photo {
    filter:brightness(var(--canada-flag-bright)) saturate(var(--canada-flag-sat)) contrast(var(--canada-flag-contrast)) !important;
  }
}
