@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('/_v/a050ed1467/assets/fonts/pjs-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('/_v/d864e3c26b/assets/fonts/pjs-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'General Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('/_v/851ddbfe62/assets/fonts/gs-400.woff2') format('woff2'); }
@font-face { font-family: 'General Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('/_v/2d1eb25a04/assets/fonts/gs-500.woff2') format('woff2'); }
@font-face { font-family: 'General Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('/_v/4e835cb9c8/assets/fonts/gs-600.woff2') format('woff2'); }
:root { --plum:#240524; --indigo:#1D0A5E; --magenta:#AD437A; --coral:#FF694B; --apricot:#FFCB77; --cream:#FFE7D0; --ww:#FFFAF5; --indigo-12:rgba(29,10,94,0.12); --indigo-80:rgba(29,10,94,0.80); --white-40:rgba(255,250,245,0.40); --apricot-80:rgba(255,203,119,0.80); --apricot-60:rgba(255,203,119,0.60); --fh:'Plus Jakarta Sans',sans-serif; --fb:'General Sans','Plus Jakarta Sans',sans-serif; --pad:64px; --nav-h:72px; --ease:cubic-bezier(0.22,1,0.36,1); }
@media (max-width:767px) { :root { --pad:20px; } }
*,*::before,*::after { box-sizing:border-box; }
html { background:var(--plum); scroll-padding-top:calc(var(--nav-h) + 1px + 32px); }
body { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; margin:0; background:var(--ww); color:var(--indigo-80); font:500 16px/1.5 var(--fb); letter-spacing:0.01em; -webkit-font-smoothing:antialiased; }
h1,h2 { font-family:var(--fh); font-weight:500; letter-spacing:-0.02em; color:var(--indigo); margin:0; }
h1 { font-size:48px; line-height:1.2; } h2 { font-size:24px; line-height:1.2; margin-top:48px; }
@media (max-width:767px) { h1 { font-size:36px; } h2 { font-size:20px; } }
p, ul { margin:16px 0 0; } ul { padding-left:22px; } li + li { margin-top:8px; }
a { color:var(--indigo); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(29,10,94,0.3); transition:text-decoration-color 150ms var(--ease); }
a:hover { text-decoration-color:currentColor; }
a:focus-visible, button:focus-visible { outline:2px solid var(--indigo); outline-offset:2px; border-radius:4px; }
.skip { position:absolute; left:16px; top:-100px; z-index:30; background:var(--indigo); color:var(--ww); font:700 14px/1.5 var(--fh); padding:10px 16px; border-radius:8px; text-decoration:none; }
.skip:focus { top:16px; }
.nav { background:var(--ww); border-bottom:1px solid var(--indigo-12); position:sticky; top:0; z-index:20; }
.nav-inner { max-width:calc(1280px + 2 * var(--pad)); margin:0 auto; height:var(--nav-h); padding:0 var(--pad); display:flex; align-items:center; justify-content:space-between; gap:16px; }
.wordmark { font:600 20px/1 var(--fh); letter-spacing:-0.02em; color:var(--indigo); text-decoration:none; white-space:nowrap; }
.btn { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; font:700 12px/1.5 var(--fh); padding:9px 16px; border-radius:8px; background:var(--indigo); color:var(--ww); text-decoration:none; white-space:nowrap; }
.btn > span { position:relative; z-index:2; }
.btn::before { content:''; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(90deg,#AD437A 0%,#1D0A5E 100%); opacity:0; transition:opacity 250ms var(--ease); z-index:1; }
.btn:hover::before { opacity:1; }
.nav-left { display:flex; align-items:center; gap:20px; }
@media (min-width:768px) { .nav-left { gap:40px; } }
.nav-link { font:600 14px/1.5 var(--fh); color:var(--indigo); text-decoration:none; white-space:nowrap; }
.nav-link:hover, .nav-link:focus-visible, .nav-link[aria-current="page"] { text-decoration:underline; text-underline-offset:3px; text-decoration-color:currentColor; }
@media (max-width:479.98px) { .nav-inner { padding:0 16px; } .nav-left { gap:12px; } }
@media (max-width:389.98px) { .nav .wordmark { font-size:17px; } .nav-link { font-size:13px; } .nav-left { gap:10px; } .nav .btn { font-size:12px; padding-left:12px; padding-right:12px; } }
@media (max-width:359.98px) { .nav-inner { padding:0 12px; gap:8px; } .nav .wordmark { font-size:16px; } .nav-left { gap:8px; } }
main { flex:1 0 auto; width:100%; max-width:768px; margin:0 auto; padding:96px var(--pad) 128px; }
@media (max-width:767px) { main { padding:56px var(--pad) 80px; } }
.draft { display:inline-flex; align-items:center; min-height:26px; padding:4px 10px; border-radius:8px; background:var(--cream); color:var(--indigo); font:500 14px/1.4 var(--fb); margin-bottom:24px; }
.meta { margin-top:16px; font-size:14px; color:var(--indigo-80); }
.lede { font-size:20px; font-weight:400; margin-top:24px; }
.tt-widget { margin-top:32px; }
.tt-widget iframe { max-width:100%; }
.footer { background:var(--plum); color:var(--apricot-80); padding:64px var(--pad) 40px; }
.footer .container { max-width:1280px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px 48px; align-items:flex-start; }
.footer .wordmark { color:var(--apricot); }
.footer-blurb { margin-top:12px; font-size:14px; }
.footer ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px 24px; }
.footer li + li { margin-top:0; }
.footer ul a { color:var(--cream); text-decoration:none; font-weight:400; }
.footer ul a:hover { text-decoration:underline; }
.footer .small { width:100%; margin:40px 0 0; padding-top:24px; border-top:1px solid var(--white-40); font-size:12px; color:var(--apricot-60); }
footer.footer {
--smn-plum: #240524;
--smn-apricot: #FFCB77;
--smn-apricot-80: rgba(255, 203, 119, 0.80);
--smn-apricot-60: rgba(255, 203, 119, 0.60);
--smn-cream: #FFE7D0;
--smn-white-40: rgba(255, 250, 245, 0.40);
--font-heading: 'Plus Jakarta Sans', sans-serif;
--font-body: 'General Sans', 'Plus Jakarta Sans', sans-serif;
--section-md: 104px;
--page-padding: 64px;
}
@media (max-width: 767px) {
footer.footer { --section-md: 64px; --page-padding: 20px; }
}
footer.mode-plum { --bg: var(--smn-plum); --heading: var(--smn-apricot); --body: var(--smn-apricot-80); --border: var(--smn-white-40); --focus: var(--smn-apricot); --link: var(--smn-apricot); }
footer.section { background: var(--bg); color: var(--body); padding: var(--section-md) var(--page-padding); }
footer.footer .container { max-width: 1280px; margin: 0 auto; }
footer.footer { line-height: 1.4; }
footer.footer .container { display: block; }
footer.footer h3, footer.footer p, footer.footer ul { margin: 0; }
footer.footer a:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
footer.footer { padding: var(--section-md) var(--page-padding) 48px; }
footer.footer .footer-grid { display: grid; grid-template-columns: minmax(0, 5fr) repeat(3, minmax(0, 2fr)); gap: 48px 48px; align-items: start; }
footer.footer .wordmark { color: var(--smn-apricot); font-size: 24px; }
footer.footer .footer-blurb { margin-top: 20px; max-width: 24em; font-size: 16px; color: var(--smn-apricot-80); }
footer.footer .footer-blurb + .footer-blurb { margin-top: 12px; }
footer.footer h3 { font: 600 14px/1.5 var(--font-heading); letter-spacing: 0; color: var(--smn-apricot); margin-bottom: 16px; }
footer.footer ul { display: grid; gap: 12px; }
footer.footer ul a { font: 400 16px/1.4 var(--font-body); color: var(--smn-cream); text-decoration: none; }
footer.footer ul a:hover { text-decoration: underline; text-underline-offset: 3px; }
footer.footer .small { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--smn-white-40); display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; font-size: 12px; color: var(--smn-apricot-60); }
@media (max-width: 1023px) { footer.footer .footer-grid { grid-template-columns: 1fr 1fr; } footer.footer .footer-grid > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 599px) { footer.footer .footer-grid { grid-template-columns: 1fr; gap: 40px; } }
@media (prefers-reduced-motion: reduce) { a, .btn::before { transition: none; } }