/* ===== Dubai Digital News — shared stylesheet ===== */
:root{
  --bg:#080b14;
  --bg-soft:#0f1626;
  --card:#141c2e;
  --card-2:#182135;
  --line:rgba(255,255,255,.08);
  --text:#eef2f9;
  --muted:#94a2bd;
  --brand:#e6b83c;      /* Dubai gold */
  --brand-2:#1fc7b6;    /* teal */
  --accent:#5b8cff;     /* blue */
  --radius:18px;
  --maxw:1260px;
  --shadow:0 24px 60px -22px rgba(0,0,0,.7);
  /* category colours */
  --gold:#e6b83c; --teal:#1fc7b6; --blue:#5b8cff; --green:#31d68a;
  --orange:#ff8a3d; --red:#ff5f6d; --purple:#a97bff; --pink:#ff6fae;
}
/* ---- Light theme ---- */
:root[data-theme="light"]{
  --bg:#f5f7fb;
  --bg-soft:#ffffff;
  --card:#ffffff;
  --card-2:#f0f3f9;
  --line:rgba(15,22,38,.10);
  --text:#141c2e;
  --muted:#5b6880;
  --shadow:0 24px 55px -24px rgba(30,40,70,.28);
}
:root[data-theme="light"] body{
  background:radial-gradient(1200px 600px at 82% -10%,rgba(230,184,60,.12),transparent 60%),
             radial-gradient(1000px 500px at -10% 8%,rgba(31,199,182,.12),transparent 55%),
             var(--bg);
}
:root[data-theme="light"] header.nav{background:rgba(255,255,255,.82)}
:root[data-theme="light"] .thumb .chip,:root[data-theme="light"] .hero-main .chip{background:rgba(255,255,255,.85)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 80% -10%,rgba(224,178,60,.10),transparent 60%),
             radial-gradient(1000px 500px at -10% 10%,rgba(31,182,166,.10),transparent 55%),
             var(--bg);
  color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);font-weight:800}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:.2s transform,.2s box-shadow,.2s background}
.btn-primary{background:linear-gradient(135deg,var(--brand),#f0cf6e);color:#1a1200;box-shadow:0 10px 30px -10px rgba(224,178,60,.6)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border-color:var(--line);color:var(--text);background:rgba(255,255,255,.02)}
.btn-ghost:hover{background:rgba(255,255,255,.06)}

/* ===== Topbar (breaking ticker) ===== */
.topbar{background:linear-gradient(90deg,rgba(224,178,60,.14),rgba(31,182,166,.10));border-bottom:1px solid var(--line);font-size:.82rem}
.topbar-inner{display:flex;align-items:center;gap:14px;height:38px;overflow:hidden}
.topbar .lbl{background:var(--brand);color:#1a1200;font-weight:800;padding:3px 12px;border-radius:999px;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.ticker{overflow:hidden;white-space:nowrap;flex:1}
.ticker span{display:inline-block;padding-left:100%;animation:scroll 26s linear infinite;color:var(--muted)}
.ticker b{color:var(--text)}
@keyframes scroll{to{transform:translateX(-100%)}}
.topbar .date{color:var(--muted);white-space:nowrap}

/* ===== Nav ===== */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(11,15,25,.72);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.15rem;letter-spacing:.3px}
.logo .mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#0b0f19;font-weight:900;box-shadow:var(--shadow)}
.logo span b{color:var(--brand)}
nav.links{display:flex;gap:26px;align-items:center}
nav.links a{color:var(--muted);font-weight:600;font-size:.95rem;transition:.2s;position:relative}
nav.links a:hover,nav.links a.active{color:var(--text)}
nav.links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-26px;height:2px;background:var(--brand)}
.nav-cta{display:flex;gap:12px;align-items:center}
.burger{display:none;background:none;border:none;color:var(--text);font-size:1.6rem;cursor:pointer}

/* ===== Hero (home) ===== */
.hero{padding:54px 0 26px;display:grid;grid-template-columns:1.35fr .9fr;gap:26px}
.hero-main{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:460px;box-shadow:var(--shadow)}
.hero-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-main .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,25,.15) 30%,rgba(11,15,25,.92))}
.hero-main .content{position:absolute;left:32px;right:32px;bottom:30px}
.hero-main .chip,.mini .chip{display:inline-block;background:var(--brand);color:#1a1200;font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding:5px 12px;border-radius:999px;margin-bottom:14px}
.hero-main h1{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.12;letter-spacing:-.5px;font-weight:800}
.hero-main p{color:#cdd6e6;margin-top:12px;max-width:640px}
.hero-main .meta,.mini .meta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.82rem;margin-top:16px}
.hero-side{display:grid;grid-template-rows:repeat(3,1fr);gap:18px}
.mini{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);min-height:140px}
.mini img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mini .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,25,.1),rgba(11,15,25,.9))}
.mini .content{position:absolute;left:16px;right:16px;bottom:14px}
.mini .chip{margin-bottom:8px;font-size:.65rem;padding:3px 9px}
.mini h3{font-size:1rem;line-height:1.3}
.dot{width:4px;height:4px;border-radius:50%;background:var(--muted)}

