/* ==========================================================================
   Whittleseabluecab.com — US offshore gambling affiliate
   Template design ported from the reference layout (light theme, red accent)
   Styles BOTH the shell classes and the existing body-content classes.
   ========================================================================== */
:root{
  --accent:#fe3e29; --accent-dark:#d62e1c; --accent-soft:#fff1ee;
  --ink:#1c1a17; --ink-2:#4a453d; --muted:#7a7266; --line:#e2dac9;
  --bg:#f5efe3; --bg-alt:#ebe3d4; --surface:#ffffff; --bg-dark:#171410; --cream:#f7f2e8;
  --gold:#f5b301; --green:#12a150; --red:#e5484d;
  --radius:14px; --radius-sm:9px; --maxw:1200px; --content:900px;
  --shadow:0 10px 34px rgba(28,26,23,.12); --shadow-sm:0 3px 12px rgba(28,26,23,.08);
  --sp-6:1.5rem;
  --hero-img:url('/assets/img/hero.jpg');
  --display:"Anton","Oswald","Arial Narrow",var(--font);
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.content{max-width:var(--content);margin-left:auto;margin-right:auto}
a{color:var(--accent-dark);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
/* Condensed display type for headings (poster look) */
h1,h2{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:1.02;letter-spacing:.005em;color:var(--ink)}
h3,h4{line-height:1.25;color:var(--ink);font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,5.5vw,3.9rem);margin:.08em 0 .4em}
h2{font-size:clamp(1.75rem,3.6vw,2.5rem);margin:1.4em 0 .5em}
h3{font-size:1.28rem;margin:1.4em 0 .45em}
h4{font-size:1.06rem;margin:1.1em 0 .35em}
p{margin:.75em 0}
ul,ol{padding-left:1.25em}
li{margin:.3em 0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:1000}
.skip-link:focus{left:0}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-weight:700;padding:11px 20px;border-radius:999px;text-align:center;border:2px solid transparent;cursor:pointer;transition:transform .08s ease,background .15s,color .15s;font-size:.98rem;line-height:1.2}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-cta{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-cta:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-primary:hover{background:#000;color:#fff}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-lg{padding:14px 26px;font-size:1.05rem}
.btn-sm{padding:8px 15px;font-size:.88rem}
.btn-block{display:block;width:100%}

/* ---------- Header / nav ---------- */
.site-header{background:var(--bg);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:60}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px}
.brand{display:flex;flex-direction:column;line-height:1;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand-name{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.55rem;letter-spacing:.01em}
.brand-accent{color:var(--accent)}
.brand-tagline{font-size:.66rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:4px}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:24px;height:2px;background:var(--ink);border-radius:2px}
.main-nav>ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;align-items:center}
.main-nav a{color:var(--ink);font-weight:600;font-size:.95rem;padding:9px 12px;border-radius:8px;display:inline-block}
.main-nav a:hover{background:var(--accent-soft);color:var(--accent-dark);text-decoration:none}
.main-nav .has-sub{position:relative}
.sub-toggle{display:none;background:none;border:0;color:var(--muted);cursor:pointer;font-size:.8rem}
.submenu{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;list-style:none;margin:6px 0 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;z-index:70}
.main-nav .has-sub:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu li{margin:0}
.submenu a{display:block;padding:8px 12px;font-size:.92rem;font-weight:500}

