* { box-sizing: border-box; }
:root { color-scheme: light; --paper: #f6f4ed; --ink: #202720; --green: #24513f; --rule: #c9cec2; }
html { background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { margin: 0; border-top: 6px solid var(--green); }
a { color: var(--green); text-underline-offset: .24em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid var(--green); outline-offset: 6px; border-radius: 1px; }
.shell { width: min(1120px, calc(100% - 112px)); margin-inline: auto; min-height: calc(100svh - 6px); display: flex; flex-direction: column; }
header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 35px 0; border-bottom: 1px solid var(--rule); }
.wordmark { color: var(--ink); font-size: 14px; font-weight: 700; letter-spacing: .035em; text-decoration: none; }
nav { display: flex; gap: 28px; flex-wrap: wrap; }
nav a { font-size: 14px; text-decoration: none; padding-block: 8px; }
nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 8px; }
main { flex: 1; }
.intro { padding: clamp(64px, 10vw, 130px) 0 85px; }
.eyebrow { font-size: 12px; color: var(--green); text-transform: uppercase; letter-spacing: .14em; font-weight: 650; margin: 0 0 30px; }
h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(44px, 6.8vw, 82px); line-height: 1.1; letter-spacing: -.045em; margin: 0 0 30px; max-width: 100%; overflow-wrap: break-word; }
.lead { max-width: 620px; font-size: clamp(20px, 2.3vw, 26px); line-height: 1.6; margin: 0; }
.detail { border-top: 1px solid var(--rule); padding: 36px 0 80px; display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; }
h2 { font-size: 18px; font-weight: 600; margin: 0; line-height: 1.6; }
.detail p { font-size: 17px; line-height: 1.8; margin: 0 0 20px; max-width: 520px; }
.text-link { display: inline-block; font-size: 16px; margin-top: 5px; }
.text-link span { margin-left: 16px; }
.email-link { font-size: clamp(20px, 3vw, 30px); line-height: 1.6; overflow-wrap: anywhere; }
footer { border-top: 1px solid var(--rule); padding: 28px 0 32px; display: flex; gap: 18px; justify-content: space-between; flex-wrap: wrap; font-size: 12px; line-height: 1.6; }
footer p { margin: 0; }
.skip-link { position: fixed; top: 12px; left: 16px; padding: 12px; background: var(--paper); transform: translateY(-160%); z-index: 2; }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 640px) { .shell { width: calc(100% - 40px); } header { align-items: flex-start; flex-direction: column; gap: 20px; padding: 25px 0; } nav { gap: 28px; } .intro { padding: 64px 0 54px; } h1 { font-size: clamp(42px, 10vw, 64px); } .detail { grid-template-columns: 1fr; gap: 20px; padding: 28px 0 56px; } footer { flex-direction: column; gap: 10px; } }
