@font-face{font-family:Koulen;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/koulen-latin.woff2") format("woff2")}
@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/sora-latin-400.woff2") format("woff2")}
@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/sora-latin-600.woff2") format("woff2")}
@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/sora-latin-700.woff2") format("woff2")}
@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url("/fonts/sora-latin-800.woff2") format("woff2")}

:root{
  --ink:#06140c;--ink2:#0a1c12;--gold:#ffd24a;--gold2:#ffe9a0;--cinnabar:#e21820;--jade:#1ee87a;--jade2:#0a8a4a;--bronze:#c4923a;--ivory:#f6f0dc;--mist:#cde8d4;
  --cta-a:#1ee87a;--cta-b:#ffd24a;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);color:var(--ivory);font-family:Sora,system-ui,sans-serif;font-size:16px;line-height:1.55}
body{background:radial-gradient(1200px 800px at 50% 0,#0d2416 0%,var(--ink) 62%);min-height:100vh}
img{display:block;max-width:100%;height:auto}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ===== HEADER ===== */
.rs-top{height:72px;display:flex;align-items:center;gap:14px;padding:0 18px;background:linear-gradient(180deg,#0c1e14 0%,#07150d 100%);border-bottom:2px solid #c4923a;position:relative;z-index:20}
.rs-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.rs-mark{width:64px;height:64px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 2px #ffd24a,0 0 12px rgba(255,210,74,.45)}
.rs-word{font-family:Koulen,sans-serif;font-size:56px;line-height:1;letter-spacing:.02em;color:var(--gold);
  background:linear-gradient(180deg,#fff3b0,#ffd24a 55%,#c4923a);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 0 #071208) drop-shadow(2px 0 0 #071208) drop-shadow(-2px 0 0 #071208) drop-shadow(0 -1px 0 #071208);
  padding-top:6px}
.rs-nav{display:flex;gap:8px;margin-left:8px;flex:1 1 auto}
.rs-nav a{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 14px;border-radius:8px;background:#12301c;border:1px solid #2a5a38;color:var(--ivory);font-weight:700;font-size:14px;letter-spacing:.02em}
.rs-nav a[aria-current="page"],.rs-nav a:hover{background:#1a4a28;border-color:var(--gold);color:var(--gold)}
.rs-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:10px;
  background:linear-gradient(180deg,var(--cta-a),#14b35e 40%,#0e7a40);color:#06210c;font-weight:800;font-size:16px;letter-spacing:.04em;
  box-shadow:0 0 0 2px #083818,0 6px 18px rgba(30,232,122,.28);white-space:nowrap}
.rs-cta:hover{color:#06210c;filter:brightness(1.08)}
.rs-cta-lg{height:56px;padding:0 28px;font-size:20px;background:linear-gradient(90deg,#1ee87a,#ffd24a);box-shadow:0 0 0 3px #071208,0 8px 22px rgba(255,210,74,.35)}
.rs-arr{width:14px;height:14px}

/* ticker */
.rs-ticker{height:28px;overflow:hidden;background:#04100a;border-bottom:1px solid #c4923a;color:var(--gold);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;gap:22px;letter-spacing:.04em}
.rs-ticker span{white-space:nowrap}

/* ===== S-COIL PLAYFIELD (home fold) ===== */
.rs-play{position:relative;height:698px;overflow:hidden;background:#06140c}
.rs-hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.rs-play::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(6,20,12,.72) 0%,rgba(6,20,12,.28) 28%,rgba(6,20,12,0) 48%,rgba(6,20,12,.15) 100%),
             linear-gradient(180deg,rgba(6,20,12,.12) 0%,rgba(6,20,12,0) 30%,rgba(6,20,12,.2) 100%)}

.rs-trailhead{position:absolute;left:18px;top:18px;z-index:5;width:420px}
.rs-h1{position:relative;font-family:Koulen,sans-serif;font-size:92px;line-height:.82;letter-spacing:.01em;margin:0 0 14px}
.rs-h1-out{position:absolute;left:0;top:0;color:transparent;-webkit-text-stroke:7px #071208;pointer-events:none;white-space:pre-line}
.rs-h1-in{position:relative;display:inline-block;background:linear-gradient(180deg,#fff4b8 0%,#ffd24a 28%,#e21820 62%,#1ee87a 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:pre-line;filter:drop-shadow(0 3px 0 #071208)}

.rs-compass{margin-top:16px;width:148px;height:148px;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#e8c56a,#8a6a28 55%,#3a2a10);
  border:4px solid #ffd24a;box-shadow:0 0 0 3px #071208,0 8px 20px rgba(0,0,0,.45);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#1a1004;font-weight:800;line-height:1.15;font-size:18px}
.rs-compass b{font-family:Koulen,sans-serif;font-size:26px;font-weight:400;line-height:1}

/* promo medallions */
.rs-promo{position:absolute;z-index:6;width:168px;text-align:center;filter:drop-shadow(0 8px 16px rgba(0,0,0,.55))}
.rs-promo img{width:168px;height:168px;object-fit:cover;border-radius:50%;border:3px solid #ffd24a;box-shadow:0 0 0 3px #071208}
.rs-promo h2{margin-top:6px;font-family:Sora,sans-serif;font-weight:800;font-size:22px;line-height:1.05;letter-spacing:.04em;color:var(--gold);
  text-shadow:0 2px 0 #071208,2px 0 0 #071208,-2px 0 0 #071208,0 -1px 0 #071208;text-transform:uppercase}
.rs-promo-a{right:12px;top:2px}
.rs-promo-b{left:200px;bottom:16px;width:150px}
.rs-promo-b img{width:150px;height:150px}

/* hexagonal tiles along the S-curve */
.rs-tile{position:absolute;z-index:7;width:156px;text-decoration:none;color:var(--ivory)}
.rs-tile-art{width:156px;height:156px;clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);
  border:0;object-fit:cover;filter:drop-shadow(0 0 0 3px #ffd24a) drop-shadow(0 6px 10px rgba(0,0,0,.55));background:#0a1c12}
.rs-tile-frame{position:relative;width:156px;height:156px}
.rs-tile-frame::after{content:"";position:absolute;inset:0;pointer-events:none;
  clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);
  box-shadow:inset 0 0 0 4px #ffd24a}
.rs-badge{position:absolute;top:6px;right:14px;z-index:2;font-size:11px;font-weight:800;letter-spacing:.06em;
  padding:3px 8px;border-radius:6px;color:#071208;background:var(--cinnabar);box-shadow:0 2px 0 #071208}
.rs-badge.novo{background:var(--jade)}
.rs-plaque{margin-top:4px;background:#120c04;border:2px solid #ffd24a;border-radius:6px;
  font-weight:800;font-size:15px;line-height:1.15;text-align:center;padding:5px 6px;color:#fff6c8;
  text-shadow:0 1px 0 #000;letter-spacing:.01em;min-height:36px;display:flex;align-items:center;justify-content:center}

/* tile coordinates: percentages of the 698px playfield, 1280-wide stage */
.rs-t1{left:46%;top:6%}
.rs-t2{left:58%;top:22%}
.rs-t3{left:70%;top:12%}
.rs-t4{left:85%;top:34%}
.rs-t5{left:44%;top:48%}
.rs-t6{left:58%;top:56%}
.rs-t7{left:72%;top:52%}
.rs-t8{left:86%;top:70%}


/* keep S-curve children positioned against the playfield without adding fold height */
.rs-play .rs-tiles,.rs-play .rs-promos{position:absolute;inset:0;pointer-events:none}
.rs-play .rs-tile,.rs-play .rs-promo{pointer-events:auto}

/* ===== BELOW FOLD ===== */
.rs-wrap{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:36px 0 64px}
.rs-sec{margin:28px 0 40px}
.rs-sec h2{font-family:Koulen,sans-serif;font-size:40px;line-height:1;color:var(--gold);letter-spacing:.02em;margin-bottom:14px;
  text-shadow:0 2px 0 #071208}
.rs-grid-figs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.rs-fig{background:linear-gradient(180deg,#102418,#0a1c12);border:1px solid #2a5a38;border-radius:12px;padding:16px 12px;text-align:center}
.rs-fig b{display:block;font-family:Koulen,sans-serif;font-size:28px;color:var(--gold);line-height:1;margin-bottom:6px}
.rs-fig span{font-size:13px;color:var(--mist);font-weight:600}

.rs-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rs-card{background:#0c1e14;border:1px solid #2a5a38;border-radius:14px;overflow:hidden}
.rs-card img{width:100%;height:140px;object-fit:cover}
.rs-card h3{font-size:18px;padding:10px 14px 0;color:var(--gold)}
.rs-card p{padding:6px 14px 14px;color:var(--mist);font-size:14px}

.rs-faq details{background:#0c1e14;border:1px solid #2a5a38;border-radius:10px;margin:8px 0;padding:10px 14px}
.rs-faq summary{cursor:pointer;font-weight:700;color:var(--gold)}
.rs-faq p{margin-top:8px;color:var(--mist)}

.rs-note{font-size:13px;color:#9ab89e;margin-top:10px}
.rs-disc{font-size:12px;color:#8aa490;margin-top:6px}
.rs-18{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--cinnabar)}

.rs-foot{background:#04100a;border-top:2px solid #c4923a;padding:28px 18px;color:#9ab89e;font-size:13px}
.rs-foot-in{width:min(1120px,calc(100% - 8px));margin:0 auto;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start}
.rs-foot a{color:var(--gold)}
.rs-foot nav{display:flex;flex-wrap:wrap;gap:10px 16px}

/* inner pages */
.rs-page-hero{position:relative;min-height:280px;display:flex;align-items:flex-end}
.rs-page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rs-page-hero .rs-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,12,.15),rgba(6,20,12,.82))}
.rs-page-hero .rs-inner{position:relative;z-index:2;width:min(1120px,calc(100% - 32px));margin:0 auto;padding:40px 0 28px}
.rs-page-hero h1{font-family:Koulen,sans-serif;font-size:64px;line-height:.9;max-width:18ch;
  background:linear-gradient(180deg,#fff4b8,#ffd24a 40%,#e21820);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 3px 0 #071208) drop-shadow(2px 0 0 #071208) drop-shadow(-2px 0 0 #071208);margin-bottom:14px}
.rs-crumb{font-size:13px;color:var(--mist);margin-bottom:8px}
.rs-crumb a{color:var(--gold)}
.rs-prose{width:min(800px,calc(100% - 32px));margin:28px auto 48px;font-size:17px;color:#e8f0e4}
.rs-prose h2{font-family:Koulen,sans-serif;font-size:34px;color:var(--gold);margin:28px 0 10px;line-height:1.05}
.rs-prose h3{font-size:20px;color:var(--gold2);margin:20px 0 8px}
.rs-prose p{margin:0 0 14px}
.rs-prose ul,.rs-prose ol{margin:0 0 16px 1.2em}
.rs-prose li{margin:4px 0}
.rs-prose figure{margin:18px 0;border:1px solid #2a5a38;border-radius:12px;overflow:hidden;background:#0c1e14}
.rs-prose figcaption{padding:8px 12px;font-size:13px;color:#9ab89e}
.rs-prose .rs-cta{margin:10px 0 4px}

/* reviews hub: 5 field notebooks */
.rs-books{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}
.rs-book{background:#0c1e14;border:1px solid #2a5a38;border-radius:12px;padding:12px}
.rs-book h3{font-family:Koulen,sans-serif;font-size:24px;color:var(--gold);line-height:1;margin-bottom:8px}
.rs-slip{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px dashed #2a5a38;font-size:14px}
.rs-slip a{font-weight:700}
.rs-slip .rs-meta{color:#9ab89e;font-size:12px}
.rs-tools{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}
.rs-tools input{flex:1;min-width:200px;height:44px;border-radius:8px;border:1px solid #2a5a38;background:#0a1c12;color:var(--ivory);padding:0 12px;font:inherit}
.rs-tools button{height:44px;padding:0 16px;border-radius:8px;border:1px solid var(--gold);background:#12301c;color:var(--gold);font-weight:700;cursor:pointer}
.rs-slip.hidden{display:none}
.rs-fulls{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:16px 0}
.rs-full{background:#0c1e14;border:1px solid #c4923a;border-radius:12px;overflow:hidden}
.rs-full img{width:100%;height:130px;object-fit:cover}
.rs-full h3{padding:10px 12px 0;font-size:16px;color:var(--gold)}
.rs-full p{padding:6px 12px 12px;font-size:13px;color:var(--mist)}

/* review page */
.rs-rev-cover{width:min(1120px,calc(100% - 32px));margin:20px auto;border-radius:14px;overflow:hidden;border:1px solid #c4923a}
.rs-rev-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:16px 0}

.rs-menu-btn{display:none;height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--gold);background:#12301c;color:var(--gold);font-weight:700}

@media (max-width:980px){
  .rs-nav{display:none}
  .rs-nav.open{display:flex;position:absolute;top:72px;left:0;right:0;background:#0c1e14;flex-direction:column;padding:10px;z-index:30;border-bottom:2px solid #c4923a}
  .rs-menu-btn{display:inline-flex;align-items:center;margin-left:auto}
  .rs-word{font-size:34px}
  .rs-mark{width:48px;height:48px}
  .rs-top{height:60px;padding:0 10px;gap:8px}
  .rs-cta{height:40px;padding:0 10px;font-size:12px}
  .rs-ticker{height:22px;font-size:11px;gap:10px}
  .rs-play{height:auto;min-height:0;padding:12px 12px 20px;display:flex;flex-direction:column;gap:12px}
  .rs-hero{position:relative;height:168px;width:100%;border-radius:14px;object-fit:cover;order:0}
  .rs-trailhead{order:1}
  .rs-play .rs-tiles{order:2}
  .rs-play .rs-promos{order:3}
  .rs-h1{margin-bottom:8px}
  .rs-compass{width:112px;height:112px;font-size:14px;margin-top:8px}
  .rs-play::before{display:none}
  .rs-trailhead{position:relative;left:auto;top:auto;width:auto}
  .rs-h1{font-size:58px}
  .rs-h1-out{-webkit-text-stroke:5px #071208}
  .rs-play .rs-tiles,.rs-play .rs-promos{position:relative;inset:auto;pointer-events:auto;height:auto}
  .rs-promo,.rs-tile{position:relative;left:auto;top:auto;right:auto;bottom:auto}
  .rs-promos{display:flex;gap:12px;justify-content:center}
  .rs-promo-a,.rs-promo-b{width:46%}
  .rs-promo img,.rs-promo-b img{width:100%;height:auto;aspect-ratio:1}
  .rs-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .rs-tile{width:auto}
  .rs-tile-art,.rs-tile-frame{width:100%;height:auto;aspect-ratio:1}
  .rs-grid-figs{grid-template-columns:1fr 1fr}
  .rs-cards,.rs-books{grid-template-columns:1fr}
  .rs-page-hero h1{font-size:44px}
}
