  :root{
    --hyrule-forest:#0C1F14;
    --forest-deep:#060F0A;
    --parchment:#EFE3C2;
    --parchment-dim:#D9CBA3;
    --triforce-gold:#C9A227;
    --gold-bright:#E8C158;
    --bronze:#5C4425;
    --twilight-blue:#3A6B78;
    --ember:#7A3B2E;
    --line:rgba(201,162,39,0.28);
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    background:
      radial-gradient(ellipse 80% 50% at 50% -10%, rgba(201,162,39,0.10), transparent),
      linear-gradient(180deg, var(--forest-deep) 0%, var(--hyrule-forest) 40%, var(--forest-deep) 100%);
    color:var(--parchment);
    font-family:'Spectral',serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

  a{color:inherit;}

  .wrap{max-width:1080px;margin:0 auto;padding:0 32px;}

  /* ---------- TOP RIBBON ---------- */
  .ribbon{
    border-bottom:1px solid var(--line);
    padding:14px 0;
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--parchment-dim);
    background:rgba(0,0,0,0.15);
  }
  .ribbon .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
  .ribbon .tag{color:var(--gold-bright);}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:110px 0 90px;
    overflow:hidden;
    text-align:center;
  }

  .emblem{
    width:86px;height:74px;margin:0 auto 30px;
    display:block;
    filter:drop-shadow(0 0 18px rgba(201,162,39,0.35));
    animation:glow 4.5s ease-in-out infinite;
  }
  @keyframes glow{
    0%,100%{filter:drop-shadow(0 0 10px rgba(201,162,39,0.25));}
    50%{filter:drop-shadow(0 0 22px rgba(232,193,88,0.5));}
  }

  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--twilight-blue);
    margin-bottom:22px;
  }
  .eyebrow::before,.eyebrow::after{content:"◆";color:var(--triforce-gold);margin:0 12px;font-size:9px;vertical-align:middle;}

  .hero h1{
    font-family:'Cinzel Decorative', 'Cinzel', serif;
    font-weight:900;
    font-size:clamp(38px, 6.4vw, 76px);
    line-height:1.06;
    color:var(--gold-bright);
    text-shadow:0 2px 24px rgba(201,162,39,0.25);
    letter-spacing:0.01em;
  }

  .hero .sub{
    font-family:'Cinzel',serif;
    font-weight:500;
    font-size:clamp(15px,2vw,19px);
    color:var(--parchment-dim);
    margin-top:22px;
    letter-spacing:0.04em;
  }

  .hero p.lede{
    max-width:560px;
    margin:26px auto 0;
    font-size:16px;
    color:var(--parchment-dim);
  }

  .hero-cta{
    margin-top:40px;
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .btn{
    font-family:'IBM Plex Mono',monospace;
    font-size:13px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    text-decoration:none;
    padding:14px 26px;
    border-radius:2px;
    border:1px solid var(--triforce-gold);
    transition:all .25s ease;
    display:inline-block;
  }
  .btn.primary{background:var(--triforce-gold);color:var(--forest-deep);font-weight:600;}
  .btn.primary:hover{background:var(--gold-bright);transform:translateY(-1px);}
  .btn.ghost{color:var(--parchment);}
  .btn.ghost:hover{border-color:var(--gold-bright);color:var(--gold-bright);}

  /* ---------- DIVIDER ---------- */
  .divider{
    display:flex;align-items:center;gap:18px;
    max-width:1080px;margin:0 auto;padding:0 32px;
  }
  .divider .rule{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);}
  .divider svg{flex-shrink:0;opacity:0.85;}

  /* ---------- SECTIONS ---------- */
  section.block{padding:80px 0;}
  .block-head{margin-bottom:44px;}
  .block-head .eyebrow{margin-bottom:14px;}
  .block-head h2{
    font-family:'Cinzel',serif;
    font-weight:700;
    font-size:clamp(26px,3vw,34px);
    color:var(--parchment);
  }
  .block-head p{color:var(--parchment-dim);max-width:580px;margin-top:10px;font-size:15px;}

  /* Chronicle / news list */
  .chronicle-list{display:flex;flex-direction:column;border-top:1px solid var(--line);}
  .chronicle-item{
    display:grid;
    grid-template-columns:48px 100px 1fr;
    align-items:start;
    gap:20px;
    padding:26px 0;
    border-bottom:1px solid var(--line);
  }
  .chronicle-icon{
    width:48px;height:48px;
    border:1px solid var(--line);
    border-radius:2px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(201,162,39,0.05);
    flex-shrink:0;
  }
  .chronicle-icon svg{width:22px;height:22px;}
  .chronicle-item .date{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;
    letter-spacing:0.06em;
    color:var(--twilight-blue);
    padding-top:4px;
  }
  .chronicle-item h3{
    font-family:'Cinzel',serif;
    font-size:18px;
    font-weight:600;
    color:var(--gold-bright);
    margin-bottom:8px;
  }
  .chronicle-item p{color:var(--parchment-dim);font-size:14.5px;}

  /* Cast grid */
  .cast-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .cast-card{
    background:var(--forest-deep);
    padding:30px 24px;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .cast-portrait{
    width:88px;height:88px;
    margin-bottom:18px;
  }
  .cast-card .character{
    font-family:'Cinzel',serif;
    font-weight:700;
    font-size:17px;
    color:var(--gold-bright);
    margin-bottom:4px;
  }
  .cast-card .actor{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;
    letter-spacing:0.04em;
    color:var(--parchment-dim);
    margin-bottom:14px;
  }
  .cast-card .role-note{
    font-size:13.5px;
    color:var(--parchment-dim);
    margin-bottom:16px;
    flex-grow:1;
  }
  .cast-card .cast-source{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--twilight-blue);
    text-decoration:underline;
    text-underline-offset:3px;
  }
  .cast-card .cast-source:hover{color:var(--gold-bright);}
  .cast-status{
    display:inline-block;
    font-family:'IBM Plex Mono',monospace;
    font-size:10px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:3px 9px;
    border-radius:10px;
    margin-bottom:14px;
    border:1px solid var(--line);
    color:var(--twilight-blue);
  }
  .cast-status.confirmed{color:var(--gold-bright);border-color:var(--triforce-gold);}

  /* About section */
  .about-text{
    max-width:720px;
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .about-text p{
    color:var(--parchment-dim);
    font-size:15.5px;
    line-height:1.75;
  }
  .about-text strong{color:var(--parchment);}

  /* FAQ accordion (native <details>, no JS required) */
  .faq-list{
    max-width:760px;
    border-top:1px solid var(--line);
  }
  .faq-item{
    border-bottom:1px solid var(--line);
  }
  .faq-item summary{
    cursor:pointer;
    padding:20px 0;
    font-family:'Cinzel',serif;
    font-weight:600;
    font-size:16px;
    color:var(--parchment);
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+";
    font-family:'IBM Plex Mono',monospace;
    color:var(--triforce-gold);
    font-size:20px;
    flex-shrink:0;
    transition:transform 0.2s ease;
  }
  .faq-item[open] summary::after{
    content:"−";
  }
  .faq-item summary:hover{color:var(--gold-bright);}
  .faq-item .faq-answer{
    padding:0 0 22px;
    color:var(--parchment-dim);
    font-size:14.5px;
    line-height:1.7;
    max-width:680px;
  }

  /* Status panel */
  .status-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .status-cell{
    background:var(--forest-deep);
    padding:32px 26px;
    text-align:center;
  }
  .status-cell .label{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--twilight-blue);
    margin-bottom:12px;
  }
  .status-cell .value{
    font-family:'Cinzel',serif;
    font-weight:700;
    font-size:20px;
    color:var(--parchment);
  }

  /* Signal / subscribe */
  .signal{
    background:linear-gradient(180deg, rgba(201,162,39,0.06), transparent);
    border:1px solid var(--line);
    padding:56px 40px;
    text-align:center;
    border-radius:2px;
  }
  .signal h2{
    font-family:'Cinzel',serif;
    font-size:26px;
    color:var(--gold-bright);
    margin-bottom:12px;
  }
  .signal p{color:var(--parchment-dim);max-width:460px;margin:0 auto 28px;font-size:15px;}
  .signal-form{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
    max-width:440px;
    margin:0 auto;
  }
  .signal-form input{
    flex:1;
    min-width:220px;
    background:rgba(0,0,0,0.25);
    border:1px solid var(--line);
    color:var(--parchment);
    padding:13px 16px;
    font-family:'Spectral',serif;
    font-size:14px;
    border-radius:2px;
  }
  .signal-form input::placeholder{color:var(--parchment-dim);opacity:0.6;}
  .signal-form input:focus{outline:2px solid var(--triforce-gold);outline-offset:1px;}
  .signal-note{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    color:var(--parchment-dim);
    opacity:0.7;
    margin-top:16px;
  }

  /* Disclosure */
  .disclosure{
    max-width:640px;
    margin:0 auto;
    text-align:center;
    font-size:14px;
    color:var(--parchment-dim);
    padding:0 32px;
  }
  .disclosure strong{color:var(--gold-bright);}

  footer{
    border-top:1px solid var(--line);
    padding:40px 0 50px;
    text-align:center;
    font-family:'IBM Plex Mono',monospace;
    font-size:11.5px;
    letter-spacing:0.05em;
    color:var(--parchment-dim);
    opacity:0.75;
  }
  footer a{text-decoration:underline;text-underline-offset:3px;}

  @media (max-width:640px){
    .status-grid{grid-template-columns:1fr;}
    .chronicle-item{grid-template-columns:1fr;gap:10px;}
    .chronicle-icon{display:none;}
    .cast-grid{grid-template-columns:repeat(2, 1fr);}
    .hero{padding:80px 0 60px;}
  }

  /* ---------- NAV BAR ---------- */
  nav.mainnav{
    border-bottom:1px solid var(--line);
    background:rgba(0,0,0,0.2);
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter:blur(6px);
  }
  nav.mainnav .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 32px;
    flex-wrap:wrap;
    gap:12px;
  }
  nav.mainnav .brand{
    font-family:'Cinzel',serif;
    font-weight:700;
    font-size:16px;
    color:var(--gold-bright);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:10px;
    letter-spacing:0.02em;
  }
  nav.mainnav .brand svg{width:22px;height:19px;flex-shrink:0;}
  nav.mainnav ul{
    list-style:none;
    display:flex;
    gap:28px;
    flex-wrap:wrap;
  }
  nav.mainnav a.navlink{
    font-family:'IBM Plex Mono',monospace;
    font-size:12.5px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    text-decoration:none;
    color:var(--parchment-dim);
    padding-bottom:4px;
    border-bottom:2px solid transparent;
    transition:color 0.2s ease, border-color 0.2s ease;
  }
  nav.mainnav a.navlink:hover{color:var(--gold-bright);}
  nav.mainnav a.navlink.active{color:var(--gold-bright);border-bottom-color:var(--triforce-gold);}

  @media (max-width:640px){
    nav.mainnav ul{gap:18px; width:100%; justify-content:center;}
  }
