
:root{--bg:#f5f7fc;--ink:#182138;--muted:#596781;--line:#e0e5ef;--purple:#7826cf;--purple-light:#f1ebfb;--nav:#101726;--white:#fff;--teal:#1e806e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.68 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:#5a20ab}a:hover{color:#7925ce}a:focus-visible{outline:3px solid #a879e9;outline-offset:4px}.container{max-width:1160px;margin:auto;padding:0 28px}.topbar{background:#24213e;color:#d2c7e6;font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.topbar .container{min-height:33px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar a{color:#ede3ff;text-decoration:none}.masthead{background:var(--nav);color:white}.masthead .container{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px}.brand{display:flex;gap:15px;align-items:center;text-decoration:none;color:white}.brand:hover{color:white}.brand img{width:183px;height:auto;flex-shrink:0}.brand span{font-weight:800;line-height:1.2;border-left:1px solid #3f3659;padding-left:14px}.brand small{display:block;font-weight:500;font-size:10px;letter-spacing:.14em;color:#b7a8d5;margin-top:5px}.nav{display:flex;gap:21px;flex-wrap:wrap;align-items:center}.nav a{color:#d3c9e5;font-size:12px;font-weight:700;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:#fff}.nav a[aria-current=page]{border-bottom:2px solid #b57eff;padding-bottom:6px}.hero{color:white;background:radial-gradient(circle at 80% 30%,#38295d 0,transparent 45%),linear-gradient(115deg,#101929,#242044);padding:78px 0 72px}.hero h1{font-weight:850;font-size:clamp(41px,5vw,66px);max-width:760px;letter-spacing:-.055em;line-height:1.09;margin:17px 0}.hero h1 em{color:#bda5f2;font-style:normal}.hero p{font-size:17px;max-width:740px;color:#d3cfe4;line-height:1.78}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#aa79f1}.hero .eyebrow{color:#cbb7f8}.hero-actions{display:flex;gap:12px;margin-top:27px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:13px 20px;background:#efe7ff;color:#281443;text-decoration:none;font-size:13px;font-weight:800}.btn:hover{background:#fff;color:#281443}.btn.secondary{border:1px solid #7a6f9a;background:transparent;color:#fff}.section{padding:64px 0}.section h2{font-weight:850;letter-spacing:-.04em;font-size:35px;line-height:1.15;margin:0 0 12px}.lede{font-size:15px;line-height:1.85;color:var(--muted);max-width:790px;margin:0 0 29px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.company,.card,.info{background:white;border:1px solid var(--line);border-radius:16px;padding:29px;box-shadow:0 12px 26px #171c360b;min-width:0}.company{display:flex;flex-direction:column;min-height:300px}.company h3{font-size:28px;letter-spacing:-.04em;margin:20px 0 7px}.company p,.card p,.info p{color:var(--muted);line-height:1.8}.company .domain{font-size:12px;font-weight:750;letter-spacing:.07em;color:#6a32bd}.company .btn{align-self:start;margin-top:auto}.pill{display:inline-block;font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.09em;background:#ede8f6;color:#592b9f;padding:5px 10px;border-radius:50px}.card{padding:23px;display:flex;flex-direction:column}.card h3{font-size:20px;line-height:1.28;letter-spacing:-.035em;margin:14px 0 10px}.card p{font-size:13px;margin:0 0 15px}.card .facts{border-top:1px solid var(--line);padding-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.card .facts small{color:#728097;font-size:10px;display:block}.card .facts b{font-size:12px;color:var(--ink);overflow-wrap:anywhere}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:auto;padding-top:20px}.actions .btn{padding:10px 15px;background:var(--purple);color:#fff}.actions .btn:hover{background:#5c19a9}.actions .source{font-weight:700;font-size:12px;color:#5c289b}.notice{background:#ece8f4;border:1px solid #d8c9ec;border-radius:10px;padding:15px 18px;color:#4e4164;font-size:13px;margin-top:26px}.subhero{background:#eae6f3;border-bottom:1px solid #d9d2e7;padding:57px 0}.subhero h1{font-size:clamp(34px,4vw,52px);letter-spacing:-.05em;margin:12px 0}.subhero p{max-width:750px;color:var(--muted);margin:0}.tablewrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:690px}th,td{text-align:left;padding:16px 17px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}th{background:#ede8f6;font-size:11px;letter-spacing:.08em;text-transform:uppercase}td:first-child{font-weight:750}tr:last-child td{border-bottom:0}.footer{background:#101626;color:#c5c1d4;padding:38px 0;margin-top:25px}.footer .container{display:grid;grid-template-columns:2fr 1fr;gap:40px}.footer p{font-size:12px;color:#a8a8bc}.footer strong{color:white}.footer a{color:#d2b3ff}.footer small{display:block;font-size:11px;margin-top:13px;color:#a9a9bd}.meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.meta-row span{border:1px solid #6d6186;padding:7px 12px;border-radius:99px;font-size:12px;color:#e9ddfd}.downloads{display:flex;align-items:center;gap:7px}.banner{background:#f0e9fa;border-left:4px solid #7e43c2;padding:17px 22px;border-radius:10px;margin-top:30px}.banner p{color:#5c5276;margin:5px 0}.file-info{font-size:11px;color:#7984a1;margin-top:9px}.links>div{padding:18px 0;border-bottom:1px solid var(--line)}.links a{font-weight:800}.source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.source-item{padding:20px;border:1px solid var(--line);border-radius:12px;background:white}.source-item a{font-weight:800;overflow-wrap:anywhere}.source-item p{font-size:13px;color:var(--muted)}.root-alert{font-size:12px;color:#ecdeff;border:1px solid #74618f;padding:12px 14px;border-radius:9px;display:inline-block;margin-top:22px}.brand img{display:block}
@media(max-width:900px){.masthead .container{flex-direction:column;align-items:flex-start;padding-top:20px;padding-bottom:20px}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.container{padding:0 18px}.topbar .container{font-size:8px}.brand{flex-wrap:wrap}.brand img{width:170px}.brand span{font-size:13px}.hero{padding:58px 0}.hero h1{font-size:43px}.grid2,.grid3,.source-grid{grid-template-columns:1fr}.company,.card,.info{padding:23px}.section{padding:48px 0}.nav{gap:13px}.nav a{font-size:11px}.footer .container{grid-template-columns:1fr}.section h2{font-size:29px}.card .facts{grid-template-columns:1fr 1fr}}

/* Avoid squeezing the SBB brand into narrow columns at medium widths */
.brand span{white-space:nowrap}.masthead .container{flex-wrap:wrap}.brand img{width:175px}@media(max-width:600px){.brand span{white-space:normal}}
