@font-face{font-family:"Alegreya";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/alegreya-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Alegreya";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/alegreya-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/alegreya-sans-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/alegreya-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/alegreya-sans-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Alegreya Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/alegreya-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}

:root{
  --paper:#EEF0EC;--sheet:#F8F9F6;--ink:#1E2A28;--ink-soft:#4A5754;
  --moss:#4F6B4A;--brick:#8A3B2E;--line:#C9CEC6;
  --measure:68ch;--r:4px;
  --serif:"Alegreya",Georgia,"Times New Roman",serif;
  --sans:"Alegreya Sans","Segoe UI",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.125rem/1.6 var(--sans)}
img{max-width:100%;height:auto}
a{color:var(--moss);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--brick);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.2;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(1.9rem,4.2vw,2.75rem);margin:.2em 0 .35em}
h2{font-size:clamp(1.4rem,2.6vw,1.75rem);margin:1.8em 0 .5em;padding-top:.6em;border-top:1px solid var(--line)}
h3{font-size:1.2rem;margin:1.4em 0 .4em}
p,ul,ol{margin:0 0 1em}
li{margin:.25em 0}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}

/* header */
.top{background:var(--sheet);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.logo{display:flex;align-items:center;gap:10px;font:700 1.2rem/1.1 var(--serif);color:var(--ink);text-decoration:none}
.logo svg{flex:none}
.nav{display:flex;flex-wrap:wrap;gap:4px 18px;flex:1;font-size:1rem}
.nav a{color:var(--ink-soft);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink)}
.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--moss)}
.call{display:inline-block;background:var(--brick);color:#fff;text-decoration:none;font-weight:700;padding:10px 16px;border-radius:var(--r);white-space:nowrap}
.call:hover{background:#6f2f25;color:#fff}

/* crumbs */
.crumbs{font-size:.95rem;color:var(--ink-soft);margin:18px 0 0}
.crumbs a{color:var(--ink-soft)}

/* layout */
.page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;padding-top:8px;padding-bottom:56px}
main{max-width:var(--measure)}
.lead{font-size:1.25rem;color:var(--ink-soft);margin-bottom:1.4em}
.quick-answer{background:var(--sheet);border-left:3px solid var(--moss);padding:14px 18px;margin:0 0 1.4em}
.quick-answer p:last-child{margin:0}
.hours-live{font-weight:700}

/* aside card */
aside .card{position:sticky;top:16px;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);padding:20px;font-size:1rem}
.card h2{font-size:1.25rem;margin:0 0 .6em;padding:0;border:0}
.card dl{margin:0 0 16px}
.card dt{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-top:10px}
.card dd{margin:2px 0 0}
.card .call{display:block;text-align:center;margin-top:6px}
.card .note{font-size:.9rem;color:var(--ink-soft);margin:10px 0 0}

/* map */
.map{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:0 0 1.2em;background:var(--sheet)}
.map iframe{display:block;width:100%;height:380px;border:0}

/* sections list */
.sections{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.sections li{margin:0}
.sections a{display:block;height:100%;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-decoration:none;color:var(--ink)}
.sections a:hover{border-color:var(--moss)}
.sections strong{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--moss)}
.sections span{font-size:.98rem;color:var(--ink-soft)}

/* faq */
.faq{margin-top:2em}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-question{cursor:pointer;padding:12px 28px 12px 0;font-weight:700;list-style:none;position:relative}
.faq-question::-webkit-details-marker{display:none}
.faq-question::after{content:"+";position:absolute;right:4px;top:10px;color:var(--moss);font-size:1.3rem;line-height:1}
.faq-item[open] .faq-question::after{content:"−"}
.faq-answer{padding:0 0 14px;color:var(--ink)}
.faq-answer p{margin:0}

.phone-line{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin:1.6em 0}
.phone-line a{font-weight:700;white-space:nowrap}

/* footer */
.foot{background:var(--ink);color:#D6DBD3;font-size:.95rem;padding:28px 0}
.foot a{color:#E8ECE5}
.foot p{margin:0 0 .6em;max-width:80ch}

@media (max-width:900px){
  .page{grid-template-columns:1fr;gap:28px}
  aside .card{position:static}
  .top .call{order:2}
  .nav{order:3;flex-basis:100%}
}
@media (max-width:480px){
  body{font-size:1.06rem}
  .map iframe{height:300px}
}
