:root{
  --ink:#06111d;
  --paper:#f6f8f4;
  --blue:#08a8ee;
  --blue-deep:#0076c9;
  --yellow:#ffd900;
  --red:#ff1838;
  --muted:#70808f;
  --line:rgba(6,17,29,.12);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.18;pointer-events:none}.ambient-one{width:420px;height:420px;background:#00aef3;top:-140px;right:-160px}.ambient-two{width:360px;height:360px;background:#ffe000;bottom:5%;left:-180px}
.site-header{width:min(1180px,calc(100% - 44px));height:92px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;width:190px}.brand img{display:block;width:100%;height:78px;object-fit:contain;object-position:left center}
nav{display:flex;gap:30px;font-size:14px;font-weight:700}nav a{opacity:.72;transition:.2s}nav a:hover{opacity:1;color:var(--blue-deep)}
.header-live{justify-self:end;display:inline-flex;gap:9px;align-items:center;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.header-live span,.live-badge span,.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px rgba(255,24,56,.11)}
main{width:min(1180px,calc(100% - 44px));margin:auto}
.hero{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:52px;padding:66px 0 82px}.hero-copy{max-width:650px}.eyebrow{display:inline-flex;align-items:center;gap:11px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;color:#52616d}.eyebrow i{width:7px;height:7px;background:var(--blue);box-shadow:none}
h1,h2{font-family:"Outfit",sans-serif;letter-spacing:-.055em;margin:18px 0 22px;line-height:.92}h1{font-size:clamp(58px,7vw,98px)}h2{font-size:clamp(48px,5.5vw,78px)}h1 em,h2 em{font-style:normal;color:var(--blue-deep)}.hero-copy>p{font-size:18px;line-height:1.7;color:#657583;max-width:590px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.primary-play,.send-button{border:0;border-radius:999px;background:var(--ink);color:white;font-weight:800;padding:16px 23px;display:inline-flex;align-items:center;gap:12px;box-shadow:0 12px 28px rgba(6,17,29,.14);transition:.2s transform,.2s background}.primary-play:hover,.send-button:hover{transform:translateY(-2px);background:#0d2740}.play-glyph{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink);font-size:12px;padding-left:2px}.text-link{font-weight:800;border-bottom:1px solid rgba(6,17,29,.25);padding:8px 0}.text-link span{color:var(--blue-deep)}
.hero-art{height:470px;position:relative;border-radius:42px;background:linear-gradient(145deg,#05111d 0%,#0a2034 62%,#07304b 100%);overflow:hidden;box-shadow:0 35px 80px rgba(0,118,201,.18);isolation:isolate}.hero-art:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 72% 28%,rgba(255,217,0,.28),transparent 18%),radial-gradient(circle at 25% 78%,rgba(8,168,238,.32),transparent 24%);z-index:-1}.radio-orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;transform:rotate(-16deg)}.orbit-one{width:520px;height:220px;left:-62px;top:92px}.orbit-two{width:620px;height:300px;left:-95px;top:54px;border-color:rgba(8,168,238,.22)}.hero-signal-card{position:absolute;inset:52px 48px 58px;display:flex;flex-direction:column;justify-content:center;color:white}.signal-head{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:900;letter-spacing:.18em;color:#a9b8c6}.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 7px rgba(255,24,56,.1);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 13px rgba(255,24,56,0)}}.frequency-readout{display:flex;align-items:flex-end;gap:12px;margin:16px 0 10px}.frequency-readout strong{font:800 clamp(82px,9vw,132px)/.82 "Outfit";letter-spacing:-.07em;color:white}.frequency-readout span{font:800 22px/1 "Outfit";color:var(--yellow);padding-bottom:8px}.hero-eq{height:84px;display:flex;align-items:center;gap:7px;margin:10px 0 20px}.hero-eq i{width:6px;height:24%;border-radius:6px;background:linear-gradient(var(--yellow),var(--blue));animation:heroBars 1.1s ease-in-out infinite alternate;transform-origin:center}.hero-eq i:nth-child(2n){animation-delay:-.35s}.hero-eq i:nth-child(3n){animation-delay:-.7s}.hero-eq i:nth-child(4n){animation-delay:-.15s}.hero-eq i:nth-child(5n){animation-delay:-.55s}@keyframes heroBars{to{height:96%}}.signal-copy{display:flex;justify-content:space-between;align-items:end;gap:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.signal-copy span{font:700 14px/1 "Outfit";letter-spacing:.15em}.signal-copy small{font-size:10px;letter-spacing:.09em;color:#8296a8;text-align:right}.island-chip{position:absolute;right:20px;top:20px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#dce9f2;font-size:9px;font-weight:900;letter-spacing:.13em;backdrop-filter:blur(8px)}
.player-shell{background:var(--ink);color:#fff;border-radius:30px;overflow:hidden;box-shadow:0 24px 70px rgba(6,17,29,.18);scroll-margin-top:20px}.player-main{min-height:190px;display:grid;grid-template-columns:auto auto 1fr 1fr auto;align-items:center;gap:22px;padding:34px 38px}.live-badge{align-self:start;display:inline-flex;gap:8px;align-items:center;color:#fff;font-size:11px;font-weight:900;letter-spacing:.15em}.live-badge span{width:6px;height:6px;box-shadow:0 0 0 5px rgba(255,24,56,.12)}.station-mark{width:86px;height:86px;border-radius:24px;background:linear-gradient(145deg,var(--blue),#006bc4);display:grid;place-items:center;font:800 44px/1 "Outfit";box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.track-info{min-width:0}.label,.tiny-label{font-size:10px;letter-spacing:.16em;font-weight:900;color:#8191a1}.track-info strong{display:block;font:700 clamp(22px,2.6vw,34px)/1.15 "Outfit";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:7px 0 4px}.track-info>span:last-child{color:#9dabb7}.visualizer{height:76px;display:flex;align-items:center;justify-content:center;gap:5px;opacity:.9}.visualizer i{width:4px;height:15%;border-radius:5px;background:linear-gradient(var(--blue),var(--yellow));transition:.3s}.visualizer.playing i{animation:bars .9s ease-in-out infinite alternate}.visualizer i:nth-child(2n){animation-delay:-.35s}.visualizer i:nth-child(3n){animation-delay:-.65s}.visualizer i:nth-child(4n){animation-delay:-.18s}@keyframes bars{to{height:88%}}
.player-controls{display:flex;align-items:center;gap:12px}.round-button,.main-play{border:1px solid rgba(255,255,255,.13);background:#102235;color:white;border-radius:50%;display:grid;place-items:center}.round-button{width:42px;height:42px}.main-play{width:64px;height:64px;background:var(--yellow);color:var(--ink);border:0;font-size:20px;padding-left:4px}.volume-wrap{display:flex;flex-direction:column;gap:6px}.volume-wrap span{font-size:9px;font-weight:800;color:#728496;letter-spacing:.12em}.volume-wrap input{width:90px;accent-color:var(--yellow)}.player-status{border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:1fr auto;gap:30px;padding:16px 38px;background:#081827}.player-status>div{display:flex;gap:12px;align-items:center}.player-status strong{font-size:12px}.signal{display:flex!important;align-items:flex-end!important;gap:3px}.signal i{display:block;width:3px;background:var(--blue);border-radius:4px}.signal i:nth-child(1){height:7px}.signal i:nth-child(2){height:11px}.signal i:nth-child(3){height:15px}.signal i:nth-child(4){height:19px}
.stats-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px;margin:18px 0 96px}.stat-card{min-height:144px;background:white;border:1px solid var(--line);border-radius:24px;padding:26px;display:flex;align-items:center;gap:22px}.stat-icon{flex:0 0 auto;width:50px;height:50px;border-radius:17px;background:#eef8fd;color:var(--blue-deep);display:grid;place-items:center;font-weight:900;font-size:20px}.stat-card strong{font:800 37px/1 "Outfit";display:block;margin:8px 0 6px}.stat-card strong small{font-size:18px;color:var(--blue-deep)}.stat-card div>small{color:#8795a0}.counter-card{background:#fff9d6;border-style:dashed;border-color:#efaa25}.counter-card .stat-icon{background:#ffe875;color:#8f6100}.counter-card strong{color:var(--red)}
.weather-section{padding:95px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:end;margin-bottom:48px}.section-heading p{color:#6b7a87;font-size:17px;line-height:1.7}.weather-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px}.weather-now{background:linear-gradient(145deg,#089ee9,#006fc5);color:#fff;border-radius:30px;padding:32px;min-height:360px;position:relative;overflow:hidden}.weather-now:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,221,0,.95);right:-90px;top:-95px;box-shadow:0 0 0 30px rgba(255,255,255,.07)}.weather-topline{position:relative;z-index:1;display:flex;justify-content:space-between;font-size:10px;font-weight:900;letter-spacing:.13em;color:rgba(255,255,255,.72)}.weather-temp-row{display:flex;align-items:center;gap:18px;margin-top:50px}.weather-symbol{font-size:58px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.1))}.weather-temp-row strong{font:800 92px/1 "Outfit"}.weather-now h3{font:700 25px/1.2 "Outfit";margin:13px 0 35px}.weather-meta{display:flex;gap:28px;color:rgba(255,255,255,.72);font-size:14px}.weather-meta b{color:white}.forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.forecast-card{min-height:171px;background:white;border:1px solid var(--line);border-radius:26px;padding:25px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto}.forecast-card .day{font-weight:900;font-size:12px;letter-spacing:.1em;color:#667684}.forecast-card .icon{font-size:34px;grid-row:1/3;grid-column:2;align-self:center}.forecast-card strong{font:800 37px/1 "Outfit";align-self:end}.forecast-card small{color:#8a97a1;grid-column:1/-1;margin-top:7px}.skeleton{background:linear-gradient(90deg,#fff,#f3f6f7,#fff);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.weather-credit{font-size:11px;color:#87949e;text-align:right;margin-top:12px}
.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:100px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.contact-intro p{color:#6c7b87;font-size:17px;line-height:1.7;max-width:450px}.contact-detail{display:flex;align-items:center;gap:15px;margin-top:34px}.contact-detail>span{width:48px;height:48px;border-radius:16px;background:#e6f6fd;color:var(--blue-deep);display:grid;place-items:center;font-size:21px}.contact-detail div{display:flex;flex-direction:column;gap:4px}.contact-detail small{font-size:9px;letter-spacing:.14em;font-weight:900;color:#87939d}.contact-detail a{font-weight:800}.contact-form{background:white;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:0 18px 50px rgba(6,17,29,.06)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;margin-bottom:18px}.contact-form label>span{display:block;font-size:12px;font-weight:800;margin:0 0 9px 2px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #dce2e6;border-radius:15px;background:#fbfcfc;padding:15px 16px;outline:none;transition:.2s border,.2s box-shadow}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(8,168,238,.1)}.send-button{width:100%;justify-content:space-between;background:var(--blue-deep);padding:16px 18px 16px 22px}.send-button b{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--blue-deep)}.form-note{display:block;color:#8b969f;line-height:1.5;margin-top:13px}
footer{width:min(1180px,calc(100% - 44px));min-height:130px;margin:auto;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;color:#788691;font-size:12px}footer img{width:145px;height:86px;object-fit:contain;object-position:left}footer a{justify-self:end;font-weight:800;color:var(--ink)}

.back-to-top{position:fixed;right:24px;bottom:24px;width:52px;height:52px;border:0;border-radius:50%;background:var(--ink);color:white;font-size:22px;font-weight:800;display:grid;place-items:center;box-shadow:0 14px 34px rgba(6,17,29,.24);z-index:50;opacity:0;visibility:hidden;transform:translateY(12px);transition:.22s opacity,.22s transform,.22s visibility,.22s background}.back-to-top:hover{background:var(--blue-deep);transform:translateY(-2px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:50px}.hero-art{height:390px}.hero-signal-card{inset:42px 38px 48px}.player-main{grid-template-columns:auto 1fr auto}.live-badge{display:none}.visualizer{display:none}.station-mark{width:70px;height:70px}.player-controls .round-button,.volume-wrap{display:none}.stats-grid{grid-template-columns:1fr 1fr}.counter-card{grid-column:1/-1}.section-heading,.weather-layout,.contact-section{grid-template-columns:1fr;gap:30px}.section-heading{margin-bottom:30px}.forecast-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-header,main,footer{width:min(100% - 28px,1180px)}.site-header{height:76px}.brand{width:150px}.brand img{height:64px}.header-live{font-size:10px}.hero{min-height:auto;padding:46px 0 58px;gap:34px}.hero-art{height:320px;border-radius:32px}.hero-signal-card{inset:42px 26px 38px}.frequency-readout strong{font-size:76px}.frequency-readout span{font-size:17px}.hero-eq{height:58px;gap:5px}.hero-eq i{width:5px}.signal-copy small{display:none}.island-chip{right:14px;top:14px;font-size:8px}.back-to-top{right:16px;bottom:16px;width:48px;height:48px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.player-shell{border-radius:24px}.player-main{grid-template-columns:auto 1fr auto;padding:24px 18px;gap:14px}.station-mark{width:58px;height:58px;border-radius:18px;font-size:30px}.track-info strong{font-size:20px}.main-play{width:54px;height:54px}.player-status{padding:14px 18px;grid-template-columns:1fr auto}.stats-grid{grid-template-columns:1fr;margin-bottom:70px}.counter-card{grid-column:auto}.weather-section,.contact-section{padding:70px 0}.forecast-grid{grid-template-columns:1fr}.weather-now{min-height:330px}.weather-temp-row strong{font-size:74px}.field-row{grid-template-columns:1fr}.contact-form{padding:22px}.section-heading{gap:12px}footer{grid-template-columns:1fr auto;min-height:120px}footer p{display:none}}

/* Hero live player: replaces the former decorative 97.9 artwork */
.hero-player{width:100%;align-self:center;border-radius:32px;box-shadow:0 30px 75px rgba(6,17,29,.22)}
.hero-player .player-main{min-height:190px;grid-template-columns:auto auto minmax(150px,1fr) minmax(90px,.65fr) auto;padding:32px 30px;gap:18px}
.hero-player .station-mark{width:76px;height:76px;border-radius:22px;font-size:40px}
.hero-player .track-info strong{font-size:clamp(22px,2.2vw,31px)}
.hero-player .visualizer{height:68px}
.hero-player .player-controls{gap:10px}
.hero-player .main-play{width:58px;height:58px}
.hero-player .round-button{width:40px;height:40px}
.hero-player .volume-wrap input{width:74px}
.hero-player .player-status{padding:15px 30px}

@media(max-width:1100px) and (min-width:901px){
  .hero-player .visualizer,.hero-player .round-button,.hero-player .volume-wrap{display:none}
  .hero-player .player-main{grid-template-columns:auto auto 1fr auto}
}
@media(max-width:900px){
  .hero-player{max-width:720px;margin:0 auto}
}


/* Automatic Aruba day/night weather card */
.weather-now{transition:background .8s ease,box-shadow .8s ease,color .5s ease}
.weather-now.weather-day{background:linear-gradient(145deg,#08a8ee 0%,#0879ce 72%,#0667b6 100%);box-shadow:0 22px 55px rgba(0,118,201,.12)}
.weather-now.weather-day:after{background:rgba(255,221,0,.98);box-shadow:0 0 0 30px rgba(255,255,255,.08)}
.weather-now.weather-night{background:radial-gradient(circle at 82% 18%,rgba(108,92,231,.42),transparent 28%),linear-gradient(145deg,#07111f 0%,#0d2341 58%,#1a3155 100%);box-shadow:0 24px 60px rgba(5,14,29,.26)}
.weather-now.weather-night:after{width:170px;height:170px;right:-34px;top:-34px;background:#f4f1cf;box-shadow:-30px 20px 0 4px #0d2341,0 0 0 24px rgba(255,255,255,.035)}
.weather-now.weather-night:before{content:"✦  ·  ✦";position:absolute;right:52px;top:76px;z-index:1;color:rgba(255,255,255,.72);font-size:13px;letter-spacing:12px}

/* Keep every live-player control inside the existing hero-player footprint. */
.hero-player .player-main{position:relative;min-height:190px;grid-template-columns:64px minmax(118px,1fr) 68px auto;padding:42px 24px 24px;gap:10px;overflow:hidden}
.hero-player .live-badge{position:absolute;left:26px;top:20px;align-self:auto}
.hero-player .station-mark{width:64px;height:64px;border-radius:20px;font-size:35px}
.hero-player .track-info strong{font-size:clamp(20px,1.7vw,24px);margin-top:5px}
.hero-player .track-info>span:last-child{font-size:13px;white-space:normal;line-height:1.25}
.hero-player .visualizer{height:58px;gap:3px;min-width:0}
.hero-player .visualizer i{width:3px}
.hero-player .player-controls{gap:7px;min-width:0}
.hero-player .round-button{width:34px;height:34px;font-size:12px;flex:0 0 auto}
.hero-player .main-play{width:50px;height:50px;font-size:17px;flex:0 0 auto}
.hero-player .volume-wrap{gap:3px;min-width:0}
.hero-player .volume-wrap span{font-size:7px}
.hero-player .volume-wrap input{width:48px;min-width:0}
.hero-player .player-status{padding:15px 26px}

@media(max-width:1100px) and (min-width:901px){
  .hero-player .visualizer,.hero-player .round-button,.hero-player .volume-wrap{display:flex}
  .hero-player .player-main{grid-template-columns:60px minmax(112px,1fr) 58px auto;padding-left:22px;padding-right:22px;gap:8px}
  .hero-player .station-mark{width:60px;height:60px}
  .hero-player .visualizer{height:52px}
  .hero-player .round-button{display:grid;width:32px;height:32px}
  .hero-player .volume-wrap{display:flex}
  .hero-player .volume-wrap input{width:42px}
  .hero-player .main-play{width:48px;height:48px}
}
@media(max-width:600px){
  .hero-player .player-main{grid-template-columns:54px minmax(100px,1fr) 52px auto;padding:40px 16px 22px;gap:8px}
  .hero-player .live-badge{display:inline-flex;left:18px;top:17px}
  .hero-player .station-mark{width:54px;height:54px;border-radius:17px;font-size:29px}
  .hero-player .track-info .label{font-size:8px}
  .hero-player .track-info strong{font-size:18px}
  .hero-player .track-info>span:last-child{font-size:11px}
  .hero-player .visualizer{display:flex;height:48px;gap:2px}
  .hero-player .visualizer i{width:2px}
  .hero-player .round-button{display:none}
  .hero-player .volume-wrap{display:none}
  .hero-player .main-play{width:46px;height:46px}
}


/* Whole-page Aruba night mode. Automatically toggled by the live weather is_day value. */
body, .site-header, .stat-card, .forecast-card, .contact-form, footer,
.contact-form input, .contact-form textarea, .counter-card, .stat-icon,
.contact-detail>span, .back-to-top{
  transition:background-color .8s ease,background .8s ease,color .55s ease,border-color .7s ease,box-shadow .7s ease;
}
body.night-theme{
  --ink:#eef6ff;
  --paper:#07111f;
  --blue:#25b8f4;
  --blue-deep:#47c5ff;
  --yellow:#ffd84d;
  --muted:#91a4b7;
  --line:rgba(206,226,244,.12);
  background:
    radial-gradient(circle at 84% 5%,rgba(27,117,176,.16),transparent 28%),
    radial-gradient(circle at 8% 78%,rgba(255,216,77,.055),transparent 25%),
    #07111f;
  color:#eef6ff;
}
body.night-theme .ambient-one{background:#0f7cba;opacity:.12}
body.night-theme .ambient-two{background:#806b18;opacity:.07}
body.night-theme nav a,
body.night-theme .eyebrow,
body.night-theme .hero-copy>p,
body.night-theme .section-heading p,
body.night-theme .contact-intro p,
body.night-theme footer{color:#9db0c2}
body.night-theme h1 em,
body.night-theme h2 em,
body.night-theme .text-link span{color:#47c5ff}
body.night-theme .text-link{border-bottom-color:rgba(238,246,255,.24)}
body.night-theme .primary-play{background:#10263a;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.28)}
body.night-theme .primary-play:hover{background:#15324b}
body.night-theme .stat-card,
body.night-theme .forecast-card,
body.night-theme .contact-form{
  background:#0c1a29;
  border-color:rgba(188,216,238,.12);
  box-shadow:0 18px 48px rgba(0,0,0,.16);
}
body.night-theme .counter-card{
  background:linear-gradient(145deg,#172232,#101c2b);
  border-color:rgba(255,216,77,.38);
}
body.night-theme .counter-card .stat-icon{background:rgba(255,216,77,.12);color:#ffd84d}
body.night-theme .counter-card strong{color:#ff5b70}
body.night-theme .stat-icon{background:#10283b;color:#47c5ff}
body.night-theme .stat-card div>small,
body.night-theme .forecast-card small,
body.night-theme .forecast-card .day,
body.night-theme .weather-credit,
body.night-theme .form-note,
body.night-theme .contact-detail small{color:#8095a8}
body.night-theme .contact-detail>span{background:#10283b;color:#47c5ff}
body.night-theme .contact-form input,
body.night-theme .contact-form textarea{
  background:#081521;
  border-color:#22384a;
  color:#eef6ff;
}
body.night-theme .contact-form input::placeholder,
body.night-theme .contact-form textarea::placeholder{color:#6f8496}
body.night-theme .contact-form input:focus,
body.night-theme .contact-form textarea:focus{border-color:#25b8f4;box-shadow:0 0 0 4px rgba(37,184,244,.10)}
body.night-theme .send-button{background:#137fb5;color:#fff}
body.night-theme .send-button:hover{background:#1893ce}
body.night-theme .send-button b{background:#eaf7ff;color:#0a6d9f}
body.night-theme footer a{color:#eef6ff}
body.night-theme .back-to-top{background:#10283b;color:#fff;border:1px solid rgba(255,255,255,.08)}
body.night-theme .back-to-top:hover{background:#137fb5}
body.night-theme .forecast-card.skeleton{background:linear-gradient(90deg,#0c1a29,#112437,#0c1a29);background-size:200% 100%}
body.night-theme .hero-player{box-shadow:0 26px 72px rgba(0,0,0,.34)}

/* With listener count removed, keep the player footer balanced. */
.hero-player .player-status{grid-template-columns:1fr auto}

/* Refined night palette: dark overall theme with softer, non-dark content surfaces. */
body.night-theme .hero-player .player-main{
  background:linear-gradient(135deg,#cbd8e6 0%,#b9cadb 58%,#a9bfd3 100%);
  color:#10283a;
}
body.night-theme .hero-player .live-badge{color:#183247}
body.night-theme .hero-player .track-info strong{color:#10283a}
body.night-theme .hero-player .track-info>span:last-child{color:#536d81}
body.night-theme .hero-player .label{color:#60798d}
body.night-theme .hero-player .visualizer{opacity:1}
body.night-theme .hero-player .volume-wrap span{color:#536d81}
body.night-theme .hero-player .round-button{background:#18374d;color:#f5fbff;border-color:rgba(16,40,58,.14)}
body.night-theme .hero-player .main-play{background:#f2ca4c;color:#10283a}
body.night-theme .hero-player .volume-wrap input{accent-color:#e7b91f}
body.night-theme .hero-player .player-status{background:#0a2030;color:#f3f8fc}

body.night-theme .stats-grid .stat-card{
  background:linear-gradient(145deg,#c7d7e3,#b8ccd9);
  border-color:rgba(104,132,150,.30);
  color:#10283a;
  box-shadow:0 16px 40px rgba(0,0,0,.10);
}
body.night-theme .stats-grid .counter-card{
  background:linear-gradient(145deg,#d7d2b8,#c7c1a4);
  border-color:rgba(157,128,41,.58);
}
body.night-theme .stats-grid .stat-icon{background:rgba(16,82,116,.10);color:#086d9c}
body.night-theme .stats-grid .counter-card .stat-icon{background:rgba(132,104,24,.14);color:#795d08}
body.night-theme .stats-grid .counter-card strong{color:#b62f47}
body.night-theme .stats-grid .stat-card strong{color:#10283a}
body.night-theme .stats-grid .stat-card strong small{color:#087ba9}
body.night-theme .stats-grid .stat-card .tiny-label,
body.night-theme .stats-grid .stat-card div>small{color:#536d7d}

/* ============================================================
   2026 Red + Blue Dark Palette Refresh
   Color-only redesign. Layout, dimensions and responsive rules stay unchanged.
   ============================================================ */
:root{
  --ink:#e7edf5;
  --paper:#09111d;
  --blue:#486b91;
  --blue-deep:#6685a8;
  --yellow:#9b6b70;
  --red:#a94455;
  --muted:#8997a8;
  --line:rgba(150,169,191,.16);
}

body,
body.night-theme{
  --ink:#e7edf5;
  --paper:#09111d;
  --blue:#486b91;
  --blue-deep:#6685a8;
  --yellow:#9b6b70;
  --red:#a94455;
  --muted:#8997a8;
  --line:rgba(150,169,191,.16);
  color:#e7edf5;
  background:
    radial-gradient(circle at 84% 4%,rgba(55,82,118,.18),transparent 30%),
    radial-gradient(circle at 6% 82%,rgba(117,43,58,.13),transparent 28%),
    #09111d;
}

.ambient-one,
body.night-theme .ambient-one{background:#36587d;opacity:.11}
.ambient-two,
body.night-theme .ambient-two{background:#762d3b;opacity:.09}

nav a,
.eyebrow,
.hero-copy>p,
.section-heading p,
.contact-intro p,
footer,
body.night-theme nav a,
body.night-theme .eyebrow,
body.night-theme .hero-copy>p,
body.night-theme .section-heading p,
body.night-theme .contact-intro p,
body.night-theme footer{color:#8f9dad}

nav a:hover,
h1 em,h2 em,.text-link span,
body.night-theme h1 em,
body.night-theme h2 em,
body.night-theme .text-link span{color:#6f8eaf}

.primary-play,
.send-button,
body.night-theme .primary-play,
body.night-theme .send-button{
  background:#243b55;
  color:#edf2f7;
  box-shadow:0 12px 30px rgba(0,0,0,.24)
}
.primary-play:hover,
.send-button:hover,
body.night-theme .primary-play:hover,
body.night-theme .send-button:hover{background:#2d4967}
.play-glyph{background:#813746;color:#f2e8ea}

/* Radio player: muted blue body with restrained red details. */
.player-shell,
.hero-player{
  background:#101d2b;
  color:#eaf0f6;
  box-shadow:0 26px 72px rgba(0,0,0,.30)
}
.hero-player .player-main,
body.night-theme .hero-player .player-main{
  background:linear-gradient(135deg,#263b52 0%,#203348 58%,#1a2b3d 100%);
  color:#eaf0f6;
}
.hero-player .live-badge,
body.night-theme .hero-player .live-badge{color:#d9e2eb}
.station-mark,
.hero-player .station-mark{
  background:linear-gradient(145deg,#4b7098,#345674);
  color:#f0f4f8
}
.hero-player .track-info strong,
body.night-theme .hero-player .track-info strong{color:#f0f3f7}
.hero-player .track-info>span:last-child,
body.night-theme .hero-player .track-info>span:last-child{color:#9eacba}
.hero-player .label,
body.night-theme .hero-player .label{color:#91a2b3}
.visualizer i,.hero-eq i{background:linear-gradient(#6688aa,#9b4452)}
.round-button,
body.night-theme .hero-player .round-button{
  background:#162638;
  color:#dce5ee;
  border-color:rgba(149,170,193,.18)
}
.main-play,
body.night-theme .hero-player .main-play{
  background:#8f3d4c;
  color:#f6ecee
}
.volume-wrap span,
body.night-theme .hero-player .volume-wrap span{color:#91a1b2}
.volume-wrap input,
body.night-theme .hero-player .volume-wrap input{accent-color:#8f3d4c}
.player-status,
body.night-theme .hero-player .player-status{
  background:#0d1926;
  color:#dfe7ee;
  border-top-color:rgba(139,161,184,.14)
}
.signal i{background:#577a9d}
.live-badge span,.header-live span{background:#a94455;box-shadow:0 0 0 5px rgba(169,68,85,.14)}

/* Three information cards: dark blue, blue-red variation, no bright surfaces. */
.stat-card,
body.night-theme .stats-grid .stat-card,
body.night-theme .stat-card{
  background:linear-gradient(145deg,#17283a,#122131);
  border-color:rgba(105,132,160,.26);
  color:#e4ebf2;
  box-shadow:0 16px 40px rgba(0,0,0,.14)
}
.counter-card,
body.night-theme .stats-grid .counter-card,
body.night-theme .counter-card{
  background:linear-gradient(145deg,#30212c,#251b26);
  border-color:rgba(156,72,89,.48)
}
.stat-icon,
body.night-theme .stats-grid .stat-icon,
body.night-theme .stat-icon{
  background:#203952;
  color:#86a3c0
}
.counter-card .stat-icon,
body.night-theme .stats-grid .counter-card .stat-icon,
body.night-theme .counter-card .stat-icon{
  background:#4a2732;
  color:#c27a86
}
.stat-card strong,
body.night-theme .stats-grid .stat-card strong{color:#edf2f6}
.counter-card strong,
body.night-theme .stats-grid .counter-card strong,
body.night-theme .counter-card strong{color:#bf6271}
.stat-card strong small,
body.night-theme .stats-grid .stat-card strong small{color:#7899b8}
.stat-card .tiny-label,
.stat-card div>small,
body.night-theme .stats-grid .stat-card .tiny-label,
body.night-theme .stats-grid .stat-card div>small{color:#8797a7}

/* Weather: preserve automatic day/night behavior but keep both palettes dark and calm. */
.weather-now,
.weather-now.weather-day{
  background:linear-gradient(145deg,#315475 0%,#284663 64%,#213b55 100%);
  color:#edf2f7;
  box-shadow:0 22px 55px rgba(0,0,0,.14)
}
.weather-now.weather-day:after,
.weather-now:after{
  background:#803b49;
  box-shadow:0 0 0 30px rgba(118,67,80,.13)
}
.weather-now.weather-night{
  background:radial-gradient(circle at 80% 18%,rgba(117,55,70,.24),transparent 28%),linear-gradient(145deg,#111d2b 0%,#17283a 58%,#1d3248 100%);
  box-shadow:0 24px 60px rgba(0,0,0,.22)
}
.weather-now.weather-night:after{
  background:#8a6771;
  box-shadow:-30px 20px 0 4px #17283a,0 0 0 24px rgba(255,255,255,.025)
}
.weather-now.weather-night:before{color:rgba(188,201,215,.56)}
.weather-topline,.weather-meta{color:#aebbc7}
.weather-meta b{color:#eef2f6}

.forecast-card,
body.night-theme .forecast-card{
  background:linear-gradient(145deg,#162638,#12202f);
  border-color:rgba(104,130,156,.24);
  color:#e5ebf1;
  box-shadow:none
}
.forecast-card small,
.forecast-card .day,
.weather-credit,
body.night-theme .forecast-card small,
body.night-theme .forecast-card .day,
body.night-theme .weather-credit{color:#8494a5}

/* Contact section and form follow the same muted blue-red palette. */
.contact-detail>span,
body.night-theme .contact-detail>span{background:#1b3249;color:#7798b7}
.contact-form,
body.night-theme .contact-form{
  background:linear-gradient(145deg,#162638,#111e2c);
  border-color:rgba(103,128,155,.24);
  box-shadow:0 18px 48px rgba(0,0,0,.15)
}
.contact-form input,
.contact-form textarea,
body.night-theme .contact-form input,
body.night-theme .contact-form textarea{
  background:#0c1825;
  border-color:#2d4053;
  color:#e7edf4
}
.contact-form input::placeholder,
.contact-form textarea::placeholder,
body.night-theme .contact-form input::placeholder,
body.night-theme .contact-form textarea::placeholder{color:#6f8091}
.contact-form input:focus,
.contact-form textarea:focus,
body.night-theme .contact-form input:focus,
body.night-theme .contact-form textarea:focus{
  border-color:#5b7b9c;
  box-shadow:0 0 0 4px rgba(91,123,156,.10)
}
.send-button b,
body.night-theme .send-button b{background:#743441;color:#efe5e7}

.back-to-top,
body.night-theme .back-to-top{background:#29435f;color:#eaf0f6;border-color:rgba(124,151,179,.22)}
.back-to-top:hover,
body.night-theme .back-to-top:hover{background:#365777}

/* Keep skeletons and tiny details dark instead of flashing light. */
.forecast-card.skeleton,
body.night-theme .forecast-card.skeleton{
  background:linear-gradient(90deg,#142333,#1b2d40,#142333);
  background-size:200% 100%
}


/* ============================================================
   Aruba photo backdrop + dark mask
   Keeps the existing layout intact; only adds atmospheric depth.
   ============================================================ */
body,
body.night-theme{
  background:#09111d;
  position:relative;
}
.site-photo-bg,
.site-photo-mask{
  position:fixed;
  inset:0;
  pointer-events:none;
}
.site-photo-bg{
  z-index:0;
  background-image:url("assets/aruba-beach.jpg");
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.035);
  filter:saturate(.72) contrast(1.08) brightness(.72) blur(1.4px);
  opacity:.52;
}
.site-photo-mask{
  z-index:0;
  background:
    linear-gradient(180deg,rgba(7,14,25,.76) 0%,rgba(8,16,29,.68) 24%,rgba(8,17,30,.82) 72%,rgba(7,14,25,.92) 100%),
    radial-gradient(circle at 78% 10%,rgba(45,80,121,.20),transparent 34%),
    radial-gradient(circle at 10% 72%,rgba(118,42,58,.16),transparent 32%);
  backdrop-filter:saturate(.8);
}
.site-header,
main,
footer,
.back-to-top{
  position:relative;
  z-index:2;
}
.ambient{
  z-index:1;
  opacity:.07;
}
/* Slight translucency lets the Aruba photo show through without hurting readability. */
.player-shell,
.hero-player,
.stat-card,
.forecast-card,
.contact-form,
.weather-now{
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.player-shell,
.hero-player{background:rgba(16,29,43,.94)}
.stat-card,
body.night-theme .stats-grid .stat-card,
body.night-theme .stat-card{background:linear-gradient(145deg,rgba(23,40,58,.92),rgba(18,33,49,.94))}
.counter-card,
body.night-theme .stats-grid .counter-card,
body.night-theme .counter-card{background:linear-gradient(145deg,rgba(48,33,44,.92),rgba(37,27,38,.94))}
.forecast-card,
body.night-theme .forecast-card{background:linear-gradient(145deg,rgba(22,38,56,.92),rgba(18,32,47,.94))}
.contact-form,
body.night-theme .contact-form{background:linear-gradient(145deg,rgba(22,38,56,.93),rgba(17,30,44,.95))}

@media (max-width:700px){
  .site-photo-bg{
    background-position:58% center;
    opacity:.46;
    transform:scale(1.08);
    filter:saturate(.68) contrast(1.05) brightness(.68) blur(1.8px);
  }
  .site-photo-mask{
    background:linear-gradient(180deg,rgba(7,14,25,.80),rgba(8,17,30,.78) 55%,rgba(7,14,25,.94));
  }
}


/* ============================================================
   FINAL BACKGROUND TREATMENT
   Aruba beach + subtle radio-inspired red/blue abstract gradient.
   ============================================================ */
.site-photo-bg{
  background-image:url("assets/aruba-beach.jpg");
  background-position:center 45%;
  background-size:cover;
  filter:saturate(.72) contrast(1.06) brightness(.62);
  opacity:.74;
  transform:scale(1.015);
}
.site-photo-mask{
  background:
    radial-gradient(ellipse at -8% 42%, rgba(134,28,54,.48) 0%, rgba(73,20,48,.26) 23%, transparent 48%),
    radial-gradient(ellipse at 72% -8%, rgba(31,70,145,.42) 0%, rgba(24,54,112,.19) 31%, transparent 55%),
    linear-gradient(120deg, rgba(7,17,38,.88) 0%, rgba(7,22,49,.71) 38%, rgba(9,21,40,.66) 67%, rgba(25,12,27,.70) 100%),
    linear-gradient(180deg, rgba(4,11,25,.48) 0%, rgba(5,14,31,.35) 45%, rgba(5,12,26,.82) 100%);
}
.site-photo-mask::before,
.site-photo-mask::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
  filter:blur(3px);
}
.site-photo-mask::before{
  width:78vw;
  height:20vw;
  min-height:180px;
  left:-24vw;
  top:18vh;
  border:1px solid rgba(219,48,81,.18);
  box-shadow:0 0 80px rgba(130,27,57,.16), inset 0 0 50px rgba(25,77,167,.10);
  transform:rotate(-21deg);
}
.site-photo-mask::after{
  width:64vw;
  height:16vw;
  right:-20vw;
  top:-4vh;
  border:1px solid rgba(54,111,207,.16);
  box-shadow:0 0 100px rgba(31,76,160,.13);
  transform:rotate(-14deg);
}

/* Real station logo inside the player tile. */
.station-mark{
  padding:10px;
  overflow:hidden;
  background:linear-gradient(145deg,#173663,#5c2444);
}
.station-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.28));
}

/* Slightly stronger glass effect to stay readable over the photo. */
.player-shell,.hero-player,.stat-card,.forecast-card,.contact-form,.weather-now{
  box-shadow:0 18px 52px rgba(0,0,0,.22);
}
.site-header{
  background:linear-gradient(180deg,rgba(5,15,33,.28),rgba(5,15,33,0));
}

/* ============================================================
   REQUESTED VISUAL UPDATE — keep original layout and copy intact
   Background + player + stats + forecast + contact form + footer only.
   ============================================================ */

/* Background: Aruba beach under a restrained red/blue radio-wave mask. */
.site-photo-bg{
  background-image:url("assets/aruba-beach.jpg") !important;
  background-position:center 48% !important;
  background-size:cover !important;
  filter:saturate(.84) contrast(1.08) brightness(.56) !important;
  opacity:.92 !important;
  transform:scale(1.018) !important;
}
.site-photo-mask{
  background:
    radial-gradient(ellipse at -12% 36%,rgba(247,32,66,.34) 0%,rgba(117,16,65,.20) 25%,transparent 53%),
    radial-gradient(ellipse at 66% -13%,rgba(30,83,221,.34) 0%,rgba(25,56,136,.18) 34%,transparent 58%),
    linear-gradient(112deg,rgba(3,11,31,.91) 0%,rgba(4,18,48,.72) 42%,rgba(6,18,40,.56) 67%,rgba(22,7,27,.66) 100%),
    linear-gradient(180deg,rgba(2,9,23,.42),rgba(4,13,30,.28) 48%,rgba(4,10,23,.83) 100%) !important;
}
.site-photo-mask::before{
  width:92vw !important;
  height:24vw !important;
  left:-33vw !important;
  top:13vh !important;
  border:1px solid rgba(255,41,79,.24) !important;
  box-shadow:
    0 0 56px rgba(255,25,69,.10),
    0 0 120px rgba(34,73,210,.08),
    inset 0 0 80px rgba(27,68,190,.08) !important;
  transform:rotate(-22deg) !important;
}
.site-photo-mask::after{
  width:72vw !important;
  height:19vw !important;
  right:-22vw !important;
  top:-2vh !important;
  border:1px solid rgba(55,105,255,.21) !important;
  box-shadow:0 0 100px rgba(38,81,218,.11) !important;
  transform:rotate(-16deg) !important;
}

/* Player: same dimensions/placement, redesigned like the reference. */
.player-shell,
.hero-player{
  background:linear-gradient(135deg,rgba(3,15,36,.97),rgba(4,20,45,.94)) !important;
  border:1px solid rgba(38,130,255,.68) !important;
  border-radius:26px !important;
  box-shadow:0 20px 60px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.025) !important;
  backdrop-filter:blur(15px) saturate(1.15) !important;
  -webkit-backdrop-filter:blur(15px) saturate(1.15) !important;
}
.hero-player .player-main,
body.night-theme .hero-player .player-main{
  background:transparent !important;
  color:#f5f7fb !important;
}
.hero-player .live-badge,
body.night-theme .hero-player .live-badge{color:#f7f8fb !important}
.hero-player .track-info strong,
body.night-theme .hero-player .track-info strong{color:#fff !important}
.hero-player .track-info>span:last-child,
body.night-theme .hero-player .track-info>span:last-child{color:#aab6c7 !important}
.hero-player .label,
body.night-theme .hero-player .label{color:#8999af !important}
.hero-player .station-mark{
  background:linear-gradient(145deg,rgba(213,31,67,.34),rgba(27,71,180,.58)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:inset 0 0 24px rgba(31,88,220,.15),0 9px 24px rgba(0,0,0,.26) !important;
}
.hero-player .visualizer i{
  background:linear-gradient(180deg,#2f7dff 0%,#a02d86 45%,#f32848 100%) !important;
  box-shadow:0 0 8px rgba(60,102,255,.18) !important;
}
.hero-player .round-button,
body.night-theme .hero-player .round-button{
  background:#0a1d38 !important;
  color:#e8eef8 !important;
  border:1px solid rgba(118,147,191,.18) !important;
}
.hero-player .main-play,
body.night-theme .hero-player .main-play{
  background:linear-gradient(145deg,#f12744,#d8172f) !important;
  color:#fff !important;
  box-shadow:0 10px 30px rgba(239,35,65,.26) !important;
}
.hero-player .volume-wrap span,
body.night-theme .hero-player .volume-wrap span{color:#a6b4c8 !important}
.hero-player .volume-wrap input,
body.night-theme .hero-player .volume-wrap input{accent-color:#ef2845 !important}
.hero-player .player-status,
body.night-theme .hero-player .player-status{
  background:rgba(2,14,32,.72) !important;
  border-top:1px solid rgba(114,142,183,.25) !important;
  color:#f1f4f8 !important;
}
.hero-player .signal i{background:#f12645 !important}

/* Three connection/dial/online cards: same grid and copy, new glass styling. */
.stats-grid .stat-card,
body.night-theme .stats-grid .stat-card,
body.night-theme .stat-card{
  background:linear-gradient(145deg,rgba(7,24,49,.92),rgba(8,24,46,.86)) !important;
  border:1px solid rgba(62,129,220,.46) !important;
  color:#f3f6fb !important;
  box-shadow:0 14px 36px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(13px) !important;
}
.stats-grid .counter-card,
body.night-theme .stats-grid .counter-card,
body.night-theme .counter-card{
  background:linear-gradient(145deg,rgba(47,15,35,.92),rgba(12,24,46,.91)) !important;
  border:1px solid rgba(239,38,70,.77) !important;
}
.stats-grid .stat-icon,
body.night-theme .stats-grid .stat-icon{
  background:rgba(37,103,197,.18) !important;
  color:#4b9dff !important;
  border:1px solid rgba(69,130,222,.10) !important;
}
.stats-grid .counter-card .stat-icon,
body.night-theme .stats-grid .counter-card .stat-icon{
  background:rgba(237,42,74,.16) !important;
  color:#ff4c67 !important;
}
.stats-grid .stat-card strong,
body.night-theme .stats-grid .stat-card strong{color:#f5f7fb !important}
.stats-grid .counter-card strong,
body.night-theme .stats-grid .counter-card strong{color:#ff3857 !important}
.stats-grid .stat-card strong small,
body.night-theme .stats-grid .stat-card strong small{color:#49a7ff !important}
.stats-grid .stat-card .tiny-label,
.stats-grid .stat-card div>small,
body.night-theme .stats-grid .stat-card .tiny-label,
body.night-theme .stats-grid .stat-card div>small{color:#a3afc0 !important}

/* Weather / forecast: preserve heading and exact layout, update card treatment only. */
.weather-now,
.weather-now.weather-day,
.weather-now.weather-night{
  background:
    radial-gradient(circle at 86% 20%,rgba(221,28,62,.22),transparent 31%),
    linear-gradient(145deg,rgba(7,31,66,.96),rgba(8,26,54,.94)) !important;
  border:1px solid rgba(50,143,255,.76) !important;
  color:#f6f8fc !important;
  box-shadow:0 18px 45px rgba(0,0,0,.28) !important;
  backdrop-filter:blur(14px) !important;
}
.weather-now:after,
.weather-now.weather-day:after,
.weather-now.weather-night:after{
  background:rgba(239,34,67,.92) !important;
  box-shadow:0 0 0 24px rgba(255,255,255,.018),0 0 48px rgba(239,34,67,.14) !important;
}
.weather-now.weather-night:before{color:rgba(114,169,255,.54) !important}
.weather-topline,.weather-meta{color:#b1bfd1 !important}
.weather-meta b{color:#ff4a61 !important}
.weather-now h3{color:#4a9cff !important}
.forecast-card,
body.night-theme .forecast-card{
  background:linear-gradient(145deg,rgba(7,29,59,.92),rgba(8,24,47,.91)) !important;
  border:1px solid rgba(49,128,226,.50) !important;
  color:#f5f7fb !important;
  box-shadow:0 12px 28px rgba(0,0,0,.20) !important;
  backdrop-filter:blur(12px) !important;
}
.forecast-card .day,
.forecast-card small,
body.night-theme .forecast-card .day,
body.night-theme .forecast-card small{color:#9fb0c5 !important}
.forecast-card .icon{color:#4da6ff !important}
.weather-credit,
body.night-theme .weather-credit{color:#9dacbd !important}

/* Contact: keep intro, labels, studio email, note, and fields; only style the form like reference. */
.contact-form,
body.night-theme .contact-form{
  background:linear-gradient(145deg,rgba(7,24,49,.94),rgba(8,20,41,.93)) !important;
  border:1px solid rgba(58,124,213,.46) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.25) !important;
  backdrop-filter:blur(14px) !important;
}
.contact-form label>span{color:#d6deea !important}
.contact-form input,
.contact-form textarea,
body.night-theme .contact-form input,
body.night-theme .contact-form textarea{
  background:rgba(5,20,40,.76) !important;
  border:1px solid rgba(86,116,157,.38) !important;
  color:#f6f8fc !important;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder,
body.night-theme .contact-form input::placeholder,
body.night-theme .contact-form textarea::placeholder{color:#7e8ea4 !important}
.contact-form input:focus,
.contact-form textarea:focus,
body.night-theme .contact-form input:focus,
body.night-theme .contact-form textarea:focus{
  border-color:#3f8ef6 !important;
  box-shadow:0 0 0 4px rgba(63,142,246,.12) !important;
}
.send-button,
body.night-theme .send-button{
  background:linear-gradient(90deg,#ed213e 0%,#c82155 47%,#153da0 100%) !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(210,24,66,.20) !important;
}
.send-button b,
body.night-theme .send-button b{background:rgba(255,255,255,.13) !important;color:#fff !important}
.form-note,
body.night-theme .form-note{color:#8e9cb0 !important}

/* Footer: keep existing logo/text/back-to-top, present it like the reference footer. */
footer{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  padding:28px max(44px,calc((100vw - 1180px)/2)) !important;
  background:linear-gradient(180deg,rgba(3,14,31,.90),rgba(2,11,25,.97)) !important;
  border-top:1px solid rgba(239,34,67,.84) !important;
  color:#aeb9c8 !important;
  backdrop-filter:blur(15px) !important;
  -webkit-backdrop-filter:blur(15px) !important;
}
footer img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.26)) !important}
footer a{color:#edf2f8 !important}

/* Keep header/hero/section typography and all original content/layout unchanged. */
.site-header{background:transparent !important}
body,body.night-theme{background:#050d1c !important}

@media(max-width:700px){
  .site-photo-bg{background-position:61% center !important;filter:saturate(.80) contrast(1.06) brightness(.49) !important}
  .site-photo-mask{
    background:
      radial-gradient(ellipse at -18% 30%,rgba(240,33,66,.28),transparent 50%),
      linear-gradient(180deg,rgba(3,12,29,.84),rgba(4,15,34,.70) 52%,rgba(3,10,24,.93)) !important;
  }
  footer{padding-left:22px !important;padding-right:22px !important}
}


/* ============================================================
   Footer refresh — reference-style single horizontal bar only.
   ============================================================ */
.site-footer{
  width:100vw !important;
  max-width:none !important;
  margin:0 0 0 calc(50% - 50vw) !important;
  padding:0 !important;
  min-height:72px;
  background:linear-gradient(90deg,rgba(7,8,30,.98) 0%,rgba(4,16,37,.99) 48%,rgba(2,12,27,.99) 100%) !important;
  border-top:1px solid rgba(235,35,64,.88) !important;
  color:#c2c8d1 !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
}
.site-footer .footer-inner{
  width:min(1180px,calc(100% - 44px));
  min-height:72px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}
.site-footer .footer-copy{
  margin:0;
  justify-self:start;
  font-size:12px;
  line-height:1.4;
  color:#c2c8d1;
  white-space:nowrap;
}
.site-footer .footer-socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.site-footer .footer-socials a{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(26,42,64,.72);
  border:1px solid rgba(255,255,255,.035);
  color:#f2f5f8 !important;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.site-footer .footer-socials a:hover{
  transform:translateY(-2px);
  background:rgba(38,58,84,.94);
  border-color:rgba(255,255,255,.10);
}
.site-footer .footer-socials svg{
  width:18px;
  height:18px;
  fill:currentColor;
}
.site-footer .footer-links{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:38px;
  font-size:12px;
  font-weight:500;
}
.site-footer .footer-links a{
  color:#d1d6dd !important;
  opacity:.92;
  transition:color .2s ease,opacity .2s ease;
}
.site-footer .footer-links a:hover{
  color:#fff !important;
  opacity:1;
}
@media(max-width:900px){
  .site-footer .footer-inner{
    grid-template-columns:1fr;
    justify-items:center;
    gap:16px;
    padding:22px 0;
  }
  .site-footer .footer-copy,
  .site-footer .footer-links{justify-self:center}
  .site-footer .footer-copy{white-space:normal;text-align:center}
  .site-footer .footer-links{gap:24px;flex-wrap:wrap;justify-content:center}
}
@media(max-width:520px){
  .site-footer .footer-inner{width:min(100% - 32px,1180px)}
  .site-footer .footer-links{gap:16px;font-size:11px}
  .site-footer .footer-socials a{width:36px;height:36px}
}
/* Footer placement + centered copyright (final correction). */
.site-footer {
  width: 100% !important;
  max-width: none !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid #e51f3e !important;
  background: rgba(3, 15, 31, .96) !important;
  display: block !important;
}
.site-footer .footer-inner {
  width: min(1180px, calc(100% - 44px)) !important;
  min-height: 72px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.site-footer .footer-copy {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
  color: #c2c8d1 !important;
  white-space: normal !important;
}
.site-footer .footer-socials,
.site-footer .footer-links { display: none !important; }

/* Back-to-top control: always anchored to the viewport's bottom-right. */
.back-to-top {
  position: fixed !important;
  right: 24px !important;
  left: auto !important;
  bottom: 24px !important;
  z-index: 99999 !important;
}
.back-to-top.visible {
  opacity: 1 !important;
  visibility: visible !important;
}
@media (max-width: 600px) {
  .site-footer .footer-inner { width: min(100% - 28px, 1180px) !important; }
  .back-to-top { right: 16px !important; bottom: 16px !important; }
}


/* Requested final header/footer/back-to-top adjustments. */
.site-header {
  background: rgba(3, 15, 31, .96) !important;
}
.site-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(3, 15, 31, .96) !important;
  border-top: 1px solid #e51f3e !important;
}
.site-footer .footer-inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.site-footer .footer-copy {
  width: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  color: #c2c8d1 !important;
}
.back-to-top {
  position: fixed !important;
  right: 24px !important;
  left: auto !important;
  bottom: 24px !important;
  width: 52px !important;
  height: 52px !important;
  z-index: 99999 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
@media (max-width: 600px) {
  .back-to-top { right: 16px !important; bottom: 16px !important; width: 48px !important; height: 48px !important; }
  .site-footer .footer-inner { padding: 0 16px !important; }
}

/* Header refinement: full-viewport footer-matched bar with red lower rule. */
html { scroll-behavior: smooth; }
.site-header {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: max(22px, calc((100vw - 1180px) / 2)) !important;
  padding-right: max(22px, calc((100vw - 1180px) / 2)) !important;
  box-sizing: border-box !important;
  background: rgba(3, 15, 31, .96) !important;
  border-bottom: 1px solid #e51f3e !important;
}
.back-to-top {
  cursor: pointer !important;
  text-decoration: none !important;
}
@media (max-width: 600px) {
  .site-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
