:root{--ink:#171B34;--ink-2:#3A3F5C;--mute:#6B7089;--line:#E3E5EE;--wash:#F4F5F8;--acc:#E4573D;--acc-d:#C2412A;--ok:#1F8A5B;--bad:#B4323A;--r:10px;--w:1120px;--wt:760px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.65 "Figtree",system-ui,sans-serif}
h1,h2,h3,.brand{font-family:"Bricolage Grotesque",system-ui,sans-serif;line-height:1.2;letter-spacing:-.01em}
h1{font-size:clamp(30px,4.2vw,44px);margin:.2em 0 .4em}
h2{font-size:clamp(23px,2.6vw,29px);margin:2.1em 0 .6em}
h3{font-size:20px;margin:1.6em 0 .4em}
p{margin:0 0 1em}
a{color:var(--acc-d)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--w);margin:0 auto;padding:0 16px}
.text{max-width:var(--wt)}

.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:28px;min-height:64px;flex-wrap:wrap}
.brand{color:#fff;text-decoration:none;font-size:25px;font-weight:800;display:flex;align-items:baseline;gap:10px}
.brand i{font-style:normal;color:var(--acc)}
.brand small{font:500 13px "Figtree",sans-serif;color:#B7BBD0;letter-spacing:0}
.nav{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.nav details{margin:0}
.nav>li{position:relative}
.nav a,.nav summary,.nav .soon{display:block;padding:9px 12px;border-radius:8px;color:#fff;text-decoration:none;font-weight:600;font-size:15px;cursor:pointer;list-style:none}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:"";display:inline-block;margin-left:7px;border:4px solid transparent;border-top-color:currentColor;transform:translateY(2px)}
.nav a:hover,.nav summary:hover,.nav a[aria-current]{background:rgba(255,255,255,.1)}
.nav .soon{color:#8E93AE;cursor:default}
.nav .soon em,.sub .soon em{font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-left:6px;color:#8E93AE}
.sub{position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 30px rgba(23,27,52,.14);padding:6px;list-style:none;margin:6px 0 0}
.sub a,.sub .soon{color:var(--ink);font-weight:500;padding:8px 10px}
.sub a:hover{background:var(--wash)}
.sub .soon{color:var(--mute)}
.age{margin-left:auto;border:1px solid #5A5F80;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700;color:#B7BBD0}

.crumbs{font-size:14px;color:var(--mute);margin:22px 0 0}
.crumbs a{color:var(--mute)}

.btn{display:inline-block;background:var(--acc);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:9px;white-space:nowrap}
.btn:hover{background:var(--acc-d)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn.sm{padding:8px 14px;font-size:15px}

.hero{padding:44px 0 36px}
.hero .lead{font-size:19px;color:var(--ink-2);max-width:680px}
.band{background:var(--wash);padding:40px 0;margin:36px 0 0;box-shadow:0 0 0 100vmax var(--wash);clip-path:inset(0 -100vmax)}
.band h2{margin-top:0}

.feat{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.feat img{border-radius:10px;border:1px solid var(--line)}
.feat .k{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--acc-d)}
.feat h3{margin:.3em 0 .5em;font-size:26px}

.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:14px}
.steps li{counter-increment:s;padding-left:46px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;display:grid;place-items:center;font-size:15px}

.rows{border-top:1px solid var(--line)}
.rows a,.rows div.row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rows b{font-family:"Bricolage Grotesque",sans-serif;font-size:20px}
.rows small{display:block;color:var(--mute);font-size:15px}
.rows .tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);white-space:nowrap}
.rows a .tag{color:var(--acc-d)}

.rank{width:100%;border-collapse:collapse;font-size:15px}
.rank th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);padding:8px;border-bottom:2px solid var(--ink)}
.rank td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.rank .nm{font-weight:700;font-family:"Bricolage Grotesque",sans-serif;font-size:17px}
.rank .wait{color:var(--mute)}
.scroll{overflow-x:auto}

.card{display:flex;gap:18px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:18px 0 22px;background:#fff}
.card .nm{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:21px}
.card .meta{flex:1 1 220px;color:var(--ink-2);font-size:15px}
.note{display:grid;place-items:center;align-content:center;gap:3px;min-width:92px;padding:8px 6px;border-radius:10px;background:var(--ink);color:#fff;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:25px;line-height:1}
.note small{font:600 11px/1.2 "Figtree",sans-serif;color:#B7BBD0;text-align:center}
.card.mini{padding:12px 16px;margin:26px 0;background:var(--wash);border-color:transparent}
.card.mini .nm{font-size:18px}
.disc{font-size:13px;color:var(--mute);margin:-12px 0 18px}

.fresh{font-size:14px;color:var(--ink-2);background:var(--wash);border-left:3px solid var(--acc);padding:8px 12px;border-radius:0 8px 8px 0;margin:18px 0}
.byline{font-size:14px;color:var(--mute);margin:0 0 6px}

.sum{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:24px 0}
.sum h2{margin:0;font-size:19px;background:var(--ink);color:#fff;padding:12px 18px}
.sum dl{margin:0;display:grid;grid-template-columns:170px 1fr}
.sum dt,.sum dd{margin:0;padding:10px 18px;border-top:1px solid var(--line);font-size:15.5px}
.sum dt{font-weight:700;background:var(--wash)}

.article{max-width:var(--wt)}
.article figure{margin:24px 0}
.article figure img{border-radius:10px;border:1px solid var(--line)}
.article figcaption{font-size:14px;color:var(--mute);margin-top:8px}
.yt-box{position:relative;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;cursor:pointer}
.yt-box img,.yt-box iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.yt-play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border:0;border-radius:12px;background:#E4573D;cursor:pointer}
.yt-play::after{content:"";position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff}
.article table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:15.5px}
.article th,.article td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
.article th{background:var(--wash);font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.article blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--line);color:var(--ink-2);background:#FAFAFC;font-size:16px}
.article blockquote p{margin:0 0 .4em}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pc>div{border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.pc h3{margin:0 0 6px;font-size:17px}
.pc .p h3{color:var(--ok)}.pc .c h3{color:var(--bad)}
.pc ul{margin:0;padding-left:18px}
.box{background:var(--wash);border-radius:12px;padding:14px 18px;margin:20px 0}
.box p:last-child{margin:0}
.serie ul{margin:8px 0 0;padding-left:20px}.serie li{margin:4px 0}.serie p{margin:0}
.article details,.faq details{border-bottom:1px solid var(--line);padding:12px 0}
.article details summary{font-weight:700;cursor:pointer}
.article details p{margin:.6em 0 0}

.kick{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--acc-d)}
.hx{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;padding:48px 0 40px;border-bottom:1px solid var(--line)}
.hx h1{font-size:clamp(34px,4.6vw,54px);font-weight:800;margin:.25em 0 .35em;letter-spacing:-.02em}
.hx .lead{font-size:19px;color:var(--ink-2)}
.hx .cta{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 26px}
.facts{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}
.hx-vis{position:relative;padding-bottom:40px}
.hx-vis img{border-radius:16px;width:88%;margin-left:auto;aspect-ratio:9/10;object-fit:cover}
.hx-box{position:absolute;left:0;bottom:0;width:min(330px,80%);background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:14px 16px;box-shadow:0 18px 40px rgba(23,27,52,.18)}
.hx-box a{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.hx-box a:last-child{border:0;padding-bottom:0}
.hx-box b{display:block;font-size:16px}.hx-box small{display:block;color:var(--mute);font-size:13px;line-height:1.3}
.hx-box em{margin-left:auto;font:800 24px "Bricolage Grotesque",sans-serif;font-style:normal}
.lg{flex:0 0 38px;height:38px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:8px;font:800 17px "Bricolage Grotesque",sans-serif;color:var(--ink);background:#fff}
.sec{padding:8px 0 36px;border-bottom:1px solid var(--line)}
.sec h2{margin:1.5em 0 .2em;font-size:clamp(26px,3vw,34px);font-weight:800}
.sub-h{color:var(--mute);margin:0 0 22px}
.recos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1.5px solid var(--ink);border-radius:14px;overflow:hidden}
.reco{display:flex;flex-direction:column;border-left:1.5px solid var(--ink);background:#fff}
.reco:first-child{border-left:0}
.reco img{aspect-ratio:4/3;object-fit:cover;width:100%}
.rb{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.rb b{font:800 22px "Bricolage Grotesque",sans-serif;margin:4px 0 8px}
.rb p{font-size:15px;color:var(--ink-2);flex:1}
.ra{display:flex;align-items:center;gap:16px}
.ra .btn{padding:9px 16px;font-size:15px}
.ra a:not(.btn){color:var(--ink);font-weight:700;font-size:15px}
.reco.hot{background:var(--acc);color:#fff}
.reco.hot .kick,.reco.hot p,.reco.hot .ra a:not(.btn){color:#fff}
.reco.hot .btn{background:var(--ink)}.reco.hot .btn:hover{background:#000}
.plist{border-top:1.5px solid var(--ink)}
.prow{display:grid;grid-template-columns:34px 38px minmax(150px,1.3fr) 1.3fr 1fr auto;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}
.prow .rk{font:800 28px "Bricolage Grotesque",sans-serif;color:var(--line)}
.prow:first-child .rk{color:var(--acc)}
.pn b{display:block;font:800 19px "Bricolage Grotesque",sans-serif}.pn small{color:var(--mute);font-size:13.5px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-size:12.5px;color:var(--ink-2)}
.sc span{font-size:14px;color:var(--mute)}.sc b{font:800 24px "Bricolage Grotesque",sans-serif;color:var(--ink)}
.sc i,.bar i{display:block;height:6px;border-radius:3px;background:var(--wash);margin-top:6px;position:relative;overflow:hidden}
.sc i::after,.bar i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--v);background:var(--acc);border-radius:3px}
.pa{display:flex;align-items:center;gap:16px}
.pa a:not(.btn){color:var(--ink);font-weight:700;font-size:15px}
.more{margin:18px 0 0;font-weight:700}
.cmp{width:100%;border-collapse:collapse;font-size:15.5px}
.cmp th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);padding:10px;border-bottom:1.5px solid var(--ink)}
.cmp td{padding:12px 10px;border-bottom:1px solid var(--line)}
.cmp td:first-child{font-weight:600;white-space:nowrap}
.how{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.bars{display:grid;gap:16px;padding-top:40px}
.bar{display:grid;grid-template-columns:150px 1fr 44px;gap:14px;align-items:center;font-size:15px}
.bar i{margin:0}.bar em{font-style:normal;text-align:right;color:var(--mute)}
.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.checks>div{flex:0 1 calc(33.333% - 10px);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.checks i{font:800 28px "Bricolage Grotesque",sans-serif;font-style:normal;color:var(--acc)}
.checks b{display:block;font-size:17px;margin:2px 0 4px}.checks p{font-size:15px;color:var(--ink-2);margin:0}
.latest{display:flex;flex-wrap:wrap;gap:20px}
.latest>a{flex:0 1 calc(33.333% - 14px);min-width:0}
.latest:has(>:nth-child(2):last-child)>a,.latest:has(>:nth-child(4):last-child)>a{flex-basis:calc(50% - 10px)}
.tcard{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink)}
.tcard img{width:100%;border-radius:10px;border:1px solid var(--line);aspect-ratio:16/9;object-fit:cover}
.tcard b{font:700 18px/1.3 "Bricolage Grotesque",sans-serif}
.tcard:hover b{color:var(--acc-d)}
.faq{max-width:none}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{font-weight:700;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--acc);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:.6em 0 0;max-width:var(--wt);color:var(--ink-2)}
.who{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center;margin:40px 0 0;border:1.5px solid var(--ink);border-radius:14px;overflow:hidden}
.who img{height:100%;object-fit:cover}
.who>div{padding:18px 22px 18px 0}
.who b{display:block;font:800 22px "Bricolage Grotesque",sans-serif;margin:2px 0 6px}
.who p{color:var(--ink-2);margin:0 0 8px}
.author{display:flex;gap:14px;align-items:flex-start;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:15px;color:var(--ink-2)}
.author .av{flex:0 0 46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-family:"Bricolage Grotesque",sans-serif}

footer{background:var(--ink);color:#B7BBD0;margin-top:64px;padding:30px 0;font-size:14px}
footer a{color:#fff}
footer p{max-width:820px}

@media (max-width:820px){
 .feat{grid-template-columns:1fr}
 .sum dl{grid-template-columns:1fr}
 .sum dt{border-top:1px solid var(--line);padding-bottom:2px}.sum dd{border-top:0;padding-top:2px}
 .pc{grid-template-columns:1fr}
 .top .wrap{gap:6px;padding-top:8px;padding-bottom:8px}
 .nav{width:100%;flex-wrap:nowrap;overflow-x:auto}
 .nav a,.nav summary,.nav .soon{white-space:nowrap;padding:8px 10px;font-size:14px}
 .sub{position:fixed;left:16px;right:16px;top:auto}
 .age{display:none}
 .rank .hide-m{display:none}
 .hx,.how{grid-template-columns:1fr;gap:28px}
 .hx-vis img{width:100%}
 .recos{grid-template-columns:1fr 1fr}
 .reco:nth-child(3){border-left:0}
 .reco:nth-child(n+3){border-top:1.5px solid var(--ink)}
 .prow{grid-template-columns:30px 38px 1fr auto;gap:10px 12px}
 .prow .tags{grid-column:3/-1;grid-row:2}
 .prow .sc{grid-column:3/-1;grid-row:3}
 .prow .pa{grid-column:3/-1;grid-row:4}
 .checks>div,.latest>a{flex-basis:calc(50% - 10px)}
 .bars{padding-top:0}
}
@media (max-width:520px){
 .recos{grid-template-columns:1fr}
 .reco{border-left:0!important}.reco+.reco{border-top:1.5px solid var(--ink)}
 .checks>div,.latest>a{flex-basis:100%}
 .who{grid-template-columns:1fr}.who>div{padding:0 18px 18px}
 .bar{grid-template-columns:120px 1fr 40px}
 .reco img{aspect-ratio:16/9}
 .cmp{font-size:14px;min-width:520px}
 .cmp td:first-child{white-space:normal}
}
