/* ============================================================
   SANTA CRUZ REGGAE / SITE STYLESHEET
   Organized for easy long-term editing.
   01 Tokens / 02 Base / 03 Navigation / 04 Hero
   05 Shared sections / 06 Events / 07 Radio / 08 News
   09 Community / 10 Contact / 11 Footer / 12 Responsive
   ============================================================ */
/* 01 / DESIGN TOKENS */
:root{--bg:#101412;--bg-2:#151b17;--bg-3:#1b231e;--bg-4:#202921;--text:#e9e8de;--muted:#a7b0a5;--red:#a63a3b;--red-light:#d26559;--gold:#c4a75c;--gold-light:#e6d19a;--green:#32835a;--green-light:#6baf7c;--line:rgba(196,167,92,.22);--line-white:rgba(240,238,222,.10);--nav-height:84px;--container-max:1140px;--transition:220ms ease}
/* 02 / BASE */
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7}body::selection{background:var(--gold);color:var(--bg)}a{color:var(--gold-light);text-decoration:none;transition:color var(--transition)}a:hover{color:#fff}a:focus-visible,button:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}.container{max-width:var(--container-max)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h2{font-size:clamp(2.35rem,5vw,4.1rem);font-weight:750;letter-spacing:-.055em}h2 em{font-style:normal;color:var(--gold-light)}.skip-link{position:fixed;top:0;left:0;z-index:9999;background:var(--gold);color:var(--bg);padding:.5rem 1rem}
/* 03 / NAVIGATION */
.navbar{min-height:var(--nav-height);background:rgba(13,18,15,.95);border-bottom:1px solid rgba(196,167,92,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.navbar::after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:linear-gradient(90deg,var(--red) 0 33.3%,var(--gold) 33.3% 66.6%,var(--green) 66.6%)}.navbar-brand{display:flex;flex-direction:column;line-height:1.03;letter-spacing:.17em;color:var(--text)!important}.brand-top{font-size:.71rem;font-weight:700;color:var(--gold-light)}.brand-bottom{font-size:1.32rem;font-weight:850;letter-spacing:.13em}.navbar .nav-link{font-size:.76rem;text-transform:uppercase;font-weight:700;letter-spacing:.12em;color:#c1c7be;padding:.9rem .55rem!important}.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--gold-light)}.navbar-toggler{border:1px solid var(--line);padding:.45rem}.navbar-toggler-icon{filter:invert(1)}
/* 04 / HERO */
.hero{min-height:780px;min-height:100svh;position:relative;overflow:hidden;padding:calc(var(--nav-height) + 5rem) 0 6rem;background:radial-gradient(ellipse at 75% 42%,rgba(44,89,58,.21),transparent 47%),radial-gradient(ellipse at 17% 82%,rgba(111,44,37,.12),transparent 48%),linear-gradient(130deg,#101412,#19231c 62%,#101412)}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 76%,rgba(196,167,92,.025) 76% 76.15%,transparent 76.15%),repeating-linear-gradient(0deg,transparent 0 93px,rgba(255,255,255,.018) 94px 95px);pointer-events:none}.hero::after{content:"";position:absolute;right:-15vw;top:15%;width:65vw;height:65vw;max-width:850px;max-height:850px;border:1px solid rgba(196,167,92,.10);border-radius:50%;box-shadow:0 0 0 75px rgba(50,131,90,.018),0 0 0 150px rgba(196,167,92,.018);pointer-events:none}.hero-grid{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(to bottom,var(--red) 0 33%,var(--gold) 33% 66%,var(--green) 66%)}.hero-content{z-index:1}.eyebrow,.section-kicker,.panel-label,.small-caps{font-size:.72rem;letter-spacing:.23em;font-weight:750;color:var(--gold);text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:2rem}.accent-line{display:inline-block;width:38px;height:1px;background:var(--red)}.hero h1{font-size:clamp(4rem,11vw,10rem);line-height:.91;letter-spacing:-.075em;font-weight:850;margin-bottom:2.2rem}.hero h1 em{font-style:normal;color:var(--gold-light)}.hero-period{color:var(--red)}.tricolor-rule,.footer-stripes{display:flex;width:180px;height:3px;gap:4px}.tricolor-rule span,.footer-stripes span{flex:1}.tricolor-rule span:nth-child(1),.footer-stripes span:nth-child(1){background:var(--red)}.tricolor-rule span:nth-child(2),.footer-stripes span:nth-child(2){background:var(--gold)}.tricolor-rule span:nth-child(3),.footer-stripes span:nth-child(3){background:var(--green)}.hero-lead{font-size:clamp(1.45rem,3vw,2.2rem);font-weight:650;margin:2rem 0 .5rem}.hero-copy{color:var(--muted);max-width:530px;font-size:1.05rem}.hero-side-label{position:absolute;right:2rem;bottom:4rem;writing-mode:vertical-rl;letter-spacing:.28em;color:rgba(196,167,92,.5);font-size:.7rem}.btn{border-radius:0;padding:.95rem 1.6rem;font-weight:750;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#101412;border:1px solid var(--gold)}.btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light);color:#101412}.btn-outline-light-custom{border:1px solid rgba(230,209,154,.45);color:var(--text)}.btn-outline-light-custom:hover{border-color:var(--gold);background:rgba(196,167,92,.1);color:var(--gold-light)}
/* 05 / SHARED SECTION STYLES */
.section-pad{padding:110px 0;position:relative}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-kicker{margin-bottom:1.1rem}.section-heading h2{margin:0}.section-intro{color:var(--muted);max-width:300px;font-size:.96rem;margin:0 0 .3rem}.accent-divider{height:1px;background:linear-gradient(90deg,var(--red) 0 33.333%,var(--gold) 33.333% 66.666%,var(--green) 66.666% 100%);margin-bottom:2.6rem}.short-rule{width:90px;height:2px;background:linear-gradient(90deg,var(--red) 0 33%,var(--gold) 33% 66%,var(--green) 66%);margin:1.6rem 0 2rem}.text-link{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light)}.text-link:hover{color:white}.text-link span{margin-left:.3rem}
/* 06 / EVENTS */
.section-events{background:var(--bg-2)}.event-empty{display:flex;align-items:center;gap:2rem;padding:2.5rem;border:1px solid var(--line);border-left:2px solid var(--green);background:linear-gradient(120deg,rgba(50,131,90,.07),rgba(196,167,92,.025))}.event-symbol{font-size:3.5rem;color:var(--gold);line-height:1}.event-empty h3{font-size:1.5rem;font-weight:750;margin-bottom:.5rem}.event-empty p{margin:0;color:var(--muted);max-width:520px}.event-empty .text-link{margin-left:auto;white-space:nowrap}
/* 07 / RADIO */
.section-radio{background:var(--bg)}.feature-panel{border:1px solid var(--line);background:linear-gradient(145deg,#1d2820,#141b17);padding:clamp(2rem,4vw,3.3rem);position:relative;overflow:hidden}.feature-panel::before{content:"";position:absolute;top:0;left:0;width:90px;height:2px;background:var(--red)}.feature-panel-alt{background:linear-gradient(145deg,#25251c,#171d18)}.feature-panel-alt::before{background:var(--green)}.feature-panel h3{font-size:clamp(2rem,4vw,3.4rem);font-weight:800;letter-spacing:-.05em;margin:1.6rem 0}.feature-panel>p:not(.panel-label):not(.feature-time){color:var(--muted)}.feature-time{color:var(--gold-light);font-weight:800;letter-spacing:.14em;font-size:.85rem}.frequency-row{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line-white);padding:.7rem 0;font-weight:700;color:var(--gold-light)}.frequency-row span{font-size:.85rem;color:var(--muted);font-weight:400;text-align:right}.radio-decoration{height:80px;display:flex;align-items:center;gap:8px;margin-top:3.5rem;opacity:.65}.radio-decoration span{display:block;width:5px;background:var(--green);height:20px}.radio-decoration span:nth-child(2),.radio-decoration span:nth-child(8){height:36px}.radio-decoration span:nth-child(3),.radio-decoration span:nth-child(7){height:58px;background:var(--gold)}.radio-decoration span:nth-child(4),.radio-decoration span:nth-child(6){height:43px}.radio-decoration span:nth-child(5){height:76px;background:var(--red)}
/* 08 / NEWS */
#news{background:var(--bg-2)}.placeholder-panel{border:1px solid var(--line-white);padding:3.5rem;position:relative;background:radial-gradient(circle at 100% 0,rgba(166,58,59,.10),transparent 55%),var(--bg-3)}.placeholder-panel::after{content:"";position:absolute;right:0;top:0;height:80px;width:1px;background:var(--red)}.small-caps{color:var(--green-light)}.placeholder-panel h3{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:750;margin:1rem 0}.placeholder-panel p{color:var(--muted);margin:0}
/* 09 / COMMUNITY */
.section-community{background:#121a15;border-top:1px solid rgba(50,131,90,.15);border-bottom:1px solid rgba(50,131,90,.15)}.community-copy,.contact-copy{max-width:490px;color:var(--muted);font-size:1.08rem}.community-art{height:360px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle,rgba(50,131,90,.11),transparent 65%);border:1px solid var(--line)}.community-art::before,.community-art::after{content:"";position:absolute;left:0;right:0;height:1px}.community-art::before{top:25px;background:linear-gradient(90deg,var(--red),transparent)}.community-art::after{bottom:25px;background:linear-gradient(90deg,transparent,var(--green))}.art-ring{position:absolute;border-radius:50%;border:1px solid}.art-ring-one{width:260px;height:260px;border-color:rgba(196,167,92,.28)}.art-ring-two{width:320px;height:320px;border-color:rgba(50,131,90,.25)}.art-ring-three{width:200px;height:200px;border-color:rgba(166,58,59,.24)}.community-art>span{position:relative;z-index:1;font-size:4rem;font-weight:900;letter-spacing:-.08em;line-height:.9;text-align:center;color:var(--gold-light)}
/* 10 / CONTACT */
.section-contact{background:var(--bg)}.contact-card{border:1px solid var(--line);padding:2.5rem;background:var(--bg-3)}.contact-card h3{font-size:2rem;font-weight:750;margin:1.2rem 0}.contact-card p:not(.panel-label){color:var(--muted)}.contact-note{border-top:1px solid var(--line-white);margin-top:2rem;padding-top:1rem;color:var(--green-light);font-size:.78rem;text-transform:uppercase;letter-spacing:.13em}
/* 11 / FOOTER */
.site-footer{background:#0b100d;border-top:1px solid var(--line)}.footer-stripes{width:100%;height:2px;gap:0}.footer-brand{font-size:.87rem;letter-spacing:.12em;font-weight:650}.footer-brand strong{color:var(--gold-light)}.footer-brand small{display:block;font-size:.7rem;letter-spacing:.07em;color:var(--muted);font-weight:400;margin-top:.3rem}.footer-right{font-size:.75rem;color:var(--muted)}.footer-right a{color:var(--gold-light)}
/* 12 / RESPONSIVE */
@media(max-width:991.98px){:root{--nav-height:75px}.navbar-collapse{padding:1rem 0 1.4rem}.navbar .nav-link{padding:.6rem 0!important;border-bottom:1px solid var(--line-white)}.hero{min-height:740px}.section-pad{padding:85px 0}.section-heading{align-items:start;flex-direction:column;gap:1rem}.section-intro{max-width:520px}.event-empty{flex-wrap:wrap}.event-empty .text-link{margin-left:0}.hero::after{right:-50vw;width:100vw;height:100vw}}@media(max-width:575.98px){.hero{min-height:690px;padding-top:150px}.hero h1{font-size:clamp(3.45rem,14vw,5.3rem)}.hero-lead{font-size:1.5rem}.section-pad{padding:70px 0}.event-empty{padding:1.5rem;gap:1rem}.event-symbol{font-size:2.5rem}.frequency-row{display:block}.frequency-row span{display:block;text-align:left}.placeholder-panel,.contact-card{padding:1.8rem}.community-art{height:290px}.community-art>span{font-size:3.2rem}.art-ring-one{width:210px;height:210px}.art-ring-two{width:270px;height:270px}.art-ring-three{width:160px;height:160px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* 13 / EVENT SUBMISSION MODAL */
.event-modal .modal-dialog{max-width:790px}.event-modal .modal-content{color:var(--text);background:#151c17;border:1px solid rgba(196,167,92,.5);border-radius:3px;box-shadow:0 24px 85px rgba(0,0,0,.7)}.event-modal .modal-content::before{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--red) 0 33.33%,var(--gold) 33.33% 66.66%,var(--green) 66.66%)}.event-modal .modal-header{align-items:start;padding:2rem 2rem 1.3rem;border-bottom:1px solid var(--line)}.event-modal .modal-title{font-size:clamp(1.9rem,4vw,2.9rem);letter-spacing:-.04em}.event-modal .modal-title em{font-style:normal;color:var(--gold-light)}.event-modal .modal-kicker{font-size:.68rem;letter-spacing:.18em;color:var(--green-light);font-weight:800}.event-modal .modal-body{padding:1.5rem 2rem 2rem}.event-modal .modal-intro{color:var(--muted);margin-bottom:1.8rem}.event-modal .form-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.075em;font-weight:700;color:var(--gold-light);margin-bottom:.45rem}.event-modal .form-control{background:#0f1511;color:var(--text);border:1px solid rgba(196,167,92,.26);border-radius:2px;min-height:44px;color-scheme:dark}.event-modal textarea.form-control{min-height:115px}.event-modal .form-control:focus{background:#101812;color:var(--text);border-color:var(--gold);box-shadow:0 0 0 .15rem rgba(196,167,92,.18)}.event-modal .form-control::placeholder{color:#869387}.event-modal .form-text{color:var(--muted)}.event-modal .form-control::file-selector-button{background:#273329;color:var(--gold-light);border:0;border-right:1px solid var(--line);padding:.6rem 1rem;margin-right:1rem}.event-modal .submission-status{font-size:.85rem;color:var(--gold-light);border-left:2px solid var(--gold);padding:.7rem 1rem;background:rgba(196,167,92,.07)}.event-modal .modal-actions{display:flex;gap:1rem;flex-wrap:wrap}.event-modal .btn-close{opacity:.8}.modal-backdrop.show{opacity:.8}@media(max-width:575.98px){.event-modal .modal-header{padding:1.4rem 1.2rem 1rem}.event-modal .modal-body{padding:1.2rem}.event-modal .modal-actions .btn{flex:1}}

/* 14 / STACKED EVENT LIST PREVIEW */
.event-list{display:grid;gap:13px}.event-listing{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr) 150px;gap:25px;align-items:center;padding:25px 28px;background:linear-gradient(110deg,#1c251e,#151c18);border:1px solid rgba(196,167,92,.22);border-left:2px solid var(--green);transition:border-color .2s ease,background .2s ease}.event-listing:nth-child(2){border-left-color:var(--gold)}.event-listing:nth-child(3){border-left-color:var(--red)}.event-listing:hover{border-color:rgba(196,167,92,.6);background:#202b22}.event-date{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:104px;background:#101713;border:1px solid rgba(196,167,92,.3);border-top:2px solid var(--gold)}.event-month{font-size:.73rem;letter-spacing:.22em;color:var(--green-light);font-weight:800}.event-date strong{font-size:2.7rem;line-height:1.15;color:var(--gold-light);font-weight:800}.event-meta{font-size:.68rem;letter-spacing:.18em;color:var(--green-light);font-weight:800;margin:0 0 7px}.event-details h3{font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.035em;font-weight:800;margin:0 0 8px}.event-place{font-size:.91rem;color:var(--gold-light);font-weight:650;margin:0 0 5px}.event-description{color:var(--muted);font-size:.87rem;margin:0}.event-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;align-self:stretch}.event-demo{font-size:.62rem;letter-spacing:.12em;color:#aab4a7;border:1px solid var(--line);padding:5px 9px;white-space:nowrap}.event-arrow{font-size:1.8rem;color:var(--gold);opacity:.75}.event-disclaimer{color:var(--muted);font-size:.76rem;margin:18px 0 0}@media(max-width:767.98px){.event-listing{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:17px}.event-date{min-height:85px}.event-date strong{font-size:2.2rem}.event-side{grid-column:2;align-items:flex-start;gap:0}.event-arrow{display:none}.event-details h3{font-size:1.5rem}.event-description{font-size:.83rem}}

/* 15 / CLICKABLE EVENTS AND DETAILS MODAL */
.interactive-event{cursor:pointer}.interactive-event:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.interactive-event:hover .event-arrow,.interactive-event:focus-visible .event-arrow{opacity:1;transform:translate(3px,-3px)}.event-arrow{transition:transform .2s ease,opacity .2s ease}.flyer-preview{min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:2.5rem 1rem;border:1px solid var(--line);background:radial-gradient(ellipse at center,rgba(50,131,90,.18),transparent 65%),linear-gradient(145deg,#1b281e,#101512);position:relative;overflow:hidden}.flyer-preview:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red) 0 33%,var(--gold) 33% 66%,var(--green) 66%)}.flyer-preview span,.detail-label{color:var(--green-light);font-size:.7rem;letter-spacing:.16em;font-weight:800}.flyer-preview strong{font-size:clamp(1.8rem,5vw,3rem);line-height:1.1;color:var(--gold-light);max-width:80%}.flyer-preview small{color:var(--muted)}.event-flyer-image{display:block;width:100%;height:auto;object-fit:contain}.event-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.event-info-grid>div{border-bottom:1px solid var(--line);padding-bottom:10px}.event-info-grid p{color:var(--text);margin:6px 0 0}.detail-description{margin-top:1.6rem}.detail-description p{color:var(--muted);margin:8px 0 0}@media(max-width:575.98px){.event-info-grid{grid-template-columns:1fr}.flyer-preview{min-height:220px}}

/* Radio listings: compact two-column counterparts to upcoming event cards */
.radio-listing{appearance:none;display:flex;align-items:center;gap:18px;min-height:164px;padding:22px;background:linear-gradient(110deg,#1c251e,#151c18);border:1px solid rgba(196,167,92,.22);border-left:2px solid var(--green);color:var(--text);font:inherit;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.radio-list .col-lg-6:nth-child(3n + 1) .radio-listing{border-left-color:var(--green)}
.radio-list .col-lg-6:nth-child(3n + 2) .radio-listing{border-left-color:var(--gold)}
.radio-list .col-lg-6:nth-child(3n) .radio-listing{border-left-color:var(--red)}
.radio-listing:hover{border-color:rgba(196,167,92,.6);background:#202b22}
.radio-listing:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.radio-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 70px;min-height:88px;background:#101713;border:1px solid rgba(196,167,92,.3);border-top:2px solid var(--gold);font-size:2rem;color:var(--gold-light)}
.radio-summary{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.radio-name{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.15;letter-spacing:-.025em}
.radio-station{font-size:.87rem;color:var(--gold-light)}.radio-blurb{font-size:.82rem;color:var(--muted)}
.radio-listing .event-arrow{align-self:flex-start}
.radio-listing:hover .event-arrow,.radio-listing:focus-visible .event-arrow{opacity:1;transform:translate(3px,-3px)}
@media(max-width:575.98px){.radio-listing{padding:15px;gap:12px;min-height:140px}.radio-symbol{flex-basis:55px;min-height:72px}.radio-listing .event-arrow{display:none}}

/* Weekly radio schedule: compact three-letter day labels */
.radio-day{font-size:1.05rem;font-weight:800;letter-spacing:.08em;color:var(--gold-light)}

/* Hero domain: keep REGGAE .COM on one line, responsive across screen sizes. */
.hero-name-line{display:inline-flex;align-items:baseline;gap:.18em;white-space:nowrap;font-size:clamp(.48em,5.8vw,.88em)}
.hero-domain{font-size:.48em;letter-spacing:.065em;font-weight:850;color:var(--green-light)}
.hero-domain-dot{color:var(--red);margin-right:.03em}
@media(max-width:575.98px){.hero-name-line{font-size:clamp(.56em,8.4vw,.83em);gap:.13em}.hero-domain{font-size:.47em}}

/* Domain styling for compact navigation wordmark */
.brand-bottom{display:flex;align-items:baseline;gap:.25em;white-space:nowrap}
.brand-domain{font-size:.58em;letter-spacing:.07em;color:var(--green-light);font-weight:800}
.brand-domain-dot{color:var(--red)}

/* 19 / ENCLOSED HERO FRAME — inset from browser edges */
.hero {
  margin: calc(var(--nav-height) + 24px) 24px 24px;
  min-height: calc(100svh - var(--nav-height) - 48px);
  padding: clamp(4.5rem, 9vw, 7rem) 0;
  border: 2px solid transparent;
  border-radius: 12px;
  background:
    radial-gradient(ellipse at 75% 42%,rgba(44,89,58,.21),transparent 47%) padding-box,
    linear-gradient(130deg,#101412,#19231c 62%,#101412) padding-box,
    linear-gradient(125deg,var(--green) 0%,var(--green) 27%,var(--gold) 48%,var(--gold) 62%,var(--red) 85%) border-box;
}
.hero-grid,.hero-side-label { display:none; }
@media(max-width:767.98px) {
  .hero {
    margin: calc(var(--nav-height) + 12px) 12px 12px;
    min-height: calc(100svh - var(--nav-height) - 24px);
    padding: 4.5rem 0;
    border-radius: 9px;
  }
}

/* Prominent centered submission CTA above Upcoming Events */
.event-submit-cta{display:flex;justify-content:center;align-items:center;margin:0 auto 4rem;text-align:center}
.event-submit-button{padding:1.15rem 2.5rem;font-size:.88rem;box-shadow:0 0 0 1px rgba(196,167,92,.25),0 8px 30px rgba(0,0,0,.22)}
@media(max-width:575.98px){.event-submit-cta{margin-bottom:3rem}.event-submit-button{max-width:100%;width:min(100%,320px)}}
