/*
Theme Name: Royal Hillz International
Theme URI: https://royalhillzinternational.com
Author: Royal Hillz International
Author URI: https://royalhillzinternational.com
Description: Official theme for Royal Hillz International — Media, Events, Culture & Youth Empowerment. Est. 2019, London UK.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: royal-hillz
*/
:root{
  --gold:#C9A84C;--gold-light:#E8C96A;--gold-dim:rgba(201,168,76,.15);
  --onyx:#0D0D0D;--deep:#141414;--surface:#1C1C1C;--surface2:#242424;
  --ivory:#F5F0E8;--text:#F0EBE0;--muted:rgba(240,235,224,.5);
  --border:rgba(201,168,76,.2);--radius:4px;--radius-lg:12px;
  --display:'Bebas Neue',sans-serif;--serif:'Cormorant Garamond',serif;--body:'DM Sans',sans-serif;
  --ease:cubic-bezier(.25,.46,.45,.94);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--body);background:var(--onyx);color:var(--text);line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
.page{display:none}
.page.active{display:block}

/* GRAIN */
.grain{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.03;
background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 2rem;border-bottom:1px solid transparent;transition:.4s var(--ease)}
#nav.scrolled{background:rgba(13,13,13,.96);backdrop-filter:blur(20px);border-bottom-color:var(--border)}
.nav-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:2rem;height:80px}
.nav-logo{display:flex;align-items:center;gap:.75rem;cursor:pointer}
.logo-rhi{font-family:var(--display);font-size:2rem;color:var(--gold);letter-spacing:.05em;line-height:1}
.logo-full{font-family:var(--serif);font-size:.82rem;font-weight:300;color:var(--muted);letter-spacing:.08em;line-height:1.2;max-width:110px}
.nav-links{display:flex;align-items:center;gap:.25rem;margin-left:auto}
.nav-links button{font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.5rem .85rem;border-radius:var(--radius);transition:.3s var(--ease);position:relative;font-family:var(--body)}
.nav-links button::after{content:'';position:absolute;bottom:2px;left:50%;right:50%;height:1px;background:var(--gold);transition:.3s var(--ease)}
.nav-links button:hover,.nav-links button.active{color:var(--gold)}
.nav-links button:hover::after,.nav-links button.active::after{left:.85rem;right:.85rem}
.nav-cta{font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--onyx);background:var(--gold);padding:.6rem 1.5rem;border-radius:2px;transition:.3s var(--ease);cursor:pointer;border:none;font-family:var(--body)}
.nav-cta:hover{background:var(--gold-light)}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:28px;margin-left:auto}
.nav-toggle span{height:2px;background:var(--text);border-radius:2px;transition:.3s var(--ease)}

/* BTN */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--body);font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.75rem 2rem;border-radius:2px;border:1px solid transparent;transition:.3s var(--ease);cursor:pointer}
.btn-gold{background:var(--gold);color:var(--onyx);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,.3)}
.btn-outline{background:transparent;color:var(--text);border-color:rgba(240,235,224,.3)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn-lg{padding:1rem 2.5rem;font-size:.82rem}
.btn-sm{padding:.5rem 1.25rem;font-size:.72rem}
.btn-full{width:100%;justify-content:center}

/* LAYOUT */
.container{max-width:1300px;margin:0 auto;padding:0 2rem}
.section{padding:7rem 0}
.eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block}
.h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:300;line-height:1.05;margin-bottom:2rem;color:var(--text)}
.h2 em{font-style:italic;color:var(--gold)}
.sec-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem;gap:2rem}
.sec-hdr.ctr{flex-direction:column;align-items:center;text-align:center}
.bg-deep{background:var(--deep)}
.sep{opacity:.4}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}

