@import url("fonts/fonts.css");
*{box-sizing:border-box}
body{margin:0;background:#E4E4E4;font-family:'Geist',system-ui,sans-serif;color:#151515;-webkit-font-smoothing:antialiased}
a{color:#151515;text-decoration:none}a:hover{color:#6B6B6B}
button{font-family:inherit}
.mono{font-family:'Geist Mono',monospace}
.wrap{max-width:1480px;margin:0 auto;padding:clamp(0px,1.4vw,16px)}
.canvas{background:#EFEFEF;border-radius:clamp(0px,2.6vw,36px);padding:clamp(10px,1.6vw,20px);display:flex;flex-direction:column;gap:clamp(12px,1.6vw,20px);min-height:100vh}
.grey{color:#9E9E9E}

/* header */
.hdr{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:8px;z-index:20}
.nav{display:flex;align-items:center;gap:8px;background:#fff;border-radius:20px;padding:8px clamp(10px,1.6vw,22px) 8px 10px;box-shadow:0 1px 2px rgba(0,0,0,.04);min-width:0}
.nav .logo{display:flex;align-items:center;padding:8px 14px 8px 8px}
.nav .logo img{height:22px;width:auto;display:block}
.nav .lnk{padding:8px 12px;font-size:15px;color:#555}
.nav .lnk.strong{color:#151515;font-weight:500}
.hdr-cta{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:6px 16px 6px 6px;font-size:15px;font-weight:500;white-space:nowrap}
.ico{flex:none;display:flex;align-items:center;justify-content:center;background:#151515;border-radius:12px;width:40px;height:40px}
.ico.w{background:#fff}
.burger{display:none;width:52px;height:52px;border:0;cursor:pointer;background:#fff;border-radius:18px;align-items:center;justify-content:center;flex:none}
.menu{display:none;position:fixed;inset:0;z-index:300;background:#151515;color:#fff;padding:18px 20px 20px;flex-direction:column;gap:4px;overflow:auto}
.menu.open{display:flex}
.menu-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px}
.menu-top img{height:22px;display:block;filter:invert(1)}
.menu-close{width:52px;height:52px;border:0;cursor:pointer;background:#2A2A2A;border-radius:18px;display:flex;align-items:center;justify-content:center}
.menu a.item{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-bottom:1px solid #2A2A2A;font-size:30px;font-weight:500;letter-spacing:-.03em;color:#fff}
.menu a.item span{font-size:18px;color:#6B6B6B}
.menu .menu-cta{margin-top:auto;height:60px;background:#fff;color:#151515;border-radius:18px;font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 20px}
.menu .menu-cta .ico{width:44px;height:44px;border-radius:14px}
.menu small{text-align:center;font-size:12px;color:#8A8A8A;padding-top:8px}

/* index */
.intro{padding:clamp(40px,7vw,88px) clamp(6px,2.6vw,36px) clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:clamp(20px,3vw,32px)}
.meta{font-family:'Geist Mono',monospace;font-size:13px;color:#6B6B6B}
.intro h1{margin:0;font-weight:500;font-size:clamp(40px,6vw,88px);line-height:.98;letter-spacing:-.045em;max-width:1000px;text-wrap:balance}
.intro p{margin:0;font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:#555;max-width:620px;text-wrap:pretty}
.list{padding:0 clamp(6px,2.6vw,36px);display:flex;flex-direction:column;gap:14px}
.featured{background:#151515;color:#fff;border-radius:32px;overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}
.featured:hover{color:#fff}
.featured .img{min-height:clamp(220px,30vw,420px);background:#0E0E0E center/cover}
.featured .txt{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:18px;justify-content:center}
.chip-w{align-self:flex-start;font-size:12px;font-weight:500;background:#fff;color:#151515;border-radius:9px;padding:6px 10px}
.featured .t{font-size:clamp(28px,3.2vw,44px);font-weight:500;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}
.featured .l{font-size:16px;line-height:1.55;color:#B5B5B5;text-wrap:pretty}
.featured .r{font-size:15px;font-weight:500;display:flex;align-items:center;gap:10px}
.filters{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0 4px}
.filters button{border:0;cursor:pointer;border-radius:12px;padding:9px 14px;font-size:14px;font-weight:500;background:#fff;color:#555}
.filters button.on{background:#151515;color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:12px}
.card{background:#fff;border-radius:28px;padding:10px;display:flex;flex-direction:column;gap:14px}
.card .img{aspect-ratio:16/9;border-radius:20px;background:#151515 center/cover}
.card .body{padding:4px 12px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.card .row{display:flex;justify-content:space-between;gap:8px;font-size:12px}
.chip{font-weight:500;background:#EFEFEF;border-radius:9px;padding:5px 9px}
.card .row .mono{color:#6B6B6B;padding-top:5px}
.card .t{font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.2;text-wrap:balance}
.card .more{margin-top:auto;font-size:14px;font-weight:500;color:#6B6B6B}
.card[hidden]{display:none}

/* article */
article{padding:clamp(28px,5vw,64px) clamp(6px,2.6vw,36px) 0;display:flex;flex-direction:column;gap:clamp(20px,3vw,28px)}
.crumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:#6B6B6B;flex-wrap:wrap}
.crumbs a{color:#6B6B6B}
article h1{margin:0;font-weight:500;font-size:clamp(34px,4.6vw,64px);line-height:1.02;letter-spacing:-.04em;max-width:1000px;text-wrap:balance}
.byline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:#6B6B6B}
.byline strong{color:#151515;font-weight:500}
.av{width:36px;height:36px;border-radius:50%;background:#151515;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;flex:none}
.cover{aspect-ratio:21/9;border-radius:clamp(20px,2.6vw,32px);background:#151515 center/cover}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(20px,3vw,48px);align-items:start}
.main{display:flex;flex-direction:column;gap:28px;min-width:0;max-width:760px}
.answer{background:#fff;border-radius:24px;padding:clamp(20px,2.6vw,28px);display:flex;flex-direction:column;gap:10px}
.answer .mono{font-size:12px;color:#6B6B6B}
.answer p{margin:0;font-size:clamp(18px,1.7vw,21px);line-height:1.5;letter-spacing:-.01em;text-wrap:pretty}
.sec{display:flex;flex-direction:column;gap:16px;scroll-margin-top:100px}
.sec h2,.faq h2{margin:0;font-size:clamp(24px,2.4vw,32px);font-weight:500;letter-spacing:-.03em;line-height:1.15}
.sec p{margin:0;font-size:17px;line-height:1.7;color:#333;text-wrap:pretty}
.main a.in{color:#151515;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.ul{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.ul li{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.6;color:#333}
.ul li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#151515;margin-top:11px}
.ol{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;counter-reset:step}
.ol li{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:18px;padding:14px 16px;font-size:16px;line-height:1.55;color:#333;counter-increment:step}
.ol li::before{content:counter(step);flex:none;width:28px;height:28px;border-radius:9px;background:#151515;color:#fff;font-family:'Geist Mono',monospace;font-size:12px;display:flex;align-items:center;justify-content:center;margin-top:-1px}
.tbl{background:#fff;border-radius:20px;overflow:auto}
.tbl table{border-collapse:collapse;width:100%}
.tbl th{padding:14px 16px;font-size:13px;font-weight:600;background:#151515;color:#fff;text-align:left}
.tbl td{padding:14px 16px;font-size:15px;line-height:1.45;border-top:1px solid #EFEFEF;color:#333;vertical-align:top;min-width:150px}
.tbl td:first-child{font-weight:500}
.inline-cta{margin-top:8px;background:#fff;border-radius:22px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.inline-cta b{display:block;font-size:16px;font-weight:500}
.inline-cta small{font-size:14px;color:#6B6B6B}
.btn-dark{background:#151515;color:#fff;border-radius:14px;padding:12px 16px;font-size:14px;font-weight:500}
.inline-cta:hover .btn-dark{color:#fff}
.faq{display:flex;flex-direction:column;gap:10px}
.faq h2{margin-bottom:6px}
.faq details{background:#fff;border-radius:20px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-size:16px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-size:22px;font-weight:300;color:#6B6B6B}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0;padding:0 20px 20px;font-size:16px;line-height:1.6;color:#555}
.author{background:#fff;border-radius:24px;padding:20px;display:flex;gap:16px;align-items:flex-start}
.author .av{width:56px;height:56px;font-size:20px}
.author div{display:flex;flex-direction:column;gap:4px}
.author b{font-size:16px;font-weight:500}
.author span{font-size:14px;color:#6B6B6B}
.author em{font-style:normal;font-size:14px;color:#8A8A8A;line-height:1.5}
.cta-block{background:#151515;color:#fff;border-radius:28px;padding:clamp(24px,3.4vw,40px);display:flex;flex-direction:column;gap:16px}
.cta-block .t{font-size:clamp(24px,2.6vw,34px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.cta-block p{margin:0;font-size:16px;line-height:1.6;color:#C8C8C8;text-wrap:pretty}
.pill{align-self:flex-start;display:flex;align-items:center;gap:18px;background:#fff;color:#151515;border-radius:20px;padding:5px 22px 5px 5px;font-size:16px;font-weight:500}
.pill .ico{width:52px;height:46px;border-radius:15px}
aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:12px}
.toc{background:#fff;border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:4px}
.toc .mono{font-size:12px;color:#6B6B6B;padding-bottom:8px}
.toc a{font-size:14px;line-height:1.4;padding:7px 0;color:#555;border-top:1px solid #F1F1F1}
.side-cta{background:#151515;color:#fff;border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:12px}
.side-cta b{font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.2}
.side-cta span{font-size:14px;color:#B5B5B5;line-height:1.5}
.side-cta a{height:48px;background:#fff;color:#151515;border-radius:14px;font-size:15px;font-weight:500;display:flex;align-items:center;justify-content:center}
.related{display:flex;flex-direction:column;gap:14px;padding-top:clamp(24px,4vw,48px)}
.related h2{margin:0;font-size:clamp(26px,3vw,40px);font-weight:500;letter-spacing:-.035em}
.related .grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.rel{background:#fff;border-radius:24px;padding:10px;display:flex;flex-direction:column;gap:12px}
.rel .img{aspect-ratio:16/9;border-radius:16px;background:#151515 center/cover}
.rel div:last-child{padding:2px 10px 12px;display:flex;flex-direction:column;gap:8px}
.rel small{font-size:12px;color:#6B6B6B}
.rel b{font-size:17px;font-weight:500;letter-spacing:-.02em;line-height:1.25}

/* band + footer */
.band{margin-top:clamp(24px,4vw,48px);background:#151515;color:#fff;border-radius:clamp(24px,2.6vw,32px);padding:clamp(32px,5vw,64px) clamp(22px,4.4vw,56px);display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.band h2{margin:0;font-weight:500;font-size:clamp(32px,4.2vw,60px);line-height:1;letter-spacing:-.04em;max-width:720px}
.band h2 span{color:#6B6B6B}
.band a{display:flex;align-items:center;gap:20px;background:#fff;color:#151515;border-radius:22px;padding:6px 26px 6px 6px;font-size:17px;font-weight:500}
.band a .ico{width:60px;height:52px;border-radius:16px}
footer{padding:clamp(28px,3vw,40px) clamp(10px,2.6vw,36px) 24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid #DCDCDC}
footer .l{display:flex;flex-direction:column;gap:8px;max-width:360px}
footer .l img{height:24px;width:auto;display:block;align-self:flex-start}
footer .l span{font-size:14px;color:#6B6B6B;line-height:1.5}
footer .r{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}
.mbar{display:none;position:fixed;left:8px;right:8px;bottom:8px;z-index:50;height:60px;background:#151515;color:#fff;border-radius:20px;box-shadow:0 8px 30px rgba(0,0,0,.22);align-items:center;justify-content:space-between;padding:0 8px 0 20px;font-size:16px;font-weight:500}
.mbar:hover{color:#fff}
.mbar>span:first-child{display:flex;flex-direction:column;gap:1px}
.mbar small{font-size:12px;font-weight:400;color:#B5B5B5}
.mbar .ico{width:44px;height:44px;border-radius:14px}

@media (max-width:759px){
  .nav .lnk,.hdr-cta,aside{display:none}
  .burger{display:flex}
  .cols{grid-template-columns:minmax(0,1fr)}
  .mbar{display:flex}
  footer{padding-bottom:96px}
}
