/* Generated per-site stylesheet — self-hosted fonts, no CDN. */
/* palette=space-violet font=teko-saira layout=layout_sidebar_fixed_left nav=side-vertical-left */

@font-face {
  font-family: "Teko";
  src: url("/fonts/Teko.li34qovs") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Saira";
  src: url("/fonts/Saira.li34qovs") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --vj8f4kvx: #0C0820;
  --oz70148x: #181233;
  --py92tj18: #E8E4FF;
  --v114a8jd: #938AC7;
  --x66nve4m: #8F7CFF;
  --aquti2i6: #30D6C8;
  --wuhtndo3: #1F1740;
  --tjuxhfjr: 'Teko', sans-serif;
  --wz4y5car: 'Saira', sans-serif;
  --r6klmcvc: 0;
  --gqno8kzq: 1180px;
  --ww3wfy35: 22px;
  --a7n3ok13: #0C0820;
  --slanltoj: 16px;
  --noc3zypl: 1.5;
  --awhio7gd: 2.5rem;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { background: var(--vj8f4kvx); color: var(--py92tj18); -webkit-font-smoothing: antialiased; }
body { font-family: var(--wz4y5car); font-size: var(--slanltoj); line-height: var(--noc3zypl); color: var(--py92tj18); background: var(--vj8f4kvx); }
a { color: var(--x66nve4m); text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .15s ease; }
a:hover { border-bottom-color: currentColor; }
h1, h2, h3, h4 { font-family: var(--tjuxhfjr); font-weight: 700; line-height: 1.12; margin: 0 0 .5em; color: var(--py92tj18); letter-spacing: -0.01em; }
h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
h2 { font-size: clamp(1.4rem, 2.6vw, 2rem); }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1em; }
img, svg { max-width: 100%; display: block; }

/* ============== HEADER ============== */
.nr1xfnft { max-width: var(--gqno8kzq); margin: 0 auto; padding: 22px 28px; display: flex; align-items: center; justify-content: space-between; }
.t2u3ge7e { display: inline-flex; align-items: center; gap: 10px; color: var(--py92tj18); border: 0; font-family: var(--tjuxhfjr); font-weight: 700; font-size: 1.1rem; letter-spacing: -0.01em; }
.zr6eaq6i { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: var(--x66nve4m); color: var(--a7n3ok13); font-weight: 800; font-family: var(--tjuxhfjr); font-size: 1rem; }
.sjb8odwk a { margin-left: 18px; color: var(--v114a8jd); border: 0; font-size: 0.95rem; }
.sjb8odwk a:hover { color: var(--py92tj18); }

/* Floating pill nav variant */
.zkiijdd1 { position: sticky; top: 16px; width: fit-content; margin: 16px auto; background: var(--oz70148x); border: 1px solid var(--wuhtndo3); border-radius: 999px; padding: 8px 22px; box-shadow: 0 12px 32px rgba(0,0,0,0.12); }
.zkiijdd1 .sjb8odwk a { margin-left: 14px; }

/* Hidden menu variant */
.pajxjliy { position: relative; }
.pajxjliy summary { cursor: pointer; list-style: none; font-size: 1.4rem; padding: 4px 10px; color: var(--py92tj18); }
.pajxjliy summary::-webkit-details-marker { display: none; }
.pajxjliy[open] .sjb8odwk { display: flex; flex-direction: column; position: absolute; right: 0; top: 36px; background: var(--oz70148x); border: 1px solid var(--wuhtndo3); border-radius: 10px; padding: 14px 20px; z-index: 10; gap: 8px; }

/* ============== SIDEBAR NAV ============== */
.v8qwc8ml { position: fixed; top: 0; width: 220px; height: 100vh; background: var(--oz70148x); border-right: 1px solid var(--wuhtndo3); padding: 30px 22px; display: flex; flex-direction: column; gap: 24px; z-index: 5; overflow-y: auto; }
.uwu3wpua { left: 0; }
.dy4un3yp { right: 0; border-right: 0; border-left: 1px solid var(--wuhtndo3); }
.v8qwc8ml .sjb8odwk { display: flex; flex-direction: column; gap: 4px; }
.v8qwc8ml .sjb8odwk a { margin: 0; padding: 8px 10px; border-radius: 8px; }
.v8qwc8ml .sjb8odwk a:hover { background: var(--vj8f4kvx); color: var(--py92tj18); }
/* When a sidebar is present, push the main column inward so it doesn't
   sit under the fixed aside. We override max-width/margin to let content
   fill the remaining viewport. */