/* ===== Section head ===== */
section{padding:52px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;letter-spacing:-.3px}
.sec-head p{color:var(--muted);max-width:520px;margin-top:6px}
.rule{display:flex;align-items:center;gap:14px}
.rule::before{content:"";width:26px;height:3px;border-radius:2px;background:var(--brand)}

/* ===== Article grid / cards ===== */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid.g4{grid-template-columns:repeat(4,1fr)}
.grid.g2{grid-template-columns:repeat(2,1fr)}
.article{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--card);transition:.25s;display:flex;flex-direction:column}
.article:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(224,178,60,.35)}
.thumb{height:190px;position:relative;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;transition:.4s transform}
.article:hover .thumb img{transform:scale(1.06)}
.thumb .chip{position:absolute;top:14px;left:14px;z-index:2;background:rgba(11,15,25,.8);border:1px solid var(--line);padding:5px 12px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--brand)}
.article .body{padding:20px;display:flex;flex-direction:column;flex:1}
.article h3{font-size:1.12rem;line-height:1.35;margin-bottom:10px}
.article:hover h3{color:var(--brand)}
.article p{color:var(--muted);font-size:.92rem;flex:1}
.article .meta{display:flex;gap:12px;margin-top:16px;color:var(--muted);font-size:.8rem;align-items:center}

/* list style small cards */
.list-card{display:flex;gap:16px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--card);transition:.2s;align-items:center}
.list-card:hover{border-color:rgba(224,178,60,.35);transform:translateX(4px)}
.list-card .n{font-size:1.6rem;font-weight:900;color:var(--brand);width:34px;flex:none;text-align:center}
.list-card img{width:78px;height:64px;border-radius:10px;object-fit:cover;flex:none}
.list-card h4{font-size:.98rem;line-height:1.3}
.list-card small{color:var(--muted);font-size:.78rem}

/* ===== Categories ===== */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cat{padding:28px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,var(--card),rgba(21,28,44,.4));transition:.25s;position:relative;overflow:hidden}
.cat:hover{transform:translateY(-6px);border-color:rgba(224,178,60,.4)}
.cat .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.5rem;margin-bottom:16px;background:rgba(224,178,60,.12)}
.cat:nth-child(2) .ic{background:rgba(31,182,166,.12)}
.cat:nth-child(3) .ic{background:rgba(91,140,255,.12)}
.cat h3{font-size:1.2rem;margin-bottom:6px}
.cat p{color:var(--muted);font-size:.95rem}
.cat .go{margin-top:16px;color:var(--brand);font-weight:700;font-size:.9rem}

/* ===== Two-column layout (category + article pages) ===== */
.layout{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.sidebar{position:sticky;top:96px;display:grid;gap:26px}
.widget{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:22px}
.widget h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:16px}
.widget .list-card{border:none;padding:8px 0;background:none}
.widget .list-card:hover{transform:none}
.tags{display:flex;flex-wrap:wrap;gap:10px}
.tags a{padding:7px 14px;border-radius:999px;border:1px solid var(--line);font-size:.82rem;color:var(--muted);transition:.2s}
.tags a:hover{color:var(--brand);border-color:var(--brand)}

/* ===== Page hero (inner pages) ===== */
.page-hero{padding:48px 0 10px}
.page-hero .eyebrow{margin-bottom:10px}
.page-hero h1{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:800;letter-spacing:-.5px}
.page-hero p{color:var(--muted);max-width:640px;margin-top:14px;font-size:1.08rem}
.breadcrumb{display:flex;gap:8px;color:var(--muted);font-size:.85rem;margin-bottom:16px;align-items:center}
.breadcrumb a:hover{color:var(--brand)}

