:root{--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s64:64px;--max:1160px;--ink:#171717;--paper:#fcfbf7;--surface:#ffffff;--muted:#545452;--hairline:#d8d6ce;--hairline-dark:#2b2a28;--accent:#8b261e;--focus:#1d4ed8;--overlay-bg:rgba(252,251,247,0.94);--dark-bg:#1a1918;--dark-text:#f4f3ee;--dark-muted:#a8a69e;--font-serif:"Charter","Bitstream Charter","Sitka Text","Georgia",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:100%;line-height:1.55;background-color:var(--paper);color:var(--ink);font-family:var(--font-serif);-webkit-text-size-adjust:100%}
body{background-color:var(--paper);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--ink)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;line-height:1.2;color:var(--ink);overflow-wrap:anywhere}
p,li,td,th{overflow-wrap:anywhere}
p{margin-bottom:var(--s16);font-size:1.0625rem}
.skip-link{position:absolute;top:-999px;left:var(--s16);background-color:var(--ink);color:var(--surface);padding:var(--s8) var(--s16);z-index:999;font-family:var(--font-sans);font-size:0.875rem}
.skip-link:focus{top:var(--s16)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.site-footer :focus-visible,.mobile-menu :focus-visible,.cookie-banner :focus-visible{outline-color:#ffffff}
.container{width:min(calc(100% - var(--s32)),var(--max));margin-inline:auto;padding-inline:var(--s16)}
.site-header{height:64px;border-bottom:1px solid var(--hairline);background-color:var(--paper);display:flex;align-items:center}
.header-row{display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - var(--s32)),var(--max));margin-inline:auto;padding-inline:var(--s16);position:relative}
.brand{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:var(--s8);flex-shrink:0;white-space:nowrap}
.brand-mark{width:22px;height:22px;stroke:var(--ink);fill:none;flex-shrink:0}
.desktop-nav{display:flex;align-items:center;gap:var(--s24)}
.desktop-nav a{font-family:var(--font-sans);font-size:0.875rem;font-weight:500;text-decoration:none;color:var(--ink);white-space:nowrap;letter-spacing:0.02em}
.desktop-nav a:hover{color:var(--accent)}
.cta-link{font-family:var(--font-sans);font-size:0.875rem;font-weight:600;padding:var(--s8) var(--s16);background-color:var(--ink);color:var(--paper);text-decoration:none;border:1px solid var(--ink);white-space:nowrap;flex-shrink:0}
.cta-link:hover{background-color:var(--accent);border-color:var(--accent);color:var(--surface)}
.menu-toggle{display:none;background:none;border:1px solid var(--hairline);padding:var(--s8);cursor:pointer}
.menu-toggle-box{width:20px;height:14px;display:flex;flex-direction:column;justify-content:space-between}
.menu-toggle-line{height:2px;background-color:var(--ink);width:100%}
.mobile-overlay{position:fixed;inset:0;background-color:var(--dark-bg);color:var(--dark-text);z-index:900;padding:var(--s24);display:flex;flex-direction:column;overflow-y:auto}
.mobile-overlay[hidden]{display:none}
.mobile-overlay-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--s24);border-bottom:1px solid var(--hairline-dark)}
.close-toggle{background:none;border:1px solid var(--hairline-dark);color:var(--dark-text);font-family:var(--font-sans);padding:var(--s8) var(--s16);cursor:pointer;font-size:0.875rem}
.mobile-nav-list{list-style:none;display:flex;flex-direction:column;gap:var(--s24);margin-block:auto;padding-block:var(--s32)}
.mobile-nav-list a{color:var(--dark-text);font-family:var(--font-serif);font-size:1.375rem;text-decoration:none;overflow-wrap:anywhere}
.mobile-nav-list a:hover{color:var(--surface)}
.hero{padding-block:var(--s64);border-bottom:1px solid var(--hairline)}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s40);align-items:center}
.hero-grid > *{min-width:0}
.kicker{font-family:var(--font-sans);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--accent);margin-bottom:var(--s12);display:block}
.hero h1{font-size:clamp(2.125rem,4vw,3.25rem);margin-bottom:var(--s16);letter-spacing:-0.01em}
.hero-lead{font-size:1.1875rem;line-height:1.6;color:var(--ink);margin-bottom:var(--s24)}
.hero-media{border:1px solid var(--hairline);position:relative}
.hero-media img{width:100%;height:380px;object-fit:cover}
.caption{font-family:var(--font-sans);font-size:0.75rem;color:var(--muted);padding:var(--s8) var(--s12);border-top:1px solid var(--hairline);background-color:var(--surface)}
.section{padding-block:var(--s64);border-bottom:1px solid var(--hairline)}
.section-header{margin-bottom:var(--s40);text-align:left;border-bottom:1px solid var(--hairline);padding-bottom:var(--s16)}
.section-header h2{font-size:clamp(1.75rem,3vw,2.25rem)}
.section-header p{color:var(--muted);font-family:var(--font-sans);font-size:0.9375rem;margin-bottom:0;margin-top:var(--s4)}
.overlay-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s32)}
.overlay-tiles > *{min-width:0}
.overlay-tiles .tile-item:first-child{grid-column:1 / -1}
.tile-item{position:relative;border:1px solid var(--hairline);overflow:hidden;background-color:var(--surface);display:flex;flex-direction:column;height:420px}
.overlay-tiles .tile-item:first-child{height:480px}
.tile-media{width:100%;height:100%;position:relative}
.tile-media img{width:100%;height:100%;object-fit:cover}
.tile-panel{position:absolute;bottom:0;left:0;right:0;background-color:var(--overlay-bg);backdrop-filter:blur(4px);padding:var(--s24);border-top:1px solid var(--hairline);box-shadow:0 -4px 16px rgba(0,0,0,0.06)}
.tile-num{font-family:var(--font-sans);font-size:0.75rem;font-weight:700;letter-spacing:0.1em;color:var(--accent);margin-bottom:var(--s4);text-transform:uppercase}
.tile-title{font-size:1.375rem;margin-bottom:var(--s8)}
.tile-title a{color:var(--ink);text-decoration:none}
.tile-title a:hover{text-decoration:underline;color:var(--accent)}
.tile-desc{font-size:0.9375rem;color:var(--muted);margin-bottom:var(--s12);line-height:1.45}
.tile-link{font-family:var(--font-sans);font-size:0.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:var(--s4)}
.tile-link:hover{color:var(--accent)}
.columns-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s40)}
.columns-two > *{min-width:0}
.article-header{padding-block:var(--s40);border-bottom:1px solid var(--hairline)}
.article-header h1{font-size:clamp(2rem,3.5vw,2.75rem);margin-bottom:var(--s16)}
.article-lead{font-size:1.1875rem;color:var(--ink);line-height:1.6}
.lead-visual{margin-block:var(--s32);border:1px solid var(--hairline)}
.lead-visual img{width:100%;height:auto;max-height:460px;object-fit:cover}
.article-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--s40);padding-block:var(--s40)}
.article-layout > *{min-width:0}
.sidebar-panel{border:1px solid var(--hairline);padding:var(--s24);background-color:var(--surface);position:sticky;top:var(--s24)}
.sidebar-panel h3{font-size:1.125rem;margin-bottom:var(--s12);border-bottom:1px solid var(--hairline);padding-bottom:var(--s8)}
.meta-list{list-style:none;font-family:var(--font-sans);font-size:0.875rem;display:flex;flex-direction:column;gap:var(--s12)}
.meta-list span{display:block;color:var(--muted);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.06em}
.content-body h2{font-size:1.5rem;margin-top:var(--s32);margin-bottom:var(--s12);border-top:1px solid var(--hairline);padding-top:var(--s24)}
.content-body h2:first-of-type{margin-top:0;border-top:none;padding-top:0}
.content-body h3{font-size:1.25rem;margin-top:var(--s24);margin-bottom:var(--s8)}
.content-body ul,.content-body ol{margin-bottom:var(--s24);padding-left:var(--s24)}
.content-body li{margin-bottom:var(--s8);font-size:1.0625rem}
.quote-callout{border-left:3px solid var(--ink);padding-left:var(--s16);margin-block:var(--s24);font-style:italic;color:var(--ink)}
.table-wrapper{overflow-x:auto;margin-block:var(--s24);border:1px solid var(--hairline)}
table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:0.875rem;text-align:left}
th,td{padding:var(--s12);border-bottom:1px solid var(--hairline);vertical-align:top}
th{background-color:#f2f0e8;font-weight:600;color:var(--ink)}
tr:last-child td{border-bottom:none}
.contact-form{display:flex;flex-direction:column;gap:var(--s16);background-color:var(--surface);border:1px solid var(--hairline);padding:var(--s32)}
.form-group{display:flex;flex-direction:column;gap:var(--s8)}
.form-group label{font-family:var(--font-sans);font-size:0.875rem;font-weight:600}
.form-control{font-family:var(--font-sans);font-size:0.9375rem;padding:var(--s12);border:1px solid var(--hairline);background-color:var(--paper);color:var(--ink)}
.form-control:focus{outline:2px solid var(--focus);border-color:var(--focus)}
.form-control.is-invalid{border-color:var(--accent)}
.form-error{color:var(--accent);font-family:var(--font-sans);font-size:0.75rem;display:none}
.form-control.is-invalid + .form-error{display:block}
.submit-btn{font-family:var(--font-sans);font-size:0.875rem;font-weight:600;background-color:var(--ink);color:var(--paper);padding:var(--s12) var(--s24);border:none;cursor:pointer;align-self:flex-start}
.submit-btn:hover{background-color:var(--accent);color:var(--surface)}
.form-notice{font-family:var(--font-sans);font-size:0.8125rem;color:var(--muted);margin-top:var(--s8)}
.site-footer{background-color:var(--dark-bg);color:var(--dark-text);padding-block:var(--s64);font-family:var(--font-sans);font-size:0.875rem;border-top:2px solid var(--hairline-dark)}
.site-footer a{color:var(--dark-text);text-decoration:none}
.site-footer a:hover{color:var(--surface);text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--s40);margin-bottom:var(--s40)}
.footer-grid > *{min-width:0}
.footer-brand{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--surface);margin-bottom:var(--s12)}
.footer-address{font-style:normal;color:var(--dark-muted);line-height:1.6;margin-bottom:var(--s16)}
.footer-col h4{font-family:var(--font-sans);font-size:0.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--dark-muted);margin-bottom:var(--s16)}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--s8)}
.footer-bottom{border-top:1px solid var(--hairline-dark);padding-top:var(--s24);display:flex;flex-direction:column;gap:var(--s8);color:var(--dark-muted);font-size:0.8125rem}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background-color:var(--dark-bg);color:var(--dark-text);border-top:1px solid var(--hairline-dark);padding:var(--s16);z-index:998;box-shadow:0 -4px 16px rgba(0,0,0,0.3)}
.cookie-banner[hidden]{display:none}
.cookie-inner{width:min(calc(100% - var(--s32)),var(--max));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--s24)}
.cookie-text{font-family:var(--font-sans);font-size:0.875rem;color:var(--dark-text);line-height:1.4}
.cookie-actions{display:flex;align-items:center;gap:var(--s8);flex-shrink:0}
.cookie-btn{font-family:var(--font-sans);font-size:0.8125rem;font-weight:600;padding:var(--s8) var(--s16);cursor:pointer;border:1px solid var(--hairline-dark);background-color:transparent;color:var(--dark-text)}
.cookie-btn:hover{background-color:var(--hairline-dark);color:var(--surface)}
.cookie-btn-primary{background-color:var(--surface);color:var(--ink);border-color:var(--surface)}
.cookie-btn-primary:hover{background-color:var(--paper);color:var(--ink)}
.cookie-modal{border-top:1px solid var(--hairline-dark);margin-top:var(--s16);padding-top:var(--s16);font-family:var(--font-sans);font-size:0.8125rem;color:var(--dark-muted)}
.cookie-modal[hidden]{display:none}
@media (max-width:1023px){
.desktop-nav,.header-row > .cta-link{display:none}
.menu-toggle{display:block}
}
@media (max-width:767px){
.hero-grid{grid-template-columns:1fr;gap:var(--s24)}
.overlay-tiles{grid-template-columns:1fr}
.overlay-tiles .tile-item:first-child,.tile-item{height:360px}
.columns-two{grid-template-columns:1fr;gap:var(--s24)}
.article-layout{grid-template-columns:1fr;gap:var(--s24)}
.sidebar-panel{position:static}
.footer-grid{grid-template-columns:1fr;gap:var(--s24)}
.cookie-inner{flex-direction:column;align-items:flex-start}
.cookie-actions{width:100%;flex-direction:row}
.cookie-btn{flex:1 1 auto;text-align:center}
}
@media (max-width:479px){
.cookie-actions{flex-direction:column}
.cookie-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
*{transition-duration:.01ms!important;animation-duration:.01ms!important}
html{scroll-behavior:auto}
}