
@font-face{font-family:"PT Serif Caption";src:url(/assets/fonts/PTSerifCaption-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
:root{
  --ink:#1b1a5e; --ink-soft:#4a4a7d; --blue:#3b3bf2; --violet:#B721FF; --violet-d:#5B21A6;
  --yellow:#FFEE56; --grid:#dbe5f7; --paper:#fff; --margin:#f4a9cb;
  --serif:"PT Serif Caption",Georgia,"Times New Roman",serif;
  --sans:"PT Sans","Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:18px/1.55 var(--sans);color:var(--ink);background-color:var(--paper);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:28px 28px}
h1,h2,h3{font-family:var(--serif);font-weight:400;font-synthesis:none;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(32px,4.6vw,50px);letter-spacing:-.01em}
h2{font-size:clamp(25px,3.2vw,34px);margin-top:0}
h3{font-size:21px}
p{margin:0 0 1em;max-width:62ch}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--violet-d)}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:4px}
.wrap{width:min(1080px,100% - 32px);margin-inline:auto}

.notice{background:var(--yellow);color:var(--ink);font-size:15px;line-height:1.4;border-bottom:2px solid var(--ink)}
.notice .wrap{padding:9px 0}

header.top{background:var(--paper);border-bottom:2px solid var(--ink)}
.top .wrap{display:flex;align-items:center;gap:20px;padding:12px 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:54px;height:54px;display:block}
.brand span{font:22px/1.1 var(--serif)}
.top .phone{margin-left:auto;font:22px/1 var(--serif);color:var(--ink);text-decoration:none;white-space:nowrap}
nav.main{width:100%;display:flex;flex-wrap:wrap;gap:4px 22px;padding-top:2px}
nav.main a{color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:3px solid transparent;font-size:17px}
nav.main a:hover{border-bottom-color:var(--yellow)}
nav.main a[aria-current=page]{border-bottom-color:var(--violet)}

main{padding:40px 0 64px}
.sheet{background:var(--paper);border:2px solid var(--ink);border-radius:6px;padding:34px 36px;position:relative;box-shadow:6px 6px 0 var(--ink)}
@media(min-width:900px){.sheet{padding-left:84px}.sheet::before{content:"";position:absolute;left:56px;top:0;bottom:0;width:2px;background:var(--margin)}}
.stack>*+*{margin-top:40px}

.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.btn{display:inline-block;padding:13px 22px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:18px;box-shadow:3px 3px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink);color:var(--ink)}
.btn.primary{background:var(--violet);color:#fff}
.btn.primary:hover{color:#fff}
.lead{font-size:20px}


.hero-fox{display:block;width:min(100%,380px);height:auto;justify-self:center}
.events{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.events>li{border-bottom:1px solid var(--ink)}
.ev>summary{list-style:none;display:grid;grid-template-columns:190px 1fr 28px;grid-template-areas:"when ttl chev";gap:6px 26px;align-items:center;padding:18px 4px;cursor:pointer}
.ev>summary::-webkit-details-marker{display:none}
.ev>summary:hover{background:rgba(255,238,86,.28)}
.ev .when{grid-area:when;justify-self:start;font:23px/1.2 var(--serif);background:var(--yellow);border:2px solid var(--ink);border-radius:6px;padding:7px 13px;white-space:nowrap;box-shadow:2px 2px 0 var(--ink)}
.ev .ttl{grid-area:ttl}
.ev .name{display:block;font:24px/1.2 var(--serif)}
.ev .cls{display:block;margin-top:4px;color:var(--ink-soft);font-size:16px}
.ev .chev{grid-area:chev;justify-self:end;width:11px;height:11px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .15s;margin-right:6px}
.ev[open] .chev{transform:rotate(-135deg)}
.ev-body{padding:2px 4px 22px 220px}
.ev-body p{margin:0 0 .6em;max-width:62ch}
.ev-body h4{font:400 19px/1.2 var(--serif);margin:1em 0 .4em}
.ev-body .note{color:var(--ink-soft);font-size:16px}
.ev-body .steps{margin:.3em 0 .8em;padding-left:1.4em}
.ev-body .steps li{padding:2px 0}
.events-foot{color:var(--ink-soft);font-size:16px;margin-top:14px}
h2.mark{display:inline;background:linear-gradient(transparent 62%,var(--yellow) 62%);padding:0 .15em;margin-left:-.15em;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.5}
.sec-head{margin-bottom:22px}

.rows{border-top:2px solid var(--ink)}
.rows a,.rows .row{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:6px 24px;padding:16px 4px;border-bottom:1px solid var(--ink);text-decoration:none;color:var(--ink)}
.rows a:hover{background:var(--yellow)}
.rows .t{font:22px/1.2 var(--serif)}
.rows .d{color:var(--ink-soft)}

table.plan{width:100%;border-collapse:collapse;font-size:17px}
table.plan th,table.plan td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--ink)}
table.plan th{font:400 17px var(--serif);border-bottom:2px solid var(--ink);color:var(--ink-soft)}
.tablewrap{overflow-x:auto}

.two{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.card{border:2px solid var(--ink);border-radius:6px;padding:22px;background:var(--paper)}
.contacts li{margin-bottom:.5em}
ul.plain{list-style:none;padding:0;margin:0}
.widget-box{border:2px solid var(--ink);border-radius:6px;padding:18px;background:var(--paper);min-height:360px}
.widget-fallback{display:none;background:var(--yellow);border-radius:6px;padding:14px 16px;margin-top:14px}
.widget-fallback.on{display:block}
.loading{color:var(--ink-soft)}
.widget-box.ready .loading{display:none}

footer{border-top:2px solid var(--ink);background:var(--paper)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 36px;padding:26px 0;font-size:16px}
footer .copy{width:100%;color:var(--ink-soft);font-size:14px}
footer a{color:var(--ink)}

@media(max-width:820px){
  .hero,.two{grid-template-columns:1fr}
  .sheet{padding:24px 18px}
  .hero-fox{width:200px;justify-self:start}
  .rows a,.rows .row{grid-template-columns:1fr}
  .ev>summary{grid-template-columns:1fr 28px;grid-template-areas:"when when" "ttl chev"}
  .ev-body{padding:2px 4px 20px}
  .ev .name{font-size:21px}
  .ev .when{font-size:21px}
  .top .phone{margin-left:0}
  main{padding:24px 0 48px}
}
@media(prefers-reduced-motion:reduce){.btn,.ev .chev{transition:none}}