body.z588mvsr .qgyt223f { max-width: none; margin-left: 240px; margin-right: auto; padding: 16px 32px 48px; }
body.cpordvrd .qgyt223f { max-width: none; margin-right: 240px; margin-left: auto; padding: 16px 32px 48px; }
body.z588mvsr .qgyt223f > * { max-width: 960px; }
body.cpordvrd .qgyt223f > * { max-width: 960px; }

/* ============== FOOTER ============== */
.xaj6cbap { border-top: 1px solid var(--wuhtndo3); margin-top: 88px; padding: 36px 28px 52px; }
.me9xzuja { max-width: var(--gqno8kzq); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--v114a8jd); font-size: 0.95rem; }
.gkt8hri2 a { margin: 0 12px; color: var(--v114a8jd); }
.sj4mj96x { max-width: var(--gqno8kzq); margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px; }
.gi1etalu { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--v114a8jd); }
.yrvisbc4 { list-style: none; padding: 0; margin: 0; }
.yrvisbc4 li { margin-bottom: 6px; }
.yrvisbc4 a { color: var(--py92tj18); border: 0; }
.l1sycthh { color: var(--v114a8jd); }
.c7cix0f4 { color: var(--v114a8jd); font-size: 0.85rem; margin-top: 18px; }
.gqegy61m { max-width: var(--gqno8kzq); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.sypz1ywl { display: flex; gap: 14px; align-items: baseline; }
.monvr0iv { font-family: var(--tjuxhfjr); font-weight: 700; }
.rly4ypzm { color: var(--v114a8jd); }
.zv452av1 a { margin-left: 16px; color: var(--v114a8jd); }
.zv452av1 { display: flex; gap: 14px; align-items: center; }
.wqgnq0m3 { color: var(--v114a8jd); font-size: 0.9rem; }
.grrtb4rt { max-width: var(--gqno8kzq); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.grrtb4rt ul { list-style: none; padding: 0; margin: 0; }
.grrtb4rt li a { color: var(--v114a8jd); }
.yojob1ek { color: var(--v114a8jd); font-size: 0.85rem; }

/* ============== MAIN LAYOUTS ============== */
.qgyt223f { max-width: var(--gqno8kzq); margin: 0 auto; padding: 16px 28px 48px; }

/* Layout-specific overrides live in block styles; each layout HTML template
   uses unique class names .l-... so we namespace. */
.hi9hauhj .b4nt9lkx { text-align: center; padding: 56px 0 72px; }
.hi9hauhj .euqn5p0b { max-width: 22ch; margin: 0 auto 18px; }
.hi9hauhj .nprznajt { color: var(--v114a8jd); font-size: 1.1rem; max-width: 48ch; margin: 0 auto 24px; }
.hi9hauhj .e4l1pomh { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ww3wfy35); padding: 40px 0; text-align: left; }

.ybe0hpyv { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; padding: 48px 0 80px; align-items: center; }
.pt2up9se { background: var(--oz70148x); border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 28px; min-height: 320px; }

.m80bzi33 { border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 56px 40px; background: var(--oz70148x); }
.k1rhu3wh { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 170px; gap: var(--ww3wfy35); margin-top: 22px; }
.a9wpkcrv { grid-column: span 2; border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 22px; background: var(--oz70148x); display: flex; flex-direction: column; justify-content: space-between; }
.a9wpkcrv:nth-child(1), .a9wpkcrv:nth-child(4) { grid-column: span 4; }

.mr5pig0j { columns: 2; column-gap: 44px; padding: 48px 0; }
.mr5pig0j h1 { column-span: all; max-width: 20ch; font-size: 3.2rem; }
.mr5pig0j .viw9jd65 { break-inside: avoid; margin-bottom: 28px; }

.m4qhywfc { position: relative; margin: 0 -28px; padding: 80px 28px 120px; background: linear-gradient(135deg, var(--x66nve4m) 0%, var(--aquti2i6) 100%); color: var(--a7n3ok13); }
.m4qhywfc h1 { color: var(--a7n3ok13); max-width: 22ch; }
.m4qhywfc .nprznajt { color: var(--a7n3ok13); opacity: 0.9; }
.m4qhywfc .czmhy5in { background: var(--a7n3ok13); color: var(--x66nve4m); padding: 14px 28px; border-radius: var(--r6klmcvc); font-weight: 700; display: inline-block; margin-top: 14px; }
.y0qyl68f { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 48px; align-items: center; max-width: var(--gqno8kzq); margin: 0 auto; }
.y0qyl68f .uxgyqq2t img { box-shadow: 0 30px 70px rgba(0,0,0,0.28); }
@media (max-width: 860px) { .y0qyl68f { grid-template-columns: 1fr; gap: 28px; } }

.s7m6s4hn .viw9jd65 { padding: 48px 0; border-bottom: 1px solid var(--wuhtndo3); display: grid; grid-template-columns: 80px 1fr; gap: 28px; align-items: start; }
.s7m6s4hn .v07mvqf0 { font-family: var(--tjuxhfjr); font-size: 2.4rem; color: var(--x66nve4m); line-height: 1; }

.m7r2k38k { min-height: 80vh; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.m7r2k38k h1 { font-size: clamp(3rem, 8vw, 6rem); }

.bja270fo { border: 3px solid var(--py92tj18); padding: 44px; margin: 30px 0; background: var(--oz70148x); }
.bja270fo h1 { text-transform: uppercase; border-bottom: 3px solid var(--py92tj18); padding-bottom: 20px; }
.bja270fo .viw9jd65 { border: 2px solid var(--py92tj18); padding: 18px; background: var(--vj8f4kvx); margin-top: 12px; }

.nm22iank { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 240px; gap: var(--ww3wfy35); padding: 30px 0; }
.nm22iank .viw9jd65 { border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 22px; background: var(--oz70148x); display: flex; flex-direction: column; justify-content: space-between; }
.nm22iank .viw9jd65:first-child { grid-column: span 2; grid-row: span 2; padding: 36px; }

.mej7ly7q { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 220px; gap: var(--ww3wfy35); padding: 30px 0; }
.mej7ly7q .viw9jd65 { border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 22px; background: var(--oz70148x); }

.tf6mv7xv { display: grid; grid-template-columns: 4fr 6fr; gap: 48px; padding: 50px 0; align-items: start; }
.c78lvs5k { display: grid; grid-template-columns: 7fr 3fr; gap: 48px; padding: 50px 0; align-items: start; }

.d08uw606 { position: relative; padding: 50px 0; }
.d08uw606 .viw9jd65 { background: var(--oz70148x); border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 28px; margin-top: -20px; box-shadow: 0 18px 40px rgba(0,0,0,0.08); max-width: 600px; margin-left: auto; margin-right: auto; }
.d08uw606 .viw9jd65:first-child { margin-top: 0; }

.ykfo858c { padding: 30px 0; }
.ykfo858c .yyda3ngl { display: flex; gap: 0; border-bottom: 2px solid var(--wuhtndo3); margin-bottom: 28px; }
.ykfo858c .nyk915il { padding: 12px 20px; color: var(--v114a8jd); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; font-weight: 600; }
.ykfo858c .nyk915il.m9fd220m { color: var(--py92tj18); border-bottom-color: var(--x66nve4m); }
.ykfo858c .t4tdh5ie .viw9jd65 { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding: 24px 0; }

.oazyrwot details { border-bottom: 1px solid var(--wuhtndo3); padding: 18px 0; }
.oazyrwot summary { cursor: pointer; list-style: none; font-family: var(--tjuxhfjr); font-weight: 600; font-size: 1.15rem; }
.oazyrwot summary::-webkit-details-marker { display: none; }
.oazyrwot summary::after { content: '+'; float: right; color: var(--x66nve4m); }
.oazyrwot details[open] summary::after { content: '−'; }

.wt64729b { display: grid; grid-template-columns: 1fr 1.3fr; gap: 44px; padding: 50px 0; align-items: start; }
.xau1bk4x { background: var(--oz70148x); border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 24px; min-height: 360px; display: grid; grid-template-rows: 40px 1fr; gap: 14px; }
.yel03klf { display: flex; gap: 6px; }
.yel03klf span { width: 10px; height: 10px; border-radius: 50%; background: var(--wuhtndo3); }

.nzivyjyh { position: relative; padding: 30px 0 30px 40px; border-left: 2px solid var(--wuhtndo3); }
.nzivyjyh .viw9jd65 { position: relative; padding: 18px 0 18px 12px; }
.nzivyjyh .viw9jd65::before { content: ''; position: absolute; left: -46px; top: 28px; width: 12px; height: 12px; border-radius: 50%; background: var(--x66nve4m); }

.y1wt3fhl { display: flex; overflow-x: auto; gap: 24px; padding: 30px 0; }
.y1wt3fhl .viw9jd65 { min-width: 260px; border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 22px; background: var(--oz70148x); }

.eaewo86g table { width: 100%; border-collapse: collapse; margin: 30px 0; }
.eaewo86g th, .eaewo86g td { padding: 14px 16px; border-bottom: 1px solid var(--wuhtndo3); text-align: left; }
.eaewo86g th { background: var(--oz70148x); font-family: var(--tjuxhfjr); }

.mzh8yg4g { text-align: center; padding: 50px 0; }
.mzh8yg4g .ojo5swb0 { display: inline-block; background: var(--oz70148x); border: 2px solid var(--x66nve4m); border-radius: var(--r6klmcvc); padding: 40px 60px; min-width: 320px; margin-top: 30px; }
.mzh8yg4g .pp9tywcg { font-family: var(--tjuxhfjr); font-size: 4rem; color: var(--x66nve4m); }

.vcs69c1t { text-align: center; padding: 80px 28px; max-width: 780px; margin: 0 auto; }
.vcs69c1t blockquote { font-family: var(--tjuxhfjr); font-size: 2rem; line-height: 1.25; margin: 0 0 24px; color: var(--py92tj18); }
.vcs69c1t cite { color: var(--v114a8jd); }

.wv9wd3hd { padding: 30px 0; }
.wv9wd3hd h1 { margin-bottom: 40px; max-width: 20ch; }
.wv9wd3hd details { border-bottom: 1px solid var(--wuhtndo3); padding: 18px 0; }
.wv9wd3hd summary { cursor: pointer; list-style: none; font-family: var(--tjuxhfjr); font-weight: 600; }
.wv9wd3hd summary::-webkit-details-marker { display: none; }

.ff0450hf { padding: 30px 0; }
.ff0450hf .viw9jd65 { max-width: 60ch; margin: 60px auto; }
.ff0450hf .viw9jd65 h3 { font-size: 1.6rem; margin-bottom: 12px; }

.tzirl9n9 { position: relative; padding: 80px 0; }
.tzirl9n9::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, var(--oz70148x) 40%, var(--vj8f4kvx) 60%); z-index: -1; }

