:root{--plum:#481054;--plum-deep:#2e0a38;--navy:#0e4a7e;--steel:#89aec9;--ink:#2b2b2b;--paper:#faf8f5;--tint:#f6f1f7}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{font-family:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.font-display{font-family:'Frank Ruhl Libre',Georgia,'Times New Roman',serif}
.t-hero{font-size:clamp(2.55rem,6vw,5.25rem);line-height:1.02;letter-spacing:-.028em}
.t-1{font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.05;letter-spacing:-.022em}
.t-2{font-size:clamp(1.85rem,3.4vw,2.9rem);line-height:1.1;letter-spacing:-.018em}
.t-3{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.22;letter-spacing:-.01em}
.lead{font-size:clamp(1.075rem,1.35vw,1.25rem);line-height:1.7}
.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.outline-num{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);font-family:'Frank Ruhl Libre',Georgia,serif;line-height:.8;letter-spacing:-.04em}
.outline-num-dark{color:transparent;-webkit-text-stroke:1px rgba(72,16,84,.12)}

/* prose (skips anything inside .not-prose) */
.prose-amp>*+*{margin-top:1.15em}
.prose-amp :is(p,li):not(.not-prose *){line-height:1.8;font-size:1.0625rem}
.prose-amp h2:not(.not-prose *){font-family:'Frank Ruhl Libre',Georgia,serif;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;letter-spacing:-.015em;color:var(--plum);margin-top:2.2em}
.prose-amp h3:not(.not-prose *){font-family:'Frank Ruhl Libre',Georgia,serif;font-size:1.35rem;line-height:1.25;color:var(--plum-deep);margin-top:1.8em}
.prose-amp h2:first-child,.prose-amp h3:first-child{margin-top:0}
.prose-amp ul:not(.not-prose *){padding-left:0;list-style:none}
.prose-amp ul:not(.not-prose *)>li{position:relative;padding-left:1.6em}
.prose-amp ul:not(.not-prose *)>li+li{margin-top:.45em}
.prose-amp ul:not(.not-prose *)>li::before{content:"";position:absolute;left:.2em;top:.72em;width:.5em;height:.5em;border:1.5px solid var(--plum);transform:rotate(45deg)}
.prose-amp ol:not(.not-prose *):not(.not-prose){list-style:lower-alpha;padding-left:1.4em}
.prose-amp a:not(.not-prose *){color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose-amp a:not(.not-prose *):hover{color:var(--plum)}
.prose-amp strong{color:var(--plum-deep)}
.prose-amp blockquote{border-left:3px solid var(--steel);padding:.25em 0 .25em 1.25em;font-family:'Frank Ruhl Libre',Georgia,serif;font-size:1.3rem;line-height:1.5;color:var(--plum-deep)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.85rem 1.6rem;border-radius:999px;font-weight:600;font-size:.98rem;transition:transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease,border-color .25s ease}
.btn svg{transition:transform .25s ease}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--steel);color:var(--plum-deep)}
.btn-primary:hover{background:#fff;box-shadow:0 12px 30px -12px rgba(0,0,0,.45)}
.btn-plum{background:var(--plum);color:#fff}
.btn-plum:hover{background:var(--plum-deep);box-shadow:0 14px 30px -14px rgba(72,16,84,.7)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.45);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-outline{border:1.5px solid var(--plum);color:var(--plum)}
.btn-outline:hover{background:var(--plum);color:#fff}
.link-arrow{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--navy)}
.link-arrow svg{transition:transform .25s ease}
.link-arrow:hover svg,.group:hover .link-arrow svg{transform:translateX(4px)}

/* focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--steel);outline-offset:3px;border-radius:6px}

/* header */
.site-header{transition:box-shadow .3s ease,background-color .3s ease}
.site-header.is-scrolled{box-shadow:0 10px 30px -18px rgba(46,10,56,.35);background-color:rgba(255,255,255,.92)}
.nav-link{position:relative;padding:.5rem 0;font-weight:500;color:var(--ink)}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:.1rem;height:2px;background:var(--plum);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav-link:hover::after,.nav-link[aria-current="page"]::after{transform:scaleX(1)}
.nav-link[aria-current="page"]{color:var(--plum)}

/* forms */
.field{display:block}
.field span.lbl{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem}
.field input,.field select,.field textarea{width:100%;border-radius:.75rem;border:1.5px solid #d9d2dc;background:#fff;padding:.85rem 1rem;font-size:1rem;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 4px rgba(72,16,84,.12)}
.form-dark .field span.lbl{color:#efe6f2}
.form-dark .field input,.form-dark .field select,.form-dark .field textarea{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff}
.form-dark .field select option{color:var(--ink)}
.form-dark .field input::placeholder,.form-dark .field textarea::placeholder{color:rgba(255,255,255,.45)}
.form-dark .field input:focus,.form-dark .field select:focus,.form-dark .field textarea:focus{border-color:var(--steel);box-shadow:0 0 0 4px rgba(137,174,201,.2)}
.form-dark input[type="date"]{color-scheme:dark}
.hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
button[disabled]{opacity:.6;cursor:progress}
.grecaptcha-badge{visibility:hidden}

/* cards */
.lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease,background-color .35s ease}
.lift:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(46,10,56,.45)}
.zoom-img{overflow:hidden}
.zoom-img img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.zoom-img:hover img{transform:scale(1.05)}

/* reveal */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
.js .reveal[data-delay="1"]{transition-delay:.08s}
.js .reveal[data-delay="2"]{transition-delay:.16s}
.js .reveal[data-delay="3"]{transition-delay:.24s}

details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
details[open] .chev{transform:rotate(180deg)}
.chev{transition:transform .3s ease}

.table-amp{width:100%;border-collapse:collapse;font-size:1rem}
.table-amp th,.table-amp td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid #e9e2ec;vertical-align:top}
.table-amp th{font-weight:600;color:var(--plum-deep);background:var(--tint)}
.table-amp td:last-child{white-space:nowrap;font-weight:600;color:var(--plum)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .zoom-img:hover img,.lift:hover{transform:none}
}