/* PAGE HERO */
.page-hero{padding-top:80px;min-height:44vh;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0d0d0d 0%,#1a1208 50%,#0d0d0d 100%)}
.page-hero-bg::after{content:'';position:absolute;inset:0;opacity:.04;background-image:repeating-linear-gradient(45deg,transparent,transparent 80px,rgba(201,168,76,.5) 80px,rgba(201,168,76,.5) 81px)}
.page-hero-content{position:relative;z-index:2;padding:4rem 0 3.5rem}
.page-hero-content h1{font-family:var(--serif);font-size:clamp(3rem,7vw,6rem);font-weight:300;line-height:1.05;margin-bottom:1rem}
.page-hero-content h1 em{font-style:italic;color:var(--gold)}
.page-hero-content p{font-size:1.1rem;color:var(--muted);font-style:italic;font-family:var(--serif)}

/* RADIO PLAYER */
.radio-player{position:fixed;bottom:2rem;right:2rem;width:320px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;z-index:500;box-shadow:0 16px 48px rgba(0,0,0,.4);backdrop-filter:blur(10px);animation:slideUp .5s var(--ease)}
.radio-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.radio-title{font-family:var(--body);font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.radio-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:.3s var(--ease);border-radius:50%}
.radio-close:hover{color:var(--gold);background:rgba(201,168,76,.1)}
.radio-player-info{margin-bottom:1.5rem}
.radio-station{font-family:var(--serif);font-size:1.1rem;color:var(--text);margin-bottom:.25rem}
.radio-status{font-size:.75rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.radio-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}
.radio-btn{width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--onyx);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s var(--ease);font-weight:600;flex-shrink:0}
.radio-btn:hover{background:var(--gold-light);transform:scale(1.1)}
.radio-btn.loading{animation:spin 1s linear infinite}
.volume-control{flex:1;display:flex;align-items:center;gap:.75rem}
.volume-icon{font-size:.85rem;color:var(--muted)}
.volume-slider{flex:1;height:4px;background:rgba(201,168,76,.2);border-radius:2px;cursor:pointer;position:relative}
.volume-slider input{width:100%;height:100%;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent;border:none}
.volume-slider input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--gold);border-radius:50%;cursor:pointer}
.volume-slider input::-moz-range-thumb{width:12px;height:12px;background:var(--gold);border-radius:50%;cursor:pointer;border:none}
.radio-footer{font-size:.7rem;color:var(--muted);text-align:center;letter-spacing:.08em}
.radio-player.hidden{display:none}
@media(max-width:768px){.radio-player{width:280px;bottom:1.5rem;right:1.5rem;padding:1.25rem}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ======================== HOME ======================== */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:80px}
.hero-bg{position:absolute;inset:0}
.hero-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(201,168,76,.12) 0%,transparent 60%),radial-gradient(ellipse 40% 60% at 10% 80%,rgba(201,168,76,.06) 0%,transparent 50%),linear-gradient(135deg,#0D0D0D 0%,#1a1208 50%,#0D0D0D 100%)}
.hero-pattern{position:absolute;inset:0;opacity:.04;background-image:repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(201,168,76,.5) 60px,rgba(201,168,76,.5) 61px),repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(201,168,76,.5) 60px,rgba(201,168,76,.5) 61px)}
.hero-content{position:relative;z-index:2;padding:6rem 2rem;max-width:1300px;margin:0 auto;width:100%}
.hero-eyebrow{font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s .2s forwards}
.hero-title{font-family:var(--display);font-size:clamp(5rem,16vw,18rem);line-height:.88;letter-spacing:-.01em;display:flex;flex-direction:column;margin-bottom:2.5rem}
.hero-line{display:block;opacity:0;animation:fadeUp .8s forwards}
.l1{animation-delay:.3s}
.l2{color:var(--gold);animation-delay:.45s}
.l3{color:transparent;-webkit-text-stroke:1px var(--text);animation-delay:.6s}
.hero-sub{font-family:var(--serif);font-size:1.25rem;font-weight:300;font-style:italic;color:var(--muted);max-width:500px;margin-bottom:3rem;opacity:0;animation:fadeUp .8s .75s forwards}
.hero-actions{display:flex;gap:1rem;opacity:0;animation:fadeUp .8s .9s forwards}
.hero-scroll{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;z-index:2;opacity:0;animation:fadeUp 1s 1.2s forwards}
.hero-scroll span{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollPulse 2s ease-in-out infinite}
.hero-badge{position:absolute;right:4rem;bottom:4rem;z-index:2;width:130px;height:130px;display:flex;align-items:center;justify-content:center;opacity:0;animation:fadeUp 1s 1.4s forwards}
.badge-circle{position:absolute;inset:0;animation:rotateBadge 12s linear infinite}
.badge-circle text{font-size:13px;fill:var(--gold);letter-spacing:4px;font-family:var(--body);font-weight:500}
.badge-center{font-family:var(--display);font-size:1.8rem;color:var(--gold);letter-spacing:.1em;z-index:1}