/* ===== Article body ===== */
.post-hero{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin:22px 0 30px;position:relative}
.post-hero img{width:100%;height:440px;object-fit:cover}
.post{font-size:1.08rem;color:#d4dcea}
.post h2{color:var(--text);font-size:1.5rem;margin:32px 0 14px;font-weight:800}
.post p{margin-bottom:20px}
.post blockquote{border-left:3px solid var(--brand);padding:6px 22px;margin:26px 0;color:var(--text);font-size:1.25rem;font-style:italic}
.post figure{margin:26px 0}
.post figure img{border-radius:14px;border:1px solid var(--line)}
.post figcaption{color:var(--muted);font-size:.85rem;margin-top:10px;text-align:center}
.author{display:flex;gap:14px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:30px 0}
.author .av{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;font-weight:900;color:#0b0f19;font-size:1.2rem;flex:none}
.author b{display:block}.author small{color:var(--muted)}
.share{display:flex;gap:10px;margin:24px 0}
.share a{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);transition:.2s}
.share a:hover{color:var(--brand);border-color:var(--brand)}

/* ===== Newsletter ===== */
.news{border-radius:26px;padding:56px 40px;text-align:center;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(224,178,60,.14),rgba(31,182,166,.12));border:1px solid var(--line)}
.news h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:800;margin-bottom:12px}
.news p{color:var(--muted);max-width:520px;margin:0 auto 26px}
.news form{display:flex;gap:12px;max-width:480px;margin:0 auto;flex-wrap:wrap}
.news input{flex:1;min-width:220px;padding:14px 18px;border-radius:999px;border:1px solid var(--line);background:rgba(11,15,25,.6);color:var(--text);font-size:1rem;outline:none}
.news input:focus{border-color:var(--brand)}
.msg{margin-top:16px;color:var(--brand-2);font-weight:700;height:20px}

/* ===== Stats band ===== */
.band{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:34px}
.band .s{text-align:center}
.band .s b{display:block;font-size:2rem;background:linear-gradient(120deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.band .s span{color:var(--muted);font-size:.85rem}

/* ===== Forms (contact) ===== */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field.full{grid-column:1/-1}
.field label{font-size:.85rem;color:var(--muted);font-weight:600}
.field input,.field textarea,.field select{padding:13px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(11,15,25,.6);color:var(--text);font-size:1rem;outline:none;font-family:inherit}
.field input:focus,.field textarea:focus{border-color:var(--brand)}
.field textarea{resize:vertical;min-height:130px}
.info-card{display:flex;gap:16px;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--card);margin-bottom:14px}
.info-card .ic{width:46px;height:46px;border-radius:12px;background:rgba(224,178,60,.12);display:grid;place-items:center;font-size:1.3rem;flex:none}
.info-card b{display:block}.info-card small{color:var(--muted)}

/* ===== About ===== */
.value{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.value .ic{font-size:1.8rem;margin-bottom:12px}
.value h3{margin-bottom:8px}
.value p{color:var(--muted);font-size:.94rem}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.member{text-align:center}
.member .ph{border-radius:16px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1;margin-bottom:14px}
.member .ph img{width:100%;height:100%;object-fit:cover}
.member b{display:block}.member small{color:var(--brand)}

/* ===== Footer ===== */
footer{border-top:1px solid var(--line);padding:52px 0 30px;margin-top:50px;background:rgba(11,15,25,.5)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;margin-bottom:36px}
.foot-grid h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:16px}
.foot-grid a{display:block;color:var(--muted);padding:6px 0;font-size:.92rem;transition:.2s}
.foot-grid a:hover{color:var(--brand)}
.foot-grid p{color:var(--muted);font-size:.92rem;margin-top:14px;max-width:280px}
.socials{display:flex;gap:12px;margin-top:18px}
.socials a{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);transition:.2s}
.socials a:hover{color:var(--brand);border-color:var(--brand)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:.85rem;flex-wrap:wrap;gap:10px}

