@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@500;600;700&family=Nunito+Sans:wght@400;600;700;800&display=swap');
:root{--ink:#100C18;--paper:#F8F4FF;--white:#fff;--purple:#C060E0;--deep:#601088;--muted:#D0C0E0;--line:#801098;--card:#1C1428}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#0C0814;font:16px/1.7 'Nunito Sans',sans-serif}h1,h2,h3,.logo{font-family:'EB Garamond',serif;line-height:1.08}h1{font-size:clamp(2.6rem,6vw,4.7rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:1.5rem}.wrap{width:min(1160px,calc(100% - 96px));margin:auto}.site-header{background:var(--ink);color:#fff}.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between}.logo{color:#fff;text-decoration:none;font-size:2.1rem;font-weight:700}.main-nav{display:flex;align-items:center;gap:22px}.main-nav a,.site-footer a{color:#fff;text-decoration:none}.main-nav a{text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.06em}.main-nav a:hover{color:var(--purple)}.nav-cta{border:1px solid var(--purple);padding:10px 16px;color:var(--purple)!important}.menu-toggle{display:none;background:none;border:0;color:var(--purple);font-size:1.5rem}.hero{min-height:50vh;display:grid;align-items:center;position:relative;background:var(--ink);overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.3))}.hero-content{position:relative;z-index:1;color:#fff;max-width:760px;padding:100px 0}.hero h1,.hero p{color:#fff}.hero p{font-size:1.2rem;color:var(--muted)}.btn{display:inline-block;padding:13px 22px;text-decoration:none;border:1px solid var(--deep);background:var(--deep);color:#fff;margin:10px 10px 0 0}.btn.alt{background:transparent;border-color:#fff}.dark{background:var(--ink);color:#fff}.dark h2,.dark h3,.dark p{color:#fff}.section{padding:96px 0}.section h2{color:var(--deep)}.dark h2,.dark h3{color:var(--purple)}.intro{max-width:740px}.grid-2,.grid-3,.grid-4{display:grid;gap:28px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--deep);background:#fff;padding:28px}.dark .card{background:var(--card);border-color:var(--purple)}.card h3{color:var(--deep)}.dark .card h3{color:var(--purple)}.card p{color:#0C0814}.dark .card p{color:#fff}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:stretch}.split img,.content-img{width:100%;height:300px;object-fit:cover}.steps{counter-reset:step}.step{padding:24px 0 24px 64px;border-bottom:1px solid currentColor;position:relative}.step:before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:0;font-size:2.8rem;color:var(--purple);font-family:'EB Garamond'}.quote{font:italic 1.6rem/1.45 'EB Garamond',serif;border-left:3px solid var(--purple);padding:20px 30px;color:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat strong{display:block;font:700 3.4rem 'EB Garamond';color:var(--purple)}.article-layout{display:grid;grid-template-columns:1fr 280px;gap:48px;padding:74px 0}.article-layout article{min-width:0}.sidebar{background:var(--ink);padding:24px;height:max-content}.sidebar h3{color:var(--purple);font:800 .75rem 'Nunito Sans';text-transform:uppercase}.sidebar a{display:block;color:var(--muted);text-decoration:none;margin:10px 0}.sidebar a:hover{color:var(--purple)}table{border-collapse:collapse;width:100%;margin:28px 0}td,th{border:1px solid var(--deep);padding:14px;text-align:left}th{background:var(--deep);color:#fff}.callout{border-left:4px solid var(--purple);background:#ede4fb;padding:24px;margin:28px 0}.site-footer{background:#080610;color:#A880C0;padding:64px 0 20px}.site-footer p{color:#A880C0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.site-footer h3{color:var(--purple);font:800 .75rem 'Nunito Sans';text-transform:uppercase}.site-footer a{display:block;color:#A880C0;margin:6px 0}.disclaimer{font-style:italic;font-size:.85rem}.copyright{width:min(1160px,calc(100% - 96px));margin:40px auto 0;color:#401858;text-transform:uppercase;font-size:.7rem}.cookie-banner{position:fixed;z-index:10;bottom:16px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 32px));background:var(--ink);border:2px solid var(--purple);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center}.cookie-banner button{background:var(--purple);border:0;color:#fff;padding:9px 12px;margin:3px}.cookie-banner .quiet{background:transparent;color:var(--muted)}form{display:grid;gap:14px}input,textarea{width:100%;padding:14px;border:1px solid var(--line);font:inherit}textarea{min-height:150px}.success{display:none;background:#1A5C2A;color:#fff;padding:14px}.success.show{display:block}@media(max-width:768px){.wrap{width:min(100% - 48px,600px)}.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--ink);padding:24px;z-index:5;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.menu-toggle{display:block}
.section{padding:64px 0}.grid-2,.grid-3,.grid-4,.stats,.split,.article-layout,.footer-grid{grid-template-columns:1fr}.article-layout{padding:48px 0}.cookie-banner{display:block}.cookie-banner div{margin-top:10px}}