/* ---------- RG banner ---------- */
.rg-banner{background:var(--bg-dark);color:#e8eef7;font-size:.86rem}
.rg-banner .container{display:flex;align-items:center;gap:12px;padding-top:9px;padding-bottom:9px}
.rg-banner a{color:#ffb4a8;font-weight:700}
.rg-18{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 7px;border:2px solid var(--accent);color:#fff;border-radius:6px;font-weight:900;font-size:.8rem}

/* ---------- Hero (solid red; image blends under red overlay if provided) ---------- */
.hero{position:relative;
  background:linear-gradient(rgba(254,62,41,.90),rgba(214,46,28,.94)),
             var(--hero-img,none) center/cover no-repeat,
             var(--accent);
  color:#fff;padding:30px 0 50px;border-bottom:none}
.hero h1{color:var(--cream);max-width:20ch}
.hero-meta{color:#ffe4dd;font-size:.92rem;margin:.4em 0 1em}
.hero-meta a{color:#fff;text-decoration:underline}
.lead{font-size:1.18rem;color:var(--ink-2);max-width:62ch}
.hero .lead{color:#ffeee9;max-width:64ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.hero-actions .btn{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1rem}
/* hero button colours over red */
.hero .btn-cta{background:var(--cream);color:var(--accent-dark);border-color:var(--cream)}
.hero .btn-cta:hover{background:#fff;color:var(--accent-dark)}
.hero .btn-primary,.hero .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.85)}
.hero .btn-primary:hover,.hero .btn-outline:hover{background:#fff;color:var(--accent-dark);border-color:#fff}
/* breadcrumbs inside hero: top, left of the h1 */
.hero .crumbs{padding:0 0 14px;margin:0;font-size:.82rem;color:#ffd8cf}
.hero .crumbs a{color:#ffd8cf}
.hero .crumbs a:hover{color:#fff}
.hero .crumbs span{color:#fff;font-weight:600}
.hero .badges{justify-content:flex-start}
.hero .badges .badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.4);color:#fff}
/* Homepage hero: centered poster layout (matches reference) */
.hero--home{padding:44px 0 56px;text-align:center}
.hero--home h1{max-width:16ch;margin-left:auto;margin-right:auto;font-size:clamp(2.6rem,6.5vw,4.6rem)}
.hero--home .lead{margin-left:auto;margin-right:auto}
.hero--home .hero-actions{justify-content:center}
.hero--home .badges{justify-content:center}

/* ---------- Marquee + wave ---------- */
.rev-marquee{background:var(--accent);color:var(--cream);overflow:hidden;white-space:nowrap;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.03em;font-size:1.45rem}
.rev-marquee__track{display:inline-flex;animation:rev-scroll 28s linear infinite;padding:12px 0}
.rev-marquee__track span{padding-right:1rem}
@keyframes rev-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rev-wave{line-height:0;background:var(--accent)}
.rev-wave svg{width:100%;height:70px;display:block}
.rev-wave path{fill:var(--bg)}

/* ---------- Sections ---------- */
.section{padding:44px 0}
.section--alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* Affiliate table lifted directly under the hero */
.offers-lead{padding-top:30px;padding-bottom:8px}
.offers-lead>.container>h2:first-child{margin-top:0;border:0;padding-bottom:0}
.offers-lead>.container>p{color:var(--ink-2);max-width:none}

/* ---------- Offer table (template markup + legacy .offers) ---------- */
.offer-table,table.offers{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);margin:1.2em 0}
.offer-table thead th,table.offers thead th{background:var(--ink);color:#cfd6e4;text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;padding:13px 14px;font-weight:700}
.offer-table td,table.offers td{padding:15px 14px;border-top:1px solid var(--line);vertical-align:middle}
.offer-table tbody tr:hover td,table.offers tbody tr:hover td{background:var(--accent-soft)}
.offer-table .is-top td,table.offers tr.rank-1 td{background:linear-gradient(90deg,#fff8f6,transparent)}
.col-rank{width:56px;text-align:center}
.offer-rank,.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg-alt);color:var(--ink);font-weight:900;border:1px solid var(--line)}
.is-top .offer-rank,tr.rank-1 .rank-badge{background:var(--accent);color:#fff;border-color:var(--accent)}
.offer-brand,.op-cell{display:flex;align-items:center;gap:12px;min-width:150px}
.offer-logo,.op-logo{width:175px;height:82px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid var(--line);padding:8px}
.op-logo{width:140px;height:64px}
.offer-logo--dark{background:var(--ink)}
.offer-name,.op-name{font-weight:800;color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.offer-bonus,.bonus-cell{font-weight:800;color:var(--accent-dark);max-width:250px}
.offer-bonus small{display:block;font-weight:500;color:var(--muted);font-size:.8rem}
.offer-cta{min-width:150px}
.offer-cta .terms,.terms{display:block;font-size:.72rem;color:var(--muted);margin-top:5px;text-align:center}
.badge{display:inline-block;font-size:.66rem;font-weight:800;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.badge--top-pick{background:var(--gold);color:#4a3800}
.badge--crypto{background:#eaf3ff;color:#1857cc}
.check{color:var(--green);font-weight:900}.cross{color:var(--red);font-weight:900}
.offer-table-wrap,.data-table-wrap{overflow-x:auto;margin:1.3em 0}

/* ---------- Star rating ---------- */
.rating{display:inline-flex;align-items:center;gap:8px}
.stars-glyph{color:var(--gold);letter-spacing:3px;font-size:.95rem;line-height:1;white-space:nowrap}
.rating .stars{--pct:100%;width:92px;height:16px;display:inline-block;
  background:linear-gradient(90deg,var(--gold) var(--pct),#d8dce4 var(--pct));
  -webkit-mask:repeating-linear-gradient(90deg,#000 0 15px,transparent 15px 18.4px);
  mask:repeating-linear-gradient(90deg,#000 0 15px,transparent 15px 18.4px)}
.rating-score{font-weight:900;color:var(--ink)}
.stars.stars-text{background:none;-webkit-mask:none;mask:none;color:var(--gold);width:auto;font-size:.8rem}

/* ---------- Cards ---------- */
.card-grid{display:grid;gap:18px;margin:1.4em 0}
.card-grid--3{grid-template-columns:repeat(3,1fr)}
.review-card,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}
.review-card-title{font-size:1.1rem;margin-bottom:8px}
.review-features{list-style:none;padding:0;margin:0}
.review-features li{padding-left:22px;position:relative;margin:.4em 0}
.review-features li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}

/* ---------- Notes / callouts (template .note + legacy .callout) ---------- */
.note,.callout{border:1px solid var(--line);border-left:4px solid var(--accent);background:#fff;padding:15px 18px;border-radius:0 12px 12px 0;margin:1.3em 0;box-shadow:var(--shadow-sm)}
.note--info,.callout{border-left-color:#1857cc}
.note--warning,.callout.warn{border-left-color:var(--gold);background:#fffdf5}
.callout.legal{border-left-color:var(--accent)}
.note-title{font-weight:800;margin:0 0 .3em}
.note p:last-child,.callout p:last-child{margin-bottom:0}
.callout h4{margin-top:0}

/* ---------- Operator review block (legacy) ---------- */
.review-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:1.4em 0;box-shadow:var(--shadow-sm)}
.review-block{border-top:4px solid var(--accent)}
.review-block .btn{margin-top:10px}
.review-block>p:last-child{margin-bottom:0}
.review-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.review-head img{width:170px;height:82px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
.review-score{margin-left:auto;background:var(--accent);color:#fff;font-weight:800;padding:8px 14px;border-radius:8px}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1em 0}
.pros,.cons{background:var(--bg-alt);border-radius:10px;padding:14px}
.pros h4{color:var(--green);margin-top:0}.cons h4{color:var(--red);margin-top:0}
.pros ul,.cons ul{list-style:none;padding:0}
.pros li:before{content:"✓ ";color:var(--green);font-weight:800}
.cons li:before{content:"✕ ";color:var(--red);font-weight:800}

/* ---------- Data tables ---------- */
table.data{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
table.data th{background:var(--bg-alt);text-align:left;padding:11px 13px;font-size:.85rem;color:var(--ink-2)}
table.data td{padding:11px 13px;border-top:1px solid var(--line)}

/* ---------- FAQ (template .faq-item + legacy .faq details) ---------- */
.faq .faq-item,.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin:.6em 0;padding:0 16px}
.faq summary{cursor:pointer;font-weight:700;color:var(--ink);padding:14px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:"+ ";color:var(--accent);font-weight:900}
.faq details[open] summary:before,.faq .faq-item[open] summary:before{content:"– "}
.faq-body{padding-bottom:12px}

/* ---------- Byline / EEAT / misc legacy ---------- */
.byline{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem;margin:.4em 0 1.1em;flex-wrap:wrap}
.byline .avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-soft);display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:var(--accent-dark)}
.updated{font-size:.85rem;color:var(--muted)}
.rg-block{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin:1.5em 0;font-size:.92rem;color:var(--ink-2)}
.rg-block strong{color:var(--ink)}
.toc{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;margin:1.3em 0}
.toc h4{margin:0 0 8px}.toc ol{margin:0;columns:2}
.crumbs{font-size:.85rem;color:var(--muted);padding:14px 0}
.crumbs a{color:var(--muted)}.crumbs span{color:var(--ink)}
.badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.badges .badge{background:#fff;border:1px solid var(--line);color:var(--ink-2);padding:6px 12px}

/* ---------- Footer ---------- */
.site-footer{background:var(--bg-dark);color:#aab4c5;padding:44px 0 22px;margin-top:10px;font-size:.92rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
.site-footer .brand span{color:#fff;font-weight:900}
.site-footer h4{color:#fff;font-size:1rem;margin:0 0 .6em}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col a{color:#aab4c5}.footer-col a:hover{color:#fff}
.footer-rg{display:flex;gap:14px;align-items:flex-start;border-top:1px solid #2a3140;margin-top:26px;padding-top:18px;font-size:.85rem}
.footer-rg a{color:#ffb4a8}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #2a3140;margin-top:18px;padding-top:16px;font-size:.8rem;color:#8792a5}

/* ---------- Cookie banner ---------- */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:90;padding:16px}
.cookie-banner__inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cookie-banner__text{margin:0;font-size:.88rem;color:var(--ink-2)}
.cookie-banner__actions{display:flex;gap:10px}

/* ---------- Responsive ---------- */
@media(max-width:940px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .card-grid--3,.grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .hero h1{font-size:2rem}
}
@media(max-width:760px){
  body{font-size:16px}
  h1,.hero h1{font-size:1.7rem}
  .nav-toggle{display:flex}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:0;overflow:hidden;transition:max-height .25s}
  .main-nav[data-open="true"]{max-height:80vh;overflow:auto}
  .main-nav>ul{flex-direction:column;align-items:stretch;padding:10px}
  .main-nav a{width:100%}
  .main-nav .has-sub{display:flex;flex-wrap:nowrap;align-items:center}
  .main-nav .has-sub>a{flex:1 1 auto;min-width:0}
  .sub-toggle{display:flex;align-items:center;justify-content:center;margin-left:auto;flex:0 0 44px;width:44px;padding:9px 0;font-size:.95rem;color:var(--ink-2)}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:0 0 6px 12px;max-height:0;overflow:hidden;transition:max-height .2s;padding:0 8px}
  .main-nav .has-sub[data-open="true"]>.submenu{max-height:900px;padding:6px 8px}
  .card-grid--3,.grid-2,.grid-3,.grid-4,.pros-cons{grid-template-columns:1fr}
  .toc ol{columns:1}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .review-score{margin-left:0}
}

/* ============================================================
   Mobile: affiliate tables become stacked cards (reference look)
   ============================================================ */
@media(max-width:760px){
  .offer-table-wrap{overflow:visible;border:0;box-shadow:none;background:none;margin:2.8em 0 1.4em}
  .offer-table{display:block;background:none;border:0;box-shadow:none;min-width:0}
  .offer-table thead{display:none}
  .offer-table tbody{display:block}
  .offer-table tr{display:block;position:relative;background:#1d2534;border-radius:18px;
    padding:30px 18px 18px;margin:26px 0 40px;box-shadow:0 10px 26px rgba(20,20,28,.22)}
  .offer-table tr.is-top,.offer-table tr:first-child{border:2px solid var(--accent)}
  .offer-table td{display:block;border:0;padding:5px 0;text-align:center;background:none}
  .offer-table tr:hover td,.offer-table .is-top td,.offer-table tr:first-child td,.offer-table tr.rank-1 td{background:none}
  /* hide the secondary data columns on the card */
  .offer-table td[data-label="Wagering"],
  .offer-table td[data-label="Min Dep"],
  .offer-table td[data-label="US Players"],
  .offer-table td[data-label="Live Betting"],
  .offer-table td[data-label="Type"],
  .offer-table td[data-label="Coins"],
  .offer-table td[data-label="Provably Fair"]{display:none}
  /* rank badge — red circle overlapping top-left */
  .offer-table td.col-rank{position:absolute;top:-17px;left:16px;padding:0;width:auto;z-index:3}
  .offer-table .offer-rank{width:38px;height:38px;background:var(--accent);color:#fff;border:2px solid var(--bg);
    font-size:1.1rem;box-shadow:0 3px 10px rgba(0,0,0,.35)}
  /* TOP PICK pill — centered, overlapping top edge */
  .offer-table tr .badge--top-pick{position:absolute;top:-14px;left:50%;transform:translateX(-50%);z-index:3;
    background:var(--accent);color:#fff;font-size:.72rem;padding:6px 16px;white-space:nowrap;border:2px solid var(--bg);box-shadow:0 3px 10px rgba(0,0,0,.3)}
  /* brand: white logo box + name stacked, centered */
  .offer-table .offer-brand{flex-direction:column;align-items:center;gap:14px;margin-top:8px}
  .offer-table .offer-logo{width:230px;height:108px;background:#fff;border-radius:12px;padding:16px;border:0}
  .offer-table .offer-name{font-family:var(--display);text-transform:uppercase;font-weight:400;
    font-size:1.45rem;color:#fff;justify-content:center;letter-spacing:.02em;gap:0}
  /* rating — centered gold stars, hide the numeric score */
  .offer-table .offer-rating .rating{justify-content:center}
  .offer-table .offer-rating .rating-score{display:none}
  .offer-table .stars-glyph{font-size:1.25rem;letter-spacing:4px}
  /* bonus — orange, centered, with muted sub-line */
  .offer-table .offer-bonus{color:#ff7a5a;font-size:1.15rem;font-weight:800;line-height:1.3}
  .offer-table .offer-bonus small{display:block;color:#9aa6b6;font-weight:500;font-size:.82rem;margin-top:3px}
  /* CTA — full-width red button + terms */
  .offer-table .offer-cta{margin-top:8px}
  .offer-table .offer-cta .btn{font-family:var(--display);text-transform:uppercase;font-size:1.1rem;
    letter-spacing:.03em;border-radius:999px;padding:14px;background:var(--accent);color:#fff;border-color:var(--accent)}
  .offer-table .offer-cta .btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
  .offer-table .offer-cta .terms{color:#8b94a3;margin-top:10px;font-size:.76rem}
}

/* Responsible-gambling banner: collapse to a single line on mobile */
@media(max-width:760px){
  .rg-extra{display:none}
  .rg-banner{font-size:.8rem}
  .rg-banner .container{flex-wrap:nowrap;gap:9px}
  .rg-banner .rg-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .rg-18{flex:0 0 auto}
}

/* ============================================================
   Mobile: bring the affiliate table above the fold.
   Keep H1 + author byline + H2 + table; suppress the rest.
   ============================================================ */
@media(max-width:760px){
  .hero{padding:18px 0 20px}
  .hero--home{padding:20px 0 22px}
  .hero h1,.hero--home h1{font-size:2rem;margin:.15em 0 .3em;max-width:none}
  .hero .lead,.hero .badges,.hero-actions{display:none}
  .rev-marquee,.rev-wave{display:none}
  .offers-lead{padding-top:18px}
  .offers-lead>.container>p{display:none}      /* hide the intro paragraph above the table */
  .offers-lead>.container>h2:first-child{margin:.2em 0 .5em}
}