/* ===== Responsive ===== */
@media(max-width:960px){
  .hero{grid-template-columns:1fr}
  .hero-side{grid-template-rows:none;grid-template-columns:repeat(3,1fr)}
  .layout{grid-template-columns:1fr}
  .sidebar{position:static}
  .grid,.grid.g4{grid-template-columns:1fr 1fr}
  .cats{grid-template-columns:1fr}
  .team{grid-template-columns:1fr 1fr}
  .band{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  nav.links,.nav-cta .btn-ghost,.topbar .date{display:none}
  .burger{display:block}
  .grid,.grid.g4,.grid.g2,.form-grid,.team{grid-template-columns:1fr}
  .hero-side{grid-template-columns:1fr}
  .news{padding:40px 22px}
  .post-hero img{height:250px}
}

/* ================= EXTENDED COMPONENTS ================= */

/* Market ticker */
.market{background:#080b13;border-bottom:1px solid var(--line);overflow:hidden}
.market-inner{display:flex;align-items:center;gap:0;height:40px}
.market .lbl{background:#0b0f19;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:0 16px;height:100%;display:flex;align-items:center;border-right:1px solid var(--line);white-space:nowrap}
.market .track{display:flex;gap:34px;white-space:nowrap;animation:scroll 40s linear infinite;padding-left:24px}
.market .q{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted)}
.market .q b{color:var(--text)}
.market .up{color:#3fd68a}.market .down{color:#ff6b6b}

/* Utility bar (weather / prayer / date) */
.util{background:var(--bg-soft);border-bottom:1px solid var(--line)}
.util-inner{display:flex;align-items:center;justify-content:space-between;height:44px;gap:20px;font-size:.82rem;color:var(--muted);flex-wrap:nowrap;overflow:hidden}
.util .grp{display:flex;align-items:center;gap:18px;white-space:nowrap}
.util .pill{display:inline-flex;align-items:center;gap:7px}
.util .pill b{color:var(--text)}
.live{display:inline-flex;align-items:center;gap:7px;color:#ff6b6b;font-weight:800}
.live .blip{width:8px;height:8px;border-radius:50%;background:#ff6b6b;box-shadow:0 0 0 0 rgba(255,107,107,.6);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,107,107,.6)}70%{box-shadow:0 0 0 8px rgba(255,107,107,0)}100%{box-shadow:0 0 0 0 rgba(255,107,107,0)}}

/* Section color accents */
.sec-tabs{display:flex;gap:8px;flex-wrap:wrap}
.sec-tabs a{padding:8px 16px;border-radius:999px;border:1px solid var(--line);font-size:.85rem;font-weight:700;color:var(--muted);transition:.2s}
.sec-tabs a:hover,.sec-tabs a.on{color:#1a1200;background:var(--brand);border-color:var(--brand)}

.kicker{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin-bottom:8px;display:block}
.tint-teal .chip{color:var(--brand-2)}
.tint-blue .chip{color:var(--accent)}

/* Big split feature */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}
.split .media{position:relative;min-height:380px}
.split .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .txt{padding:40px;display:flex;flex-direction:column;justify-content:center}
.split .txt h2{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;margin:10px 0 14px;font-weight:800}
.split .txt p{color:var(--muted);margin-bottom:18px}

/* Opinion / columnists */
.opinion{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.op{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--card),rgba(21,28,44,.35));position:relative}
.op::before{content:"\201C";position:absolute;top:6px;right:22px;font-size:4rem;color:var(--brand);opacity:.2;font-family:Georgia,serif}
.op h3{font-size:1.15rem;line-height:1.35;margin-bottom:16px}
.op .by{display:flex;align-items:center;gap:12px}
.op .by .av{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none}
.op .by b{display:block;font-size:.9rem}.op .by small{color:var(--brand)}

/* Video feature */
.video{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:420px}
.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,25,.25),rgba(11,15,25,.9))}
.video .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;background:rgba(224,178,60,.95);display:grid;place-items:center;color:#1a1200;font-size:1.8rem;box-shadow:0 10px 40px rgba(224,178,60,.5);transition:.2s;cursor:pointer}
.video:hover .play{transform:translate(-50%,-50%) scale(1.08)}
.video .content{position:absolute;left:32px;right:32px;bottom:28px}
.video .content h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800}

