:root { --ink:#242424; --muted:#6a6a6a; --paper:#fff; --line:#e5e5e5; --accent:#245a87; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html.is-script-scrolling { scroll-behavior:auto; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Libre Franklin','Helvetica Neue',Arial,sans-serif; font-size:15px; line-height:1.66; }
a { color:var(--accent); text-underline-offset:3px; }
a:hover { color:#111; }
.skip { position:absolute; left:-999px; top:0; }
.skip:focus { left:1rem; z-index:4; background:#fff; padding:.5rem 1rem; }
.masthead { position:relative; background:#fff; border-bottom:1px solid var(--line); }
.masthead-inner { max-width:1180px; min-height:100px; padding:20px 32px; margin:auto; display:flex; align-items:center; gap:26px; }
.brand { color:#111; font-size:30px; font-weight:800; line-height:1.25; letter-spacing:.08em; text-decoration:none; white-space:nowrap; }
.brand span { display:block; margin-top:7px; color:var(--muted); font-size:13px; font-weight:400; letter-spacing:0; }
nav { display:flex; gap:20px; margin-left:auto; }
nav a,.language { color:#333; font-size:13px; font-weight:700; letter-spacing:.03em; text-decoration:none; text-transform:uppercase; }
nav a:hover,.language:hover { color:var(--accent); }
.language { border-left:1px solid var(--line); padding-left:20px; }
.feature { display:block; width:100%; height:auto; }
.content { width:min(100% - 48px, 760px); margin:64px auto 90px; }
.content.home { margin-top:100px; max-width:760px; text-align:center; }
h1,h2,h3 { color:#222; line-height:1.4; }
h1 { margin:0 0 36px; font-size:clamp(1.65rem,2.6vw,2.25rem); letter-spacing:-.025em; }
h2 { margin:2.5rem 0 1rem; font-size:1.3rem; letter-spacing:-.015em; }
h3 { margin:2rem 0 .7rem; font-size:1.1rem; }
p { margin:0 0 1.5rem; }
hr { border:0; border-top:1px solid var(--line); margin:2.5rem 0; }
img { max-width:100%; height:auto; }
.easy-footnote { font-family:Arial,sans-serif; font-size:.8em; margin-left:2px; }
.easy-footnote a { color:var(--accent); text-decoration:none; }
.easy-footnotes-wrapper { margin:2rem 0 0; padding:1.6rem 0 0 1.5rem; border-top:1px solid var(--line); font-size:.9rem; }
.easy-footnote-single { margin-bottom:.75rem; padding-left:.3rem; }
.easy-footnote-to-top { font-family:Arial,sans-serif; font-size:.8rem; margin-left:.35rem; text-decoration:none; }
footer { display:flex; justify-content:space-between; gap:20px; padding:26px max(24px, calc((100% - 1180px)/2)); border-top:1px solid var(--line); color:var(--muted); font-size:12px; letter-spacing:.04em; text-transform:uppercase; }

/* The original home page uses the locally stored custom-header image as a full-screen hero. */
.home-page .masthead { min-height:100vh; min-height:100dvh; border:0; background-color:#262626; background-image:linear-gradient(to bottom,rgba(0,0,0,.30),rgba(0,0,0,0) 45%), url('/assets/cropped-cropped-IMG_7263.jpg'); background-position:center; background-size:cover; background-repeat:no-repeat; background-attachment:fixed; }
.home-page .masthead-inner { min-height:100vh; min-height:100dvh; align-items:flex-end; padding-bottom:66px; }
.home-page .brand,.home-page nav a,.home-page .language { color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.38); }
.home-page .brand span { color:rgba(255,255,255,.82); }
.home-page .language { border-color:rgba(255,255,255,.45); }
.home-page nav,.home-page .language { align-self:flex-start; margin-top:26px; }
.scroll-indicator { position:absolute; right:clamp(28px,12vw,200px); bottom:82px; z-index:2; color:#fff; font-family:Arial,sans-serif; font-size:30px; font-weight:300; line-height:1; opacity:.8; text-decoration:none; text-shadow:0 1px 3px rgba(0,0,0,.45); transition:transform .2s ease,opacity .2s ease; }
.scroll-indicator:hover,.scroll-indicator:focus { color:#fff; opacity:1; transform:translateY(3px); }
.scroll-panel { position:relative; }
.scroll-panel-image { height:0; padding-top:var(--panel-height); background-attachment:fixed; background-position:center; background-size:cover; background-repeat:no-repeat; }
.scroll-panel-content { position:relative; z-index:1; width:100%; margin:0; padding:clamp(48px,10vh,130px) max(24px, calc((100% - 760px) / 2)); background:#fff; color:var(--ink); text-align:center; }
.scroll-panel h2 { color:#222; margin:0 0 .75rem; padding:0; font-size:18px; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; }
.scroll-panel p { max-width:760px; margin:0 auto 1.5rem; font-size:15px; line-height:1.66; }
.more-link { display:inline-block; border:2px solid currentColor; color:#222; padding:.65rem 1rem; font-size:.82rem; font-weight:700; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.more-link:hover { background:#222; border-color:#222; color:#fff; }
footer a { color:inherit; }
@media (max-width:760px) { .masthead-inner { min-height:0; padding:18px 24px; flex-wrap:wrap; gap:14px; } nav { order:3; width:100%; margin:0; overflow:auto; padding-top:10px; border-top:1px solid var(--line); } .language { margin-left:auto; } .home-page .masthead { min-height:100vh; min-height:100dvh; background-attachment:scroll; } .home-page .masthead-inner { min-height:100vh; min-height:100dvh; padding-bottom:32px; } .home-page nav { border-color:rgba(255,255,255,.42); } .scroll-indicator { right:32px; bottom:48px; font-size:27px; } .scroll-panel-content { padding-bottom:46px; } .content { margin-top:42px; margin-bottom:58px; } .content.home { margin-top:60px; } body { font-size:15px; } footer { padding:20px 24px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
