@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');

:root { color-scheme: light; --paper:#f3efe7; --cream:#fbf8f2; --ink:#191a18; --muted:#66645e; --gold:#9d7736; --line:rgba(25,26,24,.18); font-family:"DM Sans",sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; min-width:320px; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:focus-visible, summary:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
p,h1,h2 { margin:0; }
p { line-height:1.65; }
.skip-link { position:absolute; z-index:100; left:16px; top:-100px; padding:12px 18px; background:var(--ink); color:var(--cream); }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:20; min-height:74px; padding:0 4vw; display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; background:rgba(251,248,242,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.wordmark { font:600 16px/1.1 "Manrope",sans-serif; letter-spacing:-.03em; text-transform:uppercase; }
.wordmark span { display:block; margin-top:3px; font-size:9px; font-weight:500; letter-spacing:.48em; }
.site-header nav { display:flex; flex-wrap:wrap; gap:clamp(14px,2.5vw,34px); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.site-header nav a { padding:5px 0; border-bottom:1px solid transparent; }
.site-header nav a:hover, .site-header nav a[aria-current="page"] { border-color:var(--gold); }
.header-location { justify-self:end; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.intro { min-height:640px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr); gap:clamp(50px,7vw,130px); padding:clamp(84px,10vw,154px) 6vw clamp(80px,8vw,128px); }
.eyebrow,.section-number,.index-title { font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
h1,h2 { font-family:"Manrope",sans-serif; font-weight:400; letter-spacing:-.065em; line-height:1.02; }
h1 { font-size:clamp(58px,7.7vw,126px); }
h1 em { color:var(--gold); font-style:normal; }
.intro .eyebrow { margin-bottom:40px; }
.intro-lead { max-width:740px; margin-top:38px; font-size:clamp(18px,1.65vw,23px); line-height:1.5; }
.intro-note { max-width:690px; margin-top:25px; color:var(--muted); }
.intro-index { align-self:end; margin:0; padding:31px 35px 29px; background:var(--ink); color:var(--cream); }
.index-title { margin-bottom:18px; color:#c7aa73; }
.intro-index a { display:grid; grid-template-columns:25px 1fr auto; gap:15px; align-items:start; padding:21px 0; border-top:1px solid rgba(255,255,255,.2); }
.intro-index a span { color:#c7aa73; font-size:11px; }
.intro-index a strong { font:400 21px/1.25 "Manrope",sans-serif; letter-spacing:-.035em; }
.intro-index a:hover strong { color:#d9b874; }
.index-foot { margin-top:19px; color:#aaa59a; font-size:12px; }
.faq-section { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:clamp(50px,8vw,150px); padding:clamp(85px,9vw,145px) 6vw; border-top:1px solid var(--line); }
.faq-section.riders { background:#e9e1d3; }
.section-number { margin-bottom:46px; color:var(--gold); }
.section-heading h2 { font-size:clamp(43px,4.9vw,77px); }
.section-heading > p:not(.section-number) { max-width:400px; margin-top:32px; color:var(--muted); }
.source-link { display:inline-block; margin-top:25px; padding-bottom:7px; border-bottom:1px solid var(--ink); font-size:12px; letter-spacing:.11em; text-transform:uppercase; }
.questions { border-top:1px solid var(--ink); }
.questions details { border-bottom:1px solid var(--line); }
.questions summary { position:relative; padding:28px 42px 28px 0; list-style:none; cursor:pointer; font:400 clamp(19px,2vw,27px)/1.35 "Manrope",sans-serif; letter-spacing:-.035em; }
.questions summary::-webkit-details-marker { display:none; }
.questions summary::after { content:"+"; position:absolute; right:4px; top:23px; color:var(--gold); font:400 28px/1 "Manrope",sans-serif; }
.questions details[open] summary::after { content:"−"; }
.questions summary:hover { color:var(--gold); }
.answer { max-width:690px; padding:0 28px 30px 0; color:#504f49; font-size:15px; }
.answer a { border-bottom:1px solid var(--gold); color:#6f5020; }
.answer a:hover { color:var(--ink); }
.closing { padding:clamp(95px,10vw,160px) 6vw; background:#191a18; color:var(--cream); }
.closing .eyebrow { color:#d0b783; margin-bottom:30px; }
.closing h2 { max-width:1000px; font-size:clamp(50px,6.3vw,100px); }
.closing p:not(.eyebrow) { max-width:620px; margin-top:35px; color:#c1bcb1; }
.closing a { display:inline-block; margin:32px 32px 0 0; padding-bottom:8px; border-bottom:1px solid #c9b17c; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.closing a span { margin-left:20px; color:#c9b17c; }
footer { min-height:180px; padding:48px 4vw; display:grid; grid-template-columns:1.2fr 1fr 2fr auto; gap:34px; align-items:start; background:#100f0d; color:#c9c3b8; font-size:12px; }
footer .wordmark { color:var(--cream); }
footer a:hover { color:#c9b17c; }
@media(max-width:950px) { .header-location { display:none; } .site-header { grid-template-columns:1fr auto; } .intro { grid-template-columns:1fr; min-height:0; } .intro-index { align-self:auto; max-width:600px; } .faq-section { grid-template-columns:1fr; gap:44px; } .section-heading > p:not(.section-number) { max-width:650px; } footer { grid-template-columns:1fr 1fr; } }
@media(max-width:650px) { html { scroll-padding-top:125px; } .site-header { min-height:94px; display:block; padding:18px 20px 13px; } .site-header nav { margin-top:13px; gap:15px; font-size:10px; } .intro { padding:75px 20px 82px; gap:52px; } .intro .eyebrow { margin-bottom:30px; } h1 { font-size:clamp(52px,13vw,80px); } .intro-lead { margin-top:30px; font-size:18px; } .intro-index { padding:28px 25px; } .faq-section { padding:85px 20px; } .section-number { margin-bottom:30px; } .questions summary { padding:24px 36px 24px 0; font-size:20px; } .questions summary::after { top:21px; } .closing { padding:90px 20px; } footer { padding:45px 20px; grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
