:root{--ink:#1a0d2e;--ink-2:#2d1a4a;--mid:#7a6e8a;--muted:#a89cba;--page:#fdfbff;--lav-lt:#f4f0fb;--lav-md:#e8dff5;--lav-dk:#d5c8ec;--white:#ffffff;--purple:#5b2d8e;--purple-lt:#7b4db8;--purple-dk:#3d1a5e;--gold:#c9963a;--gold-lt:#e8b84b;--green:#2d6a4f;--red:#c0392b}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:var(--page);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Playfair Display,serif}.container{max-width:1140px}.container,.container-sm{margin:0 auto;padding:0 48px}.container-sm{max-width:780px}.container-xs{max-width:560px;margin:0 auto;padding:0 48px}.btn{display:inline-block;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;padding:14px 32px;transition:all .25s;white-space:nowrap}.btn-purple{background:var(--purple);color:#fff}.btn-purple:hover{background:var(--purple-lt);transform:translateY(-1px)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-lt);transform:translateY(-1px)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--ink-2);transform:translateY(-1px)}.btn-outline{background:transparent;border:1.5px solid var(--purple);color:var(--purple)}.btn-outline:hover{background:var(--purple);color:#fff}.btn-ghost{background:transparent;border:1.5px solid var(--lav-dk);color:var(--mid)}.btn-ghost:hover{border-color:var(--purple);color:var(--purple)}.btn-sm{padding:10px 22px;font-size:11px;letter-spacing:2px}.btn-lg{padding:18px 44px;font-size:13px}.btn-full{width:100%;text-align:center}.btn-danger{background:var(--red);color:#fff}.btn-success{background:var(--green);color:#fff}.card{background:var(--white);border:1.5px solid var(--lav-md);padding:28px 32px}.badge{display:inline-block;font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:4px 12px;border-radius:20px}.badge-purple{background:var(--lav-lt);color:var(--purple)}.badge-gold{background:#fdf3e0;color:var(--gold)}.badge-outline{background:transparent;border:1px solid var(--lav-md);color:var(--mid)}.badge-green{background:#e8f5ee;color:var(--green)}.badge-gray{background:var(--lav-lt);color:var(--mid)}.badge-red{background:#fde8e8;color:var(--red)}.eyebrow{font-size:10px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:16px}.eyebrow:before{content:"";display:block;width:24px;height:1px;background:var(--gold)}.section-title{font-family:Playfair Display,serif;font-size:clamp(28px,3vw,40px);font-weight:900;letter-spacing:-1.5px;color:var(--ink);margin-bottom:8px}.section-title em{font-style:italic;font-weight:400;color:var(--purple)}.divider{height:1px;background:var(--lav-md);margin:24px 0}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--mid)}.form-input{font-family:DM Sans,sans-serif;font-size:15px;font-weight:300;color:var(--ink);background:var(--white);border:1.5px solid var(--lav-md);padding:11px 14px;outline:none;transition:border-color .2s;width:100%}.form-input:focus{border-color:var(--purple)}.form-input::placeholder{color:var(--muted)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a6e8a' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}.form-error{color:var(--red)}.form-error,.form-hint{font-size:12px;margin-top:4px}.form-hint{color:var(--muted)}@media (max-width:768px){.container,.container-sm,.container-xs{padding:0 20px}}body,p{font-size:15px;color:var(--ink)}p{line-height:1.7}td{font-size:15px}h1,td{color:var(--ink)}h1{font-size:clamp(24px,3vw,36px)}h2{font-size:24px}h2,h3{color:var(--ink)}h3{font-size:18px}h4{font-size:16px;color:var(--ink)}.card li,.card p,.card td{color:var(--ink);font-size:15px}[class*=admin] li,[class*=admin] p,[class*=admin] span:not([class*=badge]):not([class*=label]):not([class*=muted]):not([class*=eyebrow]),[class*=admin] td{color:var(--ink)}[class*=portal] li,[class*=portal] p,[class*=portal] td{color:var(--ink);font-size:15px}.eyebrow,.helper,.label,.meta,.timestamp,[class*=muted],th{color:var(--muted);font-size:11px}