  :root{
    --ink:#0A0E14;
    --panel:#141A24;
    --panel-2:#1B2230;
    --line: rgba(255,255,255,0.09);
    --paper:#EEF0F2;
    --paper-2:#E3E6EA;
    --text-dark:#0A0E14;
    --muted:#69707C;
    --muted-light:rgba(238,240,242,0.62);
    --red:#E0241C;
    --red-dark:#A5170F;
    --red-glow: rgba(224,36,28,0.35);
  }

  *{ box-sizing:border-box; }

  html{ scroll-behavior:smooth; }

  body{
    background:var(--paper);
    color:var(--text-dark);
    font-family:'Inter', sans-serif;
    overflow-x:hidden;
  }

  h1,h2,h3,h4,.font-display{
    font-family:'Fraunces', serif;
    letter-spacing:-0.01em;
  }

  .font-mono{
    font-family:'IBM Plex Mono', monospace;
    letter-spacing:.04em;
  }

  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:.72rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:500;
  }

  a{ text-decoration:none; }

  ::selection{ background:var(--red); color:#fff; }

  /* ============ TICKER ============ */
  .ticker-bar{
    background:var(--ink);
    color:var(--paper);
    border-bottom:1px solid var(--line);
    height:38px;
    display:flex;
    align-items:center;
    overflow:hidden;
    position:relative;
    z-index:1050;
  }
  .ticker-tag{
    background:var(--red);
    color:#fff;
    font-family:'IBM Plex Mono', monospace;
    font-size:.68rem;
    font-weight:600;
    letter-spacing:.12em;
    padding:.28rem .75rem;
    height:100%;
    display:flex;
    align-items:center;
    flex-shrink:0;
    z-index:2;
  }
  .ticker-tag .dot{
    width:6px; height:6px; border-radius:50%; background:#fff;
    margin-right:6px; animation:pulse 1.4s infinite;
  }
  .ticker-track-wrap{ overflow:hidden; flex:1; height:100%; display:flex; align-items:center; }
  .ticker-track{
    display:flex;
    white-space:nowrap;
    animation: ticker 32s linear infinite;
    font-family:'IBM Plex Mono', monospace;
    font-size:.74rem;
    letter-spacing:.02em;
    color:var(--muted-light);
  }
  .ticker-track span{ padding-right:3.5rem; }
  .ticker-track span b{ color:#fff; font-weight:600; }
  @keyframes ticker{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  @keyframes pulse{
    0%,100%{ opacity:1; } 50%{ opacity:.25; }
  }

  /* ============ NAVBAR ============ */
  .navbar-broadcast{
    background:rgba(10,14,20,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    padding:.9rem 0;
    transition:padding .25s ease, box-shadow .25s ease;
    top:0;
    z-index:1040;
  }
  .navbar-broadcast.scrolled{
    padding:.5rem 0;
    box-shadow:0 8px 24px rgba(0,0,0,0.35);
  }
  .navbar-broadcast .navbar-brand{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:1.35rem;
    color:#fff;
    line-height:1;
  }
  .navbar-broadcast .navbar-brand small{
    display:block;
    font-family:'IBM Plex Mono', monospace;
    font-size:.6rem;
    color:var(--red);
    letter-spacing:.2em;
    font-weight:600;
    margin-top:2px;
  }
  .navbar-broadcast .nav-link{
    color:var(--muted-light);
    font-size:.85rem;
    font-weight:500;
    letter-spacing:.02em;
    margin:0 .65rem;
    padding:.4rem 0 !important;
    position:relative;
    transition:color .2s;
  }
  .navbar-broadcast .nav-link:hover,
  .navbar-broadcast .nav-link.active{ color:#fff; }
  .navbar-broadcast .nav-link::after{
    content:'';
    position:absolute; left:0; bottom:0;
    width:0; height:2px; background:var(--red);
    transition:width .25s ease;
  }
  .navbar-broadcast .nav-link:hover::after,
  .navbar-broadcast .nav-link.active::after{ width:100%; }
  .btn-live{
    background:var(--red);
    color:#fff;
    font-family:'IBM Plex Mono', monospace;
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.1em;
    padding:.5rem 1.1rem;
    border-radius:2px;
    border:none;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
  }
  .btn-live:hover{ background:var(--red-dark); color:#fff; }

  /* ============ HERO ============ */
  .hero{
    background:
      radial-gradient(ellipse 900px 500px at 78% 18%, rgba(224,36,28,0.16), transparent 60%),
      linear-gradient(180deg, var(--ink) 0%, #0D1219 100%);
    color:#fff;
    padding-top:3rem;
    padding-bottom:0;
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(180deg, transparent, #000 20%, #000 70%, transparent);
    pointer-events:none;
  }
  /* ============ HERO CAROUSEL ============ */
  .hero-carousel{ position:relative; }
  .hero-carousel .carousel-inner{ overflow:visible; }
  .hero-carousel .carousel-item{
    transition:opacity 1s ease;
  }
  .hero-carousel .carousel-item .row{ min-height:440px; }
  @media (max-width:991.98px){
    .hero-carousel .carousel-item .row{ min-height:0; }
  }
  #heroCarousel .carousel-indicators{
    position:relative;
    justify-content:flex-start;
    margin:2.5rem 0 0;
    gap:.6rem;
  }
  #heroCarousel .carousel-indicators [data-bs-target]{
    width:8px;
    height:8px;
    border-radius:50%;
    border:none;
    background:rgba(255,255,255,0.25);
    opacity:1;
    text-indent:-9999px;
    transition:all .25s ease;
  }
  #heroCarousel .carousel-indicators [data-bs-target].active{
    background:var(--red);
    width:26px;
    border-radius:5px;
  }
  @media (max-width:991.98px){
    #heroCarousel .carousel-indicators{ justify-content:center; margin-top:1.75rem; }
  }

  .hero-inner{ position:relative; z-index:2; }
  .on-air{
    display:inline-flex; align-items:center; gap:.5rem;
    background:rgba(224,36,28,0.12);
    border:1px solid rgba(224,36,28,0.4);
    color:#ff5b52;
    font-family:'IBM Plex Mono', monospace;
    font-size:.72rem; font-weight:600; letter-spacing:.14em;
    padding:.35rem .8rem; border-radius:2px;
  }
  .on-air .dot{
    width:7px; height:7px; border-radius:50%; background:var(--red);
    box-shadow:0 0 0 0 var(--red-glow);
    animation:ping 1.6s infinite;
  }
  @keyframes ping{
    0%{ box-shadow:0 0 0 0 var(--red-glow); }
    70%{ box-shadow:0 0 0 9px rgba(224,36,28,0); }
    100%{ box-shadow:0 0 0 0 rgba(224,36,28,0); }
  }

  .hero-name{
    font-size:clamp(2.8rem, 6vw, 5.2rem);
    font-weight:700;
    line-height:0.98;
    margin:1rem 0 0;
    opacity:0;
    animation: riseIn .8s ease forwards .15s;
  }
  .hero-role{
    font-size:clamp(1.05rem, 2vw, 1.3rem);
    color:var(--muted-light);
    font-weight:400;
    margin-top:1rem;
    max-width:560px;
    opacity:0;
    animation: riseIn .8s ease forwards .35s;
  }
  @keyframes riseIn{
    from{ opacity:0; transform:translateY(16px); }
    to{ opacity:1; transform:translateY(0); }
  }

  /* Lower-third signature element */
  .lower-third{
    position:relative;
    display:inline-block;
    margin-top:1.75rem;
    opacity:0;
    animation: riseIn .8s ease forwards .55s;
  }
  .lower-third-bar{
    background:var(--red);
    color:#fff;
    font-family:'IBM Plex Mono', monospace;
    font-size:.78rem;
    font-weight:600;
    letter-spacing:.08em;
    padding:.55rem 1.1rem;
    display:flex;
    align-items:center;
    gap:.6rem;
    clip-path:polygon(0 0, 100% 0, 96% 100%, 0% 100%);
  }
  .lower-third-sub{
    background:rgba(255,255,255,0.06);
    border-left:2px solid var(--red);
    color:var(--muted-light);
    font-family:'IBM Plex Mono', monospace;
    font-size:.72rem;
    padding:.4rem 1.1rem .4rem 1rem;
  }

  .hero-cta{ opacity:0; animation: riseIn .8s ease forwards .75s; }

  .hero-portrait-wrap{
    position:relative;
    opacity:0;
    animation: riseIn 1s ease forwards .3s;
  }
  .hero-portrait{
    position:relative;
    border-radius:4px;
    overflow:hidden;
    aspect-ratio:4/5;
    background:linear-gradient(160deg,#232B3A,#151A22);
    border:1px solid var(--line);
  }
  .hero-portrait img{ width:100%; height:100%; object-fit:cover; }
  .hero-frame-tag{
    position:absolute; bottom:1rem; left:1rem;
    background:rgba(10,14,20,0.85);
    backdrop-filter:blur(6px);
    border:1px solid var(--line);
    padding:.6rem .85rem;
    border-radius:3px;
    display:flex; align-items:center; gap:.6rem;
  }
  .hero-frame-tag .dot{ width:8px; height:8px; border-radius:50%; background:var(--red); animation:pulse 1.4s infinite; }

  .stat-strip{
    background:var(--panel);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin-top:4.5rem;
  }
  .stat-item{
    padding:1.6rem 1rem;
    border-right:1px solid var(--line);
  }
  .stat-item:last-child{ border-right:none; }
  .stat-num{
    font-family:'Fraunces', serif;
    font-size:2rem;
    font-weight:600;
    color:#fff;
  }
  .stat-label{
    font-family:'IBM Plex Mono', monospace;
    font-size:.68rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--muted-light);
  }

  /* ============ SECTION GENERIC ============ */
  section{ padding:6rem 0; }
  .section-head{ margin-bottom:3rem; }
  .section-head .eyebrow{ color:var(--red); }
  .section-head .eyebrow::before{
    content:'—'; margin-right:.5rem; color:var(--red);
  }
  .section-title{
    font-size:clamp(1.9rem, 3.2vw, 2.7rem);
    font-weight:600;
    margin-top:.6rem;
  }
  .section-dark{ background:var(--ink); color:#fff; }
  .section-dark .text-muted-dark{ color:var(--muted-light) !important; }

  /* ============ TORN PAPER DIVIDER ============ */
  .torn-divider{
    background:var(--paper);
    line-height:0;
    position:relative;
    z-index:3;
  }
  .torn-divider svg{
    display:block;
    width:100%;
    height:46px;
  }
  @media (max-width:767.98px){
    .torn-divider svg{ height:26px; }
  }

  /* ============ ABOUT ============ */
  .about-portrait{
    position:relative;
    border-radius:4px;
    overflow:hidden;
    aspect-ratio:3/4;
  }
  .about-portrait img{ width:100%; height:100%; object-fit:cover; }
  .about-portrait::after{
    content:'';
    position:absolute; inset:0;
    border:10px solid var(--paper);
    outline:1px solid var(--paper-2);
    pointer-events:none;
  }
  .about-portrait-tag{
    position:absolute; top:1.1rem; right:-.6rem;
    background:var(--red); color:#fff;
    font-family:'IBM Plex Mono', monospace;
    font-size:.66rem; font-weight:600; letter-spacing:.1em;
    padding:.5rem .8rem;
    box-shadow:0 6px 16px rgba(224,36,28,.35);
  }
  .lede{
    font-family:'Fraunces', serif;
    font-size:1.35rem;
    font-weight:500;
    line-height:1.5;
    color:var(--text-dark);
  }
  .body-copy{ color:var(--muted); line-height:1.85; font-size:.98rem; }

  /* ============ TIMELINE (career - chronological, legitimate sequence) ============ */
  .timeline{ position:relative; padding-left:2.2rem; }
  .timeline::before{
    content:''; position:absolute; left:6px; top:6px; bottom:6px; width:1px;
    background:linear-gradient(var(--red), var(--paper-2));
  }
  .timeline-item{ position:relative; padding-bottom:2.6rem; }
  .timeline-item:last-child{ padding-bottom:0; }
  .timeline-item::before{
    content:''; position:absolute; left:-2.2rem; top:.35rem;
    width:13px; height:13px; border-radius:50%;
    background:var(--paper); border:2px solid var(--red);
  }
  .timeline-year{
    font-family:'IBM Plex Mono', monospace;
    font-size:.72rem; font-weight:600; letter-spacing:.1em;
    color:var(--red);
  }
  .timeline-role{ font-family:'Fraunces', serif; font-size:1.2rem; font-weight:600; margin-top:.2rem; }
  .timeline-org{ color:var(--muted); font-size:.9rem; margin-top:.15rem; }

  /* ============ MEDIA HOUSES ============ */
  .logo-strip{ background:var(--paper-2); border-radius:4px; }
  .logo-chip{
    background:var(--paper);
    border:1px solid rgba(0,0,0,0.06);
    border-radius:3px;
    height:92px;
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:1.15rem;
    color:var(--text-dark);
    transition:all .25s ease;
  }
  .logo-chip:hover{ border-color:var(--red); color:var(--red); transform:translateY(-3px); }

  /* ============ GALLERY ============ */
  .gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:3px;
    cursor:pointer;
    aspect-ratio:1/1;
  }
  .gallery-item img{
    width:100%; height:100%; object-fit:cover;
    transition:transform .5s ease;
  }
  .gallery-item:hover img{ transform:scale(1.08); }
  .gallery-overlay{
    position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 40%, rgba(10,14,20,0.85));
    display:flex; align-items:flex-end;
    padding:.9rem;
    opacity:0; transition:opacity .3s ease;
  }
  .gallery-item:hover .gallery-overlay{ opacity:1; }
  .gallery-overlay span{
    color:#fff; font-family:'IBM Plex Mono', monospace; font-size:.72rem; letter-spacing:.06em;
  }

  /* ============ ARTICLES ============ */
  .article-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:4px;
    overflow:hidden;
    height:100%;
    transition:border-color .25s ease, transform .25s ease;
  }
  .article-card:hover{ border-color:var(--red); transform:translateY(-4px); }
  .article-card .article-img{ aspect-ratio:16/10; overflow:hidden; }
  .article-card .article-img img{ width:100%; height:100%; object-fit:cover; }
  .article-card .p-body{ padding:1.4rem; }
  .article-cat{ color:var(--red); font-family:'IBM Plex Mono', monospace; font-size:.65rem; letter-spacing:.12em; }
  .article-title{ font-family:'Fraunces', serif; font-size:1.15rem; font-weight:600; margin-top:.5rem; color:#fff; }
  .article-title a{ color:inherit; }
  .article-title a:hover{ color:var(--red); }
  .article-meta{ color:var(--muted-light); font-family:'IBM Plex Mono', monospace; font-size:.68rem; margin-top:.9rem; }

  /* ============ CONTACT ============ */
  .contact-panel{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:6px;
    padding:2.5rem;
  }

  .video-section{
    background:linear-gradient(180deg, #0A0E14 0%, #0F141C 100%);
    color:#fff;
    padding:6rem 0 5rem;
  }
  .video-card{
    background:rgba(255,255,255,0.04);
    border:1px solid var(--line);
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 20px 40px rgba(0,0,0,0.18);
  }
  .video-frame{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    background:#000;
  }
  .video-frame iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
  }
  .video-copy{
    padding:1.5rem 1.5rem 1.8rem;
  }
  .form-control-broadcast{
    background:var(--ink);
    border:1px solid var(--line);
    color:#fff;
    padding:.75rem .9rem;
    border-radius:3px;
    font-size:.9rem;
  }
  .form-control-broadcast:focus{
    background:var(--ink);
    color:#fff;
    border-color:var(--red);
    box-shadow:0 0 0 .2rem rgba(224,36,28,.18);
  }
  .form-control-broadcast::placeholder{ color:var(--muted-light); }
  .contact-info-item{
    display:flex; gap:1rem; align-items:flex-start;
    padding:1.1rem 0;
    border-bottom:1px solid var(--line);
  }
  .contact-info-item:last-child{ border-bottom:none; }
  .contact-icon{
    width:38px; height:38px; border-radius:50%;
    background:rgba(224,36,28,0.12);
    border:1px solid rgba(224,36,28,.35);
    display:flex; align-items:center; justify-content:center;
    color:var(--red); flex-shrink:0;
  }

  /* ============ FOOTER ============ */
  footer{ background:#080B10; color:var(--muted-light); border-top:1px solid var(--line); }
  footer .footer-brand{ font-family:'Fraunces', serif; color:#fff; font-weight:700; font-size:1.3rem; }
  footer h6{
    font-family:'IBM Plex Mono', monospace;
    font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
    color:#fff; margin-bottom:1.1rem;
  }
  footer a.footer-link{ color:var(--muted-light); font-size:.88rem; display:block; margin-bottom:.6rem; transition:color .2s; }
  footer a.footer-link:hover{ color:var(--red); }
  .social-chip{
    width:38px; height:38px; border-radius:50%;
    border:1px solid var(--line);
    display:inline-flex; align-items:center; justify-content:center;
    color:#fff; margin-right:.5rem; transition:all .2s ease;
  }
  .social-chip:hover{ background:var(--red); border-color:var(--red); color:#fff; }

  .btn-outline-broadcast{
    border:1px solid rgba(255,255,255,.25);
    color:#fff;
    font-family:'IBM Plex Mono', monospace;
    font-size:.75rem; font-weight:600; letter-spacing:.08em;
    padding:.65rem 1.3rem; border-radius:2px;
    transition:all .2s ease;
  }
  .btn-outline-broadcast:hover{ border-color:#fff; background:rgba(255,255,255,.06); color:#fff; }

  /* ============ BACK TO TOP ============ */
  .back-to-top{
    position:fixed;
    right:1.5rem;
    bottom:1.5rem;
    width:48px;
    height:48px;
    border-radius:50%;
    background:var(--red);
    color:#fff;
    border:none;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.2rem;
    box-shadow:0 8px 20px rgba(224,36,28,0.4);
    z-index:1030;
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:opacity .3s ease, transform .3s ease, background .2s ease, visibility .3s;
    cursor:pointer;
  }
  .back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .back-to-top:hover{
    background:var(--red-dark);
  }
  @media (max-width:575.98px){
    .back-to-top{
      right:1rem;
      bottom:1rem;
      width:42px;
      height:42px;
      font-size:1.05rem;
    }
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  }

  @media (max-width: 767.98px){
    section{ padding:4rem 0; }
    .stat-item{ border-right:none; border-bottom:1px solid var(--line); }
    .stat-item:last-child{ border-bottom:none; }
  }

  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
    outline:2px solid var(--red); outline-offset:2px;
  }
