:root{
--c-paper:#FAF8F3;
--c-surface:#FFFFFF;
--c-ink:#202523;
--c-muted:#525E58;
--c-line:#CBD1C8;
--c-primary:#204D40;
--c-primary-hover:#153B30;
--c-on-primary:#FFFFFF;
--c-focus:#70501A;
--c-error:#9C2525;
--c-error-surface:#FFF3F0;
--c-success:#245D35;
--c-success-surface:#EDF7EC;
--c-pending:#70501A;
--c-pending-surface:#FFF6DF;
--c-disabled-surface:#E8ECE6;
--c-disabled-text:#525E58;
--s-xs:8px;
--s-sm:12px;
--s-md:20px;
--s-lg:32px;
--s-xl:48px;
--s-xxl:72px;
--s-section:112px;
--r-brand-font:"Times New Roman",Times,serif;
--r-brand-size:48px;
--r-brand-weight:700;
--r-brand-line:1.15;
--r-h1-font:"Times New Roman",Times,serif;
--r-h1-size:76px;
--r-h1-weight:400;
--r-h1-line:1.15;
--r-h2-font:"Times New Roman",Times,serif;
--r-h2-size:44px;
--r-h2-weight:400;
--r-h2-line:1.15;
--r-h3-font:"Times New Roman",Times,serif;
--r-h3-size:28px;
--r-h3-weight:400;
--r-h3-line:1.15;
--r-lead-font:"Arial",sans-serif;
--r-lead-size:22px;
--r-lead-weight:400;
--r-lead-line:1.6;
--r-body-font:"Arial",sans-serif;
--r-body-size:18px;
--r-body-weight:400;
--r-body-line:1.6;
--r-nav-font:"Arial",sans-serif;
--r-nav-size:18px;
--r-nav-weight:600;
--r-nav-line:1.6;
--r-contact-font:"Arial",sans-serif;
--r-contact-size:17px;
--r-contact-weight:400;
--r-contact-line:1.6;
--r-label-font:"Arial",sans-serif;
--r-label-size:18px;
--r-label-weight:600;
--r-label-line:1.6;
--r-hint-font:"Arial",sans-serif;
--r-hint-size:16px;
--r-hint-weight:400;
--r-hint-line:1.6;
--r-button-font:"Arial",sans-serif;
--r-button-size:17px;
--r-button-weight:600;
--r-button-line:1.6;
--r-error-font:"Arial",sans-serif;
--r-error-size:17px;
--r-error-weight:400;
--r-error-line:1.6;
--r-caption-font:"Arial",sans-serif;
--r-caption-size:17px;
--r-caption-weight:400;
--r-caption-line:1.6;
--r-table-font:"Arial",sans-serif;
--r-table-size:17px;
--r-table-weight:400;
--r-table-line:1.6;
--r-admin-title-font:"Arial",sans-serif;
--r-admin-title-size:36px;
--r-admin-title-weight:600;
--r-admin-title-line:1.6;
--r-admin-body-font:"Arial",sans-serif;
--r-admin-body-size:17px;
--r-admin-body-weight:400;
--r-admin-body-line:1.6;
--r-status-font:"Arial",sans-serif;
--r-status-size:17px;
--r-status-weight:600;
--r-status-line:1.6;
--r-footer-font:"Arial",sans-serif;
--r-footer-size:17px;
--r-footer-weight:400;
--r-footer-line:1.6;
--r-breadcrumb-font:"Arial",sans-serif;
--r-breadcrumb-size:17px;
--r-breadcrumb-weight:400;
--r-breadcrumb-line:1.6;
--r-index-font:"Arial",sans-serif;
--r-index-size:16px;
--r-index-weight:400;
--r-index-line:1.6;
--page-max:1280px;--page-gutter:48px;--text-max:760px;--control-height:52px;--control-border:1px;--focus-width:3px;--icon-size:24px;--cover-height:280px;--map-height:360px;--book-cols:3;--service-cols:2;--source-plate-max:480px;--motion-hover:160ms;
}
body{font-family:var(--r-body-font);font-size:var(--r-body-size);font-weight:var(--r-body-weight);line-height:var(--r-body-line);letter-spacing:0;text-transform:none;}
h1{font-family:var(--r-h1-font);font-size:var(--r-h1-size);font-weight:var(--r-h1-weight);line-height:var(--r-h1-line);letter-spacing:0;text-transform:none;}
h2{font-family:var(--r-h2-font);font-size:var(--r-h2-size);font-weight:var(--r-h2-weight);line-height:var(--r-h2-line);letter-spacing:0;text-transform:none;}
h3{font-family:var(--r-h3-font);font-size:var(--r-h3-size);font-weight:var(--r-h3-weight);line-height:var(--r-h3-line);letter-spacing:0;text-transform:none;}
.brand{font-family:var(--r-brand-font);font-size:var(--r-brand-size);font-weight:var(--r-brand-weight);line-height:var(--r-brand-line);letter-spacing:0;text-transform:none;}
.lead{font-family:var(--r-lead-font);font-size:var(--r-lead-size);font-weight:var(--r-lead-weight);line-height:var(--r-lead-line);letter-spacing:0;text-transform:none;}
nav a,nav summary,.mobile-menu>summary{font-family:var(--r-nav-font);font-size:var(--r-nav-size);font-weight:var(--r-nav-weight);line-height:var(--r-nav-line);letter-spacing:0;text-transform:none;}
.header-contact{font-family:var(--r-contact-font);font-size:var(--r-contact-size);font-weight:var(--r-contact-weight);line-height:var(--r-contact-line);letter-spacing:0;text-transform:none;}
label{font-family:var(--r-label-font);font-size:var(--r-label-size);font-weight:var(--r-label-weight);line-height:var(--r-label-line);letter-spacing:0;text-transform:none;}
input,textarea,select{font-family:var(--r-admin-body-font);font-size:var(--r-admin-body-size);font-weight:var(--r-admin-body-weight);line-height:var(--r-admin-body-line);letter-spacing:0;text-transform:none;}
button,.button{font-family:var(--r-button-font);font-size:var(--r-button-size);font-weight:var(--r-button-weight);line-height:var(--r-button-line);letter-spacing:0;text-transform:none;}
.field-error{font-family:var(--r-error-font);font-size:var(--r-error-size);font-weight:var(--r-error-weight);line-height:var(--r-error-line);letter-spacing:0;text-transform:none;}
.form-hint,.source-context,.brand-caption,.pagination{font-family:var(--r-hint-font);font-size:var(--r-hint-size);font-weight:var(--r-hint-weight);line-height:var(--r-hint-line);letter-spacing:0;text-transform:none;}
.breadcrumbs{font-family:var(--r-breadcrumb-font);font-size:var(--r-breadcrumb-size);font-weight:var(--r-breadcrumb-weight);line-height:var(--r-breadcrumb-line);letter-spacing:0;text-transform:none;}
.admin-main h1{font-family:var(--r-admin-title-font);font-size:var(--r-admin-title-size);font-weight:var(--r-admin-title-weight);line-height:var(--r-admin-title-line);letter-spacing:0;text-transform:none;}
.admin-main{font-family:var(--r-admin-body-font);font-size:var(--r-admin-body-size);font-weight:var(--r-admin-body-weight);line-height:var(--r-admin-body-line);letter-spacing:0;text-transform:none;}
.gallery-caption{font-family:var(--r-caption-font);font-size:var(--r-caption-size);font-weight:var(--r-caption-weight);line-height:var(--r-caption-line);letter-spacing:0;text-transform:none;}
td,th{font-family:var(--r-table-font);font-size:var(--r-table-size);font-weight:var(--r-table-weight);line-height:var(--r-table-line);letter-spacing:0;text-transform:none;}
footer{font-family:var(--r-footer-font);font-size:var(--r-footer-size);font-weight:var(--r-footer-weight);line-height:var(--r-footer-line);letter-spacing:0;text-transform:none;}
*{box-sizing:border-box}body{margin:0;background:var(--c-paper);color:var(--c-ink)}h1,h2,h3,p{margin:0}h1{margin-bottom:var(--s-lg)}h2{margin:var(--s-lg) 0 var(--s-md)}h3{margin:var(--s-md) 0 var(--s-sm)}p{margin:0 0 var(--s-md)}a{color:var(--c-primary);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}a:hover{color:var(--c-primary-hover)}h1 a,h2 a,h3 a{font:inherit;color:inherit}button,input,textarea,select{color:inherit}button,.button{min-height:var(--control-height);padding:var(--s-sm) var(--s-md);border:var(--control-border) solid var(--c-primary);border-radius:0;background:var(--c-primary);color:var(--c-on-primary);cursor:pointer;text-decoration:none;transition:background var(--motion-hover)}button:hover,.button:hover{background:var(--c-primary-hover)}button.secondary{background:var(--c-surface);color:var(--c-primary)}button:disabled,input:disabled,textarea:disabled,select:disabled{background:var(--c-disabled-surface);color:var(--c-disabled-text);cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:var(--focus-width) solid var(--c-focus);outline-offset:var(--focus-width)}img{max-width:100%;height:auto;display:block}details>summary{cursor:pointer}summary{min-height:44px;display:flex;align-items:center;gap:var(--s-xs)}summary::after{content:'+';font-size:var(--icon-size)}details[open]>summary::after{content:'−'}summary::-webkit-details-marker{display:none}.skip-link{position:fixed;left:var(--s-md);top:var(--s-md);background:var(--c-surface);padding:var(--s-sm);z-index:10;transform:translateY(-200%)}.skip-link:focus{transform:none}.header-inner,.public-main,.admin-main,footer{max-width:calc(var(--page-max) + 2*var(--page-gutter));margin:auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.header-inner{padding-top:var(--s-lg);padding-bottom:var(--s-lg);display:grid;grid-template-columns:1fr 2fr;gap:var(--s-lg);border-bottom:1px solid var(--c-line)}.brand{color:var(--c-ink);text-decoration:none}.brand-caption{margin:var(--s-xs) 0 0}.header-contact{display:flex;flex-wrap:wrap;gap:var(--s-sm) var(--s-md);margin-top:var(--s-md)}.header-contact a{color:inherit}.desktop-nav,.admin-nav{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--s-md)}.desktop-nav a,.desktop-nav summary,.mobile-menu a,.mobile-menu summary{color:var(--c-ink);text-decoration:none}.desktop-nav>a{display:flex;align-items:center;min-height:44px}.nav-group{position:relative}.nav-panel{position:absolute;top:100%;left:0;z-index:5;background:var(--c-surface);border:1px solid var(--c-line);padding:var(--s-md);min-width:260px;max-width:360px;box-shadow:none}.nav-panel a{display:block;padding:var(--s-xs) 0}.mobile-menu{display:none}.public-main,.admin-main{padding-top:var(--s-xl);padding-bottom:var(--s-section)}.breadcrumbs{display:flex;gap:var(--s-sm);flex-wrap:wrap;margin-bottom:var(--s-lg)}.source-context{color:var(--c-muted);max-width:var(--text-max)}.hero-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-lg);margin:var(--s-lg) 0 var(--s-xl)}.hero-books a{min-height:var(--cover-height);display:flex;justify-content:center;align-items:center}.hero-books img{max-height:var(--cover-height);width:auto}.article>.source-copy{max-width:var(--text-max);margin-bottom:var(--s-lg)}.source-copy div{margin-bottom:var(--s-xs)}.source-copy span{font:inherit;color:inherit}.book-grid{display:grid;grid-template-columns:repeat(var(--book-cols),minmax(0,1fr));gap:var(--s-xl) var(--s-lg)}.book-card{min-width:0}.book-images{min-height:var(--cover-height);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s-md);background:var(--c-surface);border:1px solid var(--c-line);padding:var(--s-md)}.book-images a{display:flex;align-items:center;justify-content:center;max-width:100%;min-width:0}.book-images:has(a:nth-child(2)) a{max-width:calc((100% - 2*var(--s-md))/3)}.book-images img{width:auto;max-height:var(--cover-height);object-fit:contain}.book-card .source-copy{max-width:none}.services-grid{display:grid;grid-template-columns:repeat(var(--service-cols),minmax(0,1fr));gap:var(--s-lg);margin-bottom:var(--s-xl)}.services-grid h2{margin-top:0}.source-map{margin:var(--s-lg) 0}.source-map iframe{width:100%;height:var(--map-height);border:1px solid var(--c-line)}.source-identity{margin:var(--s-xl) 0}.source-identity a{display:block;max-width:var(--source-plate-max);margin:var(--s-md) 0}.request-panel{margin-top:var(--s-section);border-top:1px solid var(--c-line);padding-top:var(--s-xl)}.form-panel{max-width:var(--text-max)}.form-panel label,.field{display:block;margin-bottom:var(--s-md)}.field label{margin-bottom:var(--s-xs)}input:not([type=checkbox]):not([type=hidden]),textarea,select{display:block;width:100%;min-height:var(--control-height);border:1px solid var(--c-line);border-radius:0;background:var(--c-surface);padding:var(--s-sm);margin-top:var(--s-xs)}textarea{resize:vertical;min-height:104px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--c-error)}.consent{display:flex!important;align-items:flex-start;gap:var(--s-sm)}input[type=checkbox]{width:22px;height:22px;margin:var(--s-xs) 0 0;flex:none;accent-color:var(--c-primary)}.field-error{color:var(--c-error);margin:var(--s-xs) 0 0}.form-hint{color:var(--c-muted)}.notice{padding:var(--s-md);margin-bottom:var(--s-lg);border:1px solid var(--c-line)}.error-notice{background:var(--c-error-surface);color:var(--c-error)}.success{background:var(--c-success-surface);color:var(--c-success)}.empty{padding:var(--s-lg);background:var(--c-surface);border:1px solid var(--c-line)}.filter-form{display:flex;align-items:end;gap:var(--s-md);flex-wrap:wrap;margin:var(--s-lg) 0}.filter-form label{width:100%}.filter-form select{width:auto;min-width:260px}.table-scroll{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:var(--s-md);text-align:left;border-bottom:1px solid var(--c-line);overflow-wrap:anywhere;vertical-align:top}.pagination,.revision-picker{display:flex;gap:var(--s-md);flex-wrap:wrap;margin:var(--s-lg) 0}.request-details dt,dl dt{font-weight:600;margin-top:var(--s-md)}.request-details dd,dl dd{margin:var(--s-xs) 0 var(--s-md);overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap}.revision-content section{margin-top:var(--s-xl)}.admin-nav form{margin:0}.footer-main{display:grid;grid-template-columns:2fr 1fr;gap:var(--s-lg);padding-top:var(--s-xl);border-top:1px solid var(--c-line)}.footer-main nav{display:flex;flex-direction:column;gap:var(--s-sm)}.credit{border-top:1px solid var(--c-line);padding:var(--s-md) 0 var(--s-lg);margin-top:var(--s-lg)}dialog{background:var(--c-paper);color:var(--c-ink);border:1px solid var(--c-line);width:min(calc(100% - 2*var(--s-md)),var(--page-max));max-height:90dvh;padding:var(--s-md)}dialog::backdrop{background:rgb(32 37 35 / .7)}.gallery-toolbar{display:flex;gap:var(--s-sm);flex-wrap:wrap;justify-content:space-between}.gallery-image{display:flex;align-items:center;justify-content:center;margin:var(--s-md) 0;background:var(--c-surface);min-height:260px}.gallery-image img{max-width:100%;max-height:60dvh;width:auto;object-fit:contain}.gallery-status{color:var(--c-error)}[hidden]{display:none!important}html{scroll-padding-top:var(--s-md)}
@media(max-width:1100px){:root{--r-brand-size:42px;--r-h1-size:58px;--r-h2-size:38px;--r-h3-size:26px;--r-lead-size:21px;--r-body-size:18px;--r-nav-size:18px;--r-contact-size:17px;--r-label-size:18px;--r-hint-size:16px;--r-button-size:17px;--r-error-size:17px;--r-caption-size:17px;--r-table-size:17px;--r-admin-title-size:32px;--r-admin-body-size:17px;--r-status-size:17px;--r-footer-size:17px;--r-breadcrumb-size:17px;--r-index-size:16px;--page-gutter:32px;--book-cols:2;--cover-height:260px;}.header-inner{grid-template-columns:1fr}.header-right{min-width:0}.nav-panel{max-width:320px}}
@media(max-width:680px){:root{--r-brand-size:34px;--r-h1-size:42px;--r-h2-size:32px;--r-h3-size:24px;--r-lead-size:20px;--r-body-size:17px;--r-nav-size:17px;--r-contact-size:17px;--r-label-size:17px;--r-hint-size:16px;--r-button-size:17px;--r-error-size:17px;--r-caption-size:17px;--r-table-size:17px;--r-admin-title-size:28px;--r-admin-body-size:17px;--r-status-size:17px;--r-footer-size:17px;--r-breadcrumb-size:17px;--r-index-size:16px;--page-gutter:20px;--book-cols:1;--service-cols:1;--map-height:300px;}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu nav{padding:var(--s-md) 0}.mobile-menu nav>a{display:block;padding:var(--s-sm) 0}.mobile-menu .nav-panel{position:static;min-width:0;width:100%;max-width:none}.header-contact{flex-direction:column}.public-main,.admin-main{padding-top:var(--s-lg)}.footer-main{grid-template-columns:1fr}.hero-books{grid-template-columns:1fr}.hero-books a{min-height:260px}.filter-form select{width:100%;min-width:0}.requests-table thead{display:none}.requests-table tr{display:block;padding:var(--s-md) 0;border-bottom:1px solid var(--c-line)}.requests-table td{display:block;border:0;padding:var(--s-sm) 0}.requests-table td:before{content:attr(data-label);display:block;font-weight:600;margin-bottom:var(--s-xs)}.gallery-toolbar button{flex:1}.admin-nav{gap:var(--s-sm)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
