:root{--accent:#0d6e8a;--accent2:#f4a024;--bg:#f4fafc;--ink:#0f2430;--font-h:'Literata', Georgia, serif;--font-b:'Outfit', system-ui, sans-serif}
body.site-rs{background:var(--bg);color:var(--ink);font-family:var(--font-b)}
h1,h2,h3,.font-serif,.article-title{font-family:var(--font-h)}
a{color:var(--accent)}
.article-lead{font-size:1.08rem;line-height:1.7;color:#444}
.longread-body,.article-body{font-size:.95rem;line-height:1.75;max-width:68ch}
.article-figure{margin:1.75rem 0}
.article-figure img{width:100%;display:block;object-fit:cover;background:#bbb;min-height:120px;border-radius:12px;box-shadow:0 4px 18px rgba(15,36,48,.1)}
.article-figure--wide img{border-radius:14px}
.article-figure figcaption,
.caption-muted{display:block;margin:.7rem .15rem 0;padding:.65rem .9rem .7rem;font-size:.82rem;line-height:1.45;color:#5a6f7a;background:rgba(13,110,138,.06);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}
.article-pullquote{border-left:4px solid var(--accent);padding:1rem 1.25rem;margin:1.75rem 0;font-family:var(--font-h);font-size:1.1rem;background:rgba(0,0,0,.03)}
.article-aside{background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--accent);padding:1rem 1.25rem;margin:1.75rem 0;border-radius:0 8px 8px 0}
.article-aside strong{display:block;margin-bottom:.35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.article-table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:.88rem}
.article-table th,.article-table td{border:1px solid #ddd;padding:.55rem .7rem;text-align:left;vertical-align:top}
.article-table th{background:rgba(13,110,138,.08);font-weight:600}
.article-table tr:nth-child(even) td{background:rgba(0,0,0,.02)}
.quiz-bridge{margin:2.25rem 0 1rem;padding:1.15rem 1.35rem;background:rgba(13,110,138,.07);border-left:4px solid var(--accent);border-radius:0 10px 10px 0}
.quiz-bridge h2{margin-top:0}
.legal-panel-box{position:relative;background:#fff;color:#111;max-width:640px;width:100%;max-height:85vh;overflow:auto;padding:1.75rem;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal-body--legal h2{font-family:var(--font-h);font-size:1.35rem;margin-bottom:.35rem}
.modal-body--legal h3{font-size:1rem;margin:1.15rem 0 .4rem}
.modal-body--legal p,.modal-body--legal li{font-size:.88rem;line-height:1.55}
.modal-body--legal .legal-updated{font-size:.78rem;opacity:.7;margin-bottom:1rem}
.modal-body--legal .article-table{font-size:.8rem}
.article-checklist,.checklist-main{margin:1rem 0 1.5rem 1.2rem}
.article-endnote{margin-top:2rem;padding-top:1rem;border-top:1px solid #ddd;font-size:.85rem;opacity:.85}
.callout-promo{background:#fff8e6;border:1px solid var(--accent);padding:1rem;border-radius:8px;margin-bottom:1.25rem;font-size:.88rem}
.article-factbox{background:#edf2f7;padding:1rem;border-radius:8px;margin:1.25rem 0;font-size:.9rem}
.faq-list dt{font-weight:700;margin-top:1rem}
.faq-list dd{margin-left:0;opacity:.9}
.interview-q{color:var(--accent);margin-top:1rem}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0}
.spec-card{background:#fff;border:1px solid #e2e8f0;padding:.85rem;border-radius:8px}
.hidden{display:none!important}
.promo-ribbon{background:var(--accent);color:#fff;text-align:center;padding:.5rem;font-size:.8rem}
.badge-sponsored{display:inline-block;background:var(--accent);color:#fff;padding:.2rem .6rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.promo-disclaimer{margin-top:2rem;padding:1rem;background:rgba(0,0,0,.04);border-radius:8px;font-size:.82rem}
.btn-partner{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:linear-gradient(135deg,#0d6e8a 0%,#17a2b8 100%);color:#fff!important;padding:.9rem 1.6rem;border-radius:999px;text-decoration:none;font-weight:600;box-shadow:0 8px 22px rgba(13,110,138,.28);transition:transform .2s,box-shadow .2s,filter .2s}
.btn-partner:hover{filter:brightness(1.06);color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,110,138,.34)}
/* Quiz */
.quiz-wrap{position:relative;border-radius:16px;padding:1.5rem 1.4rem 1.6rem;margin:2rem 0;background:linear-gradient(180deg,#fff 0%,#f3fafc 100%);border:1px solid rgba(13,110,138,.14);box-shadow:0 10px 30px rgba(15,36,48,.06);overflow:hidden}
.quiz-wrap::before{content:'';position:absolute;top:-40px;right:-30px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(244,160,36,.22) 0%,transparent 70%);pointer-events:none}
.quiz-wrap > *{position:relative;z-index:1}
.quiz-wrap h2{font-family:var(--font-h);margin-bottom:.35rem}
.quiz-meter{height:8px;background:rgba(13,110,138,.1);border-radius:999px;overflow:hidden;margin:1rem 0 1.25rem}
.quiz-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#20c997);width:0;transition:width .35s ease;border-radius:999px}
#quizAnswers{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.85rem}
@media (max-width:575px){#quizAnswers{grid-template-columns:1fr}}
#quizAnswers button,
.quiz-answer-btn{appearance:none;-webkit-appearance:none;width:100%;text-align:left;padding:.95rem 1rem;border:1.5px solid rgba(13,110,138,.18);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;font:inherit;font-weight:500;line-height:1.35;box-shadow:0 1px 0 rgba(15,36,48,.03);transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}
#quizAnswers button:hover,
.quiz-answer-btn:hover{border-color:var(--accent);background:rgba(13,110,138,.06);transform:translateY(-1px);box-shadow:0 6px 16px rgba(13,110,138,.12)}
#quizAnswers button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#quizQText{font-size:1.05rem;margin:0}
.quiz-proc{padding:1.75rem 1rem}
.quiz-res{padding:1.5rem 1rem 1.1rem;border-radius:14px;background:linear-gradient(145deg,rgba(13,110,138,.08),rgba(32,201,151,.1));border:1px solid rgba(13,110,138,.14)}
.quiz-res-kicker{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:.55rem}
.quiz-res-title{font-family:var(--font-h);font-size:1.25rem;margin:0 0 .5rem;color:var(--ink)}
.quiz-res-copy{font-size:.92rem;color:#4a5d68;max-width:36ch;margin:0 auto 1.15rem;line-height:1.55}
.quiz-dots span{display:inline-block;width:10px;height:10px;border-radius:50%;background:#ccc;margin:0 3px}
.quiz-dots span.on{background:var(--accent)}
.quiz-pills{display:flex;flex-wrap:wrap;gap:.5rem}
.quiz-pills button{border-radius:999px;padding:.55rem 1rem;border:2px solid var(--accent);background:transparent;cursor:pointer;font:inherit}
.quiz-pills button:hover{background:var(--accent);color:#fff}
.quiz-cards{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.quiz-cards button{padding:1rem;border:1px solid #ddd;border-radius:10px;background:var(--bg);cursor:pointer;text-align:left;font:inherit}
.quiz-cards button:hover{border-color:var(--accent);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.quiz-tech{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.quiz-tech button{padding:.85rem;border:1px solid #ccc;background:#f8f9fa;border-radius:6px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:.82rem}
.quiz-spinner-wrap{text-align:center;padding:2rem}
.quiz-spinner{width:40px;height:40px;border:3px solid #ddd;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes rs-fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.quiz-res{animation:rs-fade-up .4s ease}
/* Home layouts */
.home-split .featured-card{border:2px solid var(--accent);border-radius:12px;overflow:hidden}
.home-newspaper .lead-story{border-bottom:3px double var(--accent);padding-bottom:1.5rem;margin-bottom:2rem}
.home-minimal .story-row{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #e2e8f0}
.home-minimal .story-row img{width:120px;height:80px;object-fit:cover;border-radius:6px;flex-shrink:0}
.home-mag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.home-card{background:#fff;border:1px solid #e8e8e8;border-radius:10px;overflow:hidden;transition:box-shadow .22s,transform .22s}
.home-card:hover{box-shadow:0 12px 28px rgba(13,110,138,.14);transform:translateY(-3px)}
.home-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#bbb;transition:transform .35s ease}
.home-card:hover img{transform:scale(1.03)}
.home-card .body{padding:.9rem 1rem}
.home-card h3,.home-card h2{font-size:1rem;margin:0 0 .35rem;font-family:var(--font-h)}
.home-card p{font-size:.85rem;margin:0;opacity:.8}
.home-color .featured-block{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;padding:2rem;border-radius:16px;margin-bottom:2rem}
.home-color .featured-block a{color:#fff}
.home-dark-grid{display:grid;gap:1rem}
.header-centered{text-align:center;padding:1.25rem 0;border-bottom:1px solid #ddd}
.header-centered .brand{font-family:var(--font-h);font-size:1.5rem;text-decoration:none;color:inherit}
.header-centered nav{display:flex;justify-content:center;gap:1.25rem;margin-top:.75rem;font-size:.9rem}
.header-centered nav a{text-decoration:none;color:inherit;opacity:.85}
.legal-panel{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}
.legal-panel[hidden]{display:none!important}
.legal-panel-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.legal-panel-close{position:absolute;top:.5rem;right:.75rem;border:none;background:none;font-size:1.5rem;cursor:pointer}
.legal-open{background:none;border:none;color:inherit;cursor:pointer;text-decoration:underline;font:inherit;padding:0}
.cookie-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #ddd;padding:.75rem;z-index:999;font-size:.85rem}

/* Footer */
.rs-footer{background:linear-gradient(165deg,#0f2430 0%,#13485a 55%,#0d6e8a 100%);color:rgba(255,255,255,.88);padding:2.75rem 0 0;position:relative;overflow:hidden}
.rs-footer::before{content:'';position:absolute;top:-60px;right:-40px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(244,160,36,.18) 0%,transparent 68%);pointer-events:none;animation:rs-glow 6s ease-in-out infinite alternate}
.rs-footer-top{display:grid;grid-template-columns:1.3fr .9fr 1.1fr;gap:2rem;padding-bottom:2rem;position:relative;z-index:1}
@media (max-width:991px){.rs-footer-top{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.rs-footer-top{grid-template-columns:1fr;gap:1.5rem}}
.rs-footer-tag{font-size:.95rem;color:rgba(255,255,255,.92);margin:0 0 .55rem;max-width:34ch}
.rs-footer-note{font-size:.82rem;color:rgba(255,255,255,.62);margin:0;max-width:38ch;line-height:1.5}
.rs-footer-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0 0 .75rem;font-weight:700}
.rs-footer-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.rs-chip{display:inline-flex;align-items:center;gap:.4rem;appearance:none;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:.45rem .85rem;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.rs-chip i{opacity:.85;font-size:.9rem}
.rs-chip:hover{background:rgba(255,255,255,.16);border-color:rgba(244,160,36,.55);color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.rs-footer-co{font-weight:700;color:#fff;margin:0 0 .35rem;font-size:.95rem}
.rs-footer-co span{font-weight:500;opacity:.7}
.rs-footer-meta{font-size:.82rem;color:rgba(255,255,255,.65);margin:0 0 .25rem;line-height:1.45}
.rs-footer-links{display:flex;flex-direction:column;gap:.4rem;margin-top:.7rem}
.rs-footer-links a{display:inline-flex;align-items:center;gap:.45rem;color:rgba(255,255,255,.88);text-decoration:none;font-size:.86rem;width:fit-content;border-bottom:1px solid transparent;padding-bottom:1px;transition:color .2s,border-color .2s,transform .2s}
.rs-footer-links a i{color:var(--accent2);font-size:.85rem}
.rs-footer-links a:hover{color:#fff;border-bottom-color:rgba(244,160,36,.7);transform:translateX(3px)}
.rs-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1rem 0 1.25rem;position:relative;z-index:1}
.rs-footer-bottom p{margin:0;font-size:.78rem;color:rgba(255,255,255,.55)}

/* Light site motion (not calmbrolly-style scroll reveals) */
@keyframes rs-sun-spin{to{transform:rotate(360deg)}}
@keyframes rs-glow{from{opacity:.55;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}
@keyframes rs-soft-in{from{opacity:0}to{opacity:1}}
@keyframes rs-hero-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.site-logo{display:inline-flex;align-items:center;padding:0;margin:0;line-height:1;text-decoration:none}
.site-logo-img{display:block;height:42px;width:auto}
@media (min-width:768px){.site-logo-img{height:48px}}
.rs-footer-logo{display:inline-flex;align-items:center;text-decoration:none;margin-bottom:.75rem}
.rs-footer-logo-img{display:block;height:44px;width:auto;background:#fff;border-radius:10px;padding:.35rem .55rem;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s}
.rs-footer-logo:hover .rs-footer-logo-img{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.22)}
.navbar-brand i{display:inline-block;animation:rs-sun-spin 14s linear infinite;transform-origin:center}
.navbar .nav-link{position:relative;transition:color .2s}
.navbar .nav-link::after{content:'';position:absolute;left:.75rem;right:.75rem;bottom:.35rem;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),#20c997);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.navbar .nav-link:hover::after,.navbar .nav-link:focus-visible::after{transform:scaleX(1)}
.rs-hero-cover-inner{animation:rs-hero-rise .7s ease both}
.rs-hero-featured{transition:transform .25s ease,background .25s,box-shadow .25s}
.rs-hero-featured:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.18)}
.article-figure img{transition:transform .45s ease,box-shadow .3s ease}
.article-figure:hover img{transform:scale(1.015);box-shadow:0 8px 28px rgba(15,36,48,.14)}
.quiz-wrap{transition:box-shadow .3s ease}
.quiz-wrap:hover{box-shadow:0 14px 36px rgba(15,36,48,.1)}
.legal-panel-box{animation:rs-soft-in .25s ease}
@media (prefers-reduced-motion:reduce){
  .navbar-brand i,.rs-footer-logo i,.rs-footer::before,.rs-hero-cover-inner,.legal-panel-box,.quiz-res{animation:none!important}
  .home-card,.home-card img,.article-figure img,.rs-chip,.rs-footer-links a,.btn-partner,#quizAnswers button,.navbar .nav-link::after{transition:none!important;transform:none!important}
}


.rs-theme-light{--font-h:'Merriweather',Georgia,serif;--font-b:'Nunito',system-ui,sans-serif;font-family:var(--font-b)}
.rs-theme-light h1,.rs-theme-light h2,.rs-theme-light .display-6{font-family:var(--font-h)}
.rs-hero-cover{position:relative;min-height:420px;background:linear-gradient(135deg,#20c997 0%,#17a2b8 55%,#0d6e8a 100%);color:#fff;overflow:hidden}
.rs-hero-cover::before{content:'';position:absolute;inset:0;background-image:var(--rs-hero-img);background-size:cover;background-position:center;opacity:.35}
.rs-hero-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,36,48,.15) 0%,rgba(15,36,48,.75) 100%)}
.rs-hero-cover-inner{position:relative;z-index:1;max-width:720px}
.rs-hero-eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:.9}
.rs-hero-title{font-family:var(--font-h);color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.2)}
.rs-hero-cover .rs-hero-eyebrow,.rs-hero-cover .rs-hero-title{color:#fff!important}
.rs-hero-featured{display:block;color:#fff;margin-top:1rem;padding:1.25rem 1.5rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:16px;backdrop-filter:blur(6px)}
.rs-hero-featured:hover{background:rgba(255,255,255,.18);color:#fff}
.rs-hero-featured h2{color:#fff}
.rs-article-wrap{max-width:760px;margin-left:auto;margin-right:auto}
.rs-longread .longread-body{font-size:1.02rem;line-height:1.8;max-width:none}
.rs-longread .longread-body h2{position:relative;padding-bottom:.35rem}
.rs-longread .longread-body h2::after{content:'';display:block;width:2.4rem;height:3px;margin-top:.45rem;border-radius:999px;background:linear-gradient(90deg,var(--accent),#20c997)}
.rs-longread .article-figure{border-radius:0;overflow:visible;box-shadow:none}
.rs-hero-featured{transition:transform .22s,background .22s}
.rs-hero-featured:hover{transform:translateY(-2px)}
.rs-read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1100;background:transparent;pointer-events:none}
.rs-read-progress > i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent2),var(--accent));transition:width .08s linear}


.cookie-bar--bar{background:#1a365d;color:#fff;border-top:3px solid #2c5282}
.cookie-bar--mint{background:#e8f8f5;border-top:1px solid #20c997}
.cookie-toast-end{position:fixed;bottom:1.25rem;right:1.25rem;z-index:1080;max-width:320px}
.cookie-pill{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #1abc9c;border-radius:999px;padding:.5rem 1.25rem;box-shadow:0 8px 30px rgba(0,0,0,.12);z-index:1080}
.cookie-slim{position:fixed;bottom:0;left:0;right:0;background:#f0fff8;border-top:1px solid #20c997;padding:.6rem 1rem;text-align:center;z-index:1080}
.cookie-card-float{position:fixed;bottom:1.25rem;right:1.25rem;background:#fff;border-radius:12px;padding:1rem;max-width:280px;box-shadow:0 12px 40px rgba(39,128,227,.2);z-index:1080;border:1px solid #e2e8f0}
.cookie-veranda{position:fixed;bottom:1rem;left:1rem;background:#fffef9;border:1px solid #6f4e37;border-radius:8px;padding:.75rem 1rem;z-index:1080;max-width:360px}
.cookie-bar--light{background:#fff;border-top:1px solid #dee2e6}
.cookie-billabong{position:fixed;bottom:0;left:0;right:0;z-index:1080;padding:1rem}
.cookie-billabong-inner{max-width:520px;margin:0 auto;background:linear-gradient(90deg,#e95420,#772953);color:#fff;border-radius:12px;padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem}
.cookie-billabong-inner button{background:#fff;border:none;border-radius:6px;padding:.35rem .9rem;font-weight:600;color:#e95420}
