@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');
:root{--red:#e11f26;--blue:#2f5795;--green:#099e44;--ink:#181617;--text:#616161;--muted:#616161;--line:#e1e1e1;--alt:#f7f7f7;--grad:linear-gradient(90deg,#e11f26,#2f5795);--hf:'Montserrat',system-ui,sans-serif;--bf:'Open Sans','Segoe UI',system-ui,sans-serif;--maxw:1320px;--chk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23099e44'/%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--crs:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23e11f26'/%3E%3Cpath d='M6.5 6.5l7 7M13.5 6.5l-7 7' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");--dl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 26'%3E%3Cpath d='M11 2v13M5 10l6 6 6-6M2 23h18' stroke='white' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--banner:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 376 134' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23c23a5a'/%3E%3Cstop offset='1' stop-color='%23e11f26' stop-opacity='0'/%3E%3C/radialGradient%3E%3ClinearGradient id='b' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23e11f26'/%3E%3Cstop offset='1' stop-color='%231f5aa0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='376' height='134' fill='url(%23b)'/%3E%3Crect width='376' height='134' fill='url(%23g)' opacity='.6'/%3E%3Cg fill='white'%3E%3Crect x='40' y='28' width='34' height='42' rx='3'/%3E%3Crect x='84' y='28' width='34' height='42' rx='3'/%3E%3Crect x='40' y='80' width='34' height='42' rx='3'/%3E%3Crect x='84' y='80' width='34' height='42' rx='3'/%3E%3Crect x='250' y='26' width='84' height='96' rx='5'/%3E%3C/g%3E%3Cpath d='M118 62L250 74M118 94L250 82' stroke='white' stroke-width='1.5' stroke-dasharray='4 3' fill='none'/%3E%3Cg fill='%231f5aa0'%3E%3Crect x='46' y='52' width='22' height='14' rx='2'/%3E%3Crect x='90' y='52' width='22' height='14' rx='2'/%3E%3Crect x='46' y='104' width='22' height='14' rx='2'/%3E%3Crect x='90' y='104' width='22' height='14' rx='2'/%3E%3Crect x='262' y='76' width='60' height='36' rx='4'/%3E%3C/g%3E%3Cpath d='M262 80l30 18 30-18' stroke='white' stroke-width='3' fill='none'/%3E%3C/svg%3E")}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--bf);color:var(--text);background:#fff;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--hf);color:var(--ink);font-weight:700;line-height:1.2;margin:0;text-wrap:balance}
p,li{text-wrap:pretty}
a{color:var(--red)}
img,svg{max-width:100%}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;border-radius:4px}
.skip:focus{left:8px;z-index:20}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
a:focus-visible,summary:focus-visible,.btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;border-radius:4px;background:var(--green);color:#fff;font-family:var(--hf);font-weight:600;font-size:17px;line-height:1.3;text-decoration:none;border:1px solid var(--green);transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .25s,box-shadow .25s}
.btn:hover{opacity:.92;box-shadow:0 6px 16px rgba(9,158,68,.3)}
.btn:active{transform:scale(.98)}
.note{font-size:13px;line-height:18px;color:var(--text);margin:12px 0 0}

