/* Swiss category system — layered over category-power.css without changing page content. */
:root{
  --sw-paper:#f7f6f2;--sw-ink:#0a0a0b;--sw-muted:#4e5055;--sw-rule:#171719;
  --sw-violet:#7655d9;--sw-cyan:#0bb7e3;--sw-panel:#efede8
}
[data-bs-theme="dark"]{
  --sw-paper:#0a101b;--sw-ink:#f6f5f1;--sw-muted:#aeb6c4;--sw-rule:#8791a3;
  --sw-violet:#9779ef;--sw-cyan:#20c8ef;--sw-panel:#101827
}
html{max-width:100%;overflow-x:clip;background:var(--sw-paper)}
body{max-width:100%;overflow-x:clip;background:var(--sw-paper);color:var(--sw-ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;line-height:1.5}
.cp-nav{position:sticky;padding:18px clamp(20px,5vw,64px);border-bottom:1px solid var(--sw-rule);background:color-mix(in srgb,var(--sw-paper) 94%,transparent);box-shadow:none}
.cp-brand{gap:12px;font-size:1.16rem;letter-spacing:.015em}.cp-brand img{width:42px;height:42px;border-radius:0}.cp-navlinks{gap:26px}.cp-navlinks a{color:var(--sw-ink);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cp-theme{border:1px solid var(--sw-rule);border-radius:0;background:transparent;color:var(--sw-ink)}
.cp-main{width:min(1240px,calc(100% - 48px))}
.cp-hero{min-height:620px;padding:0;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:0;align-items:stretch;border-inline:1px solid var(--sw-rule);border-bottom:1px solid var(--sw-rule)}
.cp-hero>div:first-child{padding:clamp(54px,7vw,96px) clamp(26px,5vw,74px);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.cp-kicker{color:var(--sw-cyan);font:800 .72rem/1.25 "Courier New",monospace;letter-spacing:.17em}
.cp-hero h1{max-width:760px;margin:20px 0 28px;font-size:clamp(3.7rem,7.2vw,7.25rem);line-height:.84;letter-spacing:-.065em;text-transform:uppercase}
.cp-hero h1 span{display:none}
.cp-lead{max-width:650px;color:var(--sw-ink);font-size:clamp(1rem,1.65vw,1.22rem);line-height:1.65}
.cp-actions{margin-top:30px;gap:0}.cp-btn{min-height:46px;padding:11px 16px;border:1px solid var(--sw-rule);border-radius:0;background:transparent;color:var(--sw-ink);font-size:.78rem;letter-spacing:.045em;text-transform:uppercase}.cp-btn+.cp-btn{border-left:0}.cp-btn.primary{border:1px solid var(--sw-rule);background:var(--sw-violet);color:#fff}
.cp-signals{margin-top:28px;gap:0;border-top:1px solid color-mix(in srgb,var(--sw-rule) 45%,transparent)}.cp-signals span{flex:1;padding:10px 12px;border:0;border-right:1px solid color-mix(in srgb,var(--sw-rule) 45%,transparent);border-radius:0;color:var(--sw-muted);font-size:.7rem}.cp-signals span:last-child{border-right:0}
.cp-visual{min-height:620px;border:0;border-left:1px solid var(--sw-rule);border-radius:0;background:linear-gradient(180deg,color-mix(in srgb,var(--sw-paper) 96%,var(--sw-violet)) 0 42%,var(--sw-violet) 42% 100%);box-shadow:none;display:block;overflow:visible}
.cp-visual:after{display:none}.cp-visual i{display:none}.cp-index{position:absolute;top:2%;right:5%;color:var(--sw-violet);font-size:clamp(8rem,18vw,17rem);font-weight:800;line-height:1;letter-spacing:-.09em}.cp-art{position:absolute;z-index:2;width:min(94%,540px);height:auto;right:-6%;top:22%;object-fit:contain;filter:none}
.cp-section{padding:72px 0;border-bottom:1px solid color-mix(in srgb,var(--sw-rule) 55%,transparent)}
.cp-section-head{margin-bottom:28px}.cp-section h2{font-size:clamp(2rem,4vw,3.7rem);line-height:.95;text-transform:uppercase}.cp-section-head p,.cp-section>p{color:var(--sw-muted)}
.cp-filter{gap:0;margin:24px 0 0;border-block:1px solid var(--sw-rule)}.cp-filter button{min-height:44px;padding:10px 18px;border:0;border-right:1px solid var(--sw-rule);border-radius:0;background:transparent;color:var(--sw-ink);font:800 .72rem Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}.cp-filter button.active,.cp-filter button:hover{background:var(--sw-violet);color:#fff;border-color:var(--sw-rule)}
.cp-grid{counter-reset:sw-card;display:block;border-bottom:1px solid var(--sw-rule)}
.cp-card{counter-increment:sw-card;min-height:118px;padding:22px 18px;display:grid;grid-template-columns:70px minmax(150px,.7fr) minmax(220px,1fr) 105px;grid-template-rows:auto;align-items:center;gap:22px;border:0;border-top:1px solid var(--sw-rule);border-radius:0;background:transparent;color:var(--sw-ink);box-shadow:none}
.cp-card:before{content:counter(sw-card,decimal-leading-zero);color:var(--sw-violet);font-size:2.4rem;font-weight:800;letter-spacing:-.06em}.cp-card:hover{transform:none;border-color:var(--sw-rule);background:color-mix(in srgb,var(--sw-violet) 9%,transparent);box-shadow:none}.cp-card-top{display:none}.cp-card h3{margin:0;font-size:1.18rem;line-height:1.15}.cp-card p{margin:0;color:var(--sw-muted);font-size:.9rem}.cp-open{margin:0;color:var(--sw-cyan);font-size:.72rem;text-align:right;letter-spacing:.06em}
.cp-split{grid-template-columns:1fr 1fr;gap:0}.cp-panel{padding:36px;border:0;border-right:1px solid var(--sw-rule);border-radius:0;background:transparent}.cp-panel:last-child{border-right:0}.cp-list{gap:0}.cp-list li{padding:15px 0;border-top:1px solid color-mix(in srgb,var(--sw-rule) 42%,transparent);color:var(--sw-muted)}.cp-num{border-radius:0;background:var(--sw-violet);color:#fff}
.cp-guide{max-width:880px}.cp-guide h3{padding-top:24px;border-top:1px solid color-mix(in srgb,var(--sw-rule) 45%,transparent)}
.cp-faq{gap:0;border-bottom:1px solid var(--sw-rule)}.cp-faq details{border:0;border-top:1px solid var(--sw-rule);border-radius:0;background:transparent;padding:0}.cp-faq summary{padding:20px 4px}.cp-faq p{color:var(--sw-muted)}
.cp-related{gap:0;border:1px solid var(--sw-rule)}.cp-related a{padding:22px;border:0;border-right:1px solid var(--sw-rule);border-radius:0;background:transparent}.cp-related a:last-child{border-right:0}.cp-related span{color:var(--sw-muted)}
.cp-founder{padding:25px 0;border:0;border-radius:0;background:transparent}.cp-founder img{width:72px;height:72px;border-radius:50%;object-fit:cover;filter:none;border:2px solid var(--sw-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--sw-accent) 14%,transparent)}.cp-footer{margin:0;border-top:1px solid var(--sw-rule);color:var(--sw-muted)}
@media(max-width:900px){
  .cp-main{width:min(100% - 24px,1240px)}.cp-hero{min-height:560px;grid-template-columns:minmax(0,1.25fr) minmax(210px,.75fr)}
  .cp-hero>div:first-child{padding:48px 28px}.cp-hero h1{font-size:clamp(3.2rem,9vw,5.6rem)}.cp-visual{display:block;min-height:560px}.cp-index{font-size:clamp(7rem,24vw,12rem)}.cp-art{width:125%;right:-28%;top:28%}
  .cp-card{grid-template-columns:58px minmax(140px,.8fr) 1fr 82px}.cp-split{grid-template-columns:1fr}.cp-panel{border-right:0;border-bottom:1px solid var(--sw-rule)}
}
@media(max-width:620px){
  .cp-nav{padding:13px 16px}.cp-brand{font-size:1rem}.cp-brand img{width:38px;height:38px}.cp-navlinks{gap:14px}.cp-navlinks a{display:none}.cp-navlinks a:first-child{display:block;font-size:.68rem}.cp-theme{width:40px;height:40px}
  .cp-main{width:100%}.cp-hero{min-height:670px;grid-template-columns:minmax(0,70%) minmax(0,30%);margin:0;border-inline:0}.cp-hero>div:first-child{padding:44px 18px 38px}.cp-kicker{font-size:.63rem}.cp-hero h1{margin:18px 0 24px;font-size:clamp(1.95rem,10vw,3.4rem);line-height:.88;word-break:normal;overflow-wrap:normal;hyphens:none}.cp-lead{font-size:.94rem;line-height:1.58}.cp-actions{display:grid;margin-top:24px}.cp-btn+.cp-btn{border-left:1px solid var(--sw-rule);border-top:0}.cp-signals{display:none}
  .cp-visual{min-height:670px}.cp-index{top:3%;right:4%;font-size:clamp(6.8rem,30vw,9rem)}.cp-art{width:185%;max-width:none;right:-64%;top:31%}
  .cp-section{padding:52px 18px}.cp-section h2{font-size:2.05rem}.cp-section-head{align-items:start}.cp-filter{display:flex;overflow:visible;flex-wrap:wrap}.cp-filter button{flex:1 1 30%;min-width:96px}
  .cp-card{min-height:108px;padding:18px 2px;grid-template-columns:48px minmax(0,1fr) 34px;gap:12px}.cp-card:before{font-size:1.65rem}.cp-card h3{font-size:1rem}.cp-card p{grid-column:2;grid-row:2;font-size:.8rem}.cp-open{grid-column:3;grid-row:1/3;font-size:0}.cp-open:after{content:"→";font-size:1.5rem}.cp-split{padding-inline:18px}.cp-panel{padding:28px 0}.cp-related{grid-template-columns:1fr}.cp-related a{border-right:0;border-bottom:1px solid var(--sw-rule)}.cp-related a:last-child{border-bottom:0}.cp-founder{align-items:flex-start}.cp-footer{padding:28px 18px}
}
@media(max-width:390px){.cp-hero h1{font-size:clamp(1.95rem,10vw,2.35rem)}.cp-hero>div:first-child{padding-inline:15px}.cp-art{width:200%;right:-72%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
