:root{--ink:#192a27;--muted:#5b6864;--green:#14372f;--green-hover:#215044;--accent:#c6d6b4;--paper:#fff;--soft:#f2f5f3;--line:#dce3df;--radius:5px;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #b37822;outline-offset:5px;border-radius:2px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}h2{font-size:clamp(1.9rem,3vw,2.45rem);font-weight:600;letter-spacing:-.035em}h3{font-size:1.23rem;font-weight:600;letter-spacing:-.015em}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}strong{font-weight:600}.container{width:calc(100% - 96px);max-width:1200px;margin:auto}.muted{color:var(--muted)}.small-label{font-size:0.875rem;line-height:1.5;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:30;background:white;padding:12px 20px;transform:translateY(-200%);box-shadow:0 2px 10px #0002}.skip-link:focus{transform:translateY(0)}
.region-line{background:var(--soft);font-size:0.875rem;color:#4c5c56}.region-line .container{display:flex;justify-content:space-between;gap:24px;padding-block:10px}.region-tag{white-space:nowrap}.site-header{position:sticky;top:0;background:#fffffffa;z-index:10;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:100px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;width:49px;height:55px;background:var(--green);color:white;font-size:1.1rem;font-weight:700;line-height:1.2;letter-spacing:.05em;border-radius:3px}.brand-mark span{font-size:0.875rem;letter-spacing:.16em;color:var(--accent);margin-top:3px}.brand-text{font-size:1rem;line-height:1.4;font-weight:700}.brand-text small{display:block;font-size:0.875rem;font-weight:400;color:var(--muted);margin-top:3px}nav{display:flex;gap:28px;align-items:center;font-size:0.875rem}nav a{padding-block:15px;white-space:nowrap}nav a:hover{color:var(--green-hover);text-decoration:underline;text-underline-offset:6px}
.hero{background:var(--green);color:#fff}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:center;padding-top:62px;padding-bottom:65px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:0.875rem;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;color:#c7d8d1;margin-bottom:21px}.eyebrow>span{width:22px;height:1px;background:#b4cbad}.eyebrow.dark{color:#547363;margin-bottom:14px;font-size:0.875rem;font-weight:600;letter-spacing:.12em}.hero h1{font-size:clamp(2.8rem,5.6vw,4.7rem);font-weight:500;line-height:1.02;letter-spacing:-.045em;margin-bottom:21px}.hero-description{max-width:490px;font-size:1.08rem;line-height:1.65;color:#d1dfd8;margin-bottom:31px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:49px;padding:13px 20px;border-radius:var(--radius);font-size:0.91rem;font-weight:600;line-height:1.5;transition:background .15s}.button-light{background:#f3f6ee;color:var(--green)}.button-light:hover{background:#d8e4cd}.button span{font-size:1.2rem;font-weight:400}.button-dark{color:white;background:var(--green)}.button-dark:hover{background:var(--green-hover)}.button svg{width:19px;height:19px}
.visit-card{padding:29px 32px;border:1px solid #527469;align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin-block:12px;background:#204238}.visit-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.visit-heading svg{width:25px;height:25px;color:#b2c6a3}.visit-card .small-label{color:#c0d1c8}.visit-card h2{font-size:1.5rem;letter-spacing:-.02em;font-weight:500;margin-bottom:9px}.visit-card>p{color:#ccdbd3;font-size:0.95rem}.map-link{align-self:flex-start;font-size:0.875rem;display:flex;gap:35px;align-items:center;margin-top:14px;text-decoration:underline;text-underline-offset:5px}.map-link:hover{color:var(--accent)}.visit-phone{border-top:1px solid #527469;margin-top:25px;padding-top:19px;display:flex;flex-direction:column;gap:7px}.visit-phone>a{font-size:1.6rem;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.visit-phone>a:hover{color:var(--accent)}
.working-hours{border-bottom:1px solid var(--line)}.hours-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;padding-block:28px;gap:30px;align-items:center}.hours-title{display:flex;align-items:center;gap:16px;line-height:1.4;font-size:0.96rem;font-weight:600}.hours-title svg{width:28px;height:28px;color:#527262}.hours-title small{font-weight:400;font-size:0.875rem;color:var(--muted)}.hours-label{display:block;font-size:0.875rem;color:var(--muted);margin-bottom:5px}.hours-grid strong{display:block;font-size:1.13rem;font-variant-numeric:tabular-nums}
.section{padding-top:70px;padding-bottom:72px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px}.section-caption{font-size:0.9rem;color:var(--muted);line-height:1.6;margin-bottom:3px}.schedule-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.schedule-main{border:1px solid var(--line);border-radius:var(--radius);padding:29px 30px 23px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.schedule-table{border-collapse:collapse;width:100%;font-size:0.96rem;line-height:1.5}.schedule-table th,.schedule-table td{padding:14px 0;border-bottom:1px solid var(--line)}.schedule-table tr:last-child th,.schedule-table tr:last-child td{border-bottom:0}.schedule-table th{text-align:left;font-weight:400}.schedule-table td{text-align:right;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.schedule-table .no-reception td{color:#7a4933;font-size:0.875rem}.schedule-table .no-reception th{color:#7a4933}.lunch-note{margin-top:18px;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:8px;font-size:0.875rem;color:var(--muted);flex-wrap:wrap}.lunch-note svg{width:17px;height:17px;margin-right:1px}.lunch-note strong{color:var(--ink)}.special-schedules{display:flex;flex-direction:column;gap:20px}.special-card{background:var(--soft);border:1px solid #e8eeea;border-radius:var(--radius);padding:27px 30px}.special-card h3,.personal-card h3{margin-block:10px 13px;line-height:1.4;font-size:1.17rem}.special-card>.muted{font-size:0.875rem;max-width:400px}.time-line{display:flex;align-items:center;gap:23px;margin-top:18px;font-size:0.91rem}.time-line strong{font-size:1.23rem;font-variant-numeric:tabular-nums}.schedule-footnote{font-size:0.875rem;color:var(--muted);margin-top:10px}.personal-card{border-left:3px solid #7a9273;padding:9px 28px;margin:7px 0 0 2px}.personal-card h3{margin-bottom:8px}.personal-card .time-line{margin-top:12px}
.contact-section{background:#f5f7f5}.contact-list{border-top:1px solid #bbc9c0}.contact-row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:center}.contact-row>div:first-child{display:flex;gap:25px;align-items:baseline}.contact-index{color:#688371;font-size:0.875rem;flex-shrink:0;font-variant-numeric:tabular-nums}.contact-row h3{font-size:1rem;line-height:1.65;font-weight:400;letter-spacing:0}.phone{display:inline-flex;gap:32px;align-items:center;font-size:1.19rem;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}.phone span{color:#678871;font-size:1rem}.phone:hover{color:#286a4d;text-decoration:underline;text-underline-offset:5px}.phone-stack{display:flex;flex-direction:column;gap:9px}
.leadership-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;margin-top:38px}.person{padding-top:25px;border-top:1px solid var(--line);position:relative}.person-line{position:absolute;top:-1px;left:0;width:36px;height:3px;background:#466b56}.person h3{font-size:1.3rem;line-height:1.45;font-weight:500;margin-block:14px 15px;letter-spacing:-.025em}.person>.muted{font-size:0.875rem;line-height:1.6;max-width:310px}.vacancy h3{color:var(--muted)}.vacancy .person-line{background:#a8b8ae}
.documents-section{background:#edf2ee}.document-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;padding:32px}.document-icon{display:flex;flex-direction:column;gap:4px;align-items:center;color:#466b56}.document-icon svg{width:39px;height:45px;stroke-width:1.4}.document-icon span{font-size:0.875rem;font-weight:700;letter-spacing:.08em}.document-copy h3{font-size:1.16rem;line-height:1.4;margin-bottom:7px}.document-copy>p{font-size:0.9rem;color:var(--muted);max-width:565px}.document-copy>.document-note{font-size:0.875rem;margin-top:10px;color:#5d6150}.download{gap:17px;white-space:nowrap}
.site-footer{background:#122d27;color:#c1d1c8;padding-block:41px 22px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:36px}.footer-title{font-size:1.14rem;font-weight:600;color:#fff}.footer-top p{font-size:0.875rem;line-height:1.7;margin-top:9px}.footer-address{min-width:230px}.footer-address p{margin-top:0}.footer-address>a{display:inline-block;font-size:0.94rem;margin-top:9px;color:#e8eee9}.footer-bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid #355147;padding-top:22px;font-size:0.875rem;color:#acbfb3}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.footer-bottom a:hover{color:#fff}
@media(min-width:1500px){.hero-grid{padding-block:72px}.hero h1{font-size:4.9rem}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}nav{gap:18px}.brand-text{font-size:0.94rem}.header-inner{gap:18px}.hero-grid{gap:40px}.visit-card{padding:25px}.hero .eyebrow{font-size:0.875rem}.hours-grid{gap:22px}.hours-label{font-size:0.875rem}.schedule-grid{gap:20px}.schedule-main,.special-card{padding:24px}.schedule-table{font-size:0.875rem}.document-card{grid-template-columns:auto 1fr}.download{grid-column:2;justify-self:start}.leadership-grid{gap:26px}}
@media(max-width:850px){.header-inner{flex-direction:column;align-items:flex-start;gap:5px;padding-top:17px;padding-bottom:8px;min-height:auto}nav{width:100%;justify-content:space-between;gap:20px}nav a{padding-block:8px}.brand-mark{width:41px;height:43px;font-size:0.95rem}.brand-mark span{font-size:0.875rem}.brand-text small{display:inline;margin-left:8px;font-size:0.875rem}.brand{gap:12px}.hero-grid{gap:28px;grid-template-columns:1.15fr 1fr;padding-block:46px}.hero h1{font-size:3.4rem}.hero-description{font-size:0.96rem}.hero .eyebrow{max-width:320px;align-items:start}.hero .eyebrow span{margin-top:7px;flex-shrink:0}.visit-card h2{font-size:1.23rem}.visit-phone>a{font-size:1.3rem}.hours-grid{grid-template-columns:1fr 1fr;gap:22px 32px}.schedule-grid{grid-template-columns:1fr}.special-schedules{display:grid;grid-template-columns:1fr 1fr}.personal-card{align-self:start;margin-top:10px;padding:9px 20px}.special-card{padding:23px}.time-line{gap:16px}.schedule-table{font-size:1rem}.schedule-table th,.schedule-table td{padding-block:13px}.section{padding-block:52px}.phone{gap:20px;font-size:1.07rem}.contact-row>div:first-child{gap:16px}.contact-row h3{font-size:0.93rem}.leadership-grid{gap:25px}.person h3{font-size:1.13rem}.person .small-label{font-size:0.875rem}.footer-bottom{justify-content:flex-start}.footer-bottom a{flex-basis:100%;order:3}}
@media(max-width:600px){:root{scroll-padding-top:148px}.container{width:calc(100% - 40px)}.region-line .container{font-size:0.875rem;padding-block:8px}.region-tag{display:none}.header-inner{padding-top:14px;padding-bottom:6px;gap:9px}.brand-text{font-size:0.9rem}.brand-text small{display:block;margin-left:0;margin-top:1px;font-size:0.875rem}nav{gap:12px;flex-wrap:wrap;justify-content:flex-start;line-height:1.4}nav a{font-size:0.875rem;padding-block:5px;min-height:30px;display:flex;align-items:center}.hero-grid{display:block;padding-top:38px;padding-bottom:32px}.hero .eyebrow{max-width:100%;font-size:0.875rem;gap:8px;margin-bottom:21px;letter-spacing:.065em}.hero h1{font-size:clamp(2.75rem,11.5vw,3.7rem);margin-bottom:19px}.hero-description{font-size:1rem;max-width:390px}.hero-copy .button{width:100%;justify-content:space-between}.visit-card{margin-top:29px;margin-bottom:0;padding:24px}.visit-heading{margin-bottom:19px}.visit-card h2{font-size:1.32rem}.visit-card>p{font-size:0.9rem}.visit-phone>a{font-size:1.45rem}.visit-phone{margin-top:23px}.hours-grid{gap:22px;padding-block:25px}.hours-title{grid-column:1 / -1;padding-bottom:16px;border-bottom:1px solid var(--line)}.hours-title br{display:none}.hours-title small{display:block}.hours-grid>div:last-child{grid-column:1 / -1}.hours-label{font-size:0.875rem}.hours-grid strong{font-size:1.08rem}.section{padding-block:43px}.section-heading{display:block;margin-bottom:25px}.section-caption{margin-top:16px;font-size:0.875rem}.section-caption br{display:none}h2{font-size:1.95rem}.eyebrow.dark{font-size:0.875rem;margin-bottom:11px}.schedule-main{padding:23px 19px 20px}.card-heading{display:block;margin-bottom:13px}.card-heading .small-label{display:block;margin-top:6px}.schedule-table{font-size:0.9rem}.schedule-table th{padding-right:9px}.schedule-table .no-reception td{font-size:0.875rem}.schedule-table th,.schedule-table td{padding-block:13px}.lunch-note{font-size:0.875rem;gap:6px;margin-top:10px;padding-top:17px}.special-schedules{display:flex;gap:19px}.special-card{padding:23px}.special-card h3,.personal-card h3{font-size:1.1rem}.personal-card{margin-top:4px;padding-left:20px}.contact-row{display:block;padding:22px 0}.contact-row>div:first-child{gap:14px}.contact-row h3{font-size:0.94rem}.contact-row>.phone,.contact-row>.phone-stack{margin:13px 0 0 30px}.phone{font-size:1.13rem;gap:25px}.phone-stack{align-items:flex-start;gap:10px}.desktop-break{display:none}.leadership-grid{grid-template-columns:1fr;gap:27px;margin-top:29px}.person{padding-top:20px}.person h3{font-size:1.28rem;margin-block:9px 11px}.person>.muted{max-width:100%}.document-card{grid-template-columns:1fr;padding:25px;gap:19px}.document-icon{align-items:center;justify-self:start;flex-direction:row;gap:12px}.document-icon svg{width:27px;height:32px}.document-icon span{font-size:0.875rem}.document-copy h3{font-size:1.18rem}.download{grid-column:auto;width:100%;justify-content:space-between;min-height:50px;margin-top:3px}.footer-top{display:block;padding-bottom:28px}.footer-address{margin-top:25px}.footer-title{font-size:1.09rem}.footer-top p{font-size:0.875rem}.footer-bottom{font-size:0.875rem;gap:12px;flex-direction:column}.footer-bottom a{order:0;flex-basis:auto}.site-footer{padding-top:32px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}nav{gap:7px}nav a{font-size:0.875rem}.schedule-main{padding-inline:14px}.schedule-table{font-size:0.875rem}.schedule-table .no-reception td{font-size:0.875rem}.hero .eyebrow{font-size:0.875rem}.visit-card{padding:20px}.hours-grid{gap:18px}.hours-label{font-size:0.875rem}.document-card{padding:20px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}}

/* Compact introduction and readable navigation. */
.header-inner{min-height:88px}
.hero-grid{gap:48px;padding-block:36px}
.hero h1{font-size:clamp(2.5rem,4.4vw,3.6rem);line-height:1.08;margin-bottom:15px}
.hero-description{font-size:1rem;line-height:1.55;margin-bottom:21px}
.visit-card{padding:24px 28px;margin-block:0;align-self:center}
.visit-card h2{font-size:1.4rem;margin-bottom:6px}
.map-link{margin-top:9px;gap:8px;text-decoration:none}
.map-link-label{text-decoration:underline;text-underline-offset:4px}
.map-link svg{width:14px;height:14px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.visit-phone{margin-top:18px;padding-top:15px;gap:3px}
.visit-phone>a{font-size:1.45rem}
.hours-grid{padding-block:22px}
nav{font-size:1rem;gap:23px}
nav a{min-height:44px;display:flex;align-items:center}
summary:focus-visible{outline:3px solid #b37822;outline-offset:4px}
.special-card>.muted,.person>.muted,.document-copy>p,.section-caption{font-size:1rem}
.document-copy>.document-note{font-size:.9375rem;color:#765022;margin-top:12px}
.archive-badge{display:inline-block;font-size:.875rem;line-height:1.5;color:#75501f;background:#f6eddc;border:1px solid #e7d9bd;padding:4px 9px;border-radius:3px;margin-bottom:13px}
.document-card{border-radius:var(--radius) var(--radius) 0 0;align-items:start}
.document-card .download{align-self:center}
.document-reader{border:1px solid var(--line);border-top:0;background:#fff;border-radius:0 0 var(--radius) var(--radius)}
.document-reader summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px;cursor:pointer;color:var(--green);font-size:1rem;font-weight:600;background:#f8faf8}
.document-reader summary::-webkit-details-marker{display:none}
.document-reader summary:hover{background:#e5ede7}
.document-reader summary svg{width:22px;height:22px}
.reader-close-label,.document-reader[open] .reader-open-label{display:none}
.document-reader[open] .reader-close-label{display:inline}
.document-reader[open] summary svg{transform:rotate(180deg)}
.document-reader[open] summary{border-bottom:1px solid var(--line)}
.reader-body{padding:32px;max-width:850px;margin:auto}
.archive-notice{border-left:3px solid #a37d46;background:#fbf7ef;color:#62491f;padding:18px 20px;font-size:1rem;margin-bottom:30px;line-height:1.7}
.archive-notice strong{display:block;margin-bottom:5px}
.reader-text{font-size:1rem;line-height:1.8;overflow-wrap:anywhere}
.reader-text h4{font-size:1.3rem;line-height:1.5;margin:36px 0 20px;color:var(--green)}
.reader-text h4:first-child{margin-top:0}
.reader-text h5{font-size:1.1rem;line-height:1.6;margin:25px 0 12px}
.reader-text p{margin-block:0 17px}
.reader-table{width:100%;border-collapse:collapse;margin-block:20px;table-layout:fixed}
.reader-table caption{font-weight:600;text-align:left;padding-bottom:13px}
.reader-table td{border:1px solid var(--line);vertical-align:top;padding:17px}
.reader-download{margin-top:28px;border-top:1px solid var(--line);padding-top:23px}
.reader-download a{text-decoration:underline;text-underline-offset:4px;color:var(--green);font-size:1rem}
@media(max-width:1100px){.header-inner{flex-wrap:wrap;gap:10px;padding-block:14px}nav{flex-wrap:wrap;gap:6px 22px}.hero-grid{gap:30px}.visit-card{padding:22px}.document-card{grid-template-columns:auto 1fr}.document-card .download{grid-column:2;justify-self:start}}
@media(max-width:850px){.header-inner{gap:5px;min-height:auto}.hero h1{font-size:2.75rem}.hero-grid{padding-block:30px}.brand-text small{display:block;margin-left:0}.visit-phone>a{font-size:1.3rem}.hours-grid{gap:20px 28px}.document-card{grid-template-columns:auto 1fr}}
@media(max-width:600px){
  :root{scroll-padding-top:155px}
  .region-line .container{font-size:.8125rem}
  .header-inner{padding-block:12px 7px;gap:8px}
  nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;width:100%;font-size:.9375rem}
  nav a{padding-block:6px;font-size:.9375rem;min-height:38px;white-space:normal}
  .brand-text{font-size:1rem}.brand-text small{font-size:.875rem}
  .hero-grid{padding-block:24px}
  .hero h1{font-size:clamp(2rem,8vw,2.65rem);margin-bottom:13px}
  .hero-description{margin-bottom:18px;font-size:1rem;line-height:1.5}
  .hero-copy .button{min-height:46px;padding-block:11px}
  .visit-card{margin-top:22px;padding:19px 21px}
  .visit-card h2{font-size:1.23rem}.visit-card>p{font-size:.9375rem}
  .visit-phone{margin-top:14px;padding-top:12px}
  .visit-phone>a{font-size:1.38rem}
  .hours-grid{display:flex;flex-direction:column;align-items:stretch;padding-block:20px;gap:12px}
  .hours-title{padding-bottom:13px}
  .hours-grid>div:not(.hours-title){display:flex;justify-content:space-between;align-items:baseline;gap:16px}
  .hours-label{font-size:.875rem;margin:0;max-width:60%}
  .hours-grid strong{font-size:1rem;white-space:nowrap}
  .schedule-table{font-size:1rem}
  .schedule-table td{white-space:normal}
  .schedule-table .no-reception td{font-size:.9375rem}
  .schedule-table tr:last-child th{max-width:10rem}
  .lunch-note,.schedule-footnote{font-size:.875rem}
  .document-card{display:grid;grid-template-columns:1fr;padding:23px;gap:17px}
  .document-card .download{grid-column:auto;width:100%}
  .document-reader summary{padding:18px 23px;min-height:64px}
  .reader-body{padding:23px 20px}
  .reader-text h4{font-size:1.2rem}
  .reader-table,.reader-table tbody,.reader-table tr,.reader-table td{display:block;width:100%}
  .reader-table caption{display:block}
  .reader-table td+td{border-top:0}
  .archive-notice{padding:16px}
  .contact-row h3{font-size:1rem}
  .contact-row .phone{min-height:38px}
  .footer-top p{font-size:.875rem}
}
@media(max-width:370px){.hero h1{font-size:2rem}.schedule-table{font-size:.9375rem}.schedule-table .no-reception td{font-size:.875rem}.hours-label{max-width:55%}.visit-card{padding:18px}.brand{gap:9px}.brand-mark{flex-shrink:0}.brand-text{font-size:.9375rem}}
@media print{.region-line,.site-header,.hero .button,.map-link,.skip-link,.download{display:none}.container{width:100%;max-width:none}.hero,.site-footer{background:white;color:black}.hero-grid{padding-block:12px;gap:25px}.hero h1{font-size:32px}.hero-description,.hero .eyebrow,.visit-card .small-label,.visit-card>p{color:black}.visit-card{background:white;border-color:#999}.visit-phone{border-color:#aaa}.section{padding-block:20px}.section-heading{margin-bottom:15px}.working-hours{margin-bottom:10px}.contact-section,.documents-section{background:white}.schedule-main,.special-card,.document-card{break-inside:avoid}.person{break-inside:avoid}.site-footer{padding-block:20px}.footer-title,.footer-address>a,.footer-bottom{color:black}.footer-top{padding-bottom:10px}.section-caption{display:none}h2{font-size:25px}a{color:black}}

@media print{.document-reader{border:0}.document-reader summary{display:none}.document-reader::details-content{display:block}.reader-body{max-width:none;padding:15px 0}.reader-text h4,.reader-text h5{break-after:avoid}.archive-notice{break-inside:avoid}}

/* User-supplied star and the city's official coat of arms. */
.region-line .container{align-items:center;padding-block:9px}
.city-identity{display:inline-flex;align-items:center;gap:12px;min-width:0}
.city-identity strong{display:block;color:var(--green);font-size:.9375rem;line-height:1.4;font-weight:600}
.city-identity>span>span{display:block;font-size:.8125rem;line-height:1.45;margin-top:1px}
.brand-star{display:block;width:88px;height:88px;object-fit:contain;flex-shrink:0}
.header-inner{min-height:108px}
.header-actions{display:flex;align-items:center;gap:28px;min-width:0}
.city-emblem{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.city-emblem img{display:block;width:52px;height:70px;object-fit:contain}
.hero h1{margin-bottom:21px}
.hero-location{display:block;max-width:490px;margin-top:15px;font-size:1rem;font-weight:400;line-height:1.55;letter-spacing:normal;color:#d1dfd8}
@media(max-width:1100px){.header-actions{gap:22px}}
@media(max-width:850px){
  :root{scroll-padding-top:185px}
  .brand-star{width:76px;height:76px}
  .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:auto;gap:8px 24px}
  .header-inner>.brand{grid-column:1;grid-row:1;min-width:0}
  .header-actions{display:contents}
  .header-actions nav{grid-column:1 / -1;grid-row:2;min-width:0}
  .city-emblem{grid-column:2;grid-row:1}
  .city-emblem img{width:44px;height:59px}
  .hero-location{max-width:350px}
}
@media(max-width:600px){
  .region-line .container{padding-block:8px}
  .city-identity{gap:10px}
  .city-identity strong{font-size:.875rem}
  .city-identity>span>span{font-size:.75rem}
  .brand-star{width:68px;height:68px}
  .header-inner{column-gap:16px}
  .header-actions nav{column-gap:12px}
  .city-emblem img{width:40px;height:54px}
  .brand{gap:12px;min-width:0}
  .brand-text{font-size:.9375rem}
  .hero h1{margin-bottom:18px}
  .hero-location{font-size:1rem;line-height:1.5;margin-top:13px;max-width:100%}
}
@media(max-width:370px){.brand-star{width:64px;height:64px}.brand{gap:9px}.brand-text{font-size:.875rem}.brand-text small{font-size:.8125rem}.city-identity>span>span{max-width:245px}.header-inner{column-gap:12px}.header-actions nav{column-gap:8px;font-size:.875rem}.header-actions nav a{font-size:.875rem}}
@media print{.hero-location{color:black}.brand-star{display:none}}

/* One title across the white masthead and the green introduction. */
.site-header{position:relative;z-index:2;background:#fff;border-bottom:0}
.header-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;min-height:0;padding:12px 0 38px 164px}
.header-inner nav{grid-column:1;grid-row:1;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:0 32px;width:100%;padding-block:4px;border-bottom:1px solid var(--line);font-size:.9375rem}
.header-inner nav a{font-size:inherit;min-height:44px;padding-block:9px}
.header-inner>.brand{display:block;grid-column:1;grid-row:2;min-width:0}
.brand :is(h1,.masthead-title){font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;letter-spacing:-.025em;font-weight:600;text-transform:uppercase;margin:0}
.brand :is(h1,.masthead-title)>span:not(.sr-only){display:inline}
.brand-star{position:absolute;width:144px;height:144px;left:0;bottom:-72px;z-index:3;pointer-events:none}
.hero-grid{grid-template-columns:1.4fr 1fr;padding-block:42px;gap:48px;align-items:center}
.hero-copy{padding-left:164px;align-self:start}
.hero-location{margin:0;max-width:100%;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.4;font-weight:400;letter-spacing:-.01em;color:#fff}
.hero-copy .button{margin-top:24px}
@media(max-width:1100px){
  .header-inner{padding-left:136px}
  .brand-star{width:120px;height:120px;bottom:-60px}
  .brand :is(h1,.masthead-title){font-size:2.2rem}
  .hero-copy{padding-left:136px}
  .hero-grid{gap:32px}
  .hero-location{font-size:1.3rem}
}
@media(max-width:850px){
  :root{scroll-padding-top:24px}
  .header-inner{padding-left:128px;padding-bottom:32px;row-gap:22px}
  .header-inner nav{gap:0 24px}
  .brand :is(h1,.masthead-title){font-size:1.9rem}
  .hero-grid{grid-template-columns:1fr;padding-top:38px;gap:28px}
  .hero-copy{padding-left:128px}
  .hero-location{font-size:1.4rem}
  .visit-card{margin:0 0 0 128px}
}
@media(max-width:600px){
  .header-inner{padding:8px 0 66px;gap:24px}
  .header-inner nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;padding-block:4px}
  .header-inner nav a{justify-content:center;text-align:center;font-size:.875rem;line-height:1.35;min-height:44px;padding-block:6px}
  .brand :is(h1,.masthead-title){font-size:clamp(1.6rem,7vw,2.25rem);line-height:1.15;text-align:center}
  .brand :is(h1,.masthead-title)>span:not(.sr-only){display:block}
  .brand-star{width:104px;height:104px;bottom:-52px;left:50%;transform:translateX(-50%)}
  .hero-grid{padding-block:74px 26px}
  .hero-copy{padding-left:0;text-align:center}
  .hero-location{font-size:clamp(1.25rem,5.2vw,1.6rem);line-height:1.4}
  .hero-copy .button{margin-top:22px}
  .visit-card{margin:24px 0 0}
}
@media(max-width:370px){.header-inner nav{column-gap:6px}.hero-location{font-size:1.2rem}}
@media print{.site-header{display:block}.header-inner{display:block;padding:12px 0}.header-inner nav,.city-emblem,.brand-star{display:none}.brand :is(h1,.masthead-title){font-size:24px}.hero-copy{padding-left:0}.hero-grid{padding-block:12px}.hero-location{color:black;font-size:18px}.visit-card{margin:0}}

/* Leadership is a separate page with portrait spaces and a vertical staff list. */
.header-inner nav a[aria-current="page"]{font-weight:600;color:var(--green);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
:is(.leadership-banner,.page-banner){background:var(--green);color:#fff;padding-block:40px 44px}
:is(.leadership-banner,.page-banner) h1{padding-left:164px;font-size:clamp(2rem,3.2vw,2.8rem);font-weight:500;line-height:1.2;letter-spacing:-.025em}
.leadership-content{padding-block:54px 62px}
.leaders-list{list-style:none;margin:0;padding:0}
.leader-row{display:grid;grid-template-columns:176px minmax(0,1fr);align-items:center;gap:40px;padding-block:32px;border-bottom:1px solid var(--line)}
.leader-row:first-child{padding-top:0}
.leader-photo{width:100%;aspect-ratio:4 / 5;display:flex;align-items:center;justify-content:center;background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:var(--radius);font-size:.875rem}
.leader-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.leader-info{max-width:680px}
.leader-role{color:var(--muted);font-size:1rem;line-height:1.5;margin-bottom:10px}
.leader-info h2{font-size:clamp(1.4rem,2.3vw,1.85rem);line-height:1.3;letter-spacing:-.02em;font-weight:600}
.leader-department{color:var(--muted);font-size:1rem;line-height:1.65;margin-top:15px;max-width:590px}
.leader-vacancy h2{color:var(--muted)}
.leader-vacancy .leader-photo{background:#fafbf9;font-size:1.5rem}
.back-home{display:inline-flex;align-items:center;min-height:44px;margin-top:26px;color:var(--green);text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px){:is(.leadership-banner,.page-banner) h1{padding-left:136px}}
@media(max-width:850px){:is(.leadership-banner,.page-banner) h1{padding-left:128px}.leader-row{grid-template-columns:144px minmax(0,1fr);gap:28px}}
@media(max-width:600px){
  :is(.leadership-banner,.page-banner){padding-block:76px 32px}
  :is(.leadership-banner,.page-banner) h1{padding-left:0;text-align:center;font-size:2rem}
  .leadership-content{padding-block:32px 36px}
  .leader-row{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:18px;padding-block:26px}
  .leader-role{font-size:.875rem;margin-bottom:8px}
  .leader-info h2{font-size:1.2rem;line-height:1.35}
  .leader-department{font-size:.9375rem;line-height:1.6;margin-top:12px}
  .leader-photo{font-size:.8125rem}
}
@media(max-width:370px){.leader-row{grid-template-columns:80px minmax(0,1fr);gap:14px}.leader-info h2{font-size:1.1rem}.leader-photo{font-size:.75rem}}
@media print{:is(.leadership-banner,.page-banner){background:#fff;color:#000;padding:10px 0}:is(.leadership-banner,.page-banner) h1{padding-left:0;font-size:26px}.leadership-content{padding-block:12px}.leader-row{break-inside:avoid;grid-template-columns:110px 1fr;padding-block:18px;gap:24px}.leader-info h2{font-size:20px}.back-home{display:none}}

.documents-page-body{background:#edf2ee}
.footer-year{white-space:nowrap;line-height:1.6}
@media print{.documents-page-body{background:#fff}}

/* Main links and admissions are separate rows to keep full labels readable. */
.header-inner nav{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-block:4px}
.nav-primary{display:flex;align-items:center;gap:32px}
.nav-admissions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
.header-inner nav a{display:flex;align-items:center;white-space:normal;line-height:1.4}
.section-notice{max-width:760px;padding:30px 32px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius)}
.section-notice h2{font-size:1.35rem;line-height:1.4;letter-spacing:-.01em}
.section-notice p{margin-top:12px;color:var(--muted)}
.section-contact{display:block;width:fit-content;margin-top:22px;font-size:1.3rem;font-weight:500;letter-spacing:-.02em}
.section-contact:hover,.section-schedule:hover{text-decoration:underline;text-underline-offset:4px}
.section-schedule{display:inline-flex;align-items:center;min-height:44px;margin-top:5px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.nav-primary{gap:24px}.nav-admissions{column-gap:16px}.header-inner nav a{font-size:.875rem}}
@media(max-width:600px){
  .nav-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
  .nav-admissions{grid-template-columns:1fr;padding-top:4px;margin-top:4px;border-top:1px solid var(--line)}
  .header-inner nav a{justify-content:center;text-align:center}
  .section-notice{padding:24px}
  .section-notice h2{font-size:1.2rem}
}
@media print{.header-inner nav{display:none}.section-notice{background:#fff;padding:16px}}

/* Keep institution and address lines distinct at every viewport width. */
.footer-line{display:block}

/* Readable source material for the DOSAAF admissions page. */
.dosaaf-article{max-width:880px;margin-inline:auto;font-size:1rem;line-height:1.75;overflow-wrap:break-word}
.dosaaf-article h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.35;letter-spacing:-.02em;margin-bottom:24px}
.dosaaf-article section{margin-top:36px;padding-top:30px;border-top:1px solid var(--line)}
.dosaaf-article h3{font-size:1.3rem;line-height:1.4;letter-spacing:-.01em;margin-bottom:18px}
.dosaaf-article p+p{margin-top:16px}
.dosaaf-article ul,.dosaaf-article ol{padding-left:1.5em;margin:16px 0}
.dosaaf-article li{padding-left:.3em;margin-bottom:12px}
.dosaaf-article li::marker{color:var(--green);font-weight:600}
.dosaaf-memo{margin:36px 0 0}
.dosaaf-memo img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius)}
.dosaaf-memo figcaption a{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.dosaaf-article .dosaaf-source{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:.8125rem;line-height:1.65;color:var(--muted)}
.dosaaf-source a{text-decoration:underline;text-underline-offset:3px}
.dosaaf-content>.back-home{display:flex;width:fit-content;max-width:100%;margin-left:max(0px,calc((100% - 880px)/2))}
@media(max-width:600px){
  .dosaaf-article h2{font-size:1.45rem;margin-bottom:20px}
  .dosaaf-article h3{font-size:1.2rem}
  .dosaaf-article section{margin-top:28px;padding-top:24px}
  .dosaaf-memo{margin-top:28px}
}
@media print{.dosaaf-article{max-width:none}.dosaaf-article section{margin-top:20px;padding-top:16px}.dosaaf-memo{break-inside:avoid}}

/* Responsive controls and reflow. Keep the approved desktop composition. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:1rem}
img,video{max-width:100%}
.container>*,.hero-grid>*,.hours-grid>*,.schedule-grid>*,.leader-row>*,.footer-top>*,.vuzy-contact-grid>*{min-width:0}
h1,h2,h3,.masthead-title,.hero-location,.footer-title,.footer-line,.leader-role{overflow-wrap:anywhere}
.nav-primary{flex-wrap:wrap}
.header-inner nav a{min-width:0;overflow-wrap:anywhere}
.special-card,.personal-card,.section-notice,.contact-row{overflow-wrap:anywhere}
.time-line{flex-wrap:wrap;row-gap:4px}
.phone,.visit-phone>a,.section-contact{max-width:100%;white-space:normal;overflow-wrap:anywhere;min-height:44px}
.visit-phone>a,.section-contact,.footer-address>a{display:inline-flex;align-items:center;min-height:44px}
.map-link{min-height:44px}
.contact-row .phone{min-height:44px}
.download{white-space:normal;max-width:100%}
.menu-toggle{display:none}
.header-inner nav[hidden]{display:none!important}
@media(max-width:600px){
  .header-inner.menu-ready .menu-toggle{display:flex;grid-row:1;grid-column:1;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);color:var(--ink);font:inherit;font-size:.9375rem;line-height:1.5;text-align:left;cursor:pointer}
  .menu-toggle svg{width:20px;height:20px;flex-shrink:0}
  .menu-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
  .menu-toggle:focus-visible{outline:3px solid #b37822;outline-offset:3px}
  .header-inner.menu-ready nav{grid-row:2}
  .header-inner.menu-ready>.brand{grid-row:2}
  .header-inner.menu-ready.menu-expanded>.brand{grid-row:3}
  .header-inner.menu-ready{row-gap:18px}
  .hours-grid>div:not(.hours-title){flex-wrap:wrap;row-gap:4px}
  .hours-label{max-width:none;flex:1 1 140px}
  .hours-grid strong{white-space:normal}
  .schedule-table td{overflow-wrap:anywhere}
  .section-notice{padding:clamp(18px,5vw,24px)}
}
@media(max-width:370px){
  .special-card,.schedule-main,.document-card{padding-inline:16px}
  .leader-row{grid-template-columns:80px minmax(0,1fr);gap:14px}
}
@media print{.menu-toggle{display:none!important}}
