/* ===== FIJI FOREVER TRIBUTE brand layer (2026-10-22) =====
   Loaded last. Re-skins the live One Love site (root-live-copy5) in the Canva "Fiji Forever Tribute" poster look:
   tropical sunset (orange/gold sky, deep sun glow), silhouetted crowd + palms, hibiscus red, palm green, warm cream
   headings with a thick dark outline, deep night brown instead of black, rasta red/gold/green brush stripes kept.
   Structure, sections, animations and the pre-register behaviour are untouched; only colours, type, imagery and copy. */

/* League Spartan Black (Google Fonts, OFL), self-hosted static 900 instance: every weight request maps to the black
   cut, so the existing font-weight:400 headings (written for Archivo Black) render chunky like the poster */
@font-face{font-family:'OL Spartan';src:url(../fonts/league-spartan-900.woff2) format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}

:root{
  --night:#1f0e08;--night-2:#33150a;--ember:#c9431a;--sunset:#ef7a2a;--amber:#f7a23a;--gold:#f7b52c;
  --red:#d7261e;--green:#1f8a46;--cream:#fddea9;--paper:#fff4e2;--paper-2:#fffaf1;
  --ink:#1f0e08;--orange:#ef7a2a;
  --fb:'OL Spartan','Archivo Black','Archivo',sans-serif;
  --fj-outline:.11em;
}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--sunset);color:var(--night)}
h1,h2,h3{letter-spacing:0}

