.ins-top{padding:clamp(110px,16vw,190px) var(--pad) clamp(72px,10vw,130px)}
.ins-wrap{max-width:1440px;margin:auto}
.ins-narrow{max-width:720px;margin:auto;text-align:center}
.ins-title{font:700 clamp(3.2rem,9.2vw,7.6rem)/.94 var(--disp);letter-spacing:-.045em;margin-bottom:24px}
.ins-title-sm{font:700 clamp(2.1rem,5.2vw,3.6rem)/1.04 var(--disp);letter-spacing:-.035em;margin:14px 0 20px}
.ins-lede{font-size:clamp(1.05rem,2vw,1.3rem);color:var(--mute);max-width:52ch}
.ins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;margin-top:clamp(40px,6vw,72px)}
.ins-card{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);transition:opacity .8s,transform .8s,border-color .25s,background .25s}
.ins-card:hover,.ins-card:focus-visible{border-color:var(--violet);background:rgba(122,92,255,.08)}
.ins-card h3{font:600 clamp(1.3rem,2vw,1.6rem)/1.15 var(--disp);letter-spacing:-.02em}
.ins-card p{color:var(--mute)}
.ins-tag{font-size:.85rem;font-weight:600;color:var(--cyan)}
.ins-meta{font-size:.88rem;color:var(--mute)}
.ins-card .ins-meta{margin-top:auto;padding-top:8px}
.ins-back{display:inline-block;margin-bottom:36px;color:var(--mute);transition:color .2s}
.ins-back:hover{color:var(--ink)}
.ins-body{margin-top:clamp(32px,5vw,56px);font-size:1.1rem;line-height:1.75}
.ins-body h2{font:600 clamp(1.5rem,2.6vw,1.9rem)/1.15 var(--disp);letter-spacing:-.025em;margin:2.4em 0 .6em}
.ins-body p{margin-bottom:1.1em}
.ins-body a,.ins-cta a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.ins-defs dt{font-weight:600;margin-top:1em}
.ins-defs dd{color:var(--mute)}
.ins-table{overflow-x:auto;margin:1.4em 0}
.ins-table table{border-collapse:collapse;width:100%;min-width:480px;font-size:.96rem;line-height:1.5}
.ins-table th,.ins-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.ins-table th{color:var(--mute);font-weight:500}
.ins-steps{padding-left:1.3em;margin:1.4em 0 1em;list-style:decimal}
.ins-steps li{margin-bottom:.6em;padding-left:.3em}
.ins-cta{margin-top:56px;padding:6px 0 6px 22px;border-left:2px solid var(--violet);color:var(--mute);line-height:1.65}
.ins-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:56px}
.ins-loop{margin-top:clamp(64px,9vw,120px)}
.ins-loop h2{font:600 clamp(1.5rem,3vw,2.2rem)/1.1 var(--disp);letter-spacing:-.03em;margin-bottom:24px}
.ins-loop ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}
.ins-loop li{padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.ins-loop li b{font:600 1.25rem var(--disp)}
.ins-loop span{color:var(--mute)}
.ins-lede{margin-left:auto;margin-right:auto}
.ins-wrap:not(.ins-narrow)>.ins-title,.ins-wrap:not(.ins-narrow)>.ins-lede,.ins-loop h2{text-align:center}
.ins-narrow .ins-back{display:block;text-align:left}
.ins-narrow .ins-body,.ins-narrow .ins-cta,.ins-narrow .ins-card{text-align:left}
.ins-loop li{align-items:center;text-align:center}
.ins-list{padding-left:1.3em;margin:1.4em 0 1em;list-style:disc}
.ins-list li{margin-bottom:.6em;padding-left:.3em}
.lib-top{padding:clamp(96px,11vw,132px) var(--pad) clamp(56px,7vw,96px)}
.lib-title{font:700 clamp(2.4rem,5vw,3.6rem)/1 var(--disp);letter-spacing:-.04em;margin-bottom:12px}
.lib-lede{font-size:clamp(1rem,1.5vw,1.15rem);color:var(--mute);max-width:56ch}
.lib-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.lib-featured{margin-top:clamp(28px,4vw,44px)}
.lib-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.lib-feat{display:flex;flex-direction:column;gap:6px;padding:18px clamp(14px,2vw,28px) 20px 0;transition:opacity .2s}
.lib-feat+.lib-feat{padding-left:clamp(14px,2vw,28px);border-left:1px solid var(--line)}
.lib-feat h3{font:600 clamp(1.15rem,1.7vw,1.4rem)/1.2 var(--disp);letter-spacing:-.02em}
.lib-feat p{color:var(--mute);font-size:.95rem;line-height:1.5}
.lib-feat:hover h3,.lib-row:hover h3{color:var(--cyan)}
.lib-cat{font-size:.8rem;font-weight:500;color:var(--mute)}
.lib-time{font-size:.8rem;color:var(--mute);white-space:nowrap}
.lib-feat .lib-time{margin-top:auto;padding-top:4px}
.lib-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:clamp(36px,5vw,56px);padding-bottom:12px;border-bottom:1px solid var(--line)}
.lib-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -8px}
.lib-tabs::-webkit-scrollbar{display:none}
.lib-tab{flex:none;padding:7px 12px;border-radius:6px;font:500 .92rem var(--sans);color:var(--mute);background:none;border:0;cursor:pointer;transition:color .2s,background .2s}
.lib-tab i{font-style:normal;font-size:.78rem;opacity:.6;margin-left:3px}
.lib-tab:hover{color:var(--ink);background:rgba(255,255,255,.07)}
.lib-tab[aria-pressed=true]{color:var(--ink);background:rgba(255,255,255,.1)}
.lib-search{flex:0 1 220px;min-width:0;padding:8px 12px;font:400 .92rem var(--sans);color:var(--ink);background:none;border:1px solid var(--line);border-radius:6px;transition:border-color .2s}
.lib-search::placeholder{color:var(--mute)}
.lib-search:focus{outline:none;border-color:var(--mute)}
.lib-group{margin-top:clamp(28px,4vw,44px)}
.lib-group[hidden],.lib-row[hidden]{display:none}
.lib-group h2{font:600 1.05rem var(--disp);letter-spacing:-.01em;margin-bottom:4px}
.lib-row{display:grid;grid-template-columns:104px minmax(0,1.15fr) minmax(0,1fr) 72px;gap:8px clamp(16px,2.4vw,32px);align-items:baseline;padding:13px 0;border-top:1px solid var(--line)}
.lib-row:last-child{border-bottom:1px solid var(--line)}
.lib-row h3{font:600 1.02rem/1.3 var(--disp);letter-spacing:-.015em;transition:color .2s}
.lib-row p{color:var(--mute);font-size:.92rem;line-height:1.45}
.lib-row .lib-time{text-align:right}
.lib-empty{margin-top:40px;color:var(--mute)}
.lib-top .ins-loop{margin-top:clamp(56px,8vw,96px)}
@media(max-width:860px){
.lib-feat-grid{grid-template-columns:1fr}
.lib-feat,.lib-feat+.lib-feat{padding:16px 0;border-left:0}
.lib-feat+.lib-feat{border-top:1px solid var(--line)}
.lib-bar{flex-direction:column;align-items:stretch;gap:12px}
.lib-search{flex:none;width:100%}
.lib-row{grid-template-columns:1fr auto;grid-template-areas:'cat time' 'title title' 'desc desc';gap:4px 12px;padding:14px 0}
.lib-row .lib-cat{grid-area:cat}
.lib-row .lib-time{grid-area:time}
.lib-row h3{grid-area:title}
.lib-row p{grid-area:desc}
}