:root{--ink:#203340;--blue:#335a72;--paper:#fff;--line:#dce3e7;--muted:#5b6972}*{box-sizing:border-box}body{margin:0;background:#9eafbf;color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:var(--blue);text-underline-offset:4px}a:hover{color:#111}.shell{max-width:1100px;margin:32px auto;background:var(--paper);box-shadow:0 8px 40px #20334018}.masthead{padding:34px 42px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-size:30px;line-height:1.2;font-weight:bold;text-decoration:none;color:#17242c}.brand small{display:block;font-size:12px;font-weight:normal;letter-spacing:1.3px;margin-top:10px}.masthead>p{max-width:260px;font-size:14px;color:var(--muted)}.banner{width:calc(100% - 84px);height:auto;max-height:230px;object-fit:cover;display:block;margin:0 42px;border-top:4px solid #17242c}nav{display:flex;flex-wrap:wrap;gap:0;background:#17242c;margin:0 42px}nav a{padding:14px 19px;color:#fff;text-decoration:none;font-size:14px}nav a:hover,nav a[aria-current]{background:#36586c;color:#fff}main{padding:46px 42px}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:48px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:bold;color:#657b8b;margin:0 0 14px}h1{font-family:Georgia,serif;font-weight:normal;font-size:43px;line-height:1.16;margin:0 0 24px;letter-spacing:-1px}h2{font-size:20px;line-height:1.35}.lead{font-size:20px;line-height:1.6;color:#415566;margin-top:0}.prose{font-family:Georgia,serif;font-size:17px}.prose p{margin:22px 0;white-space:normal}.services{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;margin-top:32px}.services>a{border-top:1px solid var(--line);padding:16px 0;text-decoration:none}.services h2{font-size:18px;margin:0 0 10px}.services h2 span{float:right}.services p{font-size:14px;color:var(--muted);margin:0}.callout{padding:25px;background:#edf2f5;margin-top:26px;border-left:3px solid #52788e}.button,button{display:inline-block;background:#274b62;color:#fff;border:0;border-radius:2px;padding:12px 18px;text-decoration:none;font:inherit;cursor:pointer}.button:hover,button:hover{background:#172f3e;color:#fff}aside{border-left:1px solid var(--line);padding-left:25px;font-size:14px}aside h2{font-size:15px;margin:0 0 12px}.aside-link{display:block;margin:12px 0}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.muted{color:var(--muted)}footer{border-top:3px solid #17242c;margin:0 42px;padding:25px 0;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}footer p{margin:8px 0}.page-image{max-width:100%;max-height:320px;object-fit:contain;float:right;margin:0 0 22px 24px}.contacts{padding:25px;background:#edf2f5}.contacts>.button{margin-right:20px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:12px;z-index:5}:focus-visible{outline:3px solid #c27922;outline-offset:3px}.admin-shell{max-width:1000px;margin:32px auto;padding:32px;background:white}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-shell h1{font-size:34px}.admin-shell label{display:block;font-weight:bold;margin:16px 0 5px}.admin-shell input:not([type=checkbox]),.admin-shell textarea,.admin-shell select{width:100%;padding:11px;border:1px solid #aab9c3;border-radius:2px;font:inherit}.admin-shell textarea{min-height:160px}.admin-shell .short{min-height:75px}.notice{background:#ecf3ec;padding:15px;border-left:4px solid #52734c}.error{background:#fff0ec;border-color:#b34c32}.admin-nav{display:flex;flex-wrap:wrap;gap:15px;margin:25px 0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery img{width:100%;height:110px;object-fit:contain;background:#eef1f3}.gallery code{font-size:11px;overflow-wrap:anywhere}.inline{display:inline}.admin-shell .inline button{padding:5px 12px}.row{border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between;gap:20px}.checks{display:flex;gap:25px;flex-wrap:wrap}.help{font-size:13px;color:var(--muted)}@media(max-width:760px){.shell{margin:0}.masthead{padding:25px;display:block}.masthead>p{max-width:none}.banner{margin:0 20px;width:calc(100% - 40px)}nav{margin:0 20px}nav a{padding:12px;font-size:13px}main{padding:32px 24px}.main-grid{grid-template-columns:1fr;gap:32px}h1{font-size:34px}aside{border-left:0;border-top:1px solid var(--line);padding:25px 0}.services{grid-template-columns:1fr}footer{margin:0 24px;display:block}.admin-shell{margin:0;padding:24px}.admin-top{align-items:flex-start;flex-direction:column}.gallery{grid-template-columns:repeat(2,1fr)}.page-image{float:none;margin:0 0 20px;max-width:100%}}