/* Photo gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:14px}
.gallery a{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.gallery a img{width:100%;height:100%;object-fit:cover;transition:.4s}
.gallery a:hover img{transform:scale(1.08)}
.gallery a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.5))}
.gallery a span{position:absolute;left:14px;bottom:12px;z-index:2;font-size:.85rem;font-weight:700}
.gallery .big{grid-column:span 2;grid-row:span 2}
.gallery .wide{grid-column:span 2}

/* Numbered highlights row */
.hl{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hl a{display:flex;gap:16px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);transition:.2s}
.hl a:hover{border-color:rgba(224,178,60,.4);transform:translateY(-4px)}
.hl .n{font-size:2rem;font-weight:900;background:linear-gradient(135deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.hl h4{font-size:1.02rem;line-height:1.35;margin-bottom:6px}
.hl small{color:var(--muted)}

/* Ad / promo slot */
.promo{border:1px dashed var(--line);border-radius:var(--radius);padding:30px;text-align:center;color:var(--muted);background:rgba(255,255,255,.02)}
.promo b{color:var(--text)}

@media(max-width:960px){
  .split{grid-template-columns:1fr}
  .split .media{min-height:240px}
  .opinion{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .hl{grid-template-columns:1fr}
}
@media(max-width:640px){
  .util-inner{font-size:.75rem}
  .util .grp:last-child{display:none}
  .gallery{grid-template-columns:1fr;grid-auto-rows:200px}
  .gallery .big,.gallery .wide{grid-column:span 1;grid-row:span 1}
}

/* ================= PRO COLOUR SYSTEM & POLISH ================= */

/* Coloured category chips */
.chip.gold{color:#1a1200 !important;background:linear-gradient(135deg,var(--gold),#f5d477) !important}
.chip.teal{color:#00201d !important;background:linear-gradient(135deg,var(--teal),#63e4d6) !important}
.chip.blue{color:#00113a !important;background:linear-gradient(135deg,var(--blue),#93b4ff) !important}
.chip.green{color:#00220f !important;background:linear-gradient(135deg,var(--green),#78e9b4) !important}
.chip.orange{color:#2a1000 !important;background:linear-gradient(135deg,var(--orange),#ffb27d) !important}
.chip.purple{color:#160033 !important;background:linear-gradient(135deg,var(--purple),#c7a8ff) !important}
.chip.pink{color:#2e0018 !important;background:linear-gradient(135deg,var(--pink),#ffa3cd) !important}
.chip.red{color:#2e0006 !important;background:linear-gradient(135deg,var(--red),#ff97a1) !important}

/* Coloured top-border cards */
.article{position:relative}
.article::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold);opacity:0;transition:.25s;z-index:3}
.article:hover::before{opacity:1}
.article.c-teal::before{background:var(--teal)} .article.c-blue::before{background:var(--blue)}
.article.c-green::before{background:var(--green)} .article.c-orange::before{background:var(--orange)}
.article.c-purple::before{background:var(--purple)} .article.c-red::before{background:var(--red)}

/* Gradient section headings */
.sec-head h2{background:linear-gradient(120deg,var(--text),var(--text));-webkit-background-clip:text;background-clip:text}
.grad-gold h2{background:linear-gradient(120deg,var(--gold),#f5d477);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-teal h2{background:linear-gradient(120deg,var(--teal),#63e4d6);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-blue h2{background:linear-gradient(120deg,var(--blue),#93b4ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-green h2{background:linear-gradient(120deg,var(--green),#78e9b4);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-orange h2{background:linear-gradient(120deg,var(--orange),#ffb27d);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-purple h2{background:linear-gradient(120deg,var(--purple),#c7a8ff);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Category cards get colour */
.cat:nth-child(1){border-top:3px solid var(--gold)}
.cat:nth-child(2){border-top:3px solid var(--teal)}
.cat:nth-child(3){border-top:3px solid var(--blue)}

/* Hero chip */
.hero-main .chip{background:linear-gradient(135deg,var(--gold),#f5d477);color:#1a1200}

/* Colourful "collections" band */
.collections{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.coll{position:relative;border-radius:var(--radius);overflow:hidden;min-height:200px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;isolation:isolate;transition:.25s}
.coll:hover{transform:translateY(-6px)}
.coll::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.92}
.coll.g1::before{background:linear-gradient(140deg,#e6b83c,#b5791a)}
.coll.g2::before{background:linear-gradient(140deg,#1fc7b6,#0f7a6f)}
.coll.g3::before{background:linear-gradient(140deg,#5b8cff,#2a4bb5)}
.coll.g4::before{background:linear-gradient(140deg,#a97bff,#6b3fc0)}
.coll .k{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.coll h3{font-size:1.35rem;margin:6px 0 4px;line-height:1.2}
.coll small{opacity:.85}
.coll .arw{position:absolute;top:20px;right:20px;font-size:1.3rem;opacity:.9}

/* Gradient CTA band */
.cta-band{border-radius:26px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;position:relative;overflow:hidden;background:linear-gradient(120deg,#1a1330,#0f1626)}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 15% 20%,rgba(230,184,60,.25),transparent 60%),radial-gradient(600px 300px at 85% 90%,rgba(31,199,182,.25),transparent 60%)}
.cta-band>*{position:relative}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}
.cta-band p{color:var(--muted);margin-top:6px}

/* Theme toggle + search buttons (injected) */
.icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);display:grid;place-items:center;cursor:pointer;font-size:1.1rem;transition:.2s;flex:none}
.icon-btn:hover{border-color:var(--brand);color:var(--brand)}

/* Search overlay */
.search-ov{position:fixed;inset:0;z-index:200;background:rgba(8,11,20,.85);backdrop-filter:blur(8px);display:none;align-items:flex-start;justify-content:center;padding-top:14vh}
.search-ov.open{display:flex}
.search-box{width:min(640px,92%);}
.search-box input{width:100%;padding:20px 24px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:1.3rem;outline:none;box-shadow:var(--shadow)}
.search-box input:focus{border-color:var(--brand)}
.search-box .hint{color:var(--muted);margin-top:14px;text-align:center;font-size:.85rem}
.search-box .sug{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.search-box .sug a{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:.85rem;transition:.2s}
.search-box .sug a:hover{color:var(--brand);border-color:var(--brand)}

/* glow buttons */
.btn-primary{background:linear-gradient(135deg,var(--brand),#f2cf6a);box-shadow:0 12px 34px -10px rgba(230,184,60,.65)}
.btn-glow-teal{background:linear-gradient(135deg,var(--teal),#4fe0d1);color:#00201d;box-shadow:0 12px 34px -10px rgba(31,199,182,.6)}

@media(max-width:960px){.collections{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.collections{grid-template-columns:1fr}.cta-band{padding:32px 24px}}

/* ================= PRO REFINEMENT LAYER (sizing & rhythm) ================= */
html{font-size:15.5px}
body{line-height:1.6}
:root{--maxw:1200px}
.wrap{padding:0 24px}

/* Calmer, consistent vertical rhythm */
section{padding:40px 0}
.hero{padding:40px 0 20px;gap:22px}
.hero-main{min-height:420px}
.mini{min-height:132px}
.sec-head{margin-bottom:24px}
.sec-head h2{font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:-.2px}
.page-hero{padding:38px 0 6px}
.page-hero h1{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.hero-main h1{font-size:clamp(1.6rem,2.8vw,2.3rem)}

/* Tighter cards & type */
.thumb{height:172px}
.article .body{padding:18px}
.article h3{font-size:1.04rem}
.article p{font-size:.88rem}
.grid,.grid.g4{gap:20px}
.cats{gap:18px}
.cat{padding:24px}
.band{padding:28px}
.band .s b{font-size:1.7rem}
.news{padding:46px 36px}
.news h2{font-size:clamp(1.5rem,3vw,2rem)}
.split .txt{padding:34px}
.collections .coll{min-height:180px;padding:22px}
.hero-side{gap:16px}

/* Sharper, more premium buttons */
.btn{padding:11px 20px;font-size:.9rem}
.btn-primary{box-shadow:0 10px 26px -12px rgba(230,184,60,.55)}

/* Nav polish: scroll shadow + tighter height */
.nav-inner{height:66px}
header.nav{transition:box-shadow .25s,background .25s,border-color .25s}
header.nav.scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.7)}
nav.links{gap:22px}
nav.links a{font-size:.9rem}
nav.links a.active::after{bottom:-22px}
.logo{font-size:1.05rem}
.logo .mark{width:34px;height:34px;border-radius:10px;font-size:.85rem}

/* Nav dropdown (More ▾) */
.has-drop{position:relative}
.drop-toggle{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.drop{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);min-width:200px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.2s;z-index:60}
.has-drop:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;color:var(--muted);font-size:.9rem;font-weight:600}
.drop a:hover{background:rgba(255,255,255,.05);color:var(--text)}
:root[data-theme="light"] .drop a:hover{background:rgba(15,22,38,.05)}

/* Refined breadcrumb + section header underline accent */
.sec-head .rule::before{height:22px;width:3px;border-radius:2px}

/* Subtle card image ratio consistency */
.thumb img{aspect-ratio:16/10}

/* Reduce util/market bar weight for elegance */
.util-inner{height:40px;font-size:.78rem}
.market-inner{height:36px}
.topbar-inner{height:36px}

/* Footer refinement */
footer{padding:46px 0 28px;margin-top:44px}

@media(max-width:640px){
  html{font-size:15px}
  section{padding:32px 0}
  .news{padding:34px 20px}
}

/* ================= PRICING / MEMBERSHIP ================= */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.plan{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:32px;display:flex;flex-direction:column;position:relative;transition:.25s}
.plan:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.plan.featured{border-color:var(--brand);background:linear-gradient(180deg,rgba(230,184,60,.08),var(--card))}
.plan .badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--brand),#f2cf6a);color:#1a1200;font-size:.72rem;font-weight:800;padding:5px 14px;border-radius:999px;letter-spacing:.05em;text-transform:uppercase}
.plan h3{font-size:1.15rem}
.plan .price{font-size:2.6rem;font-weight:900;margin:14px 0 2px;letter-spacing:-1px}
.plan .price small{font-size:.9rem;font-weight:600;color:var(--muted)}
.plan .desc{color:var(--muted);font-size:.9rem;margin-bottom:20px}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;flex:1}
.plan li{display:flex;gap:10px;font-size:.92rem;color:var(--text)}
.plan li::before{content:"✓";color:var(--brand-2);font-weight:900}
.plan li.off{color:var(--muted)}
.plan li.off::before{content:"—";color:var(--muted)}

/* FAQ */
.faq{max-width:760px;margin:0 auto}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--card);margin-bottom:12px;padding:0 20px}
.faq summary{cursor:pointer;padding:18px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--brand)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);padding:0 0 18px;font-size:.94rem}

/* Video hub list */
.vid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vid{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9}
.vid img{width:100%;height:100%;object-fit:cover;transition:.4s}
.vid:hover img{transform:scale(1.06)}
.vid::after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(230,184,60,.95);color:#1a1200;display:grid;place-items:center;font-size:1.1rem}
.vid .dur{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.75);color:#fff;font-size:.72rem;padding:3px 8px;border-radius:6px;z-index:2}
.vid-cap{margin-top:10px;font-weight:700;font-size:.98rem;line-height:1.3}

/* Legal / prose pages */
.prose{max-width:780px;margin:0 auto;color:#d4dcea}
:root[data-theme="light"] .prose{color:#2c3648}
.prose h2{color:var(--text);font-size:1.35rem;margin:28px 0 10px;font-weight:800}
.prose p,.prose li{margin-bottom:14px;font-size:1rem}
.prose ul{padding-left:20px}

/* 404 */
.err{text-align:center;padding:90px 0}
.err .big{font-size:clamp(5rem,16vw,10rem);font-weight:900;line-height:1;background:linear-gradient(120deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.err h1{font-size:1.8rem;margin:6px 0 12px}
.err p{color:var(--muted);margin-bottom:24px}

@media(max-width:960px){.pricing,.vid-grid{grid-template-columns:1fr}.plan.featured{order:-1}}

/* ================= WATCH BLOCK (fixed sizing + playlist) ================= */
.watch-wrap{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;align-items:stretch}
.watch-feature{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;min-height:0}
.watch-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.watch-feature .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,20,.15) 40%,rgba(8,11,20,.9))}
.watch-feature .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:rgba(230,184,60,.95);display:grid;place-items:center;color:#1a1200;font-size:1.5rem;box-shadow:0 10px 40px rgba(230,184,60,.5);transition:.2s}
.watch-feature:hover .play{transform:translate(-50%,-50%) scale(1.1)}
.watch-feature .content{position:absolute;left:24px;right:24px;bottom:22px}
.watch-feature .content h3{font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:800;line-height:1.2;margin-top:8px}
.playlist{display:flex;flex-direction:column;gap:12px;overflow:hidden}
.playlist .ph{display:flex;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:.2s;align-items:center;flex:1}
.playlist .ph:hover{border-color:var(--brand);transform:translateX(3px)}
.playlist .th{position:relative;width:104px;height:62px;border-radius:8px;overflow:hidden;flex:none}
.playlist .th img{width:100%;height:100%;object-fit:cover}
.playlist .th::after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:rgba(230,184,60,.92);color:#1a1200;display:grid;place-items:center;font-size:.65rem}
.playlist .th .d{position:absolute;bottom:3px;right:3px;background:rgba(0,0,0,.8);color:#fff;font-size:.6rem;padding:1px 5px;border-radius:4px;z-index:2}
.playlist h4{font-size:.9rem;line-height:1.3}
.playlist small{color:var(--muted);font-size:.75rem}
@media(max-width:860px){.watch-wrap{grid-template-columns:1fr}}

/* ================= AUTHOR PROFILE ================= */
.author-hero{display:flex;gap:26px;align-items:center;flex-wrap:wrap;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(120deg,var(--card),var(--card-2))}
.author-hero .pic{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid var(--brand);flex:none}
.author-hero h1{font-size:1.9rem;margin-bottom:4px}
.author-hero .role{color:var(--brand);font-weight:700;margin-bottom:8px}
.author-hero p{color:var(--muted);max-width:560px}
.author-hero .socials{margin-top:14px}

/* ================= EVENTS ================= */
.event{display:flex;gap:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);transition:.2s;align-items:center}
.event:hover{border-color:var(--brand);transform:translateY(-3px)}
.event .cal{width:64px;height:70px;border-radius:12px;background:linear-gradient(135deg,var(--brand),#f2cf6a);color:#1a1200;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;font-weight:900}
.event .cal .m{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}
.event .cal .d{font-size:1.5rem;line-height:1}
.event h4{font-size:1.05rem;margin-bottom:4px}
.event small{color:var(--muted)}
.event .tag{margin-left:auto;font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--brand-2);white-space:nowrap}

/* ================= PRO-DEV UI ================= */
/* Reading progress bar */
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:100;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .1s ease-out;box-shadow:0 0 10px rgba(230,184,60,.5)}

/* Back to top */
.to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--text);display:grid;place-items:center;font-size:1.2rem;cursor:pointer;z-index:90;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;box-shadow:var(--shadow)}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.to-top:hover{border-color:var(--brand);color:var(--brand)}

/* Cookie banner */
.cookie{position:fixed;left:22px;right:22px;bottom:22px;max-width:520px;margin:0 auto;background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:18px 20px;z-index:120;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center;flex-wrap:wrap;transform:translateY(140%);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.cookie.show{transform:translateY(0)}
.cookie p{font-size:.85rem;color:var(--muted);flex:1;min-width:220px}
.cookie a{color:var(--brand)}
.cookie .row{display:flex;gap:8px}

/* Live blog */
.live-timeline{position:relative;padding-left:30px;max-width:820px}
.live-timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--line)}
.lb{position:relative;padding-bottom:26px}
.lb::before{content:"";position:absolute;left:-27px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--brand);border:3px solid var(--bg);box-shadow:0 0 0 3px rgba(230,184,60,.25)}
.lb.new::before{background:var(--red);box-shadow:0 0 0 3px rgba(255,95,109,.3);animation:pulse 1.6s infinite}
.lb .t{font-size:.78rem;font-weight:800;color:var(--brand);letter-spacing:.03em}
.lb h3{font-size:1.12rem;margin:6px 0 8px}
.lb p{color:var(--muted);font-size:.94rem}
.lb img{border-radius:12px;margin-top:12px;border:1px solid var(--line)}

/* Search results */
.sr{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.sr img{width:150px;height:96px;object-fit:cover;border-radius:12px;flex:none}
.sr h3{font-size:1.12rem;margin-bottom:6px}
.sr h3 mark{background:rgba(230,184,60,.3);color:var(--text);padding:0 3px;border-radius:3px}
.sr p{color:var(--muted);font-size:.9rem}
.sr .cat{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--brand);letter-spacing:.05em}
.search-empty{text-align:center;padding:50px 0;color:var(--muted)}
@media(max-width:640px){.sr img{width:96px;height:72px}}

/* Full gallery page */
.gallery-full{columns:4;column-gap:14px}
.gallery-full a{display:block;margin-bottom:14px;border-radius:12px;overflow:hidden;border:1px solid var(--line);position:relative;break-inside:avoid}
.gallery-full a img{width:100%;transition:.4s}
.gallery-full a:hover img{transform:scale(1.05)}
.gallery-full a span{position:absolute;left:12px;bottom:10px;z-index:2;font-size:.82rem;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.gallery-full a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.5))}
@media(max-width:960px){.gallery-full{columns:2}}
@media(max-width:560px){.gallery-full{columns:1}}