.xlchwen6 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 28px; padding: 40px 0; }
.xlchwen6 .viw9jd65 { background: var(--oz70148x); border: 1px solid var(--wuhtndo3); clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%); padding: 44px 22px; text-align: center; min-height: 200px; display: flex; flex-direction: column; justify-content: center; }

.upfshhdl { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 30px; padding: 40px 0; text-align: center; }
.upfshhdl .viw9jd65 { padding: 20px; }
.upfshhdl .fvffcmjl { width: 92px; height: 92px; border-radius: 50%; background: var(--oz70148x); border: 2px solid var(--x66nve4m); display: inline-flex; align-items: center; justify-content: center; color: var(--x66nve4m); margin-bottom: 16px; }

.s1hnoqo0 { padding: 40px 0; }
.qohdgfeq { font-size: clamp(3rem, 7vw, 5rem); max-width: 20ch; }
.ya7015y3 { display: flex; overflow-x: auto; gap: 20px; margin-top: 30px; scroll-snap-type: x mandatory; padding-bottom: 12px; }
.ya7015y3 .viw9jd65 { min-width: 320px; scroll-snap-align: start; border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); padding: 24px; background: var(--oz70148x); }

.ipw8hld3 { display: grid; grid-template-columns: 1fr 1fr; gap: 0; min-height: 70vh; position: relative; }
.hxs699up { padding: 60px 40px; background: var(--oz70148x); clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%); }
.xlf2pu23 { padding: 60px 40px; background: var(--vj8f4kvx); }

