.skip-link{position:fixed;z-index:100}
html{scroll-padding-top:88px}
.site-header{position:sticky;top:0;left:0;right:0;z-index:50;color:#342a3a;background:rgba(250,248,244,.97);border-bottom:1px solid rgba(85,65,96,.13);box-shadow:0 2px 14px transparent;transition:background-color .3s ease,color .25s ease,box-shadow .3s ease,border-color .3s ease}
.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:86px;padding-block:0;border:0;transition:min-height .28s ease}
.site-header .wordmark{flex-shrink:0;color:inherit;font:25px/1.1 Fraunces,Georgia,serif;letter-spacing:-.6px;text-decoration:none}
.site-header .wordmark em{font-style:normal}.site-header .wordmark>span{display:none}
.site-header .site-nav{display:flex;align-items:center;gap:22px;width:auto;margin:0;padding:0;font:12px/1.4 Manrope,Arial,sans-serif}
.site-header .nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:14px 0;min-height:44px;color:inherit;text-decoration:none;border:0;background:none;transition:transform .2s ease}
.site-header .nav-link::after{content:"";position:absolute;bottom:6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease;opacity:.75}
.site-header .nav-link[aria-current]::after{transform:scaleX(1)}
.site-header .nav-link[aria-current]{font-weight:700}
.site-header .nav-contact{padding-inline:14px;border:1px solid currentColor;font-weight:600;border-radius:0;background:none;color:inherit}
.site-header .nav-contact::after{left:14px;width:calc(100% - 28px);bottom:7px}
.site-header .nav-search{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:inherit;border:1px solid transparent;text-decoration:none;transition:background-color .2s ease,transform .2s ease}
.site-header .mobile-search-label{display:none}
.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.site-header .menu-toggle{display:none;align-items:center;gap:12px;min-width:90px;min-height:44px;padding:8px 10px;border:1px solid currentColor;border-radius:0;color:inherit;background:none;font:12px/1.3 Manrope,Arial,sans-serif;cursor:pointer}
.site-header .hamburger{display:block;position:relative;width:19px;height:16px}
.site-header .hamburger>span{position:absolute;left:0;display:block;width:19px;height:1px;background:currentColor;transition:transform .25s ease,top .25s ease}
.site-header .hamburger>span:first-child{top:4px}.site-header .hamburger>span:last-child{top:11px}
.site-header .menu-toggle[aria-expanded=true] .hamburger>span:first-child{top:8px;transform:rotate(45deg)}
.site-header .menu-toggle[aria-expanded=true] .hamburger>span:last-child{top:8px;transform:rotate(-45deg)}
.page-home .site-header{position:fixed;background:linear-gradient(180deg,rgba(25,17,30,.65),rgba(25,17,30,.16));color:#fff;border-color:rgba(255,255,255,.18)}
.site-header.is-scrolled,.page-home .site-header.is-scrolled{color:#362c3c;background:rgba(250,248,245,.9);border-color:rgba(85,65,96,.16);box-shadow:0 4px 22px rgba(28,19,34,.07);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header.is-scrolled .header-inner{min-height:64px}
body.nav-open{overflow:hidden}.page-home.nav-open .site-header{background:#302138;color:#fff;border-color:#ffffff29}
@media(hover:hover) and (pointer:fine){
.site-header .nav-link:hover{color:var(--nav-accent)}
.site-header .nav-link:hover::after{transform:scaleX(1)}
.site-header .nav-search:hover{transform:translateY(-1px);background:rgba(126,95,143,.12)}
}
@media(max-width:1100px){.site-header .site-nav{gap:16px}.site-header .header-inner{gap:22px}.site-header .wordmark{font-size:24px}}
@media(max-width:960px){
html:not(.nav-enhanced) .site-header{position:relative}
.site-header .header-inner{min-height:76px;flex-wrap:wrap;gap:0}
.site-header.is-scrolled .header-inner{min-height:64px}
.site-header .site-nav{width:100%;flex-wrap:wrap;justify-content:start;gap:8px 24px;padding-bottom:18px}
.page-home .site-header{position:relative;background:#302138}
.nav-enhanced .page-home .site-header{position:fixed;background:linear-gradient(180deg,rgba(25,17,30,.7),rgba(25,17,30,.2))}
.nav-enhanced .site-header .menu-toggle:not([hidden]){display:inline-flex}
.nav-enhanced .site-header .site-nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:20px max(24px,calc((100% - 720px)/2)) 27px;width:100%;max-height:calc(100dvh - 76px);overflow-y:auto;background:#faf8f4;color:#362c3c;border-bottom:1px solid #cfc5d5;box-shadow:0 14px 30px #21172926;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s ease,transform .25s ease,visibility .25s ease}
.nav-enhanced .site-header .site-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.site-header .site-nav .nav-link{justify-content:space-between;padding:13px 0;min-height:49px;border:0;border-bottom:1px solid #ded7e1;font-size:17px;transition:color .2s ease}
.site-header .site-nav .nav-link::after{bottom:0}
.site-header .site-nav .nav-contact{padding-inline:0;margin-top:7px;color:#684378}
.site-header .site-nav .nav-contact::after{left:0;width:100%}
.site-header .site-nav .nav-search{justify-content:start;gap:13px;width:100%;margin-top:13px;min-height:48px;padding:9px 0;font-size:13px}
.site-header .mobile-search-label{display:block}
.nav-enhanced .page-home .site-header.is-scrolled{background:rgba(250,248,245,.92);color:#362c3c}
.nav-enhanced .page-home.nav-open .site-header{background:#faf8f4;color:#362c3c}
}
@media(max-width:600px){.site-header .header-inner{min-height:72px}.site-header .wordmark{font-size:23px}.site-header.is-scrolled .header-inner{min-height:60px}.nav-enhanced .site-header .site-nav{max-height:calc(100dvh - 72px);padding-inline:20px}.site-header .menu-toggle{min-width:84px;gap:9px}}
.site-header{--nav-accent:#69427f;--nav-contact-bg:#eee7f2}
.page-home .site-header:not(.is-scrolled){--nav-accent:#dec5ef;--nav-contact-bg:rgba(198,167,219,.13);color:#f5eddf}
.site-header .wordmark em{color:var(--nav-accent)}
.site-header .nav-wave{display:inline-block;white-space:nowrap}
.site-header .nav-wave>span{display:inline-block}
.site-header .nav-link{transition:color .25s ease,background-color .25s ease,border-color .25s ease}
.site-header .nav-link::after{background:var(--nav-accent)}
.site-header .nav-contact{background:var(--nav-contact-bg);border-color:var(--nav-accent);color:var(--nav-accent)}
.site-header .nav-link:focus-visible{color:var(--nav-accent)}
@keyframes eccles-nav-wave{0%,100%{transform:translateY(0)}45%{transform:translateY(-2px)}}
@media(hover:hover) and (pointer:fine){.site-header .nav-link:hover .nav-wave>span{animation:eccles-nav-wave 440ms ease-in-out var(--letter-delay,0ms) 1 both}}
.site-header .nav-link:focus-visible .nav-wave>span{animation:eccles-nav-wave 440ms ease-in-out var(--letter-delay,0ms) 1 both}
@media(max-width:960px){.site-header .site-nav,.nav-enhanced .page-home.nav-open .site-header{--nav-accent:#69427f;--nav-contact-bg:#eee7f2}.site-header .site-nav .nav-contact{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.site-header,.site-header *,.site-header *::after{transition:none!important;animation:none!important}.site-header .nav-wave>span{transform:none!important}}

.site-header .nav-wave>span:nth-child(1){--letter-delay:0ms}
.site-header .nav-wave>span:nth-child(2){--letter-delay:18ms}
.site-header .nav-wave>span:nth-child(3){--letter-delay:36ms}
.site-header .nav-wave>span:nth-child(4){--letter-delay:54ms}
.site-header .nav-wave>span:nth-child(5){--letter-delay:72ms}
.site-header .nav-wave>span:nth-child(6){--letter-delay:90ms}
.site-header .nav-wave>span:nth-child(7){--letter-delay:108ms}
.site-header .nav-wave>span:nth-child(8){--letter-delay:126ms}
.site-header .nav-wave>span:nth-child(9){--letter-delay:144ms}
.site-header .nav-wave>span:nth-child(10){--letter-delay:162ms}
.site-header .nav-wave>span:nth-child(11){--letter-delay:180ms}
.site-header .nav-wave>span:nth-child(12){--letter-delay:198ms}
.site-header .nav-wave>span:nth-child(13){--letter-delay:216ms}

/* Bob's identity: ivory, lavender, and a compact plum navigation. */
.site-header .wordmark{font-weight:500;letter-spacing:-.8px;position:relative;padding-left:15px}
.site-header .wordmark::before{content:"";position:absolute;left:0;top:12%;height:76%;width:2px;background:var(--nav-accent);transition:height .2s ease,top .2s ease}
.site-header .wordmark:hover::before{height:100%;top:0}.site-header .wordmark em{font-style:italic}
.site-header .site-nav{font-size:12px;font-weight:500}
.site-header .nav-contact{padding-inline:17px;transition:background-color .2s ease,color .2s ease}
.site-header .nav-contact:hover,.site-header .nav-contact:focus-visible{background:#d9bde9;color:#321a3e;border-color:#d9bde9}
.site-header .nav-search:hover,.site-header .nav-search:focus-visible{color:var(--nav-accent);background:var(--nav-contact-bg);border-color:var(--nav-accent)}
.site-header.is-scrolled,.page-home .site-header.is-scrolled,.nav-enhanced .page-home .site-header.is-scrolled{--nav-accent:#dbc0ec;--nav-contact-bg:#62416f;color:#fbf0df;background:#2e1b39;border-color:#755482;box-shadow:0 4px 22px #23102b26}
@supports(backdrop-filter:blur(16px)){.site-header.is-scrolled,.page-home .site-header.is-scrolled,.nav-enhanced .page-home .site-header.is-scrolled{background:rgba(43,24,54,.94);backdrop-filter:blur(16px)}}
@media(max-width:960px){
.nav-enhanced .site-header .site-nav{--nav-accent:#ddbfef;--nav-contact-bg:#563363;display:grid;grid-template-columns:1fr 1fr;gap:0 26px;padding:27px max(24px,calc((100% - 720px)/2)) 30px;background:#2e1b39;color:#fbf0df;border-color:#755482;counter-reset:nav-item}
.site-header .site-nav .nav-link{font:400 23px/1.4 Fraunces,Georgia,serif;justify-content:start;gap:10px;min-height:66px;border-color:#765582}
.site-header .site-nav .nav-link::before{counter-increment:nav-item;content:"0" counter(nav-item);font:500 9px/1 Manrope,Arial,sans-serif;color:#d8b9e8}
.site-header .site-nav .nav-contact{margin-top:0;padding-inline:10px;color:#ecd8f6;background:#50305e;border-color:#85618f}
.site-header .site-nav .nav-search{grid-column:1/-1;justify-content:center;gap:12px;background:#42264f;border:1px solid #765582;margin-top:22px;font-size:14px;min-height:50px}
.nav-enhanced .page-home.nav-open .site-header{--nav-accent:#ddbfef;--nav-contact-bg:#563363;background:#2e1b39;color:#fbf0df;border-color:#765582}
.site-header .site-nav .nav-wave{white-space:normal}.site-header .site-nav .nav-link::after{height:1px}
}
@media(max-width:600px){.site-header .wordmark{font-size:21px;padding-left:11px}.nav-enhanced .site-header .site-nav{gap:0 17px;padding:18px 20px 25px}.site-header .site-nav .nav-link{font-size:21px;gap:7px}.site-header .site-nav .nav-link:nth-child(4){font-size:18px}.site-header .menu-toggle{font-size:11px;min-width:76px}}
@media(max-width:350px){.site-header .wordmark{font-size:19px}.site-header .site-nav .nav-link{font-size:19px}.site-header .site-nav .nav-link:nth-child(4){font-size:15px}.site-header .site-nav .nav-link::before{font-size:8px}.site-header .menu-toggle{min-width:70px;padding-inline:7px}.nav-enhanced .site-header .site-nav{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.site-header *,.site-header *::before,.site-header *::after{animation:none!important;transition:none!important}}

@media(min-width:961px) and (max-width:1150px){.site-header .site-nav{gap:12px;font-size:11px}.site-header .header-inner{gap:18px}.site-header .wordmark{font-size:23px}}
