:root{
--paper:#f6f4ef;
--white:#ffffff;
--ink:#132043;
--ink-soft:#5d6885;
--red:#d62f43;
--blue:#2f5bd8;
--line:#e2ddd2;
--wrap:1160px;
--font-head:"Space Grotesk",Georgia,serif;
--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}

[hidden]{display:none!important;}

html{-webkit-text-size-adjust:100%;}

body{
margin:0;
background:var(--paper);
color:var(--ink);
font-family:var(--font-body);
font-size:16px;
line-height:1.6;
overflow-x:hidden;
}

body.is-locked{overflow:hidden;}

a{color:inherit;text-decoration:none;}

h1,h2,h3{margin:0;font-family:var(--font-head);line-height:1.16;}

p{margin:0;}

ul{margin:0;padding:0;list-style:none;}

button{font-family:inherit;border:0;background:none;cursor:pointer;color:inherit;}

svg{display:block;}

img{max-width:100%;height:auto;}

.wrap{
width:100%;
max-width:var(--wrap);
margin:0 auto;
padding:0 24px;
}

.header{
position:relative;
z-index:20;
background:var(--white);
border-bottom:1px solid var(--line);
}

.header__inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
min-height:78px;
}

.brand{display:inline-flex;align-items:center;gap:12px;}

.brand__mark{
display:inline-flex;
align-items:center;
justify-content:center;
width:46px;
height:46px;
border-radius:12px;
background:var(--ink);
color:#fff;
}

.brand__text{display:flex;flex-direction:column;line-height:1.1;}

.brand__name{
font-family:var(--font-head);
font-size:23px;
font-weight:700;
letter-spacing:-.4px;
}

.brand__accent{color:var(--red);}

.brand__tag{
margin-top:3px;
font-size:10px;
font-weight:600;
letter-spacing:1.8px;
text-transform:uppercase;
color:var(--ink-soft);
}

.nav ul{display:flex;align-items:center;gap:4px;}

.nav__link{
display:block;
padding:10px 18px;
border-radius:999px;
font-size:15px;
font-weight:600;
color:var(--ink-soft);
transition:color .18s ease,background-color .18s ease;
}