/* Shared feature grid classes */
.viw9jd65 { background: transparent; }
.fvffcmjl { color: var(--x66nve4m); margin-bottom: 14px; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; }
.fvffcmjl .tusiuz0j { width: 28px; height: 28px; }
.mp6tlth8 { font-size: 1.12rem; margin-bottom: 6px; }
.quwz33mn { color: var(--v114a8jd); font-size: 0.98rem; }

/* AI hero image — shared presentation block */
.uxgyqq2t { margin: 0; display: flex; justify-content: center; align-items: center; }
.uxgyqq2t img { width: 100%; max-width: 480px; height: auto; display: block; border-radius: calc(var(--r6klmcvc) * 1.4); box-shadow: 0 24px 64px rgba(0,0,0,0.18); }
.t3sljzp8 { margin-left: auto; }
.ssz0vkla { width: 100%; margin: 32px 0; }
.ssz0vkla img { max-width: min(720px, 100%); margin: 0 auto; }
.polen57d { margin: 18px 0 28px; }
.polen57d img { max-width: min(560px, 100%); }
.kdcoywoq { width: 100%; margin: 0 0 24px; }
.kdcoywoq img { width: 100%; max-width: 1100px; aspect-ratio: 16/6; object-fit: cover; margin: 0 auto; }
@media (max-width: 640px) { .uxgyqq2t img { max-width: 100%; border-radius: var(--r6klmcvc); box-shadow: 0 10px 30px rgba(0,0,0,0.15); } }