/* MARQUEE */
.marquee-strip{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);padding:1.1rem 0}
.marquee-track{display:flex;gap:2rem;white-space:nowrap;animation:marquee 25s linear infinite;width:max-content}
.marquee-track span{font-family:var(--display);font-size:1.05rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.marquee-track .gs{color:var(--gold)}

/* ABOUT SNAP */
.about-snap-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:center}
.img-frame{position:relative;aspect-ratio:3/4;border-radius:var(--radius-lg);overflow:hidden}
.img-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a1208 0%,#2c1e00 40%,#1a1208 100%);display:flex;align-items:center;justify-content:center}
.img-placeholder::after{content:'RHI';font-family:var(--display);font-size:8rem;color:rgba(201,168,76,.15);letter-spacing:.2em}
.img-accent{position:absolute;inset:-16px -16px 16px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);pointer-events:none;z-index:-1}
.about-since{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--gold);color:var(--onyx);padding:1.25rem 1.5rem;border-radius:var(--radius);text-align:center}
.since-yr{display:block;font-family:var(--display);font-size:2.2rem;line-height:1}
.since-lb{display:block;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;margin-top:.25rem}
.stats-row{display:flex;gap:3rem;margin:2.5rem 0;padding:2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stat-num{display:block;font-family:var(--display);font-size:2.5rem;color:var(--gold);line-height:1}
.stat-lbl{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.svc{background:var(--surface);padding:3rem 2.5rem;transition:.3s var(--ease)}
.svc:hover{background:var(--surface2)}
.svc.feat{background:linear-gradient(135deg,#1f1500,#2a1c00)}
.svc-ico{width:52px;height:52px;color:var(--muted);margin-bottom:2rem;transition:.3s var(--ease)}
.svc:hover .svc-ico,.svc.feat .svc-ico{color:var(--gold)}
.svc h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;margin-bottom:1rem}
.svc p{font-size:.9rem;color:var(--muted);margin-bottom:2rem;line-height:1.7}
.svc-lnk{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}

/* EVENTS */
.events-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1.5rem}
.ev-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:380px;display:flex;align-items:flex-end;transition:.3s var(--ease)}
.ev-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.ev-card-bg{position:absolute;inset:0;transition:transform .6s ease}
.ev-card:hover .ev-card-bg{transform:scale(1.05)}
.bg-gold{background:linear-gradient(135deg,#2a1c00,#1f1500,#0d0a00)}
.bg-dark{background:linear-gradient(135deg,#0d0d1a,#14141f)}
.bg-warm{background:linear-gradient(135deg,#1a0d0d,#2a1414)}
.ev-card-content{position:relative;z-index:2;padding:2.5rem;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);width:100%}
.ev-tag{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid var(--border);padding:.3rem .75rem;border-radius:2px;display:inline-block;margin-bottom:1rem}
.ev-card h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin-bottom:.75rem}
.ev-card p{font-size:.85rem;color:var(--muted);margin-bottom:1.25rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ev-meta{font-size:.75rem;color:var(--muted);margin-bottom:1rem}
.ev-lnk{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}

/* AWARDS */
.awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.aw-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;text-align:center;transition:.3s var(--ease);background:var(--surface);position:relative;overflow:hidden}
.aw-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:.3s var(--ease)}
.aw-card:hover::before{opacity:1}
.aw-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.aw-yr{font-family:var(--display);font-size:3.5rem;color:rgba(201,168,76,.12);line-height:1;position:absolute;top:1rem;right:1.5rem}
.aw-ico{font-size:1.5rem;color:var(--gold);margin-bottom:1rem;display:block}
.aw-title{font-family:var(--serif);font-size:1.15rem;font-weight:400;margin-bottom:.5rem}
.aw-org{font-size:.78rem;color:var(--muted);line-height:1.5}

/* ARTISTS */
.artists-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.ar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:.3s var(--ease)}
.ar-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.ar-img{aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.ac1{background:linear-gradient(135deg,#2a1c00,#1a1208)}
.ac2{background:linear-gradient(135deg,#001a2a,#001220)}
.ac3{background:linear-gradient(135deg,#1a002a,#120020)}
.ac4{background:linear-gradient(135deg,#1a1a00,#121200)}
.ar-init{font-family:var(--display);font-size:5rem;color:rgba(201,168,76,.3)}
.ar-info{padding:2rem}
.ar-genre{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.ar-info h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;margin-bottom:.75rem}
.ar-info p{font-size:.85rem;color:var(--muted);margin-bottom:1.25rem;line-height:1.7}
.svc-lnk{cursor:pointer}

/* CTA BAND */
.cta-band{padding:8rem 0;background:linear-gradient(135deg,#1a1208,#0D0D0D,#1a1208);text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cta-inner{max-width:640px;margin:0 auto}
.cta-inner h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:300;margin-bottom:1.5rem}
.cta-inner h2 em{font-style:italic;color:var(--gold)}
.cta-inner p{font-size:1.05rem;color:var(--muted);margin-bottom:2.5rem;line-height:1.8}
.cta-acts{display:flex;gap:1rem;justify-content:center}

/* ======================== ABOUT ======================== */
.quote-block{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--gold);padding:3rem;border-radius:var(--radius-lg)}
.quote-block blockquote{font-family:var(--serif);font-size:1.5rem;font-weight:300;font-style:italic;line-height:1.5;margin-bottom:2rem}
.q-attr strong{display:block;font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--gold)}
.q-attr span{font-size:.8rem;color:var(--muted)}
.obj-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.obj-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem 2rem;text-align:center;transition:.3s var(--ease)}
.obj-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.obj-ico{font-size:2.5rem;margin-bottom:1.25rem;display:block}
.obj-card h3{font-family:var(--serif);font-size:1.2rem;font-weight:400;margin-bottom:.75rem}
.obj-card p{font-size:.85rem;color:var(--muted);line-height:1.7}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.team-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:.3s var(--ease)}
.team-card:hover{border-color:var(--gold)}
.team-av{height:200px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:5rem;color:rgba(201,168,76,.25)}
.tc1{background:linear-gradient(135deg,#2a1c00,#1a1208)}
.tc2{background:linear-gradient(135deg,#001a2a,#001220)}
.tc3{background:linear-gradient(135deg,#1a002a,#120020)}
.team-info{padding:2rem}
.team-info h3{font-family:var(--serif);font-size:1.25rem;font-weight:400;margin-bottom:.25rem}
.team-aka{font-style:italic;font-size:.85rem;color:var(--gold);margin-bottom:.5rem}
.team-role{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.team-info p{font-size:.85rem;color:var(--muted);line-height:1.7}

/* ======================== EVENTS ======================== */
.ev-list{display:flex;flex-direction:column}
.eli{display:grid;grid-template-columns:80px 1fr auto;gap:3rem;align-items:center;padding:3rem 0;border-bottom:1px solid var(--border);transition:.3s var(--ease)}
.eli:hover{padding-left:1rem}
.eli-num{font-family:var(--display);font-size:3rem;color:var(--gold);opacity:.4;line-height:1}
.eli-meta{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.eli-main h3{font-family:var(--serif);font-size:1.75rem;font-weight:400;margin-bottom:.75rem}
.eli-main h3 em{font-style:italic;color:var(--gold);font-size:1.2rem}
.eli-main p{font-size:.88rem;color:var(--muted);max-width:600px;line-height:1.7}
.hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.hl-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;text-align:center;background:var(--surface2)}
.hl-ico{font-size:2.5rem;margin-bottom:1rem;display:block}
.hl-card h4{font-family:var(--serif);font-size:1.2rem;font-weight:400;margin-bottom:.75rem}
.hl-card p{font-size:.85rem;color:var(--muted);line-height:1.7}

/* ======================== ARTISTS ======================== */
.ap{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem;align-items:center;padding:5rem 0;border-bottom:1px solid var(--border)}
.ap.rev{direction:rtl}
.ap.rev>*{direction:ltr}
.ap-vis{aspect-ratio:3/4;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(201,168,76,.1),rgba(201,168,76,.05))}
.ap-vis img{width:100%;height:100%;object-fit:cover}
.ap-init{font-family:var(--display);font-size:10rem;color:rgba(201,168,76,.2);position:absolute}
.ap-badge{position:absolute;bottom:2rem;left:2rem;background:var(--gold);color:var(--onyx);font-size:.68rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:.4rem 1rem;border-radius:2px}
.ap-info h2{font-family:var(--serif);font-size:3rem;font-weight:300;margin-bottom:.5rem}
.ap-aka{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.1rem;margin-bottom:1.5rem}
.ap-info>p{color:var(--muted);line-height:1.8;margin-bottom:2rem}
.ap-hl{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2.5rem}
.ap-hl li{font-size:.85rem;color:var(--muted);padding-left:1.5rem;position:relative}
.ap-hl li::before{content:'✦';color:var(--gold);position:absolute;left:0;font-size:.65rem;top:.1rem}
.join-cta{background:var(--deep);padding:5rem 0;text-align:center}

/* ======================== GALLERY ======================== */
.gal-filter{display:flex;gap:.5rem;margin-bottom:3rem;flex-wrap:wrap}
.gf-btn{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem 1.25rem;border:1px solid var(--border);border-radius:2px;color:var(--muted);background:transparent;cursor:pointer;transition:.3s var(--ease);font-family:var(--body)}
.gf-btn.active,.gf-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--onyx)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:1rem}
.gal-item{border-radius:var(--radius);overflow:hidden;cursor:pointer;position:relative}
.gal-item.tall{grid-row:span 2}
.gal-item.wide{grid-column:span 2}
.gal-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .6s ease}
.gal-item:hover .gal-bg{transform:scale(1.05)}
.gal-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gal-item:hover .gal-bg img{transform:scale(1.05)}
.gal-item:hover .gal-bg{transform:none}
.gal-ov{position:absolute;inset:0;background:rgba(0,0,0,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transition:.3s var(--ease);text-align:center}
.gal-item:hover .gal-ov{opacity:1}
.gal-ov p{font-size:.85rem;color:var(--text);margin-bottom:.5rem}
.gal-cat-badge{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}

/* ======================== BLOG ======================== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.bl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:.3s var(--ease)}
.bl-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.bl-card.feat{grid-column:span 3;display:grid;grid-template-columns:1fr 1fr}
.bl-img{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative}
.bl-img img{width:100%;height:100%;object-fit:cover}
.bl-card.feat .bl-img{aspect-ratio:auto;min-height:260px}
.bc1{background:linear-gradient(135deg,#2a1c00,#1a1208)}
.bc2{background:linear-gradient(135deg,#001a2a,#001220)}
.bc3{background:linear-gradient(135deg,#1a002a,#120020)}
.bc4{background:linear-gradient(135deg,#001a00,#001200)}
.bl-badge{position:absolute;z-index:1;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--onyx);background:var(--gold);padding:.35rem .75rem;border-radius:2px}
.bl-body{padding:2rem}
.bl-meta{font-size:.75rem;color:var(--muted);margin-bottom:.75rem}
.bl-body h3{font-family:var(--serif);font-size:1.2rem;font-weight:400;margin-bottom:.75rem;line-height:1.4}
.bl-card.feat .bl-body h3{font-size:1.75rem}
.bl-body p{font-size:.85rem;color:var(--muted);margin-bottom:1.5rem;line-height:1.7}
.bl-lnk{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.bl-lnk:hover{color:var(--gold-light)}

/* ======================== SINGLE POST ======================== */
/* ======================== SINGLE POST ======================== */
/* Reading progress bar */
.reading-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--gold);z-index:9999;transition:width .1s linear}

/* Wrap */
.single-post-wrap{min-height:100vh;padding-bottom:6rem}
.single-post-wrap svg{display:block;max-width:1.25rem;max-height:1.25rem}

/* Hero */
.single-hero{position:relative;padding:8rem 0 3.5rem;overflow:hidden;background:linear-gradient(135deg,#0d0d0d 0%,#1a1208 55%,#0d0d0d 100%)}
.single-hero::after{content:'';position:absolute;inset:0;opacity:.05;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 40px,var(--gold) 41px,var(--gold) 42px)}
.single-hero .container{position:relative;z-index:1;max-width:980px}
.single-back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:2.5rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-decoration:none;transition:.2s}
.single-back:hover{color:var(--gold-light)}
.single-kicker{display:inline-flex;margin-bottom:1rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--onyx);background:var(--gold);padding:.35rem .8rem;border-radius:2px}
.single-hero h1{font-family:var(--serif);font-size:clamp(2.4rem,5.5vw,5rem);font-weight:300;line-height:1.02;max-width:900px;margin-bottom:1.75rem;color:var(--ivory)}

/* Meta row with icons */
.single-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.single-meta-item{display:flex;align-items:center;gap:.4rem}
.single-meta-item svg{width:11px;height:11px;flex-shrink:0;opacity:.5}

/* Featured image */
.single-featured-image{max-width:1100px;margin:3rem auto 0;border:1px solid var(--border);overflow:hidden;background:var(--surface)}
.single-featured-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}

/* Two-column layout: sidebar + article */
.single-layout{display:grid;grid-template-columns:220px 1fr;gap:4rem;align-items:start;padding-top:4rem;padding-bottom:2rem;max-width:1200px;margin:0 auto}

/* Sidebar */
.single-sidebar{position:sticky;top:6rem}
.single-sidebar-inner{display:flex;flex-direction:column;gap:1.5rem}

/* Table of contents */
.toc-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.toc-heading{display:flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-weight:600}
.toc-heading svg{width:14px;height:14px}
.toc-list{display:flex;flex-direction:column;gap:.1rem}
.toc-item{display:block;padding:.35rem .5rem;font-size:.78rem;color:var(--muted);text-decoration:none;border-radius:3px;transition:.2s;line-height:1.4;border-left:2px solid transparent}
.toc-item:hover{color:var(--ivory);background:rgba(255,255,255,.04)}
.toc-item.toc-active{color:var(--gold);border-left-color:var(--gold);background:rgba(212,175,55,.06)}
.toc-item.toc-h3{padding-left:1.1rem;font-size:.73rem}

/* Share box */
.share-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.share-heading{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.85rem;font-weight:600}
.share-links{display:flex;gap:.5rem;flex-wrap:wrap}
.share-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);color:var(--muted);background:transparent;cursor:pointer;transition:.2s;text-decoration:none}
.share-btn svg{width:15px;height:15px}
.share-btn:hover{border-color:var(--gold);color:var(--gold)}
.share-btn.copied{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.1)}

/* Article content */
.single-content{color:rgba(240,235,224,.88);font-size:1.06rem;line-height:1.9;min-width:0}
.single-content p,.single-content ul,.single-content ol,.single-content blockquote,.single-content figure{margin-bottom:1.6rem}
.single-content ul,.single-content ol{padding-left:1.5rem}
.single-content li{margin-bottom:.4rem}
.single-content h2,.single-content h3,.single-content h4{font-family:var(--serif);font-weight:500;line-height:1.2;color:var(--ivory);margin:3rem 0 1rem;scroll-margin-top:6rem}
.single-content h2{font-size:2.1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}
.single-content h3{font-size:1.6rem}
.single-content h4{font-size:1.2rem;color:var(--gold)}
.single-content a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.single-content a:hover{color:var(--gold-light)}
.single-content img{max-width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius)}
.single-content blockquote{border-left:3px solid var(--gold);padding:1rem 1.25rem;color:var(--ivory);font-family:var(--serif);font-size:1.3rem;font-style:italic;background:rgba(212,175,55,.05);border-radius:0 var(--radius) var(--radius) 0;margin-left:0}
.single-content code{font-family:monospace;font-size:.88em;background:var(--surface2);padding:.15em .4em;border-radius:3px;color:var(--gold)}
.single-content pre{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;overflow-x:auto;margin-bottom:1.6rem}
.single-content pre code{background:none;padding:0;color:var(--ivory)}
.single-pages{margin-top:2rem;color:var(--gold)}

/* Author box */
.author-box{max-width:1200px;margin:3rem auto;display:flex;gap:1.5rem;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}
.author-avatar img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex-shrink:0}
.author-label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.author-name{font-family:var(--serif);font-size:1.3rem;color:var(--ivory);margin-bottom:.5rem}
.author-bio{font-size:.9rem;color:var(--muted);line-height:1.7;margin:0}

/* Post navigation */
.single-post-nav{padding:3rem 0 0}
.single-post-nav-inner{max-width:1200px;margin:0 auto;border-top:1px solid var(--border);padding-top:2rem;display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center}
.nav-prev,.nav-next{display:flex;flex-direction:column;gap:.3rem}
.nav-next{align-items:flex-end;text-align:right}
.nav-dir{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nav-title{font-size:.9rem;color:var(--gold);line-height:1.4}
.single-post-nav-inner a{color:var(--gold);text-decoration:none;transition:.2s}
.single-post-nav-inner a:hover .nav-title{color:var(--gold-light)}
.nav-home{display:flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:.2s}
.nav-home svg{width:18px;height:18px}
.nav-home:hover{color:var(--gold)}

/* More posts */
.more-posts{padding:4rem 0 0}
.more-posts-heading{max-width:1200px;margin:0 auto 2rem}
.more-posts-heading h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:300;line-height:1.1;color:var(--ivory)}
.more-posts-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.more-post-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:.3s var(--ease)}
.more-post-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.more-post-image{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:linear-gradient(135deg,#2a1c00,#1a1208);color:var(--gold);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.more-post-image img{width:100%;height:100%;object-fit:cover}
.more-post-body{padding:1.5rem}
.more-post-meta{font-size:.7rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.7rem}
.more-post-body h3{font-family:var(--serif);font-size:1.2rem;font-weight:400;line-height:1.35;margin-bottom:.7rem;color:var(--ivory)}
.more-post-body h3 a{text-decoration:none}
.more-post-body h3 a:hover{color:var(--gold)}
.more-post-body p{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:1.25rem}

/* ======================== CONTACT ======================== */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:6rem;align-items:start}
.ct-info>p{font-size:.95rem;color:var(--muted);margin-bottom:2.5rem;line-height:1.8}
.ct-items{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}
.ct-item{display:flex;gap:1.25rem;align-items:flex-start}
.ct-ico{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold)}
.ct-ico svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.ct-item strong{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem}
.ct-item span,.ct-item a{font-size:.9rem;color:var(--muted);line-height:1.5}
.ct-item a:hover{color:var(--gold)}
.social-links{display:flex;gap:1rem;flex-wrap:wrap}
.sl-item{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border);padding:.5rem 1rem;border-radius:2px;color:var(--muted);transition:.3s var(--ease)}
.sl-item:hover{border-color:var(--gold);color:var(--gold)}
.ct-form-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3rem}
.cf{display:flex;flex-direction:column;gap:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.form-g{display:flex;flex-direction:column;gap:.5rem}
.form-g label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.form-g input,.form-g select,.form-g textarea{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem;color:var(--text);font-family:var(--body);font-size:.9rem;transition:.3s var(--ease);outline:none;width:100%;resize:vertical}
.form-g input::placeholder,.form-g textarea::placeholder{color:rgba(240,235,224,.2)}
.form-g input:focus,.form-g select:focus,.form-g textarea:focus{border-color:var(--gold);background:var(--surface)}
.form-g select option{background:var(--surface2)}
.form-success{text-align:center;padding:3rem 2rem;display:none}
.fs-icon{font-size:3rem;color:var(--gold);margin-bottom:1rem;display:block}
.form-success h3{font-family:var(--serif);font-size:2rem;margin-bottom:1rem}
.form-success p{color:var(--muted)}

/* FOOTER */
#footer{background:var(--deep);border-top:1px solid var(--border)}
.ft-top{display:grid;grid-template-columns:1fr 2fr;gap:6rem;padding:5rem 2rem 4rem;max-width:1300px;margin:0 auto}
.ft-logo{font-family:var(--display);font-size:4rem;color:var(--gold);letter-spacing:.05em;line-height:1;margin-bottom:.75rem}
.ft-tag{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--muted);margin-bottom:1rem}
.ft-desc{font-size:.85rem;color:var(--muted);line-height:1.8;max-width:320px;margin-bottom:2rem}
.ft-socials{display:flex;gap:.75rem}
.ft-soc{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:.3s var(--ease)}
.ft-soc svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.ft-soc:hover{border-color:var(--gold);color:var(--gold)}
.ft-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;padding-top:1rem}
.ft-col h4{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}
.ft-col ul{display:flex;flex-direction:column;gap:.75rem}
.ft-col ul li{font-size:.85rem;color:var(--muted);line-height:1.5;cursor:pointer;transition:.2s}
.ft-col ul li:hover{color:var(--gold)}
.ft-bottom{border-top:1px solid var(--border);padding:2rem;max-width:1300px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.ft-bottom p{font-size:.78rem;color:var(--muted)}
.heart{color:var(--gold)}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes rotateBadge{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes scrollPulse{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:.4;transform:scaleY(.7)}}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:1100px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .obj-grid{grid-template-columns:repeat(2,1fr)}
  .events-grid{grid-template-columns:1fr 1fr}
  .about-snap-grid{grid-template-columns:1fr;gap:4rem}
  .two-col{grid-template-columns:1fr;gap:3rem}
  .ap{grid-template-columns:1fr;gap:3rem}
  .ap.rev{direction:ltr}
  .ap-vis{aspect-ratio:16/9}
}
@media(max-width:900px){
  .awards-grid{grid-template-columns:repeat(2,1fr)}
  .artists-row{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:1fr 1fr}
  .bl-card.feat{grid-column:span 2}
  .more-posts-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .ft-top{grid-template-columns:1fr;gap:3rem}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .eli{grid-template-columns:60px 1fr;gap:1.5rem}
  .eli-action{grid-column:2}
}
@media(max-width:640px){
  .section{padding:5rem 0}
  .hero-title{font-size:clamp(4rem,20vw,8rem)}
  .nav-links,.nav-cta{display:none}
  .nav-toggle{display:flex}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;inset:80px 0 0;background:rgba(13,13,13,.98);padding:3rem 2rem;gap:1rem;align-items:flex-start}
  .events-grid{grid-template-columns:1fr}
  .awards-grid{grid-template-columns:1fr}
  .artists-row{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .bl-card.feat{grid-column:span 1;grid-template-columns:1fr}
  .single-layout{grid-template-columns:1fr;gap:2rem;padding-top:2rem}
  .single-sidebar{position:static}
  .single-sidebar-inner{flex-direction:row;flex-wrap:wrap}
  .toc-box,.share-box{flex:1;min-width:200px}
  .single-post-nav-inner{grid-template-columns:1fr;text-align:left;gap:.75rem}
  .nav-next{align-items:flex-start;text-align:left}
  .more-posts-grid{grid-template-columns:1fr}
  .author-box{flex-direction:column}
  .author-avatar img{width:56px;height:56px}
  .single-post-nav-inner div:last-child{text-align:left}
  .gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .form-row{grid-template-columns:1fr}
  .ft-cols{grid-template-columns:1fr 1fr}
  .ft-bottom{flex-direction:column;gap:.5rem;text-align:center}
  .cta-acts{flex-direction:column}
  .hero-badge{display:none}
  .sec-hdr{flex-direction:column;align-items:flex-start}
  .team-grid{grid-template-columns:1fr}
  .obj-grid{grid-template-columns:1fr}
  .eli{grid-template-columns:1fr;gap:1rem}
  .eli-num{font-size:1.5rem}
  .hl-grid{grid-template-columns:1fr}
}