.nav__link:hover{color:var(--ink);background:#f0eee8;}

.nav__link.is-active{color:#fff;background:var(--ink);}

.burger{
display:none;
width:46px;
height:46px;
border-radius:12px;
border:1px solid var(--line);
background:var(--white);
position:relative;
}

.burger span{
position:absolute;
left:50%;
width:20px;
height:2px;
margin-left:-10px;
border-radius:2px;
background:var(--ink);
transition:transform .22s ease,opacity .16s ease;
}

.burger span:nth-child(1){top:16px;}
.burger span:nth-child(2){top:22px;}
.burger span:nth-child(3){top:28px;}

.burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.burger.is-open span:nth-child(2){opacity:0;}
.burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.hero{
position:relative;
overflow:hidden;
background:
radial-gradient(620px 220px at 88% 0%,rgba(47,91,216,.12),transparent 65%),
radial-gradient(520px 220px at 6% 100%,rgba(214,47,67,.10),transparent 62%),
var(--paper);
border-bottom:1px solid var(--line);
}

.hero__inner{
position:relative;
z-index:1;
max-width:880px;
padding-top:50px;
padding-bottom:52px;
}

.hero__pill{
display:inline-block;
padding:7px 15px;
border-radius:999px;
border:1px solid var(--line);
background:var(--white);
color:var(--ink-soft);
font-size:11.5px;
font-weight:700;
letter-spacing:1.3px;
text-transform:uppercase;
}

.hero__title{
margin-top:20px;
font-size:clamp(31px,5.1vw,54px);
font-weight:700;
letter-spacing:-1.4px;
}

.hero__title em{
font-style:normal;
color:var(--red);
box-shadow:inset 0 -14px 0 rgba(214,47,67,.14);
}

.hero__subtitle{
margin-top:18px;
max-width:700px;
font-family:var(--font-body);
font-size:clamp(15px,1.8vw,17.5px);
font-weight:400;
line-height:1.66;
color:var(--ink-soft);
}

.listing{padding:54px 0 70px;}

.listing__head{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:20px;
margin-bottom:26px;
}

.listing__title{
font-size:clamp(23px,3vw,32px);
font-weight:700;
letter-spacing:-.8px;
}

.listing__note{
margin-top:8px;
max-width:640px;
font-size:14.5px;
color:var(--ink-soft);
}

.listing__stamp{
flex:none;
padding:9px 16px;
border-radius:999px;
background:var(--ink);
color:#fff;
font-size:11.5px;
font-weight:700;
letter-spacing:1.2px;
text-transform:uppercase;
}

.table__head,
.offer__row{
display:grid;
grid-template-columns:62px 154px minmax(150px,1fr) minmax(180px,1.15fr) 92px 186px;
align-items:center;
gap:18px;
}

.table__head{
padding:0 22px 12px;
font-size:11px;
font-weight:700;
letter-spacing:1.4px;
text-transform:uppercase;
color:var(--ink-soft);
}

.table__head span:nth-child(5){text-align:center;}
.table__head span:nth-child(6){text-align:center;}

.offer{
position:relative;
margin-bottom:16px;
padding:22px;
border:1px solid var(--line);
border-radius:18px;
background:var(--white);
box-shadow:0 2px 0 rgba(19,32,67,.04);
transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.offer:hover{
border-color:#c9c2b2;
box-shadow:0 14px 30px rgba(19,32,67,.09);
transform:translateY(-2px);
}

.offer--top{
border-color:var(--ink);
box-shadow:0 10px 26px rgba(19,32,67,.10);
}

.offer__ribbon{
position:absolute;
top:-12px;
left:22px;
padding:5px 14px;
border-radius:999px;
background:var(--red);
color:#fff;
font-family:var(--font-head);
font-size:11px;
font-weight:700;
letter-spacing:1.1px;
text-transform:uppercase;
}

.offer__rank{display:flex;justify-content:center;}

.offer__rank span{
display:inline-flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
border-radius:14px;
background:var(--paper);
border:1px solid var(--line);
font-family:var(--font-head);
font-size:19px;
font-weight:700;
color:var(--ink);
}

.offer--top .offer__rank span{
background:var(--ink);
border-color:var(--ink);
color:#fff;
}

.offer__logo{
display:flex;
align-items:center;
justify-content:center;
height:74px;
padding:8px;
border-radius:12px;
background:linear-gradient(150deg,#1b2c58,#0e1834);
border:1px solid rgba(255,255,255,.08);
overflow:hidden;
}

.offer__logo img{
max-height:100%;
width:auto;
object-fit:contain;
}

.offer__name{
font-size:19px;
font-weight:700;
letter-spacing:-.3px;
}

.offer__meta{
margin-top:5px;
font-size:12.5px;
color:var(--ink-soft);
}

.offer__label{
display:none;
font-size:10.5px;
font-weight:700;
letter-spacing:1.2px;
text-transform:uppercase;
color:var(--ink-soft);
}

.offer__value{
display:block;
font-family:var(--font-head);
font-size:17px;
font-weight:700;
line-height:1.3;
letter-spacing:-.3px;
}

.offer__value span{
display:block;
margin-top:3px;
font-family:var(--font-body);
font-size:13px;
font-weight:600;
color:var(--red);
letter-spacing:0;
}

.offer__score{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:4px;
}

.offer__grade{
display:inline-flex;
align-items:center;
justify-content:center;
width:64px;
height:52px;
border-radius:14px;
background:linear-gradient(150deg,#1b2c58,#132043);
color:#fff;
font-family:var(--font-head);
font-size:21px;
font-weight:700;
letter-spacing:-.5px;
}

.offer--top .offer__grade{background:linear-gradient(150deg,#e0455a,#c31e33);}

.offer__cta{
display:flex;
flex-direction:column;
justify-content:center;
}

.btn{
display:block;
padding:14px 18px;
border-radius:12px;
background:var(--red);
color:#fff;
font-family:var(--font-head);
font-size:15px;
font-weight:700;
letter-spacing:.2px;
text-align:center;
box-shadow:0 6px 14px rgba(214,47,67,.26);
transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.btn:hover{
background:#bb2032;
box-shadow:0 10px 20px rgba(214,47,67,.32);
transform:translateY(-1px);
}

.offer__terms{
margin-top:18px;
padding-top:14px;
border-top:1px dashed var(--line);
font-size:11.8px;
line-height:1.65;
color:#7b849d;
}

@media (max-width:1080px){
.table__head,
.offer__row{grid-template-columns:54px 128px minmax(120px,1fr) minmax(150px,1fr) 80px 160px;gap:14px;}
.offer__logo{height:66px;}
.offer__value{font-size:15.5px;}
.btn{padding:13px 14px;font-size:14px;}
}

@media (max-width:900px){
.burger{display:block;}

.nav{
position:absolute;
top:100%;
left:0;
right:0;
background:var(--white);
border-bottom:1px solid var(--line);
box-shadow:0 18px 34px rgba(19,32,67,.10);
padding:14px 24px 20px;
display:none;
}

.nav.is-open{display:block;}

.nav ul{flex-direction:column;align-items:stretch;gap:8px;}

.nav__link{
padding:14px 16px;
border-radius:10px;
font-size:16px;
background:#f6f4ef;
}

.table__head{display:none;}

.offer{padding:20px 18px 18px;}

.offer__row{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:14px;
padding-top:8px;
}

.offer__rank{position:absolute;top:16px;left:16px;}

.offer__rank span{width:36px;height:36px;border-radius:11px;font-size:16px;}

.offer__logo{
flex:0 0 100%;
height:86px;
margin-top:26px;
}

.offer__brand{flex:0 0 100%;text-align:center;}

.offer__bonus{
flex:1 1 58%;
padding:12px 14px;
border-radius:12px;
background:var(--paper);
border:1px solid var(--line);
}

.offer__score{
flex:1 1 30%;
padding:8px;
}

.offer__label{display:block;margin-bottom:5px;}

.offer__cta{flex:0 0 100%;}

.offer__ribbon{left:50%;transform:translateX(-50%);}

.offer--top .offer__rank span{border-color:var(--ink);}
}

@media (max-width:600px){
.wrap{padding:0 16px;}
.header__inner{min-height:66px;}
.brand__mark{width:40px;height:40px;border-radius:10px;}
.brand__mark svg{width:19px;height:19px;}
.brand__name{font-size:19px;}
.brand__tag{font-size:9px;letter-spacing:1.4px;}
.burger{width:42px;height:42px;}
.burger span:nth-child(1){top:14px;}
.burger span:nth-child(2){top:20px;}
.burger span:nth-child(3){top:26px;}
.nav{padding:12px 16px 18px;}
.hero__inner{padding-top:36px;padding-bottom:40px;}
.hero__title{letter-spacing:-.8px;}
.hero__title em{box-shadow:inset 0 -9px 0 rgba(214,47,67,.14);}
.listing{padding:38px 0 52px;}
.listing__head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:22px;}
.offer__logo{height:74px;}
.offer__bonus{flex:1 1 100%;}
.offer__score{flex:1 1 100%;flex-direction:row;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line);}
.offer__label{margin-bottom:0;}
.offer__grade{width:58px;height:44px;font-size:19px;}
.offer__terms{font-size:11.2px;}
}

@media (max-width:380px){
.brand__tag{display:none;}
.brand__name{font-size:18px;}
}

.pageHero{
background:
radial-gradient(540px 200px at 90% 0%,rgba(47,91,216,.12),transparent 68%),
var(--paper);
border-bottom:1px solid var(--line);
}

.pageHero__inner{
max-width:820px;
padding-top:48px;
padding-bottom:48px;
}

.pageHero__eyebrow{
display:inline-block;
margin-bottom:14px;
font-size:11px;
font-weight:700;
letter-spacing:1.4px;
text-transform:uppercase;
color:var(--red);
}

.pageHero__title{
font-size:clamp(32px,5vw,52px);
font-weight:700;
letter-spacing:-1.3px;
}

.pageHero__text{
max-width:700px;
margin-top:15px;
font-size:17px;
line-height:1.7;
color:var(--ink-soft);
}

.pageContent{padding:52px 0 66px;}

.contentGrid{
display:grid;
grid-template-columns:minmax(0,1fr) 280px;
gap:28px;
align-items:start;
}

.contentCard{
padding:30px;
border:1px solid var(--line);
border-radius:18px;
background:var(--white);
box-shadow:0 2px 0 rgba(19,32,67,.04);
}

.contentCard + .contentCard{margin-top:18px;}

.contentCard h2{
margin-bottom:12px;
font-size:23px;
letter-spacing:-.5px;
}

.contentCard h3{
margin:24px 0 9px;
font-size:17px;
letter-spacing:-.2px;
}

.contentCard p,
.contentCard li{
font-size:14.5px;
line-height:1.78;
color:var(--ink-soft);
}

.contentCard p + p{margin-top:13px;}

.contentCard ul{
margin-top:10px;
padding-left:20px;
list-style:disc;
}

.contentCard li + li{margin-top:6px;}

.contentCard a{
color:var(--red);
font-weight:600;
text-decoration:underline;
text-underline-offset:3px;
}

.sideCard{
position:sticky;
top:22px;
padding:24px;
border-radius:18px;
background:var(--ink);
color:#fff;
}

.sideCard h2{font-size:18px;}

.sideCard p{
margin-top:10px;
font-size:13.5px;
line-height:1.7;
color:#b6bfd6;
}

.sideCard a{
display:inline-block;
margin-top:16px;
padding:11px 15px;
border-radius:10px;
background:var(--red);
color:#fff;
font-family:var(--font-head);
font-size:13px;
font-weight:700;
}

.principles{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
margin-top:20px;
}

.principle{
padding:20px;
border:1px solid var(--line);
border-radius:14px;
background:var(--paper);
}

.principle strong{
display:block;
font-family:var(--font-head);
font-size:16px;
color:var(--ink);
}

.principle span{
display:block;
margin-top:7px;
font-size:13px;
line-height:1.6;
color:var(--ink-soft);
}

.contactEmail{
display:inline-flex;
align-items:center;
margin-top:16px;
padding:14px 18px;
border-radius:12px;
background:var(--ink);
color:#fff!important;
font-family:var(--font-head);
font-size:16px;
text-decoration:none!important;
}

@media (max-width:900px){
.contentGrid{grid-template-columns:1fr;}
.sideCard{position:static;}
.principles{grid-template-columns:1fr;}
}

@media (max-width:600px){
.pageHero__inner{padding-top:36px;padding-bottom:38px;}
.pageHero__text{font-size:15px;}
.pageContent{padding:36px 0 48px;}
.contentCard{padding:22px 18px;}
}

.footer{
background:var(--ink);
color:#c3cadd;
padding:56px 0 26px;
}

.footer a{color:#e6eaf5;}

.footer a:hover{color:#fff;}

.brand--light .brand__mark{background:rgba(255,255,255,.10);color:#fff;}

.brand--light .brand__name{color:#fff;}

.brand--light .brand__accent{color:#ff8494;}

.brand--light .brand__tag{color:#8f9ab8;}

.footer__top{
display:grid;
grid-template-columns:1.15fr 1fr;
gap:44px;
padding-bottom:36px;
border-bottom:1px solid rgba(255,255,255,.10);
}

.footer__blurb{
margin-top:18px;
max-width:520px;
font-size:14px;
line-height:1.75;
color:#9aa4c0;
}

.footer__care{
padding:22px 24px;
border-radius:16px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.09);
}

.footer__careTitle{
font-size:17px;
font-weight:700;
color:#fff;
letter-spacing:-.2px;
}

.footer__care p{
margin-top:11px;
font-size:13.5px;
line-height:1.7;
color:#9aa4c0;
}

.footer__badges{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:14px;
padding:26px 0;
border-bottom:1px solid rgba(255,255,255,.10);
}

.footer__badges a,
.footer__badges > img{
display:flex;
align-items:center;
justify-content:center;
height:62px;
padding:11px 18px;
border-radius:12px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.09);
}

.footer__badges a img{
height:38px;
width:auto;
max-width:132px;
object-fit:contain;
}

.footer__badges > img{
display:block;
width:auto;
max-width:132px;
object-fit:contain;
}

.footer__badge--light{
background:var(--white);
border-color:var(--white);
}

.footer__cols{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
padding:34px 0;
border-bottom:1px solid rgba(255,255,255,.10);
}

.footer__col h4{
margin:0 0 14px;
font-family:var(--font-head);
font-size:12px;
font-weight:700;
letter-spacing:1.5px;
text-transform:uppercase;
color:#fff;
}

.footer__col li{margin-bottom:9px;}

.footer__col a{
font-size:14px;
color:#9aa4c0;
transition:color .18s ease;
}

.footer__disclosure{
display:flex;
align-items:flex-start;
gap:16px;
padding:26px 0;
border-bottom:1px solid rgba(255,255,255,.10);
}

.footer__tag{
flex:none;
padding:6px 13px;
border-radius:999px;
background:rgba(47,91,216,.20);
border:1px solid rgba(120,155,255,.35);
color:#b9c9ff;
font-size:10.5px;
font-weight:700;
letter-spacing:1.2px;
text-transform:uppercase;
}

.footer__disclosure p{
font-size:13px;
line-height:1.7;
color:#9aa4c0;
}

.footer__age{
display:flex;
align-items:center;
gap:16px;
padding:22px 0;
border-bottom:1px solid rgba(255,255,255,.10);
}

.footer__ageIcon{
flex:none;
display:inline-flex;
align-items:center;
justify-content:center;
width:54px;
height:54px;
border-radius:50%;
background:var(--red);
color:#fff;
font-family:var(--font-head);
font-size:17px;
font-weight:700;
box-shadow:0 0 0 5px rgba(214,47,67,.18);
}

.footer__age p{
font-size:13px;
line-height:1.7;
color:#c3cadd;
}

.footer__bottom{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding-top:24px;
font-size:12.5px;
color:#8f9ab8;
}

.footer__mini{display:flex;flex-wrap:wrap;gap:20px;}

.footer__mini a{font-size:12.5px;color:#8f9ab8;}

.agegate{
position:fixed;
inset:0;
z-index:200;
display:flex;
align-items:center;
justify-content:center;
padding:20px;
background:rgba(10,16,36,.90);
}

.agegate__box{
width:100%;
max-width:520px;
padding:38px 34px 32px;
border-radius:22px;
background:var(--white);
text-align:center;
box-shadow:0 30px 80px rgba(6,10,25,.5);
}

.agegate__icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:66px;
height:66px;
border-radius:50%;
background:var(--ink);
color:#fff;
font-family:var(--font-head);
font-size:21px;
font-weight:700;
box-shadow:0 0 0 6px rgba(19,32,67,.10);
}

.agegate__icon--stop{
background:var(--red);
font-size:28px;
box-shadow:0 0 0 6px rgba(214,47,67,.16);
}

.agegate__title{
margin-top:20px;
font-size:26px;
font-weight:700;
letter-spacing:-.6px;
}

.agegate__text{
margin-top:12px;
font-size:14.5px;
line-height:1.7;
color:var(--ink-soft);
}

.agegate__text a{color:var(--red);font-weight:600;}

.agegate__actions{
display:flex;
flex-direction:column;
gap:10px;
margin-top:24px;
}

.agegate__btn{
padding:15px 20px;
border-radius:12px;
font-family:var(--font-head);
font-size:15px;
font-weight:700;
transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}

.agegate__btn--yes{
background:var(--red);
color:#fff;
box-shadow:0 8px 18px rgba(214,47,67,.26);
}

.agegate__btn--yes:hover{background:#bb2032;}

.agegate__btn--no{
background:var(--white);
border:1px solid var(--line);
color:var(--ink-soft);
}

.agegate__btn--no:hover{border-color:var(--ink);color:var(--ink);}

.agegate__note{
margin-top:18px;
font-size:11.5px;
line-height:1.6;
color:#8b93a9;
}

.cookie{
position:fixed;
left:50%;
bottom:20px;
z-index:180;
transform:translateX(-50%);
width:calc(100% - 32px);
max-width:1100px;
display:flex;
align-items:center;
justify-content:space-between;
gap:22px;
padding:20px 24px;
border-radius:18px;
background:var(--white);
border:1px solid var(--line);
box-shadow:0 20px 50px rgba(19,32,67,.20);
}

.cookie__title{
font-size:16px;
font-weight:700;
letter-spacing:-.2px;
}

.cookie__text p{
margin-top:6px;
max-width:720px;
font-size:13px;
line-height:1.65;
color:var(--ink-soft);
}

.cookie__text a{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:2px;}

.cookie__actions{
display:flex;
align-items:center;
gap:10px;
flex:none;
}

.cookie__btn{
padding:12px 20px;
border-radius:11px;
font-family:var(--font-head);
font-size:14px;
font-weight:700;
white-space:nowrap;
transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}

.cookie__btn--ghost{
background:var(--white);
border:1px solid var(--line);
color:var(--ink-soft);
}

.cookie__btn--ghost:hover{border-color:var(--ink);color:var(--ink);}

.cookie__btn--solid{
background:var(--ink);
color:#fff;
}

.cookie__btn--solid:hover{background:#1d3164;}

@media (max-width:900px){
.footer__top{grid-template-columns:1fr;gap:28px;}
.footer__cols{grid-template-columns:repeat(2,1fr);gap:26px;}
.cookie{
flex-direction:column;
align-items:stretch;
gap:16px;
}
.cookie__actions{justify-content:stretch;}
.cookie__btn{flex:1 1 50%;}
}

@media (max-width:600px){
.footer{padding:40px 0 22px;}
.footer__badges{gap:10px;}
.footer__badges a,
.footer__badges > img{height:54px;padding:9px 13px;}
.footer__badges a img{height:32px;max-width:104px;}
.footer__badges > img{max-width:104px;}
.footer__cols{grid-template-columns:1fr;gap:22px;padding:26px 0;}
.footer__disclosure{flex-direction:column;gap:12px;}
.footer__age{align-items:flex-start;gap:13px;}
.footer__ageIcon{width:46px;height:46px;font-size:15px;}
.footer__bottom{flex-direction:column;align-items:flex-start;gap:12px;}
.agegate__box{padding:30px 22px 26px;border-radius:18px;}
.agegate__icon{width:58px;height:58px;font-size:19px;}
.agegate__title{font-size:22px;}
.cookie{
left:12px;
right:12px;
bottom:12px;
transform:none;
width:auto;
padding:18px;
border-radius:16px;
}
.cookie__actions{flex-direction:column;}
}
