@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Outfit:wght@300;400;500;600;700&display=swap');
:root{--ink:#1a1a1a;--ink-soft:#2d2a27;--paper:#f5f2ec;--white:#faf9f6;--maroon:#6b1d2a;--maroon-light:#8a2a3a;--maroon-dark:#4e1520;--maroon-faint:rgba(107,29,42,0.06);--maroon-border:rgba(107,29,42,0.2);--gold:#d4a574;--muted:#7a756f;--muted-light:#9e9890;--divider:rgba(0,0,0,0.06);--divider-strong:rgba(0,0,0,0.1);--dark:#1e1c19;--serif:'Playfair Display',Georgia,serif;--sans:'Outfit',system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.018'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}
a{color:inherit}
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 4rem;display:flex;justify-content:space-between;align-items:center;height:56px;backdrop-filter:blur(14px);background:rgba(245,242,236,0.9);border-bottom:1px solid var(--divider)}
.site-nav.scrolled{box-shadow:0 1px 8px rgba(0,0,0,0.04)}
.nav-name{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink);text-decoration:none}
.nav-links{display:flex;gap:1.8rem;list-style:none}
.nav-links a{font-size:.74rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--muted);transition:color .3s;position:relative;padding:.2rem 0}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--maroon);transition:width .3s}
.nav-links a:hover{color:var(--ink)}.nav-links a:hover::after{width:100%}
.nav-links a.active{color:var(--ink)}.nav-links a.active::after{width:100%}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--ink);font-size:1.2rem}
.page-body{padding-top:56px}
.section{padding:5rem 4rem}.section.alt{background:var(--white)}.section.dark{background:var(--dark);color:var(--paper)}
.section-label{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--maroon);margin-bottom:.6rem}
.section.dark .section-label{color:var(--gold)}
.section-title{font-family:var(--serif);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;line-height:1.12;margin-bottom:.5rem}
.site-footer{padding:1.5rem 4rem;border-top:1px solid var(--divider);background:#fff;text-align:center}
.footer-copy{font-size:.75rem;color:rgba(0,0,0,0.5)}
/* Standard page tab bar */
.page-tabs{position:sticky;top:56px;z-index:40;background:#d4a574;border-bottom:1px solid rgba(0,0,0,.08);padding:0 4rem;display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.page-tabs::-webkit-scrollbar{display:none}
.page-tab{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.05em;color:rgba(30,28,25,.4);padding:.85rem 1.4rem;border:none;border-bottom:3px solid transparent;background:none;text-decoration:none;white-space:nowrap;cursor:pointer;transition:all .25s}
.page-tab:hover{color:#1e1c19}
.page-tab.active{color:#fff;background:var(--maroon);border-bottom-color:var(--maroon)}
/* Standard social links in banners */
.hsoc{display:flex;gap:.5rem;flex-wrap:wrap;position:relative}
.hsoc a{font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.15);padding:.3rem .6rem;border-radius:2px;transition:all .25s;display:inline-block}
.hsoc a:hover{background:var(--gold);color:var(--dark);border-color:var(--gold)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes bannerFade{from{opacity:0}to{opacity:1}}
@keyframes bannerSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.banner-anim-1{opacity:0;animation:bannerFade .6s .1s ease forwards}
.banner-anim-2{opacity:0;animation:bannerSlide .6s .2s ease forwards}
.banner-anim-3{opacity:0;animation:bannerSlide .6s .35s ease forwards}
.banner-anim-4{opacity:0;animation:bannerSlide .6s .5s ease forwards}
.banner-anim-5{opacity:0;animation:bannerSlide .6s .65s ease forwards}
.fade-in{opacity:0;transform:translateY(14px);transition:all .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}
@media(max-width:860px){.site-nav{padding:0 1.5rem}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:var(--white);flex-direction:column;padding:1rem 1.5rem;gap:.2rem;border-bottom:1px solid var(--divider)}.nav-links.open{display:flex}.nav-links a{padding:.6rem 0;font-size:.82rem}.section{padding:3rem 1.5rem}.site-footer{padding:1.2rem 1.5rem}}