/* ---------- header: cream on the sunset, solid night brown once scrolled ---------- */
.hdr-logo img{height:44px;width:auto;aspect-ratio:480/132;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.hdr:not(.scrolled) .hdr-links a,.hdr:not(.scrolled) .socials a{color:var(--cream);text-shadow:0 1px 2px rgba(31,14,8,.8)}
.hdr:not(.scrolled) .burger i{background:var(--cream);box-shadow:0 1px 2px rgba(31,14,8,.6)}
.hdr:not(.scrolled) .hdr-links .nav-soon span{color:var(--cream)}
.hdr.scrolled{background:var(--night)}
.hdr-links a::after{background:var(--sunset)}
.hdr-links .nav-soon em{background:var(--sunset);color:var(--night)}
@media(max-width:1000px){
  .hdr.scrolled{background:var(--night)}
  .hdr-links{background:radial-gradient(90% 60% at 50% 100%,rgba(255,196,90,.55),rgba(255,196,90,0) 70%),linear-gradient(180deg,#2a1009 0%,#7a2a10 38%,#d9581f 72%,#f39a36 100%)}
  .hdr-links a,.hdr:not(.scrolled) .hdr-links a{color:var(--cream)!important;text-shadow:0 2px 0 var(--night)}
  .hdr-links .nav-soon span,.hdr:not(.scrolled) .hdr-links .nav-soon span{color:var(--cream)}
}
@media(max-width:520px){.hdr-logo img{height:40px}}

/* ---------- buttons ---------- */
.btn{background:var(--night)}
.btn-gold{background:var(--gold);color:var(--night)}
.btn-chunky{border-color:var(--night);box-shadow:5px 5px 0 var(--night)}
.btn-chunky:hover{box-shadow:8px 8px 0 var(--night)}
.btn-gold.btn-chunky:hover{background:#ffc94a}
.toast{background:var(--night);border-color:var(--sunset);box-shadow:5px 5px 0 var(--sunset)}
.kicker{color:var(--red)}

/* ======================= HERO: the poster sunset ======================= */
.fj-hero{color:var(--cream);background:var(--night)}
.fj-hero .he-water-l,.fj-hero .he-sky,.fj-hero .he-sun-l,.fj-hero .he-rays-l{display:none}
.fj-hero .fj-sunset{position:absolute;inset:0;z-index:-6;overflow:hidden;pointer-events:none}
.fj-hero .fj-sunset::before{content:"";position:absolute;inset:-3%;background:url(../images/fiji/sunset-bg2.webp) 50% 47%/cover no-repeat;
  animation:fj-breathe 30s ease-in-out infinite alternate;will-change:transform}
/* darker top (header legibility) and a warm-to-night fall-off at the bottom (text + countdown legibility) */
.fj-hero .fj-sunset::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(31,14,8,.62) 0%,rgba(31,14,8,.18) 16%,rgba(31,14,8,0) 34%,rgba(60,20,6,.08) 55%,rgba(31,14,8,.55) 78%,rgba(31,14,8,.86) 100%),
    radial-gradient(70% 40% at 50% 62%,rgba(255,170,60,.28),rgba(255,170,60,0) 70%)}
.fj-hero .fj-flare{position:absolute;left:50%;top:58%;width:min(90vw,1100px);height:auto;max-width:none;translate:-50% -50%;z-index:-3;pointer-events:none;
  mix-blend-mode:screen;opacity:.75;animation:fj-flare 8s ease-in-out infinite}
@keyframes fj-breathe{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes fj-flare{0%,100%{opacity:.6;scale:1}50%{opacity:.9;scale:1.06}}
/* round 2: the poster's own palms, crowd and hibiscus replace the generic palm PNGs */
.fj-hero .he-palms{display:none}
/* the poster crowd with raised hands along the bottom of the hero (Sheldon's Canva export, cropped, top edge faded) */
.fj-hero .fj-crowd{position:absolute;left:0;right:0;bottom:40px;height:clamp(200px,34%,400px);z-index:1;pointer-events:none;
  background:url(../images/fiji/crowd-band.webp) 50% 0/cover no-repeat}
.fj-hero .fj-crowd::after{content:"";position:absolute;inset:auto 0 -40px 0;height:45%;background:linear-gradient(180deg,rgba(14,6,3,0),rgba(14,6,3,.85))}
/* hibiscus + palm-frond corners (keyed out of the same export): hero bottom, the tribute section and the footer */
.fj-fl{position:absolute;bottom:0;z-index:2;height:auto;max-width:none;pointer-events:none;transform-origin:50% 100%;animation:fj-sway 9s ease-in-out infinite}
.fj-fl-l{left:0;width:clamp(120px,19vw,300px)}
.fj-fl-r{right:0;width:clamp(120px,19vw,300px);animation-delay:-4s}
.fj-hero .fj-fl{bottom:40px;z-index:4}
@keyframes fj-sway{0%,100%{rotate:0deg}50%{rotate:1.2deg}}
@media(prefers-reduced-motion:reduce){.fj-fl{animation:none}}
/* the poster's group artwork, exactly as arranged in Canva (George centre, everyone in poster order) */
.fj-hero .hm-stage{height:auto;width:max(560px,min(1080px,calc(100% + 32px),calc((100svh - 480px) * 2.14)));margin-top:0}
.fj-hero .fj-group{position:relative;z-index:2;display:block;width:100%;height:auto;animation:fj-group-in 1.2s cubic-bezier(.22,1,.36,1) .15s both;
  filter:drop-shadow(0 0 1.5px rgba(255,230,190,.55)) drop-shadow(0 18px 22px rgba(31,14,8,.5))}
.fj-hero .hm-ground{display:none}
@keyframes fj-group-in{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:none}}
.fj-hero .he-logo-p{position:relative;z-index:5}
.fj-hero .he-bird{color:rgba(31,14,8,.85)}
.fj-hero .he-grain{opacity:.12}
.fj-hero .he-dust i{background:radial-gradient(circle,rgba(255,236,190,.95),rgba(255,190,90,0) 70%)}
/* the torn daytime crowd band is retired: the poster's own silhouetted crowd + palms carry the bottom of the hero */
.fj-hero .he-band-l{display:none}
/* artists: warm glow instead of the yellow halo, ground glow sits into the sunset */
.fj-hero .hm-halo{background:radial-gradient(closest-side,rgba(255,214,140,.55),rgba(255,150,60,.22) 50%,rgba(255,120,40,0) 100%)}
.fj-hero .hm-ground{background:radial-gradient(50% 50% at 50% 50%,rgba(255,170,80,.55),rgba(220,90,30,.3) 45%,rgba(120,40,10,0) 100%)}
.fj-hero .hm-bob{filter:drop-shadow(0 0 1.5px rgba(255,230,190,.9)) drop-shadow(0 14px 16px rgba(31,14,8,.45))}
.fj-hero .hm-back .hm-bob{filter:drop-shadow(0 0 1.5px rgba(255,230,190,.85)) drop-shadow(0 12px 14px rgba(31,14,8,.4)) brightness(.96)}
.fj-hero .hm-centre .hm-bob{filter:drop-shadow(0 0 2px #ffe6b8) drop-shadow(0 0 22px rgba(255,160,60,.7)) drop-shadow(0 16px 20px rgba(31,14,8,.45)) brightness(1.03)}
.fj-hero .hm-group .hm-bob{filter:drop-shadow(0 0 1.5px rgba(255,230,190,.85)) drop-shadow(0 12px 14px rgba(31,14,8,.4))}
/* honour banner, as the top line of the poster */
.fj-hero .he-honor{background:rgba(31,14,8,.84);color:var(--cream);box-shadow:3px 3px 0 var(--red);border:2px solid rgba(253,222,169,.25)}
.fj-hero .he-honor span{color:var(--gold)}
/* new logo: no pillar fade any more, it has its own brush stripes */
.fj-hero .he-logo{-webkit-mask-image:none;mask-image:none;filter:drop-shadow(0 18px 22px rgba(31,14,8,.55));margin-bottom:calc(var(--lw) * -.02)}
.fj-hero .he-logo-p{margin-top:calc(var(--lw) * -.19)}
/* FIJI FOREVER TRIBUTE: cream with a thick night outline + offset shadow (poster type) */
.fj-hero .he-h1{font-size:clamp(1.9rem,4vw,3.3rem);line-height:.95;margin-top:2px;color:var(--cream);-webkit-text-stroke:var(--fj-outline) var(--night);paint-order:stroke fill;
  text-shadow:.05em .07em 0 var(--night)}
.fj-hero .he-h1 span{color:var(--cream);-webkit-text-stroke:var(--fj-outline) var(--night);text-shadow:.05em .07em 0 var(--night)}
.fj-hero .he-sub{color:var(--cream);margin-top:10px}
.fj-hero .he-sub b{color:var(--cream);font-size:1.25em;-webkit-text-stroke:.1em var(--night);paint-order:stroke fill;text-shadow:.05em .07em 0 var(--night)}
.fj-hero .he-sub sup{font-size:.55em;vertical-align:.7em;line-height:0}
.fj-hero .he-where{display:inline-block;margin-top:8px;background:var(--night);color:var(--cream);padding:5px 14px;border-radius:99px;font-size:.6em;letter-spacing:.08em;
  box-shadow:0 0 0 2px rgba(253,222,169,.25)}
.fj-hero .he-cdl{color:var(--cream);text-shadow:0 2px 0 var(--night),0 0 12px rgba(31,14,8,.8)}
.fj-hero .he-cdl b{background:var(--night);color:var(--gold);text-shadow:none;box-shadow:0 0 0 2px rgba(253,222,169,.25)}
.fj-hero .he-cd-u{background:var(--night);border-color:#120804;color:var(--cream);box-shadow:3px 3px 0 var(--red)}
.fj-hero .he-cd b{color:var(--gold)}
.fj-hero .he-live{color:var(--cream)}
/* marquee */
.fj-hero .he-mq{background:var(--night);border-top-color:#120804}
.fj-hero .he-mq span{color:var(--cream)}
.fj-hero .he-mq span i{background:var(--red);box-shadow:16px 0 0 var(--gold),32px 0 0 var(--green)}
.hm-sticky{background:var(--night)}
@media(max-width:760px){
  .fj-hero .fj-sunset::before{background-position:50% 30%}
  .fj-hero .fj-flare{top:52%;width:150vw}
  .fj-hero .he-h1 span{display:inline}
  .fj-hero .he-h1{font-size:clamp(1.5rem,7.4vw,2.1rem)}
}
@media(max-width:700px){
  .fj-hero .he-logo-p{margin-top:calc(var(--lw) * -.07)}
  .fj-hero{min-height:100svh}
  .fj-hero .he-in{gap:0}
  .fj-hero .he-h1{margin-top:0}
  .fj-hero .he-sub{font-size:.9rem;margin-top:6px}
  .fj-hero .he-where{margin-top:5px}
  .fj-hero .he-honor{box-shadow:2px 2px 0 var(--red)}
}
@media(prefers-reduced-motion:reduce){.fj-hero .fj-sunset::before,.fj-hero .fj-flare{animation:none}}
.v-hero-e.fx-paused .fj-sunset::before,.v-hero-e.fx-paused .fj-flare{animation-play-state:paused}

/* ======================= LINEUP (George tribute): the original live layout + wording, only the colours move to the
   brown / sunset palette (Sheldon round 2: "keep it the same as it was but maybe the brown colour is fine") ======================= */
.v-lineup-a{--ol:var(--night)}
.v-lineup-a .la-sec{
  background:radial-gradient(70% 30% at 50% 100%,rgba(247,140,50,.42),rgba(247,140,50,0) 70%),
    radial-gradient(55% 38% at 50% 30%,rgba(255,170,60,.26),rgba(255,170,60,0) 70%),
    linear-gradient(180deg,#160904 0%,#1f0e08 34%,#33150a 66%,#5c2210 88%,#7a2e12 100%)}
.v-lineup-a .la-rays{background:repeating-conic-gradient(from 0deg,rgba(255,190,100,.12) 0deg 5deg,rgba(255,190,100,0) 5deg 12deg)}
.v-lineup-a .la-george::before{background:radial-gradient(closest-side,rgba(255,170,60,.6),rgba(239,122,42,.22) 55%,rgba(239,122,42,0) 100%)}
.v-lineup-a .la-desc{background:var(--paper);color:var(--night)}
/* hibiscus + palm corners from the poster, low in the section */
.v-lineup-a .la-sec .fj-fl{z-index:0}
.v-lineup-a .la-in{z-index:1}

/* ======================= TICKETS: full sunset ======================= */
.v-tickets-a{background:radial-gradient(60% 34% at 50% 0,rgba(255,236,170,.75),rgba(255,236,170,0) 70%),linear-gradient(180deg,#f7b52c 0%,#f39a36 30%,#ef7a2a 62%,#d9581f 100%)}
.v-tickets-a .ta-kicker{color:var(--night)}
.v-tickets-a .ta-h{color:var(--cream);-webkit-text-stroke:.08em var(--night);text-shadow:.04em .06em 0 var(--night),.06em .09em 0 var(--night)}
.v-tickets-a .ta-h span{color:var(--red)}
.v-tickets-a .ta-when{background:var(--night);color:var(--gold);box-shadow:5px 5px 0 var(--cream)}
.v-tickets-a .lede{color:var(--night)}
.v-tickets-a .ta-early{background:var(--paper);border-color:var(--night);box-shadow:4px 4px 0 var(--night)}
.v-tickets-a .ta-pre{background:var(--red);color:var(--cream)}
.v-tickets-a .ta-end .btn{background:var(--night);color:var(--gold)}
.v-tickets-a .ta-zone{border-color:var(--night);box-shadow:8px 8px 0 var(--night)}
.v-tickets-a .ta-zone.in:hover{box-shadow:14px 14px 0 var(--night)}
.v-tickets-a .ta-u18{background:var(--paper)}
.v-tickets-a .ta-ga{background:var(--green);color:var(--paper)}
.v-tickets-a .ta-vip{background:var(--red);color:var(--paper)}
.v-tickets-a .ta-vvip{background:var(--night);color:var(--gold)}
.v-tickets-a .ta-new{background:var(--night);color:var(--gold);border-color:var(--night)}

/* ======================= NEW CITY / FAMILY / FAQ: warm paper ======================= */
.v-city-a .ca-sec{background:linear-gradient(180deg,var(--paper) 0%,#ffeccc 100%)}
.v-city-a .ca-letter .ca-lead{color:var(--ember)}
.v-city-a .ca-list p{border-left-color:var(--gold)}
.v-faq-a{background:var(--paper-2)}
.v-faq-a details{border-bottom-color:var(--night)}

/* ======================= FOOTER: night, new logo, App Garage signature ======================= */
.v-footer-a{background:radial-gradient(60% 50% at 50% 0,rgba(201,67,26,.28),rgba(201,67,26,0) 70%),var(--night)}
.v-footer-a img.fj-flogo{height:auto;width:min(340px,72vw);aspect-ratio:1381/407}
.v-footer-a a:hover{color:var(--gold)}
.v-footer-a .fa-mail{color:var(--gold)}
.v-footer-a .fj-built{display:inline-flex;align-items:center;gap:10px;margin-top:10px;padding-top:22px;border-top:2px dashed rgba(253,222,169,.18);text-decoration:none;opacity:.85;transition:opacity .2s}
.v-footer-a .fj-built:hover{opacity:1}
.v-footer-a .fj-built span{font-family:var(--fb);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:rgba(253,222,169,.75)}
.v-footer-a .fj-built img{height:22px;width:auto;aspect-ratio:400/72}

/* round 2: footer flowers + phone sizes */
.v-footer-a{position:relative;overflow:hidden}
.v-footer-a .fa-in{position:relative;z-index:3}
.v-footer-a img.fj-fl{opacity:.9;height:auto;aspect-ratio:auto}
.v-footer-a img.fj-fl-l,.v-footer-a img.fj-fl-r{width:clamp(110px,15vw,240px)}
@media(max-width:700px){
  .fj-fl-l,.fj-fl-r{width:min(30vw,130px)}
  .fj-hero .hm-stage{width:calc(100% + 28px)}
  .fj-hero .fj-crowd{height:30%}
  .v-footer-a .fj-fl{opacity:.55}
}
