:root{
      --blue:#082b61;
      --blue-2:#123f84;
      --blue-3:#1b56aa;
      --red:#c6232b;
      --orange:#e95c32;
      --gold:#dca447;
      --gold-light:#f5dda0;
      --cream:#fbf5e9;
      --paper:#fffdf8;
      --ink:#152033;
      --muted:#6b7180;
      --white:#fff;
      --green:#2d7962;
      --purple:#7049a6;
      --line:rgba(8,43,97,.13);
      --shadow:0 20px 60px rgba(28,31,39,.12);
      --shadow-lg:0 40px 110px rgba(15,25,43,.22);
      --container:1240px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--ink);
      background:var(--cream);
      line-height:1.55;
      overflow-x:hidden;
    }
    body.menu-open{overflow:hidden}
    a{text-decoration:none;color:inherit}
    button{font:inherit;cursor:pointer}
    img{display:block;max-width:100%}
    .container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}

    .grain::after{
      content:"";
      position:absolute;inset:0;pointer-events:none;opacity:.12;
      background-image:url("../images/grain.svg)' opacity='.22'/%3E%3C/svg%3E");
      mix-blend-mode:multiply;
    }

    .top-line{height:7px;background:linear-gradient(90deg,var(--blue),var(--gold),var(--red),var(--blue))}

    .header{
      position:fixed;inset:7px 0 auto;z-index:100;
      transition:.25s ease;
    }
    .header.scrolled{
      inset:0 0 auto;
      background:rgba(8,30,69,.9);
      backdrop-filter:blur(18px);
      box-shadow:0 10px 32px rgba(0,0,0,.16);
    }
    .nav{height:84px;display:flex;align-items:center;gap:24px;color:#fff}
    .brand{display:flex;align-items:center;flex-shrink:0}
    .brand-logo{display:block;height:44px;width:auto;object-fit:contain}
    .brand-copy{display:none}
    .nav-links{display:flex;align-items:center;gap:26px;margin-left:auto}
    .nav-links a{font-size:14px;font-weight:800;color:rgba(255,255,255,.86)}
    .nav-links a:hover{color:var(--gold-light)}
    .nav-actions{display:flex;gap:10px}
    .menu-toggle{display:none;width:45px;height:45px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.08);color:#fff;align-items:center;justify-content:center}

    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:none;border-radius:999px;font-weight:900;transition:.22s ease}
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;box-shadow:0 16px 34px rgba(198,35,43,.28)}
    .btn-light{background:#fff;color:var(--blue);box-shadow:0 14px 30px rgba(0,0,0,.14)}
    .btn-outline{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px)}
    .btn-cream{background:var(--cream);color:var(--blue)}

    .hero{
      min-height:100svh;
      position:relative;
      display:flex;
      align-items:center;
      color:#fff;
      background-image:
        linear-gradient(90deg,rgba(4,20,48,.94) 0%,rgba(5,27,63,.83) 35%,rgba(5,28,65,.38) 67%,rgba(3,20,48,.25) 100%),
        linear-gradient(180deg,rgba(4,20,48,.25),rgba(4,20,48,.54)),
        url("../images/hero-intro.webp");
      background-size:cover;
      background-position:center;
      overflow:hidden;
    }
    .hero::before{
      content:"";position:absolute;inset:0;pointer-events:none;
      background:
        radial-gradient(circle at 72% 20%,rgba(230,171,70,.24),transparent 28%),
        radial-gradient(circle at 10% 88%,rgba(198,35,43,.18),transparent 32%);
    }
    .hero-inner{position:relative;z-index:2;padding:130px 0 70px;display:grid;grid-template-columns:1.05fr .95fr;align-items:end;min-height:100svh;gap:50px}
    .hero-copy{align-self:center;max-width:780px}
    .kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
    .kicker i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(220,164,71,.16)}
    .hero h1{margin:22px 0 16px;font-size:clamp(50px,8vw,100px);line-height:.86;letter-spacing:-.07em;text-transform:uppercase;text-wrap:balance}
    .hero h1 span{display:block;color:var(--gold-light);font-style:italic;font-family:Georgia,"Times New Roman",serif;text-transform:none;font-size:.72em;letter-spacing:-.04em;margin:.08em 0}
    .hero-sub{max-width:680px;margin:0;font-size:19px;color:rgba(255,255,255,.82)}
    .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
    .hero-foot{display:flex;flex-wrap:wrap;gap:30px;margin-top:36px;color:rgba(255,255,255,.76);font-size:14px;font-weight:700}
    .hero-foot b{display:block;color:#fff;font-size:17px;margin-bottom:3px}

    .countdown-panel{align-self:end;justify-self:end;width:min(100%,520px);margin-bottom:462px;padding:28px;border-radius:30px;background:rgba(6,31,72,.72);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(16px);box-shadow:0 28px 80px rgba(0,0,0,.32)}
    .countdown-panel small{display:block;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light)}
    .countdown-panel h2{margin:9px 0 20px;font-size:28px;line-height:1.1}
    .countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
    .time-box{padding:17px 10px;border-radius:18px;text-align:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}
    .time-box strong{display:block;font-size:32px;line-height:1;color:#fff}
    .time-box span{display:block;margin-top:7px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.66)}
    .countdown-note{margin:16px 0 0;color:rgba(255,255,255,.72);font-size:13px}

    .scroll-cue{position:absolute;right:34px;bottom:34px;z-index:2;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.75);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl}
    .scroll-cue::after{content:"";width:1px;height:52px;background:linear-gradient(#fff,transparent)}

    .marquee{overflow:hidden;background:var(--gold);color:var(--blue);border-top:1px solid rgba(8,43,97,.12);border-bottom:1px solid rgba(8,43,97,.12)}
    .marquee-track{display:flex;width:max-content;animation:marquee 24s linear infinite}
    .marquee-item{display:flex;align-items:center;gap:28px;padding:17px 28px;font-weight:1000;font-size:15px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
    .marquee-item b{font-size:22px}
    @keyframes marquee{to{transform:translateX(-50%)}}

    .section{padding:110px 0;position:relative}
    .section.dark{background:var(--blue);color:#fff}
    .section.red{background:var(--red);color:#fff}
    .section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:48px}
    .section-head.center{max-width:820px;margin:0 auto 50px;text-align:center;display:block}
    .section-label{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:1000;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
    .dark .section-label,.red .section-label{color:var(--gold-light)}
    .section-label::before{content:"";width:34px;height:3px;background:currentColor;border-radius:999px}
    .section-title{margin:12px 0 0;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.06em;text-wrap:balance}
    .section-desc{margin:12px 0 0;max-width:650px;color:var(--muted);font-size:17px}
    .dark .section-desc,.red .section-desc{color:rgba(255,255,255,.75)}

    .intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
    .intro-art{position:relative;min-height:570px;border-radius:36px;overflow:hidden;background-image:linear-gradient(180deg,transparent 35%,rgba(3,24,57,.84)),url("../images/hero-intro.webp");background-size:cover;background-position:center;box-shadow:var(--shadow-lg)}
    .intro-art .quote{position:absolute;left:28px;right:28px;bottom:28px;padding:24px;border-radius:24px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);color:var(--ink)}
    .intro-art .quote strong{display:block;color:var(--blue);font-size:22px;margin-bottom:6px}
    .intro-art .quote p{margin:0;color:var(--muted)}
    .intro-copy h2{margin:14px 0;font-size:clamp(42px,5.5vw,70px);line-height:1;letter-spacing:-.055em;color:var(--blue)}
    .intro-copy p{color:var(--muted);font-size:18px}
    .intro-list{display:grid;gap:14px;margin-top:26px}
    .intro-item{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow)}
    .intro-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--blue-3));color:#fff;font-weight:1000}
    .intro-item strong{display:block;color:var(--blue);font-size:18px;margin-bottom:3px}
    .intro-item span{display:block;color:var(--muted);font-size:14px}

    .lineup{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.16)}
    .lineup-row{position:relative;display:grid;grid-template-columns:120px 1fr 190px 52px;gap:28px;align-items:center;padding:24px 12px;border-bottom:1px solid rgba(255,255,255,.16);transition:.25s ease;overflow:hidden}
    .lineup-row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(220,164,71,.15),transparent);transform:translateX(-102%);transition:.28s ease}
    .lineup-row:hover::before{transform:none}
    .lineup-no{position:relative;font-size:13px;font-weight:1000;color:var(--gold-light);letter-spacing:.12em}
    .lineup-name{position:relative;font-size:clamp(30px,4vw,54px);font-weight:1000;letter-spacing:-.04em}
    .lineup-glyph{position:relative;text-align:right;font-size:30px;color:var(--gold-light)}
    .lineup-arrow{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);font-size:22px;transition:.25s ease}
    .lineup-row:hover .lineup-arrow{background:var(--gold);color:var(--blue);transform:rotate(-35deg)}

    .schedule-shell{display:grid;grid-template-columns:250px 1fr;gap:46px}
    .schedule-tabs{display:grid;gap:10px;align-content:start}
    .schedule-tab{border:none;text-align:left;padding:17px 18px;border-radius:16px;background:transparent;color:#fff;font-weight:900;border:1px solid rgba(255,255,255,.14)}
    .schedule-tab span{display:block;margin-top:3px;color:rgba(255,255,255,.58);font-size:12px;font-weight:700}
    .schedule-tab.active{background:var(--gold);color:var(--blue);border-color:var(--gold)}
    .schedule-tab.active span{color:rgba(8,43,97,.7)}
    .schedule-list{display:grid;gap:14px}
    .schedule-entry{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;padding:24px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);transition:.2s ease}
    .schedule-entry:hover{background:rgba(255,255,255,.13);transform:translateX(5px)}
    .schedule-date{font-weight:1000;color:var(--gold-light);font-size:15px;text-transform:uppercase}
    .schedule-entry h3{margin:0;font-size:24px}
    .schedule-entry p{margin:4px 0 0;color:rgba(255,255,255,.65);font-size:14px}
    .schedule-status{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}

    .prize-grid{display:grid;grid-template-columns:1fr .88fr;gap:48px;align-items:center}
    .prize-copy h2{margin:15px 0 18px;font-size:clamp(54px,7vw,94px);line-height:.9;letter-spacing:-.07em}
    .prize-copy p{max-width:620px;color:rgba(255,255,255,.8);font-size:18px}
    .prize-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
    .trophy-card{position:relative;width:min(100%,620px);margin:0;justify-self:center;padding:18px;border-radius:38px;background:linear-gradient(145deg,#f5d77f,#d4971f);box-shadow:0 40px 90px rgba(0,0,0,.24);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}
    .trophy-card:hover{transform:translateY(-6px);box-shadow:0 48px 105px rgba(0,0,0,.3)}
    .trophy-visual{overflow:hidden;border-radius:27px;background:linear-gradient(145deg,#f8df95,#c98510)}
    .trophy-illustration{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center}
    .trophy-caption{margin-top:16px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#173f73,#082b61);color:#fff;text-align:center;font-size:clamp(18px,1.3vw,20px);font-weight:1000;line-height:1.16;box-shadow:0 14px 30px rgba(8,43,97,.24)}

    .gallery-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:280px 280px;gap:18px}
    .gallery-card{position:relative;overflow:hidden;border-radius:26px;transition:.25s ease}
    .gallery-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
    .gallery-card.large{grid-row:span 2;background-position:center}
    .gallery-card::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;transform:scale(1.02)}
    .gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,24,57,0) 28%,rgba(3,24,57,.34) 58%,rgba(3,24,57,.90) 100%);z-index:1}
    .gallery-card.large::before{background-image:url("../jawa-1.webp");background-position:center}
    .gallery-card:nth-child(2)::before{background-image:url("../bali-1.webp");background-position:center}
    .gallery-card:nth-child(3)::before{background-image:url("../bugis-1.webp");background-position:center}
    .gallery-card:nth-child(4)::before{background-image:url("../batak-1.webp");background-position:center}
    .gallery-card:nth-child(5)::before{background-image:url("../sunda-1.webp");background-position:center}
    .gallery-card:nth-child(6)::before{background-image:url("../rejang-1.webp");background-position:center 42%}
    .gallery-copy{position:absolute;left:22px;right:22px;bottom:20px;color:#fff;z-index: 2;}
    .gallery-copy small{font-size:11px;font-weight:1000;letter-spacing:.11em;text-transform:uppercase;color:var(--gold-light)}
    .gallery-copy h3{margin:7px 0 0;font-size:24px;line-height:1.1}
    .large .gallery-copy h3{font-size:38px}

    .newsletter{padding:110px 0}
    .newsletter-box{position:relative;overflow:hidden;border-radius:34px;padding:42px;background:var(--blue);color:#fff;box-shadow:var(--shadow-lg)}
    .newsletter-box::before{content:"";position:absolute;inset:0;opacity:.16;background:radial-gradient(circle at 14% 20%,rgba(220,164,71,.7),transparent 24%),linear-gradient(45deg,rgba(255,255,255,.1) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.1) 75%,transparent 75%,transparent);background-size:auto,44px 44px}
    .newsletter-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
    .newsletter h2{margin:0 0 10px;font-size:clamp(36px,5vw,60px);line-height:1;letter-spacing:-.05em}
    .newsletter p{margin:0;color:rgba(255,255,255,.74)}
    .newsletter-form{display:flex;gap:10px;min-width:430px}
    .newsletter-form input{flex:1;min-height:54px;border:none;border-radius:999px;padding:0 20px;background:rgba(255,255,255,.12);color:#fff;outline:none;border:1px solid rgba(255,255,255,.18)}
    .newsletter-form input::placeholder{color:rgba(255,255,255,.58)}

    .footer{padding:44px 0;background:#061d43;color:#fff}
    .footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
    .footer small{color:rgba(255,255,255,.6)}
    .footer-links{display:flex;gap:18px;flex-wrap:wrap;color:rgba(255,255,255,.75);font-weight:700;font-size:14px}

    .mobile-panel{display:none}
    .reveal{opacity:0;transform:translateY(24px);transition:.65s cubic-bezier(.2,.7,.2,1)}
    .reveal.show{opacity:1;transform:none}

    @media(max-width:1050px){
      .hero-inner,.intro-grid,.prize-grid,.newsletter-grid{grid-template-columns:1fr}
      .countdown-panel{justify-self:start;margin-bottom:0}
      .hero-inner{align-items:center;padding-bottom:80px}
      .schedule-shell{grid-template-columns:1fr}
      .schedule-tabs{grid-template-columns:repeat(4,1fr)}
      .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 260px 260px}
      .gallery-card.large{grid-column:span 2;grid-row:auto}
      .newsletter-form{min-width:0;width:100%}
      .scroll-cue{display:none}
    }
    @media(max-width:820px){
      .nav-links,.nav-actions{display:none}
      .menu-toggle{display:flex;margin-left:auto}
      .mobile-panel{position:fixed;inset:88px 16px auto;z-index:99;padding:16px;border-radius:22px;background:rgba(6,29,67,.98);box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.12)}
      .mobile-panel.open{display:block}
      .mobile-panel a{display:flex;align-items:center;min-height:48px;padding:0 14px;border-radius:13px;color:#fff;font-weight:800}
      .mobile-panel .mobile-cta{margin-top:8px;justify-content:center;background:linear-gradient(135deg,var(--red),var(--orange))}
      .lineup-row{grid-template-columns:70px 1fr auto}
      .lineup-glyph{display:none}
      .schedule-tabs{grid-template-columns:repeat(2,1fr)}
      .schedule-entry{grid-template-columns:1fr}
      .schedule-status{justify-self:start}
      .gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,320px)}
      .gallery-card.large{grid-column:auto}
    }
    @media(max-width:640px){
      .container{width:min(calc(100% - 24px),var(--container))}
      .section{padding:82px 0}
      .hero-inner{padding-top:125px}
      .brand-logo{height:36px}
      .hero h1{font-size:clamp(48px,16vw,78px)}
      .hero-sub{font-size:16px}
      .countdown{grid-template-columns:repeat(2,1fr)}
      .section-head{display:block}
      .section-title{font-size:clamp(38px,12vw,56px)}
      .intro-art{min-height:460px}
      .lineup-row{grid-template-columns:50px 1fr auto;padding:21px 4px;gap:14px}
      .lineup-name{font-size:30px}
      .schedule-tabs{grid-template-columns:1fr}
      .trophy-card{min-height:410px}
      .trophy-emoji{font-size:170px}
      .newsletter-box{padding:30px 22px}
      .newsletter-form{flex-direction:column}
      .newsletter-form .btn{width:100%}
    }

    .official-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.official-card {
  min-height: 236px;
  padding: 18px 22px 22px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(9, 44, 98, .11);
  box-shadow: 0 18px 48px rgba(25, 28, 34, .1);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.official-card:hover {
  transform: translateY(-5px);
  border-color: rgba(198, 35, 43, .22);
  box-shadow: 0 24px 58px rgba(25, 28, 34, .14);
}

.official-illustration {
  width: 100%;
  height: 152px;
  object-fit: contain;
  object-position: left center;
  margin: 0 0 10px;
  align-self: flex-start;
}

.official-card h3 {
  margin: 0;
  color: #092f69;
  font-size: 21px;
  line-height: 1.25;
}
    .official-card{padding:22px;border-radius:22px;background:#fff;border:1px solid rgba(9,44,98,.1);box-shadow:0 16px 42px rgba(25,28,34,.1)}
    .official-card .official-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin-bottom:15px;color:#fff;background:linear-gradient(135deg,#d82c32,#ef6538);font-size:20px;font-weight:1000}
    .official-card h3{margin:0;color:#092f69;font-size:20px}
    .official-card p{margin:7px 0 0;color:#6b7482;font-size:14px}
    .official-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
    .official-rule{display:flex;gap:14px;padding:20px;border-radius:20px;background:#fff;border:1px solid rgba(9,44,98,.1);box-shadow:0 15px 38px rgba(25,28,34,.08)}
    .official-rule b{width:43px;height:43px;flex:0 0 43px;border-radius:14px;display:grid;place-items:center;color:#fff;background:#0b326d;font-size:12px}
    .official-rule strong{display:block;color:#0b326d;margin-bottom:4px}
    .official-rule p{margin:0;color:#6b7482;font-size:14px}
    .criteria-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .criteria-item{display:flex;gap:12px;align-items:center;padding:15px 17px;border-radius:17px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13)}
    .criteria-item b{width:36px;height:36px;flex:0 0 36px;border-radius:12px;display:grid;place-items:center;background:#dfa645;color:#0a2f68}
    .criteria-item span{font-weight:800;color:#fff}
    .jury-official{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
    .jury-official-card{padding:25px;border-radius:24px;text-align:center;background:#fff;border:1px solid rgba(9,44,98,.1);box-shadow:0 17px 44px rgba(25,28,34,.1)}
    .jury-official-card .avatar{width:92px;height:92px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0b326d,#2359ac);color:#fff;font-weight:1000;font-size:27px}
    .jury-official-card h3{margin:0;color:#0b326d}
    .jury-official-card p{margin:6px 0 0;color:#6b7482}
    .prize-details{display:grid;gap:11px;margin-top:20px}
    .prize-detail{padding:16px 18px;border-radius:17px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}
    .prize-detail strong{display:block;margin-bottom:4px}
    .prize-detail span{color:rgba(255,255,255,.78);font-size:14px}
    @media(max-width:980px){
      .official-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .official-card {
        min-height: 245px;
      }

      .official-illustration {
        height: 165px;
      }
    
    .jury-official{grid-template-columns:1fr}
    .criteria-list{grid-template-columns:1fr}}
    @media(max-width:640px){
      .official-grid {
    grid-template-columns: 1fr;
  }

  .official-card {
    min-height: 230px;
    padding: 16px 20px 20px;
  }

  .official-illustration {
    height: 150px;
  }

  .official-card h3 {
    font-size: 20px;
  }
      
      .official-rules{grid-template-columns:1fr}}


    /* Tambahan yang diminta: Sunda, Rejang, dan Contact Person */
    .gallery-grid{grid-template-rows:280px 280px 280px}
    .gallery-card.large{grid-row:span 3}
    .gallery-card:nth-child(5){background-position:20% 76%}
    .gallery-card:nth-child(6){grid-column:2 / span 2;background-position:66% 62%}
    .contact-section{padding:0 0 110px}
    .contact-box{position:relative;overflow:hidden;border-radius:34px;padding:42px;background:linear-gradient(135deg,#082f68,#174d96);color:#fff;box-shadow:var(--shadow-lg)}
    .contact-box::before{content:"";position:absolute;inset:0;opacity:.16;background:radial-gradient(circle at 14% 20%,rgba(220,164,71,.7),transparent 24%),linear-gradient(45deg,rgba(255,255,255,.1) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.1) 75%,transparent 75%,transparent);background-size:auto,44px 44px}
    .contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:center}
    .contact-box h2{margin:10px 0 10px;font-size:clamp(36px,5vw,58px);line-height:1;letter-spacing:-.05em}
    .contact-box p{margin:0;color:rgba(255,255,255,.74)}
    .contact-list{display:grid;gap:10px}
    .contact-item{padding:15px 17px;border-radius:17px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)}
    .contact-item small{display:block;color:var(--gold-light);font-size:10px;font-weight:1000;text-transform:uppercase;letter-spacing:.11em}
    .contact-item strong{display:block;margin-top:4px;font-size:17px}
    @media(max-width:1000px){
      .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 260px 260px 260px}
      .gallery-card.large{grid-column:span 2;grid-row:auto}
      .gallery-card:nth-child(6){grid-column:span 2}
      .contact-grid{grid-template-columns:1fr}
    }
    @media(max-width:640px){
      .gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(6,320px)}
      .gallery-card.large,.gallery-card:nth-child(6){grid-column:auto;grid-row:auto}
      .contact-box{padding:30px 22px}
    }
