.c00c53db{margin:0 0 18px; font-size:16px; line-height:1.55; color:#3a3e4c;}
.c023633f{max-width:1120px; margin:0 auto; padding:clamp(40px,5vw,64px) 24px 28px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr)); gap:clamp(24px,3vw,40px);}
.c02944f2{margin:0; font-size:15.5px; line-height:1.6; color:#4e5261;}
.c05b9e81{margin:0 0 7px; font-size:17px; font-weight:600;}
.c0617d48{flex:1 1 230px; min-width:0;}
.c074d91f{background:oklch(0.40 0.10 265); border-radius:24px; padding:clamp(28px,4vw,52px); color:#eef0fa; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:clamp(28px,4vw,52px); align-items:center;}
.c08af479{margin:0 0 18px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(32px,4.4vw,50px); line-height:1.08; letter-spacing:-0.025em; max-width:24ch; text-wrap:balance;}
.c0a463da{margin:0; font-size:16.5px; line-height:1.6; color:#dfe3f7; max-width:46ch;}
.c0b387c7{padding:clamp(22px,2.6vw,30px) clamp(24px,3.4vw,44px); display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; background:#fafbfd; border-radius:0 0 21px 21px;}
.c0d1c748{display:flex; align-items:center; gap:7px;}
.c0daeebe{margin:0 0 24px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(26px,3.2vw,36px); letter-spacing:-0.02em;}
.c0ef8987{max-width:1120px; margin:0 auto; padding:0 24px clamp(40px,5vw,72px); display:grid; gap:16px;}
.c1042774{display:grid; gap:12px; font-size:16px; color:#3a3e4c;}
.c104bc76{display:flex; align-items:center; gap:8px; background:#f4f5fc; border:1px solid #e1e3ec; border-radius:999px; padding:8px 15px; color:#3a3e4c;}
.c1172c51{background:#fff; border:1px solid #e1e3ec; border-radius:24px; padding:clamp(32px,4vw,56px); max-width:640px; display:grid; gap:18px;}
.c1182941{margin:0 0 18px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(26px,3.2vw,36px); letter-spacing:-0.02em;}
.c12893bc{max-width:1120px; margin:0 auto; padding:clamp(40px,6vw,80px) 24px clamp(32px,4vw,56px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:clamp(32px,5vw,64px); align-items:center;}
.c133aa1d{margin:0;}
.c16de183{margin:0 0 16px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:oklch(0.40 0.10 265);}
.c1881ca9{background:#f4f5f8; border-bottom:1px solid #e1e3ec;}
.c19f5014{margin:0 0 10px; font-family:'Bitter',Georgia,serif; font-size:23px; font-weight:500; letter-spacing:-0.01em;}
.c1a6ccdd{background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); border-radius:14px; padding:18px 20px; display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start;}
.c1c8198f{padding:clamp(22px,2.6vw,30px) clamp(28px,3.4vw,38px); border-bottom:1px solid #eceef4; display:flex; gap:14px; align-items:baseline; flex-wrap:wrap;}
.c1ce3069{display:grid; gap:9px; font-size:15px; color:#3a3e4c;}
.c1ce769f{max-width:1120px; margin:0 auto; padding:0 24px clamp(40px,5vw,72px); display:grid; gap:18px;}
.c1f6b1e1{background:oklch(0.40 0.10 265); color:#fff; padding:13px 24px; border-radius:999px; font-weight:500; font-size:15.5px; text-decoration:none; flex:0 1 auto; margin-left:auto;}
.c20ea826{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.c22326cf{background:#fff; border:1px solid #e1e3ec; border-radius:18px; padding:30px 28px;}
.c2347ff0{margin:0 0 2px; font-size:14px; color:#63687a;}
.c239514c{max-width:1120px; margin:0 auto; padding:clamp(28px,3.5vw,48px) 24px clamp(40px,5vw,72px); display:flex; flex-wrap:wrap; gap:clamp(24px,3vw,44px); align-items:flex-start;}
.c24268f7{background:#fff; border:1px solid #e1e3ec; border-radius:18px; padding:26px 24px 28px;}
.c274d5f0{background:oklch(0.40 0.10 265); color:#fff; padding:15px 28px; border-radius:999px; font-weight:500; font-size:16px; text-decoration:none; display:inline-block;}
.c278f392{max-width:1120px; margin:0 auto; padding:clamp(40px,5vw,72px) 24px clamp(28px,3vw,44px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:clamp(28px,4vw,56px); align-items:center;}
.c287c04a{margin:0; font-family:'Bitter',Georgia,serif; font-size:24px; font-weight:500; letter-spacing:-0.01em;}
.c28b8f91{background:oklch(0.40 0.10 265); color:#fff; padding:15px 28px; border-radius:999px; font-weight:500; font-size:16px; text-decoration:none;}
.c29a087a{background:oklch(0.40 0.10 265); color:#fff; padding:14px 26px; border-radius:999px; font-weight:500; font-size:15.5px; text-decoration:none;}
.c29c1ee4{margin-left:auto; color:#aab6f0; text-decoration:none;}
.c2d12342{background:oklch(0.40 0.10 265); border-radius:24px; padding:clamp(28px,4vw,48px); color:#eef0fa; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:clamp(20px,3vw,40px); align-items:center;}
.c2d2530f{margin:0; font-weight:500; line-height:1.5;}
.c2dc3bae{margin:0 0 22px; display:inline-block; background:#fff; border:1px solid #e1e3ec; border-radius:999px; padding:7px 16px; font-size:13.5px; color:#4e5261;}
.c2dc4906{margin:0 0 14px; font-size:14px; color:oklch(0.40 0.10 265); font-weight:500;}
.c2fbbb64{font-family:'Bitter',Georgia,serif; font-weight:600; font-size:18px; letter-spacing:-0.015em; line-height:1.1;}
.c304a7d7{display:grid; gap:9px; font-size:14.5px; line-height:1.55;}
.c309583c{display:grid; gap:16px;}
.c31906bd{color:oklch(0.40 0.10 265); font-weight:500; font-size:11.5px; letter-spacing:0.07em; text-transform:uppercase;}
.c31a19d0{margin:0; font-size:16.5px; line-height:1.68; color:#3a3e4c; max-width:48ch;}
.c31e2df7{margin:0 0 14px; font-size:14.5px; line-height:1.6; color:#4e5261;}
.c32b3b73{background:#fff; border:1px solid #e1e3ec; border-radius:18px; padding:22px 20px;}
.c330710a{background:#fff; color:oklch(0.35 0.10 265); padding:13px 24px; border-radius:999px; font-weight:500; font-size:15.5px; text-decoration:none; display:inline-block;}
.c334ea69{margin:0 0 10px; font-family:'Bitter',Georgia,serif; font-size:21px; font-weight:500;}
.c33ee53e{margin:6px 0 0; padding:0; list-style:none; display:grid; gap:11px; font-size:16px; color:#3a3e4c; max-width:66ch;}
.c346d2f6{border:1px solid rgba(255,255,255,0.5); color:#fff; padding:14px 26px; border-radius:999px; font-weight:500; font-size:15.5px; text-decoration:none;}
.c34825fa{margin:0 0 26px; font-size:clamp(16.5px,1.5vw,18.5px); line-height:1.62; color:#4e5261; max-width:62ch; text-wrap:pretty;}
.c34a1839{margin:0 0 16px; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:#63687a; font-weight:600;}
.c34ad159{position:sticky; top:0; z-index:30;}
.c379ed35{margin:0; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(26px,3.2vw,38px); letter-spacing:-0.02em;}
.c386f838{max-width:1120px; margin:0 auto; padding:20px 24px 0; border-top:1px solid #2b2e39; display:flex; gap:10px 20px; flex-wrap:wrap; font-size:13.5px;}
.c3aa0517{flex:3 1 340px; min-width:0; background:#fff; border:1px solid #e1e3ec; border-radius:22px; padding:clamp(16px,3vw,24px) 0 0;}
.c3c7db7a{padding:0; margin:0 0 2px; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:#63687a; font-weight:600;}
.c3fa9332{margin-top:2px;}
.c409582a{width:100%; height:auto; max-width:520px; justify-self:center;}
.c4098db7{display:flex; align-items:center; gap:9px; background:#f1f2fa; border-radius:10px; padding:9px 12px; color:oklch(0.35 0.10 265); font-weight:500;}
.c414205e{max-width:1120px; margin:0 auto; padding:0 24px clamp(44px,6vw,80px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:clamp(24px,4vw,48px); align-items:center;}
.c421f1a6{margin:0 0 32px; font-size:clamp(17px,1.6vw,19px); line-height:1.6; color:#4e5261; max-width:48ch; text-wrap:pretty;}
.c4289601{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:16px;}
.c4465528{padding:clamp(26px,3vw,32px) clamp(28px,3.4vw,38px); display:grid; gap:30px;}
.c44f31b0{margin-left:auto;}
.c455b2a2{margin:0 0 8px; font-size:17px; font-weight:600;}
.c469fe4d{margin:0 0 14px; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:#8c93a6; font-weight:600;}
.c49cea2c{display:grid;}
.c49f4f11{background:#fff; border:1px solid #e1e3ec; border-radius:16px; padding:22px 24px;}
.c4a06256{margin:0; font-size:14.5px; line-height:1.5; color:#4e5261;}
.c4cad156{width:104px; height:104px; margin-bottom:18px;}
.c4e9e374{margin:0; font-size:16px; line-height:1.6; color:#4e5261; max-width:48ch;}
.c4fda53f{margin:0; font-size:14.5px; line-height:1.65; max-width:30ch;}
.c5073bb6{background:#fff; border:1px solid #e1e3ec; border-radius:20px; padding:clamp(24px,3vw,34px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:clamp(20px,3vw,40px); align-items:start;}
.c50cd6be{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:16px;}
.c5198272{margin:0 0 30px; font-size:clamp(17px,1.6vw,19px); line-height:1.6; color:#4e5261; max-width:50ch; text-wrap:pretty;}
.c55e3ca6{font-weight:500; text-decoration:none;}
.c5844f87{font-size:14.5px; font-weight:500; text-decoration:none;}
.c58e4439{margin:0; font-size:14.5px; line-height:1.65; color:#63687a; max-width:66ch;}
.c5938af1{padding:13px 15px; border:1px solid #d9dce8; border-radius:11px; background:#fafbfd; font-size:16px; font-weight:400; line-height:1.55; width:100%; min-width:0; resize:vertical;}
.c594366c{max-width:1120px; margin:0 auto; padding:0 24px clamp(44px,6vw,80px);}
.c594dbdf{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%);}
.c5a467f9{font-size:11.5px; letter-spacing:0.13em; text-transform:uppercase; color:#63687a;}
.c5b15305{margin:0 0 4px; font-size:16.5px; font-weight:600;}
.c5c068e5{padding:clamp(22px,2.6vw,30px) clamp(24px,3.4vw,44px); border-bottom:1px solid #f0f1f6; display:grid; grid-template-columns:auto 1fr; gap:clamp(14px,2vw,26px); align-items:start;}
.c5c0d76d{margin:0 0 8px; font-family:'Bitter',Georgia,serif; font-size:20px; font-weight:500;}
.c5dedf55{background:#f4f5f8; border:1px solid #e1e3ec; color:#1a1c24; padding:15px 28px; border-radius:999px; font-weight:500; font-size:16px; text-decoration:none;}
.c5e0e821{background:#fff; border:1px solid #e1e3ec; border-radius:16px; padding:20px 22px; display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start;}
.c5f50a59{margin:0 0 14px; font-size:16.5px; line-height:1.68; color:#3a3e4c; max-width:52ch;}
.c60345ef{background:#fff; border:1px solid #e1e3ec; border-radius:22px; overflow:hidden;}
.c604f709{max-width:1120px; margin:0 auto; padding:18px 24px 34px; display:flex; gap:18px; flex-wrap:wrap; font-size:13.5px; color:#8c93a6;}
.c61c02a5{max-width:1120px; margin:0 auto; padding:0 24px;}
.c61dcea8{font-family:'Bitter',Georgia,serif; font-size:21px; color:oklch(0.40 0.10 265); line-height:1.1;}
.c6298816{max-width:1120px; margin:0 auto; padding:8px 24px; display:flex; gap:18px; flex-wrap:wrap; align-items:center; font-size:13px;}
.c63905a8{color:#3a3e4c; text-decoration:none;}
.c68bcf6e{width:100%; height:auto; max-width:460px; justify-self:center;}
.c6d10893{margin:0; font-size:clamp(17px,1.6vw,19px); line-height:1.6; color:#4e5261; max-width:62ch; text-wrap:pretty;}
.c6d4d813{margin:0; font-size:clamp(17px,1.6vw,19px); line-height:1.6; color:#4e5261; max-width:52ch; text-wrap:pretty;}
.c6d92401{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12.5px; color:oklch(0.40 0.10 265); padding-top:7px;}
.c6f76f09{max-width:1120px; margin:0 auto; padding:clamp(40px,5vw,72px) 24px clamp(28px,3vw,44px);}
.c711c31e{background:#f4f5fc; border:1px solid #e1e3ec; border-radius:999px; padding:8px 15px; color:#3a3e4c;}
.c7218d6c{min-height:clamp(240px,30vw,380px); border-radius:22px; background-image:repeating-linear-gradient(115deg,#e8eaf1 0 14px,#e0e3ec 14px 28px); display:flex; align-items:flex-end; padding:20px;}
.c7317c34{margin:0 0 10px; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:#63687a; font-weight:600;}
.c74f835f{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:10px;}
.c7552da0{max-width:1120px; margin:0 auto; padding:14px 24px; display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.c758237c{background:#fff; border:1px solid #e1e3ec; border-radius:18px; padding:26px 24px 28px; text-decoration:none; color:#1a1c24; display:block;}
.c75cebfc{display:grid; gap:7px; font-size:14.5px; color:#4e5261; font-weight:400;}
.c7a89c43{background:#fff; color:oklch(0.35 0.10 265); padding:15px 28px; border-radius:999px; font-weight:500; font-size:16px; text-decoration:none; justify-self:start;}
.c7c2c4b3{padding:13px 15px; border:1px solid #d9dce8; border-radius:11px; background:#fafbfd; font-size:16px; font-weight:400; min-height:48px; width:100%; min-width:0;}
.c7dd398c{display:flex; align-items:center; gap:10px; background:oklch(0.40 0.10 265); color:#fff; border:none; padding:15px 28px; border-radius:999px; font-weight:500; font-size:16px; cursor:pointer; min-height:50px;}
.c7fa610f{display:grid; gap:12px;}
.c80087f8{color:#7d8497;}
.c80e736e{max-width:1120px; margin:0 auto; padding:0 24px clamp(40px,5vw,72px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:clamp(28px,4vw,56px);}
.c82ccc59{min-width:0;}
.c836d4a1{margin:0 0 20px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(34px,4.8vw,54px); line-height:1.08; letter-spacing:-0.025em; max-width:24ch; text-wrap:balance;}
.c86b1419{padding:clamp(20px,2.4vw,26px) clamp(28px,3.4vw,38px); background:#fafbfd; border-top:1px solid #eceef4; display:flex; gap:16px; flex-wrap:wrap; align-items:center;}
.c876b19b{margin:0; font-size:clamp(17px,1.6vw,19px); line-height:1.6; color:#4e5261; max-width:58ch; text-wrap:pretty;}
.c891eb01{margin:0 0 9px; font-size:17px; font-weight:600;}
.c8a173ab{margin:0 0 14px; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:#63687a; font-weight:600;}
.c8a3385d{margin:0; font-family:'Bitter',Georgia,serif; font-size:clamp(28px,3.6vw,38px); font-weight:500; letter-spacing:-0.02em;}
.c8ae63a8{display:flex; align-items:center; gap:9px; background:oklch(0.40 0.10 265); color:#fff; padding:11px 20px; border-radius:999px; font-size:15px; font-weight:500; text-decoration:none;}
.c8b3aa85{width:6px; height:6px; border-radius:50%; background:oklch(0.40 0.10 265); margin-top:9px;}
.c8b99017{font-size:13.5px; color:#63687a; margin-left:auto;}
.c8c60075{width:3px; height:15px; border-radius:2px; background:oklch(0.40 0.10 265);}
.c8c79463{display:grid; gap:9px; font-size:14.5px;}
.c8d8dc05{max-width:1120px; margin:0 auto; padding:0 24px clamp(40px,5vw,72px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:clamp(24px,4vw,48px); align-items:start;}
.c8df69eb{margin:0 0 10px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(24px,3vw,32px); letter-spacing:-0.02em; color:#fff;}
.c8e04b65{display:grid; gap:1px;}
.c8f2f1e2{margin:0 0 14px; font-family:'Bitter',Georgia,serif; font-size:clamp(19px,2.1vw,23px); font-weight:500; letter-spacing:-0.01em; text-wrap:pretty;}
.c8f53977{margin:0 0 9px; font-family:'Bitter',Georgia,serif; font-size:20px; font-weight:500;}
.c90ce986{margin:0; font-size:14.5px; line-height:1.55; color:#dfe3f7;}
.c91b61d1{margin:0; display:grid; gap:16px; font-size:15px;}
.c91f7133{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; line-height:1.6;}
.c926a6e8{margin:0 0 10px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(22px,2.8vw,30px); letter-spacing:-0.02em; color:#fff;}
.c9307058{display:grid; gap:14px; align-content:start;}
.c9523555{margin:0 0 26px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(26px,3.2vw,36px); letter-spacing:-0.02em;}
.c954c065{color:#63687a; text-decoration:none;}
.c95aa440{color:#63687a; margin-bottom:3px; font-size:14px;}
.c95de98f{margin:0 0 16px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(26px,3.2vw,36px); letter-spacing:-0.02em;}
.c97780a6{margin:0 0 10px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(24px,3vw,32px); letter-spacing:-0.02em;}
.c9a42479{display:flex; gap:10px; align-items:center; margin-bottom:18px; font-size:13.5px; color:#63687a;}
.c9cbc16b{background:#fff; border:1px solid #e1e3ec; border-radius:18px; padding:24px;}
.c9d0dfdb{margin:0 0 22px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(36px,5.2vw,60px); line-height:1.07; letter-spacing:-0.025em; text-wrap:balance;}
.c9dc8120{background:#fff; border:1px solid #e1e3ec; border-radius:18px; padding:clamp(22px,3vw,30px); display:flex; flex-wrap:wrap; gap:clamp(18px,3vw,32px); align-items:center;}
.c9dc9569{display:flex; gap:8px; flex-wrap:wrap;}
.c9e2abbb{font-size:16px; font-weight:500; text-decoration:none;}
.c9e38bbe{margin:0; padding:0; list-style:none; display:grid; gap:9px; font-size:15px; color:#3a3e4c;}
.c9ee9d69{margin:18px 0 0; font-size:14.5px; color:#63687a;}
.ca04fd03{background:#fff; border:1px solid #e1e3ec; border-radius:18px; padding:24px 26px 26px;}
.ca0c1df7{margin:0 0 32px; font-size:clamp(17px,1.6vw,19px); line-height:1.6; color:#4e5261; max-width:52ch; text-wrap:pretty;}
.ca0e9e8d{margin:0; font-size:13.5px; line-height:1.5; color:#63687a; max-width:34ch;}
.ca194c9f{margin:0 0 12px; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:#63687a; font-weight:600;}
.ca387355{flex:1 1 280px; min-width:0;}
.ca4a5287{color:#63687a; font-weight:500; font-size:11.5px; letter-spacing:0.07em; text-transform:uppercase;}
.ca5a16ab{margin:0; font-size:16.5px; line-height:1.65; color:#4e5261; max-width:46ch;}
.ca69a282{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:16px 24px;}
.caaf3d1b{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:clamp(20px,3vw,40px); align-items:baseline; margin-bottom:28px;}
.cabf6a08{color:#c8ccd8; text-decoration:none;}
.caeb3607{margin:0; font-size:15.5px; line-height:1.62; color:#4e5261;}
.caf4cddb{display:block; padding:9px 12px 9px 24px; border-radius:10px; color:#3a3e4c; text-decoration:none;}
.cafd641e{margin:0 0 18px; font-size:16.5px; line-height:1.65; color:#3a3e4c;}
.cb032b2c{display:flex; gap:12px; flex-wrap:wrap;}
.cb5bd303{margin:0 0 26px; font-size:17px; line-height:1.6; color:#dfe3f7; max-width:42ch;}
.cb648894{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:clamp(20px,3vw,40px); align-items:baseline; margin-bottom:34px;}
.cbad08c5{flex:1 1 230px; position:sticky; top:132px; display:grid; gap:14px;}
.cbb5b8c1{background:oklch(0.40 0.10 265); color:#fff; padding:15px 28px; border-radius:999px; font-weight:500; font-size:16px; text-decoration:none; justify-self:start;}
.cbb63274{background:#fff; color:oklch(0.35 0.10 265); padding:14px 26px; border-radius:999px; font-weight:500; font-size:15.5px; text-decoration:none;}
.cbcb01d2{margin:0 0 14px; font-size:16.5px; line-height:1.68; color:#3a3e4c; max-width:50ch;}
.cbcc7370{margin:0; font-family:'Bitter',Georgia,serif; font-size:21px; font-weight:500;}
.cbce555c{margin:0; font-size:16.5px; line-height:1.6; color:#4e5261; max-width:52ch;}
.cbd353c3{display:flex; align-items:center; gap:11px; color:#1a1c24; text-decoration:none;}
.cbeb5d5e{width:6px; height:6px; border-radius:50%; background:oklch(0.40 0.10 265); margin-top:8px;}
.cbee6625{display:flex; gap:10px; flex-wrap:wrap; font-size:13.5px;}
.cbfd0bbb{margin:0; font-size:15px; line-height:1.6; color:#4e5261;}
.cbfdd2e1{display:flex; align-items:center; gap:11px; background:#fafbfd; border:1px solid #d9dce8; border-radius:11px; padding:13px 15px; font-size:15.5px; line-height:1.35; color:#3a3e4c; cursor:pointer; min-height:48px;}
.cc276b96{font-family:'Work Sans',Helvetica,sans-serif; background:#f4f5f8;}
.cc36571e{background:#f1f2fa; border:1px solid #e1e3ec; border-radius:999px; padding:5px 12px; font-size:13.5px; color:#4e5261;}
.cc54a8ad{margin:0; flex:2 1 280px; min-width:0; font-size:15.5px; line-height:1.62; color:#4e5261;}
.cc5e72f3{margin:0; font-size:17px; line-height:1.62; color:#4e5261; max-width:46ch;}
.cc5fe646{background:oklch(0.40 0.10 265); border-radius:24px; padding:clamp(26px,3.6vw,44px); color:#eef0fa; display:flex; flex-wrap:wrap; gap:clamp(20px,3vw,40px); align-items:center;}
.cc62d181{width:100%; height:2px; border-radius:2px; background:oklch(0.40 0.10 265);}
.cc720903{background:#fff; border:1px solid #e1e3ec; border-radius:24px; padding:clamp(28px,4vw,48px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:clamp(20px,3vw,40px); align-items:center;}
.cc7ae05a{background:#fff; border:1px solid #e1e3ec; border-radius:20px; padding:clamp(24px,3vw,38px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:clamp(22px,3vw,44px); align-items:start;}
.cc99996d{margin:0; font-weight:500;}
.ccb68425{accent-color:oklch(0.40 0.10 265); width:17px; height:17px; margin:0; flex:0 0 auto;}
.ccc56753{font-family:'Bitter',Georgia,serif; font-size:21px; color:#fff; line-height:1.1;}
.ccd49004{background:#1a1c24; color:#9ba1b2; font-family:'Work Sans',Helvetica,sans-serif; margin-top:clamp(40px,6vw,88px);}
.ccd6f9f5{max-width:1120px; margin:0 auto; padding:0 24px clamp(40px,5vw,72px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:clamp(24px,4vw,48px); align-items:start;}
.ccd7af0d{text-decoration:none;}
.cce66812{display:grid; gap:7px; font-size:14.5px; color:#4e5261;}
.ccefcd6a{background:#f4f5f8; border:1px solid #e1e3ec; color:#1a1c24; padding:14px 26px; border-radius:999px; font-weight:500; font-size:15.5px; text-decoration:none;}
.ccf6423c{color:#9ba1b2; text-decoration:none;}
.cd14906d{margin:0 0 14px; font-size:16.5px; line-height:1.72; color:#3a3e4c; max-width:68ch; text-wrap:pretty;}
.cd3153fb{width:100%; height:auto; border-radius:12px;}
.cd36bad7{margin:0; padding:0; list-style:none; display:grid; gap:10px; font-size:15.5px; color:#3a3e4c;}
.cd528873{color:#3a3e4c; font-weight:500;}
.cd648662{max-width:1120px; margin:0 auto; padding:0 24px clamp(40px,5vw,72px);}
.cd811507{color:#3a3e4c;}
.cd8c5b4d{margin:0 0 16px; font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:oklch(0.40 0.10 265); font-weight:600;}
.cd90b6aa{margin:0 0 4px; font-size:16.5px; font-weight:600; color:#fff;}
.cd99a0a8{display:flex; gap:12px 20px; flex-wrap:wrap; font-size:16px;}
.cdaef0d0{display:grid; gap:14px;}
.cdb2abba{display:flex; gap:12px; flex-wrap:wrap; justify-self:start;}
.cddb3a28{margin:0 0 14px; font-size:16.5px; line-height:1.68; color:#3a3e4c; max-width:48ch;}
.cde6e4ce{margin:0; font-size:15px; line-height:1.58; color:#4e5261;}
.cdf37d6f{margin:0 0 14px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(26px,3.2vw,36px); letter-spacing:-0.02em; color:#fff;}
.ce019c4f{margin:0; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(28px,3.6vw,40px); letter-spacing:-0.02em;}
.ce0a3775{background:#fff; border-bottom:1px solid #e1e3ec;}
.ce2a3c8a{margin:0 0 20px; font-family:'Bitter',Georgia,serif; font-weight:500; font-size:clamp(34px,4.8vw,54px); line-height:1.08; letter-spacing:-0.025em; max-width:22ch; text-wrap:balance;}
.ce3c0bec{color:#aab6f0; text-decoration:none;}
.ce4318db{margin:0; padding:0; border:none; display:grid; gap:16px;}
.ce4ef7c6{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:16px;}
.ce548521{max-width:1120px; margin:0 auto; padding:clamp(56px,8vw,110px) 24px clamp(40px,6vw,80px);}
.ce783887{margin:0 0 6px; font-family:'Bitter',Georgia,serif; font-size:24px; font-weight:500;}
.ce7a7c78{background:#fff; border:1px solid #e1e3ec; color:#1a1c24; padding:15px 28px; border-radius:999px; font-weight:500; font-size:16px; text-decoration:none;}
.ce978a36{min-height:clamp(220px,28vw,320px); border-radius:20px; background-image:repeating-linear-gradient(115deg,#e8eaf1 0 14px,#e0e3ec 14px 28px); display:flex; align-items:flex-end; padding:18px;}
.cebf8214{max-width:1120px; margin:0 auto; padding:clamp(34px,4.2vw,58px) 24px clamp(26px,3vw,38px);}
.cecb1744{background:#1a1c24; color:#9ba1b2;}
.cee19865{display:flex; gap:26px; margin-left:auto; flex-wrap:wrap; font-size:15.5px;}
.cf1d39b9{margin:0; color:#4e5261;}
.cf24561c{margin:0; font-size:16.5px; line-height:1.68; color:#3a3e4c; max-width:52ch;}
.cf2fb92f{max-width:1120px; margin:0 auto; padding:0 24px clamp(40px,5vw,72px); display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:clamp(24px,4vw,48px);}
.cf42c4fc{margin:0 0 8px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:oklch(0.40 0.10 265);}
.cf63ef60{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:#5b5f6e; background:#f4f5f8; padding:7px 12px; border-radius:8px;}
.cfd12c47{margin:0; font-size:16.5px; line-height:1.6; color:#4e5261; max-width:48ch;}
.cfdd0762{background:#fff; border:1px solid #e1e3ec; border-radius:18px; padding:26px 26px 28px;}
.cfdfc4e3{font-family:'Bitter',Georgia,serif; font-weight:600; font-size:17px; color:#fff;}
.cff21d39{display:grid; gap:5px; justify-items:center;}
.cff2c1a3{display:grid; gap:3px; font-size:15px;}
.cffb4d8a{display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:start; line-height:1.55;}
.c1f6b1e1:hover{background:oklch(0.31 0.09 265);}
.c274d5f0:hover{background:oklch(0.31 0.09 265);}
.c28b8f91:hover{background:oklch(0.31 0.09 265);}
.c29a087a:hover{background:oklch(0.31 0.09 265);}
.c29c1ee4:hover{color:#fff;}
.c330710a:hover{background:#e5e8fb;}
.c346d2f6:hover{background:rgba(255,255,255,0.12);}
.c55e3ca6:hover{text-decoration:underline;}
.c5844f87:hover{text-decoration:underline;}
.c5dedf55:hover{border-color:#8a8fa3;}
.c63905a8:hover{color:oklch(0.40 0.10 265);}
.c758237c:hover{border-color:oklch(0.40 0.10 265);}
.c7a89c43:hover{background:#e5e8fb;}
.c7dd398c:hover{background:oklch(0.31 0.09 265);}
.c8ae63a8:hover{background:oklch(0.31 0.09 265);}
.c954c065:hover{color:oklch(0.40 0.10 265);}
.c9e2abbb:hover{text-decoration:underline;}
.cabf6a08:hover{color:#fff;}
.caf4cddb:hover{background:#f7f8fc; color:oklch(0.40 0.10 265);}
.cbb5b8c1:hover{background:oklch(0.31 0.09 265);}
.cbb63274:hover{background:#e5e8fb;}
.cbfdd2e1:hover{border-color:oklch(0.40 0.10 265); background:#f4f5fc;}
.ccd7af0d:hover{text-decoration:underline;}
.ccefcd6a:hover{border-color:#8a8fa3;}
.ccf6423c:hover{color:#fff;}
.ce3c0bec:hover{color:#fff;}
.ce7a7c78:hover{border-color:#8a8fa3;}
.c5938af1:focus-visible{border-color:oklch(0.40 0.10 265); background:#fff; box-shadow:0 0 0 3px rgba(72,82,180,0.14);}
.c7c2c4b3:focus-visible{border-color:oklch(0.40 0.10 265); background:#fff; box-shadow:0 0 0 3px rgba(72,82,180,0.14);}
/* ---------------------------------------------------------------------------
   Sitewide CSS. This block is NOT served inline: build.js lifts it out and
   appends it to dist/assets/styles.css, because the CSP sets
   `style-src 'self'` with no 'unsafe-inline'. It is written here, in the head
   partial, so there is exactly one copy and the build can prove pages agree.

   It is emitted AFTER the classes extracted from inline style="" attributes,
   so these hand-written rules beat the design's inline declarations at equal
   specificity. That is what lets the mobile tap-target and policy-nav rules
   below work without !important.
   --------------------------------------------------------------------------- */

/* Self-hosted latin subsets. Both families are variable fonts: Google serves
   one file per subset covering the whole 400-600 range we use, so one
   @font-face per family is enough. unicode-range is kept verbatim from the
   Google Fonts CSS API response so the browser can skip the download for
   text outside the subset. */
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/worksans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bitter';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/assets/fonts/bitter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: 'Work Sans', Helvetica, sans-serif; background: #f4f5f8; color: #1a1c24; -webkit-font-smoothing: antialiased; }
/* :where() so these contribute ZERO specificity. Extraction moves the design's
   own colours from inline (1,0,0,0) to a class (0,1,0), and a bare `a:hover`
   is (0,1,1) — higher. That revives this rule over every link the design had
   deliberately coloured: measured on the home page, the primary CTA's white
   text was being overridden to oklch(0.31 0.09 265) on hover, which is also
   its hover background, so the label vanished. Inside :where() the rule is
   (0,0,0) and still styles any link the design did not colour itself. */
:where(a) { color: oklch(0.40 0.10 265); }
:where(a:hover) { color: oklch(0.31 0.09 265); }

/* WCAG 1.4.1 Use of Colour. A link sitting inside a sentence must be
   distinguishable from the text around it by something other than colour.
   Measured on the home page: the brand link colour against the body colour it
   sits in is 1.19:1, where 3:1 is the minimum, so colour alone is not enough
   and the link needs an underline.
   The design sets text-decoration:none inline, which extraction turns into a
   class (0,1,0). The attribute selector here is what outranks it: p a[href]
   inside :is() is (0,1,3), so it wins on the type count at equal class count.
   Scoped to <p> and <li> so it only catches prose links - the pill CTAs are in
   <div>s and keep their button styling. */
:is(main, footer) :is(p, li) a[href] {
  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-thickness: from-font;
}
input, textarea, button, select { font: inherit; color: inherit; }
input::placeholder, textarea::placeholder { color: #6b7080; opacity: 1; }
svg { max-width: 100%; }

/* Safety net for WCAG 1.4.10 Reflow. Several CTAs are grid or flex items with
   justify-self:start, which sizes them to max-content: at 320px, or at 320px
   with text zoomed to 200%, max-content is wider than the track and the whole
   page gets a horizontal scrollbar. Capping every descendant at the width of
   its containing block is a no-op for ordinary block elements, which are
   already 100% wide, and only bites on the max-content ones. Verified against
   a full element-geometry snapshot of all 16 pages at 1280px: every visible box
   is unchanged. The one difference is the honeypot input, which narrows inside
   its own 1px clip container and is invisible either way. */
main *, header *, footer * { max-width: 100%; }

/* At 320px with text zoomed to 200% a single long word ("administration,",
   "serviosupport.com") is wider than its grid track, and no amount of capping
   the box helps because a grid item's min-width:auto resolves to min-content
   and outranks max-width. Letting words break is the only thing that keeps the
   page to one scroll direction at that combination. It changes nothing at
   normal text sizes, where no word is ever wider than its column. */
:is(main,header,footer) :is(h1,h2,h3,p,li,dt,dd,span,a,legend,label) { overflow-wrap: break-word; }
/* Grid and flex items must also be allowed below their min-content width. */
:is(main,header,footer) :is(div,a,p,span,ul,dl,fieldset) { min-width: 0; }

/* Long unbroken strings (email addresses) must be allowed to wrap, or they
   push the layout wider than 320px. max-width caps a mailto CTA that is a
   grid item: justify-self:start sizes it to max-content, which never wraps,
   and no amount of overflow-wrap helps until the box itself is capped. It is
   inert on the inline links, where max-width does not apply. */
a[href^="mailto:"] { overflow-wrap: break-word; max-width: 100%; }

/* A single brand-coloured ring is invisible on the dark bar and footer
   (measured 1.83:1) and on the brand panels (1.00:1), which is most of the
   site's calls to action. The white box-shadow sits in the 2px gap that
   outline-offset opens up, so the indicator is always two rings and at least
   one of them clears 3:1 against whatever is behind it. */
:focus-visible {
  outline: 3px solid oklch(0.40 0.10 265);
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #ffffff;
}

.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; background: #fff; color: #1a1c24; padding: 13px 20px; border: 2px solid oklch(0.40 0.10 265); border-radius: 0 0 12px 0; font-weight: 500; text-decoration: none; }
.skip-link:focus { left: 0; }

/* The policy sidebar is sticky on desktop only. On a short viewport a sticky
   sidebar taller than the screen strands its lower links out of reach. */
@media (max-width: 760px) {
  [data-policy-nav] { position: static; top: auto; }
}

/* WCAG 2.2 Target Size, taken at 44x44 rather than the 24x24 minimum.
   An overlay pseudo-element, not padding offset by a negative margin: the
   padding has to be derived from each element's own line box to land on
   exactly 44px, and the nav, the top bar and the policy sidebar have three
   different font sizes — the first attempt produced 42px, 39px and 44px from
   the same intent. The overlay is centred on the link and is exactly 44px
   whatever the text does, and being absolutely positioned it cannot move the
   layout by construction. Desktop is untouched: this is inside the query. */
@media (max-width: 760px) {
  .tap { position: relative; }
  .tap::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    min-width: 44px;
    height: 44px;
  }
  /* Stacked or wrapping link lists need the gap opened up too, otherwise the
     44px hit areas overlap each other. */
  .tapstack { row-gap: 26px; }
}
