/* Archivo vivo — local fonts, paper, editorial red and pine. */
:root{--background:#f6f2ea;--surface:#fff;--surface-alt:#eae3d8;--text-primary:#202824;--text-secondary:#52605a;--border:#747d75;--brand-primary:#9e3426;--brand-secondary:#254b3d;--action-primary:#9e3426;--action-hover:#7c281e;--focus:#075db3;--success:#23633d;--warning:#805000;--error:#a12622;--on-action:#fff;--font-body:system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:Georgia,"Times New Roman",serif;--reading:42rem;--container:75rem;--gutter:1rem;--section-gap:4rem}
*{box-sizing:border-box}html{font-size:100%}body{margin:0;background:var(--background);color:var(--text-primary);font-family:var(--font-body);font-size:1.125rem;line-height:1.65}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--brand-primary);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}p{margin:0 0 1rem}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.15;margin:0 0 1rem;overflow-wrap:anywhere}h1{font-size:2.5rem;letter-spacing:-.035em}h2{font-size:2rem;letter-spacing:-.025em}h3{font-size:1.5rem}em{font-weight:400}figure{margin:0}ul{padding-left:1.5rem}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 3px var(--surface)}main:focus{outline:none}.container{max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}.reading{max-width:var(--reading);margin-inline:auto}.section{padding-block:var(--section-gap)}.page-section{padding-top:3rem}.eyebrow{font-size:.875rem;font-weight:600;line-height:1.5;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:1rem}.metadata,.field-help,.form-note{color:var(--text-secondary);font-size:1rem;line-height:1.5}.lead{font-size:1.25rem;line-height:1.5}.text-link{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;font-size:1rem;font-weight:600}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:1.5rem;min-height:44px;padding:.75rem 1.25rem;border:1px solid var(--action-primary);border-radius:.375rem;background:var(--action-primary);color:var(--on-action);text-decoration:none;font-size:1rem;font-weight:600;line-height:1.5;transition:background-color 120ms ease-out}.button:hover{background:var(--action-hover);border-color:var(--action-hover);text-decoration:none}.button-secondary{background:transparent;color:var(--text-primary);border-color:var(--border)}.button-secondary:hover{background:var(--surface-alt);border-color:var(--border)}.button:disabled{cursor:wait;background:var(--surface-alt);color:var(--text-secondary);border-color:var(--border)}.full-width{width:100%}.skip-link{position:absolute;top:1rem;left:1rem;transform:translateY(-200%);background:var(--surface);padding:.75rem;z-index:50}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Navigation remains visible without JavaScript. */
.site-header{border-top:5px solid var(--brand-primary)}.header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.5rem}.wordmark{display:flex;flex-direction:column;color:var(--text-primary);font-family:var(--font-display);font-size:1.75rem;line-height:1.1;text-decoration:none;letter-spacing:-.04em}.wordmark-small{font-family:var(--font-body);font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin-bottom:.5rem;color:var(--text-secondary)}.wordmark-dot{color:var(--brand-primary)}.header-tools{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.utility-link{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;gap:.5rem;color:var(--text-primary)}.menu-toggle{border:1px solid var(--border);border-radius:.375rem;background:transparent;min-height:44px;padding:.5rem .75rem;font-size:1rem;color:var(--text-primary)}.main-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;border-block:1px solid var(--border);padding-block:.5rem}.main-nav a{font-size:1rem;color:var(--text-primary);padding:.5rem 0;min-height:44px;text-decoration:none}.main-nav a:hover{text-decoration:underline}.main-nav a[aria-current]{color:var(--brand-primary);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}.nav-note{display:none;font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--text-secondary);margin-left:auto;align-self:center}
/* Homepage: asymmetrical, no text over photographs. */
.hero{display:grid;gap:3rem;padding-block:3rem 4rem}.hero .eyebrow{display:flex;align-items:center;gap:.75rem}.tiny-rule{width:1.5rem;height:2px;background:var(--brand-primary)}.hero h1{font-size:3.25rem;line-height:1.04;margin:1.5rem 0}.hero h1 em{color:var(--brand-primary)}.hero-lead{font-size:1.25rem;line-height:1.5;max-width:27rem;margin-bottom:2rem}.hero-location{font-size:.875rem;color:var(--text-secondary);margin:2rem 0 0}.hero-photo{align-self:center;min-width:0}.hero-photo-frame{background:var(--surface-alt);padding:.5rem;border:1px solid var(--border)}.hero-photo img{width:100%;aspect-ratio:3/2;object-fit:contain;background:var(--surface-alt)}.hero-photo figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.875rem;color:var(--text-secondary);padding-top:1rem}.caption-index{font-size:.75rem;letter-spacing:.06em}.hero-reserve{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:1.5rem;color:var(--brand-secondary);text-align:center;border:1px solid var(--border)}.hero-reserve span{font-family:var(--font-display);font-size:2.5rem}.hero-reserve p{font-size:1rem}.archive-strip{border-block:1px solid var(--border)}.archive-strip .container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;padding-block:1rem}.archive-strip p{font-family:var(--font-display);font-size:1.25rem;margin:0}.archive-strip a{display:inline-flex;align-items:center;gap:1rem;min-height:44px;font-size:1rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem 2rem;margin-bottom:2rem}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:.75rem}.article-grid,.album-grid,.photo-grid,.video-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem 1.5rem}.article-card{position:relative;border-top:1px solid var(--border);padding-top:1rem}.card-image{aspect-ratio:4/3;overflow:hidden;background:var(--surface-alt)}.card-image img{height:100%;width:100%;object-fit:cover}.editorial-image img{object-fit:contain}.card-copy{padding-block:1.5rem}.card-copy .eyebrow{display:flex;gap:.5rem;flex-wrap:wrap}.card-copy h3 a{color:var(--text-primary);text-decoration:none}.card-copy h3 a:hover{text-decoration:underline}.card-copy h3{padding-right:1.5rem}.card-copy>p:not(.eyebrow){font-size:1rem;color:var(--text-secondary)}.card-arrow{color:var(--brand-primary);font-size:1.5rem;display:block}.article-card h3 a::after{content:"";position:absolute;inset:0}.article-card:focus-within{outline:3px solid var(--focus);outline-offset:3px}.article-card a:focus-visible{outline:none;box-shadow:none}.gallery-section{background:var(--surface-alt);border-block:1px solid var(--border)}.album-card a{display:block;color:var(--text-primary);text-decoration:none}.album-copy{display:flex;justify-content:space-between;gap:1rem;padding-block:1.25rem;border-bottom:1px solid var(--border)}.album-copy h3{margin-bottom:.5rem}.album-copy .eyebrow{margin-bottom:.5rem}.album-copy p:last-child{margin-bottom:0}.album-card a:hover h3{text-decoration:underline;text-underline-offset:.2em}.album-arrow{font-size:1.5rem;color:var(--brand-primary)}.image-reserve{height:100%;min-height:12rem;display:flex;align-items:center;justify-content:center;padding:1.5rem;font-family:var(--font-display);color:var(--text-secondary)}.history-panel{background:var(--brand-secondary);color:var(--on-action);display:grid;gap:1.5rem;padding:2rem;border-radius:.375rem}.history-panel .eyebrow{color:var(--on-action)}.history-panel h2{margin-bottom:0}.history-panel p{max-width:30rem}.history-panel a:focus-visible{outline-color:var(--on-action);box-shadow:0 0 0 3px var(--brand-secondary)}.button-light{background:var(--background);color:var(--brand-secondary);border-color:var(--background)}.button-light:hover{background:var(--surface);border-color:var(--surface)}.members-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;padding-block:2rem;border-bottom:1px solid var(--border)}.members-strip h2{font-size:1.5rem;margin-bottom:.5rem}.members-strip p{font-size:1rem;margin:0;color:var(--text-secondary)}
/* Content and archive pages. */
.page-heading{max-width:48rem;margin-bottom:2.5rem}.page-heading>p:last-child{max-width:42rem;color:var(--text-secondary);font-size:1.25rem;line-height:1.5}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:.875rem;margin-bottom:2rem}.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center}.article-detail header{margin-bottom:2rem}.article-detail h1{font-size:2.5rem}.article-cover{margin-block:2rem}.article-cover img{width:100%;max-height:55rem;object-fit:contain;background:var(--surface-alt)}figcaption{font-size:.875rem;line-height:1.5;color:var(--text-secondary);padding-top:.75rem}.prose{overflow-wrap:anywhere}.prose h2{margin-top:2.5rem}.prose h3{margin-top:2rem}.prose p,.prose ul,.prose ol{margin-bottom:1.5rem}.prose img{max-width:100%!important;height:auto!important;margin-block:1.5rem}.prose iframe,.prose video{max-width:100%}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.prose td,.prose th{padding:.5rem;border:1px solid var(--border)}.prose blockquote{border-left:3px solid var(--brand-primary);margin:2rem 0;padding-left:1.5rem;font-family:var(--font-display);font-size:1.5rem}.article-back{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.empty-state{padding:2rem;border:1px solid var(--border);background:var(--surface);border-radius:.375rem}.empty-state p{max-width:42rem}.empty-state h2{font-size:1.5rem}.results-summary{margin-block:2rem;color:var(--text-secondary);font-size:1rem}.search-results{margin-top:3rem}.search-prompt{margin-top:3rem;border-top:1px solid var(--border);padding-top:2rem;font-family:var(--font-display);font-size:2rem;color:var(--text-secondary)}.photo-card{min-width:0}.photo-card>a{display:block;position:relative;background:var(--surface-alt)}.photo-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.photo-expand{position:absolute;bottom:.5rem;right:.5rem;background:var(--surface);color:var(--text-primary);padding:.25rem .5rem;font-size:.875rem;border:1px solid var(--border);border-radius:.375rem}.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:3rem}.pagination p{margin:0;font-size:1rem}.video-card{border:1px solid var(--border);background:var(--surface);border-radius:.375rem;overflow:hidden}.video-art{aspect-ratio:16/9;background:var(--brand-secondary);color:var(--on-action);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.video-art span{font-size:2.5rem}.video-art small{font-size:.875rem;letter-spacing:.05em}.video-card .card-copy{padding:1.5rem}.video-card h2{font-size:1.5rem}.error-page{padding-block:2rem 4rem}
/* Forms: native controls, truthful server-confirmed state. */
.field{margin-bottom:1.5rem;min-width:0}.field label{display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:.75rem;border:1px solid var(--border);border-radius:.375rem;background:var(--surface);color:var(--text-primary);font-size:1rem;line-height:1.5}.field input::placeholder{color:var(--text-secondary);opacity:1}.field textarea{resize:vertical}.field input[type=file]{padding:.5rem}.field input::file-selector-button{font:inherit;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;background:var(--surface-alt);color:var(--text-primary);margin-right:.75rem;cursor:pointer}.field-help{margin:.5rem 0 0}.search-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;max-width:48rem}.search-form .field{flex:1 1 15rem;margin:0}.search-form>.text-link{align-self:flex-end}.search-form>.button{flex:0 1 auto}.account-layout{display:grid;gap:3rem;align-items:start}.account-intro p{max-width:30rem;color:var(--text-secondary);font-size:1.25rem}.account-intro h1{line-height:1.1}.form-panel{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;min-width:0}.form-panel h2{font-size:1.75rem}.form-note{margin-bottom:2rem}.password-toggle{display:inline-block;min-height:44px;background:none;border:0;color:var(--brand-primary);padding:.5rem 0;font-size:.875rem;text-decoration:underline;text-underline-offset:.2em}.notice{padding:1.25rem;margin-bottom:1.5rem;background:var(--surface);border:1px solid currentColor;border-left:4px solid currentColor;border-radius:.375rem}.notice h2,.notice h3{font-family:var(--font-body);font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.notice p{font-size:1rem;margin-bottom:.5rem}.notice p:last-child{margin-bottom:0}.notice a{color:inherit}.notice-error{color:var(--error)}.notice-success{color:var(--success)}.notice-warning{color:var(--warning)}.logout-form{margin-top:2rem}.upload-layout{display:grid;gap:2rem;align-items:start}.upload-layout fieldset{border:0;padding:0;margin:0 0 1.5rem;min-width:0}.upload-layout legend{font-family:var(--font-display);font-size:1.5rem;padding:0;margin-bottom:1.5rem}.upload-aside{border-top:1px solid var(--border);padding-top:1.5rem}.upload-aside p:not(.eyebrow){font-size:1rem;color:var(--text-secondary)}.file-list{list-style:none;padding:0;margin:0}.file-list li{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--border);font-size:1rem}.file-list .file-name{flex:1;min-width:0;overflow-wrap:anywhere}.file-list button{background:transparent;border:1px solid var(--border);color:var(--text-primary);border-radius:.375rem;font-size:.875rem;min-height:44px;padding:.5rem}.file-invalid{color:var(--error)}
/* Footer and native modal viewer. */
.site-footer{border-top:1px solid var(--border);padding-top:3rem}.footer-grid{display:grid;gap:2rem;padding-bottom:3rem}.footer-brand{font-family:var(--font-display);font-size:1.75rem;color:var(--text-primary);text-decoration:none}.footer-grid p{font-size:1rem;color:var(--text-secondary);margin:1rem 0 0}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start}.footer-grid a:not(.footer-brand){font-size:1rem;min-height:44px;display:inline-flex;align-items:center}.footer-members p{max-width:20rem}.footer-bottom{border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:1.5rem;color:var(--text-secondary);font-size:.875rem}.photo-dialog{max-width:calc(100% - 2rem);width:70rem;max-height:calc(100dvh - 2rem);padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);color:var(--text-primary);overflow:auto}.photo-dialog:not([open]){display:none}.photo-dialog::backdrop{background:rgb(32 40 36 / .85)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.viewer-toolbar h2{font-family:var(--font-body);font-size:1rem;letter-spacing:normal;margin:0}.photo-dialog img{width:100%;height:auto;max-height:70dvh;object-fit:contain}.photo-dialog figcaption:empty{display:none}
@media(min-width:40rem){:root{--gutter:1.5rem}.wordmark{font-size:2.25rem}.wordmark-small{font-size:.75rem}.article-grid,.album-grid,.photo-grid,.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-panel{padding:2rem}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.history-panel{padding:3rem}.hero h1{font-size:4.25rem}.hero-photo-frame{padding:.75rem}.page-heading h1{font-size:3.5rem}.article-detail h1{font-size:3rem}}
@media(min-width:64rem){:root{--gutter:2rem;--section-gap:6rem}h1{font-size:4.25rem}h2{font-size:2.75rem}.header-top{padding-block:2rem}.wordmark{font-size:2.75rem}.main-nav{gap:2rem;padding-block:.75rem}.nav-note{display:block}.menu-toggle{display:none!important}.main-nav[hidden]{display:flex!important}.hero{grid-template-columns:.9fr 1.1fr;gap:3rem;padding-block:4rem 5rem;align-items:center}.hero h1{font-size:4.75rem}.hero-photo{margin-top:2rem}.hero-location{margin-top:3rem}.article-grid,.album-grid,.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.history-panel{grid-template-columns:1.1fr 1fr;gap:3rem;padding:3rem}.history-panel>div:last-child{align-self:center}.account-layout{grid-template-columns:1fr 1fr;gap:6rem}.account-intro h1{font-size:3.5rem}.upload-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:3rem}.page-section{padding-top:4rem}.page-heading h1{font-size:4.25rem}.article-detail h1{font-size:3.5rem}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:39.999rem){.header-top{align-items:flex-start}.header-tools{gap:.25rem;flex-direction:column;align-items:flex-end}.hero .actions{align-items:flex-start;flex-direction:column}.main-nav.is-enhanced{flex-direction:column;gap:0;padding-block:.75rem}.main-nav.is-enhanced a{padding:.5rem}.footer-bottom{flex-direction:column}.photo-dialog{padding:.75rem}.hero h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight;box-shadow:none}.button,.photo-expand,.notice,.hero-photo-frame,.image-reserve{border:1px solid ButtonText}.photo-dialog::backdrop{background:Canvas}.card-arrow,.album-arrow{color:LinkText}}
@media print{.site-header,.site-footer,.article-back,.photo-dialog,.actions{display:none}.section{padding-block:0}body{background:#fff;color:#000}.reading{max-width:none}a{color:#000}.prose img{break-inside:avoid}}
.inline-form{display:inline;margin-inline-start:1rem}