/* Hero decor utilities */
.euqn5p0b { max-width: 24ch; word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; }
.nprznajt { color: var(--v114a8jd); font-size: 1.15rem; max-width: 52ch; word-wrap: break-word; overflow-wrap: break-word; }
.czmhy5in { display: inline-block; padding: 13px 26px; border-radius: 999px; background: var(--x66nve4m); color: var(--a7n3ok13); font-weight: 700; font-family: var(--tjuxhfjr); border: 0; margin-top: 16px; white-space: nowrap; }
h1 { word-wrap: break-word; overflow-wrap: break-word; }

.zlmcspvw { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.dy4agoxb { background: radial-gradient(1200px 600px at 80% -10%, var(--aquti2i6) 0%, transparent 50%), radial-gradient(800px 400px at 10% 30%, var(--x66nve4m) 0%, transparent 55%); }
.jqj97ywh { background: repeating-linear-gradient(135deg, var(--oz70148x) 0 24px, var(--vj8f4kvx) 24px 48px); opacity: 0.6; }
.biwog8om { background-image: radial-gradient(circle at 10px 10px, var(--wuhtndo3) 1px, transparent 1px); background-size: 22px 22px; opacity: 0.6; }
.mkp6ohjt { background-image: linear-gradient(var(--wuhtndo3) 1px, transparent 1px), linear-gradient(90deg, var(--wuhtndo3) 1px, transparent 1px); background-size: 24px 24px; opacity: 0.5; }
.i00v8rt8 { border: 2px solid var(--x66nve4m); transform: translate(8px, 8px); border-radius: var(--r6klmcvc); }
.gb1ow1al { background: var(--x66nve4m); }
.lwmumd7o { white-space: nowrap; font-family: var(--tjuxhfjr); font-size: 5rem; overflow: hidden; opacity: 0.15; display: flex; animation: marquee 30s linear infinite; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.bj33i0kr { background: linear-gradient(90deg, var(--x66nve4m) 50%, var(--aquti2i6) 50%); }

/* Privacy / support shared */
.x1y118l0 { max-width: 760px; margin: 0 auto; padding: 20px 28px 48px; }
.x1y118l0 .tn4wq4bf { padding: 28px 0 12px; }
.x1y118l0 .e8dsy1fb { color: var(--x66nve4m); font-size: 0.85rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; }
.x1y118l0 .yq0kfrlw { color: var(--v114a8jd); }
.x1y118l0 .u7e1s5f9 { padding: 20px 22px; border: 1px solid var(--wuhtndo3); border-radius: var(--r6klmcvc); margin: 28px 0; background: var(--oz70148x); }
.x1y118l0 .u7e1s5f9 ol { margin: 0; padding-left: 22px; color: var(--v114a8jd); }
.x1y118l0 .u7e1s5f9 a { color: var(--py92tj18); border: 0; }
.x1y118l0 article h2 { margin-top: 40px; font-size: 1.45rem; }
.x1y118l0 article p { color: var(--py92tj18); }

.ye6b4e58 { max-width: 820px; margin: 0 auto; padding: 20px 28px 48px; }
.ye6b4e58 .xsettt74 { padding: 28px 0 10px; }
.ye6b4e58 .zjlb1hsf { margin-top: 16px; }
.ye6b4e58 details.ozkspaq8 { border-bottom: 1px solid var(--wuhtndo3); padding: 18px 0; }
.ye6b4e58 details.ozkspaq8 summary { cursor: pointer; list-style: none; font-family: var(--tjuxhfjr); font-weight: 600; font-size: 1.08rem; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.ye6b4e58 details.ozkspaq8 summary::-webkit-details-marker { display: none; }
.ye6b4e58 details.ozkspaq8 summary::after { content: '+'; color: var(--x66nve4m); font-size: 1.4rem; font-weight: 400; }
.ye6b4e58 details.ozkspaq8[open] summary::after { content: '−'; }
.ye6b4e58 details.ozkspaq8 p { color: var(--v114a8jd); margin-top: 10px; }
.ye6b4e58 .j04or9pe { margin-top: 48px; padding: 28px; border-radius: var(--r6klmcvc); background: var(--oz70148x); border: 1px solid var(--wuhtndo3); display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.ye6b4e58 .j04or9pe strong { font-family: var(--tjuxhfjr); font-size: 1.2rem; }
.ye6b4e58 .j04or9pe a { padding: 10px 18px; border-radius: var(--r6klmcvc); background: var(--x66nve4m); color: var(--a7n3ok13); border: 0; font-weight: 600; }

/* ============== ANIMATIONS (subtle, classy) ============== */
@keyframes fadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideInLeft { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
@keyframes scaleIn { from { opacity: 0; transform: scale(0.98); } to { opacity: 1; transform: none; } }
@keyframes gradientDrift { 0% { background-position: 0% 0%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 0%; } }
@keyframes iconPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
@keyframes slowSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .5s ease-out, transform .5s ease-out; }
[data-reveal].pg9o4arl { opacity: 1; transform: none; }

.viw9jd65 { transition: transform .2s ease, box-shadow .2s ease; }
.viw9jd65:hover { transform: translateY(-2px); }
.fvffcmjl { transition: transform .3s ease; }
.viw9jd65:hover .fvffcmjl { transform: scale(1.08) rotate(2deg); }

.czmhy5in { transition: transform .15s ease, box-shadow .15s ease; }
.czmhy5in:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,0.12); }


/* Reading progress for legal pages */
body.x1y118l0::before {
  content: ''; position: fixed; top: 0; left: 0; height: 3px;
  background: var(--x66nve4m); width: var(--f5q99oob, 0%);
  z-index: 100; transition: width .1s linear;
}

/* Responsive */
@media (max-width: 960px) {
  .v8qwc8ml { position: static; width: auto; height: auto; border: 0; border-bottom: 1px solid var(--wuhtndo3); flex-direction: row; flex-wrap: wrap; gap: 10px; padding: 14px 20px; }
  .v8qwc8ml .sjb8odwk { flex-direction: row; gap: 12px; }
  body.z588mvsr .qgyt223f,
  body.cpordvrd .qgyt223f { margin-left: auto; margin-right: auto; padding: 16px 22px 48px; max-width: var(--gqno8kzq); }
  body.z588mvsr .qgyt223f > *,
  body.cpordvrd .qgyt223f > * { max-width: 100%; }
  .ybe0hpyv, .tf6mv7xv, .c78lvs5k, .wt64729b, .ipw8hld3 { grid-template-columns: 1fr; gap: 32px; }
  .hxs699up { clip-path: none; }
  .mr5pig0j { columns: 1; }
  .nm22iank, .mej7ly7q, .k1rhu3wh { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .nm22iank .viw9jd65:first-child, .a9wpkcrv, .a9wpkcrv:nth-child(1), .a9wpkcrv:nth-child(4) { grid-column: span 1; }
  .ykfo858c .t4tdh5ie .viw9jd65 { grid-template-columns: 1fr; }
  .hi9hauhj .e4l1pomh { grid-template-columns: 1fr; }
  .sj4mj96x, .grrtb4rt { grid-template-columns: 1fr; gap: 24px; }
  .nr1xfnft { padding: 16px 20px; flex-wrap: wrap; gap: 10px; }
  .sjb8odwk a { margin-left: 12px; }
  .mr5pig0j h1 { font-size: clamp(2rem, 7vw, 2.8rem); }
  h1 { font-size: clamp(1.8rem, 6.5vw, 2.8rem); word-wrap: break-word; overflow-wrap: anywhere; }
  .m4qhywfc { margin: 0 -22px; padding: 60px 22px 80px; }
}
@media (max-width: 520px) {
  h1 { font-size: clamp(1.5rem, 7vw, 2.2rem); }
  .czmhy5in { padding: 11px 22px; }
  .qgyt223f { padding: 12px 18px 36px; }
  body.z588mvsr .qgyt223f,
  body.cpordvrd .qgyt223f { padding: 12px 18px 36px; }
}