:root{--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s64:64px;--ground:#f7f2e7;--ground-tint:#ede4d1;--ink:#1f1c18;--ink-soft:#4a443b;--rust:#b83a1b;--ochre:#c87d20;--indigo:#1e2d42;--paper-border:#2a241e;--font-display:"Impact","Trebuchet MS",sans-serif;--font-body:"Georgia","Times New Roman",serif;--focus-ring:#b83a1b;--focus-ring-dark:#f7f2e7}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background-color:var(--ground);background-image:radial-gradient(var(--ground-tint) 15%,transparent 16%),radial-gradient(var(--ground-tint) 15%,transparent 16%);background-size:16px 16px;background-position:0 0,8px 8px;color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;line-height:1.15;color:var(--ink);overflow-wrap:anywhere}
p,li{overflow-wrap:anywhere}
a{color:var(--rust);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--ink)}
img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.skip-link{position:absolute;top:var(--s12);left:var(--s12);padding:var(--s8) var(--s16);background-color:var(--rust);color:#fff;font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;z-index:999;transform:translateY(-200%);transition:transform .15s ease}
.skip-link:focus{transform:translateY(0)}
.container{width:min(calc(100% - var(--s32)),1160px);margin-inline:auto}
.site-header{border-bottom:3px solid var(--paper-border);background-color:var(--ground);padding:var(--s12) 0}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--s16);height:48px}
.brand{display:inline-flex;align-items:center;gap:var(--s8);text-decoration:none;color:var(--ink);font-family:var(--font-display);font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;white-space:nowrap}
.brand-mark{width:28px;height:28px;fill:var(--rust);flex-shrink:0}
.main-nav{display:none}
.nav-list{display:flex;list-style:none;gap:var(--s16);align-items:center}
.nav-link{font-family:var(--font-display);font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--ink);white-space:nowrap;padding:var(--s4) var(--s8)}
.nav-link:hover{background-color:var(--ochre);color:#fff}
.cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--s8) var(--s16);background-color:var(--rust);color:#fff;font-family:var(--font-display);font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid var(--paper-border);box-shadow:3px 3px 0 var(--paper-border);white-space:nowrap;flex-shrink:0}
.cta-btn:hover{background-color:var(--ink);color:#fff}
.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background-color:var(--ground);border:2px solid var(--paper-border);cursor:pointer}
.nav-toggle span{display:block;width:22px;height:3px;background-color:var(--paper-border)}
.mobile-menu{position:fixed;inset:0;background-color:var(--ground);z-index:900;overflow-y:auto;padding:var(--s32) var(--s16);display:flex;flex-direction:column}
.mobile-menu[hidden]{display:none}
.mobile-menu-inner{margin-block:auto;width:100%;max-width:360px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--s24);text-align:center}
.mobile-nav-list{list-style:none;display:flex;flex-direction:column;gap:var(--s16)}
.mobile-nav-list a{font-family:var(--font-display);font-size:1.35rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);text-decoration:none;padding:var(--s8);border-bottom:1px dashed var(--ochre);display:block}
.mobile-close-btn{align-self:flex-end;background-color:var(--ground);border:2px solid var(--paper-border);padding:var(--s8) var(--s16);font-family:var(--font-display);font-size:.875rem;cursor:pointer}
.poster-hero{padding:var(--s64) 0;border-bottom:3px solid var(--paper-border);background-color:var(--ground-tint);background-image:linear-gradient(45deg,rgba(184,58,27,.06) 25%,transparent 25%,transparent 75%,rgba(184,58,27,.06) 75%),linear-gradient(45deg,rgba(184,58,27,.06) 25%,transparent 25%,transparent 75%,rgba(184,58,27,.06) 75%);background-size:24px 24px;background-position:0 0,12px 12px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:var(--s32)}
.hero-grid > *{min-width:0}
.hero-content{display:flex;flex-direction:column;gap:var(--s16)}
.registration-tag{display:inline-block;background-color:var(--indigo);color:#fff;padding:var(--s4) var(--s12);font-family:var(--font-display);font-size:.875rem;letter-spacing:.08em;width:fit-content;border:2px solid var(--paper-border);box-shadow:3px 3px 0 var(--paper-border)}
.hero-title{font-size:clamp(2.4rem,6vw,4.2rem);line-height:.95;text-shadow:3px 3px 0 var(--ochre),-1px -1px 0 var(--rust)}
.hero-lead{font-size:1.25rem;line-height:1.5;color:var(--ink-soft);font-weight:bold;max-width:62ch}
.hero-frame{border:3px solid var(--paper-border);box-shadow:6px 6px 0 var(--ink);background-color:#fff;padding:var(--s12);display:flex;flex-direction:column;gap:var(--s8)}
.hero-frame img{width:100%;height:340px;object-fit:cover;border:2px solid var(--paper-border)}
.hero-caption{font-family:var(--font-display);font-size:.8125rem;letter-spacing:.05em;color:var(--ink-soft);text-transform:uppercase}
.section-mosaic{padding:var(--s64) 0;border-bottom:3px solid var(--paper-border)}
.section-header{margin-bottom:var(--s40);text-align:center;display:flex;flex-direction:column;gap:var(--s8);align-items:center}
.section-kicker{font-family:var(--font-display);font-size:.875rem;letter-spacing:.1em;color:var(--rust);text-transform:uppercase}
.section-title{font-size:clamp(2rem,4vw,2.8rem)}
.mosaic{display:grid;grid-template-columns:1fr;gap:var(--s24)}
.mosaic > *{min-width:0}
.mosaic-card{border:3px solid var(--paper-border);background-color:#fff;display:flex;flex-direction:column;box-shadow:4px 4px 0 var(--paper-border);position:relative;overflow:hidden}
.mosaic-media{width:100%;height:220px;overflow:hidden;border-bottom:2px solid var(--paper-border);background-color:var(--ground-tint)}
.mosaic-media img{width:100%;height:100%;object-fit:cover}
.mosaic-body{padding:var(--s24);display:flex;flex-direction:column;gap:var(--s12);flex-grow:1}
.mosaic-badge{font-family:var(--font-display);font-size:.8125rem;color:var(--indigo);letter-spacing:.05em}
.mosaic-heading{font-size:1.5rem;line-height:1.15}
.mosaic-heading a{color:var(--ink);text-decoration:none}
.mosaic-heading a:hover{color:var(--rust)}
.mosaic-text{font-size:.9375rem;color:var(--ink-soft);line-height:1.5;flex-grow:1}
.mosaic-link{font-family:var(--font-display);font-size:.875rem;letter-spacing:.06em;color:var(--rust);text-decoration:none;display:inline-flex;align-items:center;gap:var(--s4);margin-top:var(--s12)}
.mosaic-link:hover{text-decoration:underline}
.mosaic-card.feature{background-color:var(--ground-tint)}
.supporting-block{padding:var(--s64) 0;background-color:#fff;border-bottom:3px solid var(--paper-border)}
.woodblock-strip{display:grid;grid-template-columns:1fr;gap:var(--s24)}
.woodblock-strip > *{min-width:0}
.woodblock-cell{padding:var(--s24);border:2px solid var(--paper-border);background-color:var(--ground);box-shadow:3px 3px 0 var(--ochre);display:flex;flex-direction:column;gap:var(--s12)}
.woodblock-num{font-family:var(--font-display);font-size:2.5rem;color:var(--rust);line-height:1}
.subpage-hero{padding:var(--s64) 0 var(--s32);border-bottom:3px solid var(--paper-border);background-color:var(--ground-tint)}
.subpage-lead-wrap{margin-top:var(--s32);border:3px solid var(--paper-border);padding:var(--s12);background-color:#fff;box-shadow:5px 5px 0 var(--ink)}
.subpage-lead-wrap img{width:100%;max-height:420px;object-fit:cover;border:2px solid var(--paper-border)}
.article-body{padding:var(--s64) 0;max-width:780px;margin-inline:auto}
.article-body section{margin-bottom:var(--s40);display:flex;flex-direction:column;gap:var(--s16)}
.article-body h2{font-size:1.85rem;border-left:5px solid var(--rust);padding-left:var(--s16);margin-top:var(--s24)}
.article-body h3{font-size:1.35rem;color:var(--indigo);margin-top:var(--s16)}
.article-body p{font-size:1.0625rem;line-height:1.7}
.article-body ul{margin-left:var(--s24);display:flex;flex-direction:column;gap:var(--s8)}
.article-table-wrap{overflow-x:auto;margin:var(--s24) 0;border:2px solid var(--paper-border)}
.article-table{width:100%;border-collapse:collapse;text-align:left;background-color:#fff}
.article-table th,.article-table td{padding:var(--s12) var(--s16);border:1px solid var(--paper-border)}
.article-table th{background-color:var(--indigo);color:#fff;font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;font-size:.875rem}
.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--s40);padding:var(--s64) 0}
.contact-grid > *{min-width:0}
.contact-form{display:flex;flex-direction:column;gap:var(--s16);background-color:#fff;padding:var(--s32);border:3px solid var(--paper-border);box-shadow:6px 6px 0 var(--paper-border)}
.form-group{display:flex;flex-direction:column;gap:var(--s4)}
.form-label{font-family:var(--font-display);font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}
.form-input,.form-textarea{padding:var(--s12);border:2px solid var(--paper-border);background-color:var(--ground);font-family:var(--font-body);font-size:1rem}
.form-error{color:var(--rust);font-size:.875rem;font-weight:bold;display:none}
.form-group.has-error .form-error{display:block}
.form-group.has-error .form-input,.form-group.has-error .form-textarea{border-color:var(--rust)}
.site-footer{background-color:var(--indigo);color:#f7f2e7;padding:var(--s64) 0 var(--s32);border-top:4px solid var(--paper-border)}
.site-footer a{color:#f7f2e7;text-decoration:underline}
.site-footer a:hover{color:var(--ochre)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--s32);margin-bottom:var(--s40)}
.footer-grid > *{min-width:0}
.footer-col{display:flex;flex-direction:column;gap:var(--s12)}
.footer-col h4{color:var(--ochre);font-size:1.15rem}
.footer-list{list-style:none;display:flex;flex-direction:column;gap:var(--s8)}
.footer-muted{color:#d1c9bd;font-size:.9375rem;line-height:1.6}
.footer-bottom{border-top:1px solid rgba(247,242,231,.2);padding-top:var(--s24);display:flex;flex-direction:column;gap:var(--s12);font-size:.875rem;color:#d1c9bd}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background-color:#1c1917;color:#f7f2e7;border-top:3px solid var(--rust);padding:var(--s16);z-index:9999;box-shadow:0 -4px 12px rgba(0,0,0,.25)}
.cookie-banner .container{display:flex;flex-direction:column;gap:var(--s16)}
.cookie-banner p{font-size:.9375rem;line-height:1.4;margin:0}
.cookie-actions{display:flex;flex-direction:column;gap:var(--s8);width:100%}
.cookie-btn{padding:var(--s8) var(--s16);font-family:var(--font-display);font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;border:2px solid #f7f2e7;cursor:pointer;background-color:transparent;color:#f7f2e7}
.cookie-btn[data-cookie-choice="accept"]{background-color:var(--rust);border-color:var(--rust);color:#fff}
.cookie-btn[data-cookie-choice="reject"]{background-color:#2a241e}
.cookie-pref-panel{background-color:#2a241e;border:1px solid #4a443b;padding:var(--s16);display:flex;flex-direction:column;gap:var(--s12);margin-top:var(--s12)}
.site-footer :focus-visible,.mobile-menu :focus-visible,.cookie-banner :focus-visible{outline-color:var(--focus-ring-dark)}
@media(min-width:480px){.cookie-actions{flex-direction:row;flex-wrap:wrap}.cookie-actions > button{flex:1 1 auto}}
@media(min-width:768px){.hero-grid{grid-template-columns:1.2fr .8fr;align-items:center}.mosaic{grid-template-columns:repeat(3,1fr)}.mosaic-card.feature{grid-column:span 2;grid-row:span 2}.mosaic-card.feature .mosaic-media{height:340px}.woodblock-strip{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.main-nav{display:block}.nav-toggle{display:none}.cookie-banner .container{flex-direction:row;align-items:center;justify-content:space-between}.cookie-actions{width:auto;flex-wrap:nowrap;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}