/* header */
header.site{background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.1);position:relative;z-index:5}
header.site .wrap{display:flex;align-items:center;gap:32px;min-height:80px}
header.site .logo{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-family:var(--hf);font-weight:700;font-size:24px;letter-spacing:-.02em;white-space:nowrap}
header.site .logo .mark{width:36px;height:36px;flex:none}
header.site nav{display:flex;gap:30px;margin-left:auto;font-family:var(--hf);font-size:15px;font-weight:600}
header.site nav a{color:var(--ink);text-decoration:none;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
header.site nav a:hover{color:var(--red);border-bottom-color:var(--red)}
header.site .hbtn{background:var(--green);color:#fff;padding:10px 18px;border-radius:4px;font-family:var(--hf);font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
header.site .hbtn:hover{opacity:.9}

/* hero */
.hero{background:linear-gradient(100deg,#fde9e9 0%,#f6eef4 28%,#eef0fa 60%,#e8edf9 100%);padding:56px 0 64px;min-height:560px;display:flex;align-items:center}
.hero>.wrap{width:100%;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:48px;align-items:center}
.hero .crumbs,.hero .eyebrow{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 6px;padding:0;font-family:var(--hf);font-weight:600;font-size:17px;line-height:24px;letter-spacing:.01em;text-transform:uppercase;color:var(--red)}
.hero .crumbs a{color:var(--red);text-decoration:none}
.hero h1{font-size:46px;line-height:1.17;letter-spacing:-.01em;max-width:780px}
.hero h1.long{font-size:40px;line-height:1.2}
.hero .lede{font-size:18px;line-height:1.6;color:var(--text);margin:24px 0 0;max-width:760px}
.hero .meta{font-size:14px;line-height:20px;color:#777;margin:16px 0 0}
.hero .actions{margin-top:28px}
.hero .btn{font-size:20px;padding:22px 32px 22px 28px;min-height:76px}
.hero .btn::before{content:"";width:22px;height:26px;flex:none;background:var(--dl) center/contain no-repeat}
.heroart{display:flex;justify-content:center}
.heroart svg{width:100%;max-width:300px;height:auto;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))}

/* bands */
.band{padding:72px 0}
.band.alt{background:var(--alt)}
.band h2{font-size:36px;line-height:1.2;text-align:center;margin:0 0 44px}
.narrow{max-width:968px;margin:0 auto}
.band p{margin:0 0 18px}
.band h3{font-size:20px;line-height:1.3;margin:28px 0 10px;color:#2a2a2a}
.band ul:not(.keyfacts):not(.related):not(.steps):not(.verdict-list){list-style:none;margin:0 0 20px;padding:0}
.band ul:not(.keyfacts):not(.related):not(.steps) li{position:relative;padding:0 0 0 34px;margin:0 0 12px}
.band ul:not(.keyfacts):not(.related):not(.steps) li::before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;background:var(--chk) center/contain no-repeat}
.band strong,.band b{color:#3a3a3a}

/* key facts */
.band.keyfacts-band{padding:64px 0}
.keyfacts{list-style:none;margin:0 auto;padding:0;max-width:968px}
.keyfacts li{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:14px 0;border-bottom:1px solid #e1e1e1;font-size:17px;line-height:1.5;margin:0}
.keyfacts li:last-child{border-bottom:0}
.keyfacts li span:first-child{font-weight:700;color:#4a4a4a}
.keyfacts li span:last-child{color:var(--text)}

/* intro */
.band.intro{padding:56px 0 48px}
.toc{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 36px;font-family:var(--hf);font-size:14px;font-weight:600}
.toc h2{display:none}
.toc a{color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 16px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.toc a:hover{color:var(--red);border-color:var(--red)}
.answer{font-size:20px;line-height:1.65;color:#333;font-weight:500;margin:0 0 24px}
.disclosure{font-size:13px;line-height:19px;color:#666;background:var(--alt);border-radius:8px;padding:10px 16px;margin:0 0 24px}

/* tables */
.tablewrap{overflow-x:auto;margin:20px 0 24px;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.14);border-top:5px solid var(--red)}
table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
th,td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid #ececec}
tr:last-child td{border-bottom:0}
th{font-family:var(--hf);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:#fafafa}
td:first-child{font-family:var(--hf);font-weight:600;color:var(--ink)}

/* steps */
.steps{counter-reset:s;list-style:none;margin:0 0 24px;padding:0;display:grid;gap:18px}
.steps li{counter-increment:s;position:relative;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.14);padding:22px 24px 22px 84px;margin:0}
.steps li::before{content:counter(s);position:absolute;left:24px;top:22px;width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--hf);font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}
.steps li b{display:block;font-family:var(--hf);font-size:18px;color:var(--ink);margin-bottom:4px}

/* verdict & pros/cons */
.verdict{background:#fff;border-radius:16px;box-shadow:0 3px 16px rgba(0,0,0,.16);border-top:6px solid var(--red);padding:32px;margin:0 0 24px;display:grid;grid-template-columns:1fr 300px;gap:36px}
.verdict h2{text-align:left;font-size:26px;margin:0 0 12px}
.verdict .big{font-family:var(--hf);font-weight:700;font-size:64px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.verdict .big span{font-size:20px;color:var(--text);-webkit-text-fill-color:var(--text);font-weight:600}
.verdict ul{list-style:none;padding:0;margin:14px 0 18px;font-size:15px;line-height:1.5}
.verdict li{position:relative;padding:0 0 0 30px;margin:0 0 10px}
.verdict li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;background:var(--chk) center/contain no-repeat}
.verdict p{margin:0 0 12px}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0 24px}
.proscons .col{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.14);padding:24px;border-top:5px solid var(--green)}
.proscons .col:last-child{border-top-color:var(--red)}
.proscons h3{margin:0 0 12px;font-size:19px}
.proscons .col:last-child li::before{background-image:var(--crs)!important}
.proscons ul{margin:0!important}
.proscons li{font-size:15px;line-height:1.55}

/* tagline */
.band.tag{padding:88px 0}
.tagline{font-family:var(--hf);font-weight:700;font-size:36px;line-height:1.3;max-width:800px;margin:0 auto;text-align:center;color:var(--ink)}
.tagline span{opacity:.28;transition:opacity .6s cubic-bezier(.22,1,.36,1)}
.tagline span.on{opacity:1}
@media(prefers-reduced-motion:reduce){.tagline span{opacity:1;transition:none}}

/* cta */
.band.ctaband{padding:56px 0}
.cta-block{border-radius:16px;padding:44px 48px;color:#fff;background:radial-gradient(circle at 70% 50%,rgba(255,255,255,.22),transparent 55%),linear-gradient(110deg,#e11f26 0%,#8b3a62 50%,#1f5aa0 100%);display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;box-shadow:0 10px 30px rgba(47,87,149,.25)}
.cta-block h2{color:#fff;text-align:left;font-size:28px;margin:0 0 8px}
.cta-block p{color:#fff;margin:0;opacity:.92;font-size:16px;line-height:1.6}
.cta-block .btn{padding:18px 28px}

/* faq */
.faq{display:grid;gap:18px;max-width:1272px;margin:0 auto}
.faq details{background:#fff;border-radius:6px;box-shadow:0 1px 7px rgba(0,0,0,.18);border-left:5px solid;border-image:linear-gradient(180deg,#e11f26,#2f5795) 1;position:relative}
.faq summary{cursor:pointer;list-style:none;padding:22px 64px 22px 26px;font-family:var(--hf);font-weight:600;font-size:17px;line-height:1.45;color:#3c3c3c}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:28px;top:50%;width:10px;height:10px;margin-top:-8px;border-right:2px solid #444;border-bottom:2px solid #444;transform:rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(225deg);margin-top:-2px}
.faq p{margin:0;padding:0 28px 26px 26px;font-size:16px;line-height:1.7;color:#454545}

/* sources */
.band.sources{padding:48px 0}
.band.sources h2{font-size:24px;margin-bottom:16px}
.band.sources ul{font-size:14px;line-height:1.6}
.band.sources li{margin-bottom:6px!important}
.band.sources a{color:#1863dc}

/* related cards */
.related{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.related li{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:22px;box-shadow:0 3px 14px rgba(0,0,0,.2);padding:34px 28px 32px;overflow:hidden;margin:0}
.related li::after{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:var(--grad)}
.related li::before{content:"";order:2;display:block;height:134px;margin:0 0 22px;border-radius:4px;background:var(--banner) center/cover no-repeat,linear-gradient(110deg,#e11f26,#1f5aa0)}
.related a{order:1;margin-bottom:20px;font-family:var(--hf);font-weight:700;font-size:17px;line-height:1.4;color:#4a4a4a;text-decoration:none}
.related a:hover{color:var(--red)}
.related small{order:3;display:block;font-size:16px;line-height:1.65;color:var(--text)}

/* footer */
footer.site{padding:56px 24px 56px;background:radial-gradient(40% 50% at 15% 45%,rgba(253,226,239,.9),transparent 70%),radial-gradient(45% 55% at 85% 60%,rgba(228,236,255,.9),transparent 70%),#fff;font-size:15px;line-height:1.6;color:#333}
footer.site .wrap{max-width:1285px;padding:44px 48px 36px;background:rgba(255,255,255,.88);border:1px solid #cdbdf3;border-radius:28px;box-shadow:0 0 50px rgba(190,160,255,.25)}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:32px}
footer.site h4{font-size:15px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);margin:0 0 14px}
footer.site p{margin:0 0 12px;color:#444}
footer.site a{display:block;color:#333;text-decoration:none;padding:4px 0}
footer.site a:hover{color:var(--red)}
footer.site .wrap>div:last-child{border-top:1px solid #e6e6e6;padding-top:22px;font-size:12.5px;line-height:1.6;color:#555}

/* tablet & phone */
@media(max-width:1000px){
 header.site .wrap{flex-wrap:wrap;gap:8px 20px;padding-top:12px;padding-bottom:12px;min-height:0}
 header.site nav{order:3;width:100%;margin-left:0;overflow-x:auto;gap:22px;scrollbar-width:none}
 header.site nav::-webkit-scrollbar{display:none}
 header.site .hbtn{margin-left:auto}
 .hero{min-height:0;padding:40px 0 48px}
 .hero>.wrap{grid-template-columns:minmax(0,1fr)}
 .heroart{display:none}
 .hero h1,.hero h1.long{font-size:32px;line-height:1.2}
 .band{padding:52px 0}
 .band h2{font-size:28px;margin-bottom:30px}
 .related{grid-template-columns:1fr;gap:24px}
 footer.site .cols{grid-template-columns:1fr;gap:28px}
 footer.site .wrap{padding:28px 24px}
}
@media(max-width:700px){
 .keyfacts li{grid-template-columns:1fr;gap:2px}
 .verdict,.proscons,.cta-block{grid-template-columns:1fr}
 .verdict{padding:24px}
 .cta-block{padding:28px 24px}
 .cta-block .btn,.hero .btn{display:flex;width:100%}
 .tagline{font-size:26px}
 .steps li{padding:20px 18px 20px 72px}
 .steps li::before{left:16px;top:20px}
 .faq summary{padding:18px 52px 18px 18px;font-size:16px}
 .faq p{padding:0 18px 20px}
 .answer{font-size:18px}
}

/* fixes */
.band .tagline{margin:0 auto}
.band.sources ul li{padding-left:0!important}
.band.sources ul li::before{display:none!important}
.band.sources ul{text-align:center}

/* mobile guard: nothing wider than the phone screen */
@media (max-width: 600px) {
  html, body { overflow-x: clip; }
  main a.btn, main a[class*="btn"], main button, footer a[class*="btn"], section a[class*="btn"] { max-width: 100%; white-space: normal; height: auto; text-align: center; box-sizing: border-box; }
  table { display: block; max-width: 100%; overflow-x: auto; }
  img, svg, video, iframe, pre { max-width: 100%; }
  pre { overflow-x: auto; }
  header *, nav * { min-width: 0; }
  header a[class*="btn"], header .btn, header [class*="cta"] { margin-left: 8px !important; padding-left: 10px !important; padding-right: 10px !important; font-size: 13px !important; flex-shrink: 0; }
  header img, header svg { flex-shrink: 1; }
  header [class*="logo"], header [class*="brand"] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 90%; }
}
