:root{color-scheme:light;--paper:#f6f2e9;--ink:#302b31;--muted:#67606a;--plum:#493553;--line:#d9d2c7;--accent:#d7bc70}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #916522;outline-offset:6px;border-radius:4px}
.skip{position:fixed;top:12px;left:12px;padding:14px;background:var(--plum);color:white;z-index:5;transform:translateY(-160%)}
.skip:focus{transform:translateY(0)}
.page{max-width:1320px;margin:auto;padding:0 64px}
.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.03;letter-spacing:-.7px}
.brand strong{font-weight:normal}
.header-link{font-size:13px;line-height:1.5}
.header-link span{margin-left:12px;font-size:22px}
.hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:36px;padding:76px 0 86px}
.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;line-height:1.6;margin:0 0 22px}
.eyebrow span{width:6px;height:6px;background:var(--plum);border-radius:50%;flex-shrink:0}
h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(52px,6.6vw,88px);line-height:.99;letter-spacing:-4px;font-weight:normal;margin:0 0 30px}
.underlined{position:relative;isolation:isolate;white-space:nowrap}
.underlined:after{content:'';position:absolute;left:-2%;right:-4%;height:13px;bottom:3px;background:var(--accent);border-radius:45% 35% 40% 50%;transform:rotate(-2deg);z-index:-1}
.intro{font-size:19px;line-height:1.5;max-width:390px;margin:0 0 12px}
.invitation{font-size:15px;line-height:1.7;color:var(--muted);max-width:375px;margin:0 0 26px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--plum);color:#fff;padding:17px 22px;border-radius:6px;font-size:14px;font-weight:600;min-height:54px;transition:background .15s,transform .15s}
.button:hover{background:#60466d;transform:translateY(-2px)}
.button>span{margin-left:12px;font-size:19px;font-weight:normal}
.handnote{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--muted);font-size:13px;margin:17px 0 0;transform:rotate(-1deg);transform-origin:left}
.hero-art{position:relative;align-self:center}
.hero-art img{display:block;width:100%;height:auto}
.art-caption{display:block;text-align:center;font-size:10px;letter-spacing:1.25px;color:var(--muted);margin-top:-10px}
.themes{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;padding:44px 0 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-number{font-family:monospace;color:var(--muted);font-size:11px}
h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-.8px;line-height:1.2}
.section-intro h2{font-size:28px;margin:16px 0 0}
.theme-index{font-size:11px;font-family:monospace;color:var(--muted)}
.theme h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:25px;margin:16px 0 10px}
.theme p{color:var(--muted);font-size:13px;line-height:1.7;margin:0;max-width:200px}
.closing{position:relative;text-align:center;padding:72px 0}
.closing .eyebrow{display:block;margin-bottom:14px}
.closing h2{font-size:46px;margin:0 0 24px}
.text-link{display:inline-flex;gap:24px;font-size:14px;border-bottom:1px solid var(--plum);padding:0 0 9px}
.text-link span{font-size:20px}
footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:26px 0 32px;font-size:11px;color:var(--muted)}
@media(min-width:1400px){.hero{gap:60px}.hero-art{margin-right:-28px}}
@media(min-width:681px) and (max-height:760px){.header{padding:20px 0}.hero{padding:38px 0}h1{font-size:clamp(52px,6vw,78px);margin-bottom:22px}.eyebrow{margin-bottom:16px}.invitation{margin-bottom:22px}.hero-art{max-width:450px;margin-inline:auto}}
@media(max-width:1000px){.page{padding:0 36px}.hero{gap:12px;padding:64px 0}h1{font-size:64px;letter-spacing:-3px}.themes{grid-template-columns:repeat(3,1fr);gap:28px}.section-intro{grid-column:1/-1}.section-intro h2 br{display:none}}
@media(max-width:680px){.page{padding:0 24px}.header{padding:24px 0;gap:12px}.brand{font-size:21px}.brand svg{width:36px;height:36px}.header-link{font-size:0}.header-link span{font-size:24px;margin:0}.header-link{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.hero{grid-template-columns:1fr;gap:28px;padding:44px 0 40px}.eyebrow{font-size:10px;letter-spacing:1.2px}h1{font-size:clamp(52px,12vw,74px);letter-spacing:-2.8px;margin-bottom:25px}.intro{font-size:18px}.invitation{font-size:14px}.hero-art{width:100%;max-width:420px;justify-self:center}.art-caption{font-size:9px;margin-top:-20px}.themes{grid-template-columns:1fr;gap:0;padding:30px 0 0}.section-intro{padding-bottom:28px}.section-intro h2{font-size:27px}.theme{display:grid;grid-template-columns:24px 90px 1fr;gap:12px;align-items:baseline;padding:22px 0;border-top:1px solid var(--line)}.theme h3{font-size:22px;margin:0}.theme p{font-size:12px;max-width:none}.closing{padding:54px 0}.closing h2{font-size:36px}footer{flex-direction:column;gap:9px;padding:22px 0 28px}}
@media(max-width:360px){.page{padding:0 18px}.theme{grid-template-columns:18px 74px 1fr;gap:8px}.theme h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
