:root{color-scheme:light;--paper:#f3eee2;--ink:#302f29;--muted:#686357;--rule:#d4cbbc;--clay:#904f3c;--sage:#70836e;--serif:'Libre Baskerville',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#e7e0d2;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}
a{color:inherit;text-underline-offset:4px}
a:focus-visible,button:focus-visible{outline:3px solid #546d59;outline-offset:4px}
button{font:inherit;cursor:pointer}
.skip-link{position:absolute;left:12px;top:12px;z-index:10;transform:translateY(-150%);padding:9px 14px;background:#fff;color:#222}
.skip-link:focus{transform:translateY(0)}
.site-shell{position:relative;isolation:isolate;max-width:1440px;min-height:100vh;margin:auto;padding:0 clamp(24px,5vw,72px);overflow:hidden;background:var(--paper)}
.site-shell::before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,#fffdf790,transparent 72%),repeating-linear-gradient(90deg,transparent 0 3px,#7b664207 3px 4px)}
.paper-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.19;background-size:180px 180px;mix-blend-mode:multiply}
.site-header{position:relative;max-width:1280px;margin:auto;padding:28px 0 25px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header::after{content:'';position:absolute;left:0;bottom:-1px;width:72px;height:3px;background:linear-gradient(to right,#365277 0 33.333%,#fffaf2 33.333% 66.666%,#a85145 66.666% 100%)}
.brand{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.brand span{color:var(--clay)}
.site-header nav{display:flex;align-items:center;gap:30px;font-size:13px}.site-header nav a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-color:currentColor}
.letter-layout{position:relative;padding-top:47px}.letter{max-width:552px;margin:0 auto}.letter-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid var(--rule);color:var(--muted);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
h1{font-size:clamp(36px,4.3vw,48px);line-height:1.26;margin:31px 0 28px}.salutation{font:italic 16px/1.7 var(--serif);margin:0 0 20px}.letter-copy p+p{margin-top:20px}.letter-copy p{font-size:16px;line-height:1.85}.source-ref{font-size:.8em;white-space:nowrap}
.letter-copy .letter-ask{font:19px/1.65 var(--serif);color:var(--clay);border-left:2px solid var(--clay);padding-left:21px;margin:28px 0}
.letter-copy + .primary-button{margin-top:27px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:13px 20px;min-height:50px;background:var(--clay);border:1px solid var(--clay);color:#fffaf1;text-decoration:none;font-size:13px;font-weight:600}.primary-button:hover{background:#754031}.button-note{margin-top:10px;color:var(--muted);font-size:12px}
.margin-art{position:absolute;top:300px;width:clamp(65px,calc((100% - 616px)/2 - 34px),160px);opacity:.68;pointer-events:none}.margin-art img{display:block;width:100%;height:auto}.margin-art-left{left:-18px;transform:rotate(-8deg)}.margin-art-right{right:-18px;transform:scaleX(-1) rotate(-8deg)}.margin-art::after{content:'';display:block;width:35px;height:1px;background:currentColor;opacity:.4;margin:22px auto 0}.margin-art-left{color:var(--sage)}.margin-art-right{color:var(--clay)}
.context,.sources{margin-top:85px;padding-top:27px;border-top:1px solid var(--rule)}.section-label{margin-bottom:18px;color:var(--muted);font-size:10px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.context h2,.sources h2,.action-layout h2{font-size:27px;line-height:1.4}.context p:not(.section-label){margin-top:18px;font-size:15px;line-height:1.8}.sources{margin-top:65px}.sources h2{font-size:22px}.sources ol{padding:0 0 0 18px;margin:20px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.sources li+li{margin-top:10px}.sources a:hover,.text-link:hover,.back-link:hover{color:var(--clay)}
.sources .source-stories{margin-top:24px;color:var(--muted);font-size:13px;line-height:1.7}.sources .source-stories a:hover{color:var(--clay)}.sources li[id]{scroll-margin-top:24px}
.site-footer{max-width:1280px;margin:90px auto 0;padding:25px 0 30px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}
.action-layout{max-width:690px;margin:47px auto 0}.action-layout h1{margin-bottom:20px}.action-intro{font-size:18px;line-height:1.7;color:var(--muted);max-width:630px}.recipient-section,.template-section{margin-top:72px}.recipient-section>h2,.template-section>h2{margin-bottom:21px}.recipient{display:grid;grid-template-columns:1fr auto;align-items:start;gap:32px;border-top:1px solid var(--rule);padding:23px 0}.recipient h3{font-size:16px;font-weight:600;margin-bottom:6px}.recipient p{font-size:14px;line-height:1.7;color:var(--muted)}.text-link{font-size:13px;line-height:1.5;white-space:nowrap;text-decoration:none;border-bottom:1px solid currentColor;padding:1px 0 4px}.section-intro{max-width:600px;margin-bottom:27px;color:var(--muted);font-size:15px}.template{padding:28px 0 15px;border-top:1px solid var(--rule)}.template-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.template-kind{color:var(--clay);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600}.template-heading h3{font:400 19px/1.5 var(--serif);margin-top:0}.copy-button{flex-shrink:0;border:1px solid var(--clay);background:transparent;color:var(--clay);padding:8px 12px;min-width:90px;font-size:12px;font-weight:600}.copy-button:hover{background:var(--clay);color:white}.template-text{background:#fffdf780;border:1px solid #ddd5c8;padding:23px 26px;margin-top:20px;color:#37352f;font-size:14px;line-height:1.8}.template-text p+p{margin-top:16px}.template-text strong{font-weight:600}.copy-status{min-height:24px;margin-top:8px;color:var(--clay);font-size:12px}.afterword{margin-top:35px;padding:22px 0 22px 20px;border-left:2px solid var(--clay);font:italic 15px/1.8 var(--serif)}.back-link{display:inline-block;margin-top:50px;font-size:13px;text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:1050px) and (min-width:761px){.letter{max-width:500px}.margin-art{width:clamp(65px,calc((100% - 550px)/2 - 15px),130px)}.margin-art-left{left:-12px}.margin-art-right{right:-12px}}
@media(max-width:760px){.site-shell{padding-inline:26px}.site-header{padding:22px 0}.site-header nav{gap:20px}.letter-layout{padding-top:143px}.letter{max-width:552px}.margin-art{top:30px;width:43px}.margin-art-left{left:calc(50% - 57px)}.margin-art-right{right:calc(50% - 57px)}.margin-art::after{display:none}.action-layout{margin-top:38px}.context{margin-top:70px}.site-footer{margin-top:65px}.recipient{grid-template-columns:1fr;gap:12px}.text-link{justify-self:start}}
@media(max-width:420px){.site-shell{padding-inline:21px}.brand{font-size:20px}.site-header nav{gap:16px;font-size:12px}.letter-meta{font-size:9px;letter-spacing:.08em;gap:8px}h1{font-size:33px}.letter-copy p{font-size:15px}.salutation{font-size:14px}.letter-copy .letter-ask{font-size:18px}.primary-button{font-size:12px;gap:15px;padding:12px 15px}.context h2,.action-layout h2{font-size:24px}.template-heading{flex-direction:column;gap:12px}.template-text{padding:20px 18px}.site-footer{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