/* TABLE-COLOR-FIX: readable text in tables */
td,th{color:#172033 !important}
table{width:100%;border-collapse:collapse;margin:16px 0}
th,td{padding:10px 14px;text-align:left;border:1px solid #d1d5db;color:#172033 !important}
thead th{background:#1e3a5f;color:#fff !important;font-weight:600}
tbody tr:nth-child(even) td{background:#f9fafb;background:#f9fafb !important;color:#172033 !important}
tbody tr:nth-child(odd) td{background:#ffffff;background:#ffffff !important;color:#172033 !important}
tbody tr:hover td{background:#f0f4f8 !important}
.dark table th,.dark table td{color:#fff !important;color:#fff !important}
/* HERO-SIZE-FIX: reduce oversized hero */
.hero{min-height:50vh !important;max-height:520px}
.hero img{object-fit:cover}
/* SPLIT-IMG-FIX: cap secondary large images */
.split img,.content-img img,.feature img,.visual img,.about img{
  max-height:300px;height:auto;object-fit:cover;width:100%;display:block}
/* CARD-IMG-FIX */
.card img,.article-card img,.info-card img,.product-card img,.post-card img{
  width:100%;height:220px;max-height:220px;object-fit:cover;display:block}
.card,.article-card,.info-card,.product-card,.post-card{overflow:hidden}
img{max-width:100%;height:auto;display:block}
/* BUG2: paragraph link */
.section p a,.content p a,.policy p a,.article p a,.legal p a,.container p a{
  color:inherit;text-decoration:underline;text-underline-offset:2px}
.dark p a,.hero p a,.stats p a,.cta p a,.site-footer p a{color:#fff;text-decoration:underline}
/* BUG3: prevent double-grid */
section.split,section.grid-2,section.grid-3,section.grid-4,section.timeline,
section.stats,section.stat-grid,section.articles,section.features,
section.collection,section.showcase{display:block}
.split > div,.grid-2 > div,.grid-3 > div{min-width:0}
/* BUG3-ext */
section.hero{display:block}
/* TABLE-DARK-SECTION-FIX */
.dark table td, .dark table th,
.section.dark table td, .section.dark table th,
.comparison-section.dark table td, .comparison-section.dark table th {
  background:#1e3a5f !important;
  color:#fff !important;
  border-color:#2d4a6f !important;
}
.dark tbody tr:nth-child(even) td,
.section.dark tbody tr:nth-child(even) td {
  background:#162d4a !important;
  color:#fff !important;
}
.dark tbody tr:nth-child(odd) td,
.section.dark tbody tr:nth-child(odd) td {
  background:#1e3a5f !important;
  color:#fff !important;
}
.dark thead th,
.section.dark thead th {
  background:#0f2138 !important;
  color:#fff !important;
}
table td, table th {
  background-clip: padding-box;
}