
:root{
  --bg:#f6f3ec;
  --surface:#ffffff;
  --surface-soft:#fbfaf6;
  --ink:#101a3d;
  --muted:#667085;
  --line:#d9dde7;
  --accent:#153a88;
  --accent-2:#255ed5;
  --stone:#b3a99b;
  --shadow:0 16px 42px rgba(16,26,61,.09);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:#1c2438;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.68;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;height:auto;display:block}
.site-shell{min-height:100vh}
.site-header{background:#101a3d;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header__inner{max-width:1180px;margin:0 auto;padding:19px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-mark{font-size:17px;font-weight:800;letter-spacing:.02em;color:#fff;text-decoration:none}
.site-kicker{font-size:13px;color:#c9d1e4;white-space:nowrap}
.hero{background:linear-gradient(135deg,#101a3d 0%,#17285a 64%,#214da3 100%);color:#fff;padding:76px 28px 72px;overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-155px;top:-205px}
.hero__inner{max-width:1040px;margin:0 auto;position:relative;z-index:1}
.hero .eyebrow,.affiliate-top .eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}
.hero .eyebrow{color:#b8c8f6}
h1{font-size:clamp(38px,6vw,68px);line-height:1.04;letter-spacing:-.045em;margin:0;max-width:920px}
.hero-intro{max-width:900px;margin-top:28px;font-size:18px;color:#e8edf9}
.hero-intro p{margin:0 0 15px}
.page-wrap{max-width:1180px;margin:0 auto;padding:54px 28px 70px}
.article-card{background:var(--surface);border:1px solid #e4e6ec;border-radius:28px;box-shadow:var(--shadow);padding:clamp(28px,5vw,64px)}
.article-content{max-width:880px;margin:0 auto}
.article-content h2{font-size:clamp(28px,3.6vw,42px);line-height:1.18;color:var(--ink);letter-spacing:-.03em;margin:62px 0 19px}
.article-content h3{font-size:clamp(22px,2.5vw,29px);line-height:1.25;color:var(--ink);letter-spacing:-.02em;margin:40px 0 14px}
.article-content p{margin:0 0 18px}
.article-content ul,.article-content ol{padding-left:24px;margin:10px 0 24px}
.article-content li{margin:7px 0}
.article-content blockquote{margin:28px 0;padding:20px 22px;border-left:4px solid var(--accent-2);background:#f4f7ff;border-radius:0 14px 14px 0;color:#29344f}
.article-content blockquote p{margin:0}
.article-visual{margin:23px 0 30px;padding:0}
.article-visual img{width:100%;border-radius:18px;border:1px solid #ece8df;box-shadow:0 12px 28px rgba(20,28,48,.09)}
.article-table-wrap{width:100%;overflow:auto;margin:20px 0 30px;border:1px solid var(--line);border-radius:16px}
.article-content table{width:100%;min-width:680px;border-collapse:collapse;background:#fff;font-size:15px}
.article-content th{background:#f0f3f9;color:var(--ink);text-align:left;font-weight:800}
.article-content th,.article-content td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.article-content tr:last-child td{border-bottom:0}
.affiliate-top{max-width:980px;margin:0 auto 54px;padding:0 0 52px;border-bottom:1px solid #e1e4eb}
.affiliate-top__heading{margin-bottom:24px}
.affiliate-top .eyebrow{color:var(--accent-2)}
.affiliate-top h2{margin:0 0 10px;font-size:clamp(29px,4vw,42px);line-height:1.15;color:var(--ink);letter-spacing:-.03em}
.affiliate-top__heading>p:last-child{margin:0;color:var(--muted);max-width:760px}
.affiliate-list{display:grid;gap:14px}
.affiliate-card{position:relative;display:grid;grid-template-columns:44px 82px minmax(150px,.8fr) minmax(260px,1.45fr) 170px;gap:18px;align-items:center;background:#fff;border:1px solid #dfe3eb;border-radius:18px;padding:17px 18px;box-shadow:0 6px 18px rgba(16,26,61,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.affiliate-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,26,61,.10)}
.affiliate-card--top{border:2px solid var(--accent-2);box-shadow:0 10px 30px rgba(37,94,213,.14);padding-top:22px}
.affiliate-badge{position:absolute;top:-12px;left:110px;background:var(--accent-2);color:#fff;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:900;letter-spacing:.08em}
.affiliate-rank{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf1f8;color:var(--ink);font-weight:900;font-size:14px}
.affiliate-logo{width:76px;height:76px;border-radius:15px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(16,26,61,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.affiliate-logo img{width:80%;height:80%;object-fit:contain}
.affiliate-brand-name{font-size:18px;font-weight:850;color:var(--ink);line-height:1.2;margin-bottom:8px}
.affiliate-rating{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap}
.stars{position:relative;display:inline-block;font-size:18px;line-height:1;letter-spacing:1px;color:#d4d8e1}
.stars::before{content:"★★★★★"}
.stars-fill{position:absolute;left:0;top:0;overflow:hidden;color:#f1b843;white-space:nowrap}
.stars-fill::before{content:"★★★★★"}
.affiliate-bonus-label{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#7a8498;margin-bottom:5px}
.affiliate-bonus-text{font-size:16px;font-weight:750;color:#1e2943;line-height:1.35}
.affiliate-cta{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border-radius:12px;background:#177245;color:#fff;text-decoration:none;font-size:16px;font-weight:900;box-shadow:0 7px 14px rgba(23,114,69,.16);transition:background .16s ease,transform .16s ease}
.affiliate-cta:hover{background:#125d38;transform:translateY(-1px)}
.affiliate-skeleton{height:112px;border-radius:18px;border:1px solid #e3e6ed;background:linear-gradient(90deg,#f4f5f7 20%,#eceef2 40%,#f4f5f7 60%);background-size:240% 100%;animation:shimmer 1.25s infinite}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.affiliate-error{padding:18px;border:1px solid #e5d7d7;background:#fff7f7;border-radius:14px;color:#7d2d2d}
.site-footer{background:#101a3d;color:#ccd3e4;padding:34px 28px}
.site-footer__inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-links{display:flex;gap:10px 18px;flex-wrap:wrap}
.footer-links a{color:#fff;font-size:14px;text-decoration:none}
.footer-copy{font-size:13px}
.service-page{max-width:900px;margin:54px auto;padding:0 28px 70px}
.service-card{background:#fff;border-radius:24px;border:1px solid #e2e5eb;box-shadow:var(--shadow);padding:clamp(28px,5vw,54px)}
.service-card h1{color:var(--ink);font-size:clamp(34px,5vw,52px);line-height:1.08;margin:0 0 22px}
.service-card h2{color:var(--ink);margin-top:32px}
.service-card p,.service-card li{color:#39445b}
.service-back{display:inline-block;margin-bottom:20px;font-weight:800;text-decoration:none}
@media (max-width:900px){
 .affiliate-card{grid-template-columns:40px 74px 1fr 150px;gap:14px}
 .affiliate-bonus{grid-column:3/4}
 .affiliate-cta{grid-column:4/5;grid-row:1/3}
 .affiliate-card--top{padding-top:25px}
}
@media (max-width:720px){
 .site-header__inner{padding:16px 20px}.site-kicker{display:none}
 .hero{padding:52px 20px 48px}.page-wrap{padding:30px 16px 50px}.article-card{padding:25px 18px;border-radius:20px}
 .affiliate-top{margin-bottom:40px;padding-bottom:38px}
 .affiliate-card{display:grid;grid-template-columns:58px 1fr;gap:12px 14px;padding:18px 14px 14px}
 .affiliate-card--top{padding-top:25px}
 .affiliate-badge{left:auto;right:14px;top:-11px}
 .affiliate-rank{position:absolute;left:8px;top:8px;width:28px;height:28px;font-size:12px;z-index:2}
 .affiliate-logo{width:58px;height:58px;border-radius:13px}
 .affiliate-brand{min-width:0}
 .affiliate-bonus{grid-column:1/-1;background:#f5f7fb;border-radius:12px;padding:12px 13px;text-align:center}
 .affiliate-cta{grid-column:1/-1;grid-row:auto;width:100%;min-height:52px}
 .article-content h2{margin-top:48px}
 .article-visual{margin-left:-4px;margin-right:-4px}
 .site-footer__inner{align-items:flex-start;flex-direction:column}
}
