 
:root{
  --brand-primary: #8d7bb0;           
  --brand-dark: #2a2232;             
  --brand-text: #3f3846;           
  --brand-bg: #ffffff;              
  --brand-soft: #f6f3f9;
  --brand-border: #e9e2ef; 
  --brand-grad: linear-gradient(120deg, #4e1a3d, #8d7bb0 55%, #4e1a3d);
  --brand-grad-vert: linear-gradient(180deg, rgba(78,26,61,.90), rgba(141,123,176,.70), rgba(78,26,61,.90));
}


* { box-sizing: border-box; }
html:focus-within { scroll-behavior: smooth; }
body {
  margin: 0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color: var(--brand-text); background: var(--brand-bg); line-height: 1.6;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: var(--brand-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { margin: 0 0 .5rem; color: var(--brand-dark); line-height: 1.2; }
p { margin: 0 0 1rem; }
.container { width: min(1120px, 92%); margin-inline: auto; }


.skip-link { position: absolute; left: -999px; top: auto; }
.skip-link:focus { left: 0; top: 0; background: #000; color: #fff; padding: .5rem .75rem; z-index: 1000; }

/* Header / Nav */
.site-header {
  position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.88);
  backdrop-filter: saturate(180%) blur(12px); border-bottom: 1px solid var(--brand-border);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; padding: .65rem 0; }
.brand-mark { font-weight: 800; letter-spacing: .3px; color: #4e1a3d; }

.site-nav { display: flex; align-items: center; gap: 1rem; }
.site-nav ul { list-style: none; display: flex; gap: 1rem; margin: 0; padding: 0; }
.site-nav a { padding: .4rem .6rem; border-radius: 10px; }
.site-nav a.active, .site-nav a:hover { background: var(--brand-soft); text-decoration: none; }
.nav-cta .btn { margin-left: .5rem; }

/* Mobile nav */
.nav-toggle { display: none; background: none; border: 0; padding: .4rem; border-radius: 10px; }
.nav-toggle-bar { display: block; width: 22px; height: 2px; background: var(--brand-dark); margin: 4px 0; }

@media (max-width: 880px){
  .nav-toggle { display: inline-block; }
  .site-nav { position: fixed; inset: 60px 0 auto 0; background: rgba(255,255,255,.98); padding: 1rem; border-bottom: 1px solid var(--brand-border); transform: translateY(-120%); transition: transform .3s ease; flex-direction: column; gap: 1rem; }
  .site-nav.open { transform: translateY(0); }
  .site-nav ul { flex-direction: column; align-items: flex-start; }
  .nav-cta { align-self: stretch; }
}

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .7rem 1rem; border-radius: 12px; border: 1px solid transparent;
  font-weight: 600; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .2s ease, border-color .2s ease;
  text-decoration: none;
}
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--brand-grad); color: #fff; box-shadow: 0 6px 16px rgba(78,26,61,.28); }
.btn-primary:hover { filter: brightness(.98); text-decoration: none; }
.btn-outline { background: transparent; color: #4e1a3d; border-color: #8d7bb0; }
.btn-outline:hover { background: var(--brand-soft); text-decoration: none; }
.btn-soft { background: #f0e9f6; color: #402748; border-color: #e0d3ea; }
.btn-soft:hover { background: #e8def2; text-decoration: none; }
.btn-ghost { background: transparent; border-color: var(--brand-border); color: var(--brand-dark); }
.btn-ghost:hover { background: var(--brand-soft); }

/* Quick actions (mobile sticky) */
.quick-actions{ position: fixed; bottom: 10px; left: 50%; transform: translateX(-50%); display: grid; grid-auto-flow: column; gap: .5rem; z-index: 70; }
.quick-actions a{ background: #1e1624; color:#fff; border:1px solid rgba(255,255,255,.14); padding: .55rem .9rem; border-radius: 999px; font-weight: 600; box-shadow: 0 10px 24px rgba(0,0,0,.25); }
@media (min-width: 920px){ .quick-actions{ display: none; } }