
body{margin:0;background:#F5F3EF}
a{color:#3B3936;text-decoration:none}a:hover{color:#6B5A49}
.wrap{max-width:1280px;margin:0 auto;padding-left:40px;padding-right:40px;box-sizing:border-box}
@media (max-width:640px){.wrap{padding-left:20px;padding-right:20px}}
.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}
.num{display:flex;flex-direction:column;gap:12px;font-size:13px;color:#6B675F}
.num::after{content:"";width:64px;height:1px;background:#8C877F}
.num.light{color:#E2DBD2}.num.light::after{background:#E2DBD2}
.h2{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(40px,4.5vw,64px);line-height:1.05}
.cap{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#56676C}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;background:#3B3936;color:#F5F3EF;border-radius:999px;font:500 15px/1 Inter,system-ui,sans-serif;border:1px solid #3B3936;cursor:pointer;box-sizing:border-box}
.btn:hover{background:#6B5A49;border-color:#6B5A49;color:#F5F3EF}
.btn2{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;background:rgba(245,243,239,.6);color:#3B3936;border-radius:999px;font:500 15px/1 Inter,system-ui,sans-serif;border:1px solid #3B3936;cursor:pointer;box-sizing:border-box}
.btn2:hover{background:#3B3936;color:#F5F3EF}
.btnl{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;background:#F5F3EF;color:#3B3936;border-radius:999px;font:500 15px/1 Inter,system-ui,sans-serif;border:1px solid #F5F3EF;box-sizing:border-box}
.btnl:hover{background:transparent;color:#F5F3EF}
.navlink{font-size:14px;padding:12px 0}
.more{font-size:15px;border-bottom:1px solid #3B3936;padding-bottom:4px}
.prow{display:flex;gap:32px;padding:20px 0;border-bottom:1px solid #DEDAD3}
.prow>span{font-size:15px;color:#6B675F;min-width:28px;padding-top:6px}
.prow b{display:block;font-weight:500;font-size:18px;line-height:1.4;margin-bottom:4px}
.prow p{margin:0;font-size:15px;line-height:1.55;color:#6B675F}
.trow{display:flex;gap:20px;align-items:baseline;padding:24px 0;border-top:1px solid #DEDAD3;font-size:18px;line-height:1.45}
.trow>span{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;color:#6B5A49}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.span2{grid-column:span 2}
@media (max-width:960px){.svc-grid{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}}
.card{min-width:0;background:#EDEAE4;padding:40px;box-sizing:border-box;display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:20px;align-items:start}
.card .btn{justify-self:start}
.soc{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;border:1px solid rgba(245,243,239,.45);color:#F5F3EF;min-height:44px}
.soc:hover{background:#F5F3EF;color:#3B3936}
.soc .h{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1.1}
@media (max-width:640px){.soc{flex-wrap:wrap;padding:22px 20px}.soc .h{font-size:24px}}
.soc small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:6px}
.card h3{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:32px;line-height:1.1}
.card p{margin:0;font-size:16px;line-height:1.6;color:#55524D}
.card .meta{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #D3CEC6;border-bottom:1px solid #D3CEC6;font-size:15px}
.ev{display:flex;flex-wrap:wrap;gap:16px 48px;align-items:center;padding:28px 0;border-top:1px solid rgba(245,243,239,.25);color:#F5F3EF}
.ev:hover{color:#F5F3EF;background:rgba(245,243,239,.04)}
.ev .d{display:flex;align-items:baseline;gap:12px;flex:0 0 200px}
.ev .d b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:56px;line-height:1}
.ev .d span,.ev .w span,.ev small{color:#CFC8BE}
.ev .m{flex:1 1 320px;display:flex;flex-direction:column;gap:6px}
.ev small{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.ev .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1.15}
.ev .w{display:flex;flex-direction:column;gap:6px;flex:0 0 280px;font-size:15px}
@media (max-width:720px){.ev .d,.ev .w{flex:1 1 100%}}
.post{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:16px}
.post img{display:block;width:100%;height:280px;object-fit:cover}
.post .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;line-height:1.15}
.post p{margin:0;font-size:15px;line-height:1.55;color:#6B675F}
.post:hover .t{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.faq details{border-top:1px solid #DEDAD3}
.faq details:last-child{border-bottom:1px solid #DEDAD3}
.faq summary{list-style:none;cursor:pointer;padding:24px 0;min-height:44px;box-sizing:border-box;display:flex;justify-content:space-between;align-items:baseline;gap:24px;font-size:20px;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;color:#6B5A49;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq summary:focus-visible{outline:2px solid #6B5A49;outline-offset:4px}
.faq details p{margin:0 0 28px;font-size:16px;line-height:1.65;color:#55524D;max-width:720px}

/* ---- общие элементы подстраниц ---- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{color:#3B3936;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
:focus-visible{outline:2px solid #6B5A49;outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;background:#3B3936;color:#F5F3EF;padding:10px 16px;z-index:100}
.skip:focus{left:8px}
.navlink[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.btno{display:inline-flex;align-items:center;min-height:48px;padding:0 28px;border-radius:999px;border:1px solid #F5F3EF;color:#F5F3EF;font-size:15px;font-weight:500}
.btno:hover{background:#F5F3EF;color:#3B3936}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:#55524D}
.pagehead{padding-top:48px;padding-bottom:48px;display:flex;flex-wrap:wrap;gap:32px 80px;align-items:flex-end;justify-content:space-between}
.pagehead h1{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(44px,6vw,84px);line-height:1.02}
.pagehead .lead{margin:0;flex:1 1 360px;max-width:480px;font-size:17px;line-height:1.6;color:#55524D}
@media (max-width:640px){.hero-min{min-height:auto!important}}

/* ---- статьи ---- */
.body{max-width:760px;margin:0 auto;padding:64px 24px 96px;display:flex;flex-direction:column;gap:24px;font-size:18px;line-height:1.75}
.body p{margin:0}
.body p b{font-weight:500}
.body a{border-bottom:1px solid #3B3936}
.body h2{margin:24px 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:36px;line-height:1.15}
.body blockquote{margin:16px 0;padding:8px 0 8px 32px;border-left:1px solid #6B5A49;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:30px;line-height:1.3;color:#6B5A49}
.plist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.plist li{display:flex;gap:24px;padding:20px 0;border-top:1px solid #DEDAD3;font-size:17px;line-height:1.6}
.plist li:last-child{border-bottom:1px solid #DEDAD3}
.plist li>span{font-size:14px;color:#6B675F;min-width:24px;padding-top:3px}
.plist li b{display:block;font-weight:500;margin-bottom:4px}
.src{margin-top:32px;padding-top:24px;border-top:1px solid #DEDAD3;display:flex;flex-direction:column;gap:10px}
.src p{font-size:14px;line-height:1.6;color:#55524D}
.rel{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:14px}
.rel img{display:block;width:100%;height:280px;object-fit:cover}
.rel .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;line-height:1.15}

/* ---- фильтры ---- */
.chips{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:32px;border-bottom:1px solid #3B3936}
.chip{min-height:44px;padding:0 22px;border:1px solid #CFCAC1;border-radius:999px;background:transparent;font:400 15px Inter,system-ui,sans-serif;color:#3B3936;cursor:pointer}
.chip:hover{border-color:#3B3936}
.chip[aria-pressed="true"]{background:#3B3936;color:#F5F3EF;border-color:#3B3936}

/* ---- расписание ---- */
.event{border-bottom:1px solid #DEDAD3;padding:36px 0;display:flex;flex-wrap:wrap;gap:24px 48px;align-items:flex-start}
.event .date{display:flex;flex-direction:column;gap:4px;flex:0 0 150px;width:150px}
.event .actions{flex:0 0 250px}.event .actions .btn,.event .actions .btn2{white-space:nowrap}
@media (max-width:720px){.event .date{flex-basis:100%;width:auto}.event .actions{flex-basis:100%}}
.event .date b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:64px;line-height:.9}
.event .date span{font-size:14px;color:#6B675F}
.event .main{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:10px}
.event h2{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:34px;line-height:1.12}
.event p{margin:0;font-size:16px;line-height:1.6;color:#55524D;max-width:640px}
.event .meta{display:flex;flex-wrap:wrap;gap:8px 32px;font-size:15px;padding-top:6px}
.event .actions{display:flex;flex-direction:column;gap:10px;min-width:220px}
.tag{font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.tag.fmt{background:#E4E8E8;color:#3F4D51}
.tag.kind{background:#EDE6DE;color:#5A4A3B}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.empty{padding:48px 0;font-size:17px;color:#6B675F}
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px 24px}
.steps li{display:flex;flex-direction:column;gap:10px;border-top:1px solid #3B3936;padding-top:20px}
.steps .n{font-size:13px;color:#6B675F}
.steps .name{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;line-height:1.1}
.steps .txt{font-size:15px;line-height:1.55;color:#55524D}

/* ---- диалоги ---- */
dialog.modal{border:none;padding:0;background:#F5F3EF;color:#3B3936;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px)}
dialog.modal::backdrop{background:rgba(59,57,54,.55)}
.modal-in{position:relative;padding:56px 48px 48px;display:flex;flex-direction:column;gap:22px}
@media (max-width:640px){.modal-in{padding:56px 22px 28px}}
.xbtn{position:absolute;top:12px;right:12px;width:44px;height:44px;border:none;background:transparent;color:#3B3936;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:999px}
.xbtn:hover{background:#EDEAE4}
.modal h2{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(30px,4vw,42px);line-height:1.08}
.mcap{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6B675F}
.msec{display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:1px solid #DEDAD3}
.msec p,.msec li{margin:0;font-size:16px;line-height:1.6}
.msec ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}

/* ---- формы ---- */
.field{display:flex;flex-direction:column;gap:8px;flex:1 1 220px;font-size:13px;color:#55524D}
.field input,.field textarea{font:400 16px Inter,system-ui,sans-serif;color:#3B3936;background:#fff;border:1px solid #CFCAC1;border-radius:8px;padding:12px 14px;min-height:48px;width:100%}
.field input:focus,.field textarea:focus{outline:2px solid #6B5A49;outline-offset:1px}
.hp{position:absolute;left:-9999px}
.note{font-size:13px;line-height:1.5;color:#6B675F}
.okbox{background:#E4E8E8;padding:24px 28px;font-size:16px;line-height:1.6;color:#2F3B3E}
.errbox{background:#F3E4DE;padding:20px 24px;font-size:15px;line-height:1.6;color:#5A2E22}

/* ---- запись ---- */
.svc{flex:1 1 220px;text-align:left;display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid #CFCAC1;background:transparent;border-radius:4px;cursor:pointer;font-family:Inter,system-ui,sans-serif;color:#3B3936}
.svc:hover{border-color:#3B3936}
.svc[aria-pressed="true"]{border-color:#3B3936;background:#EDEAE4;box-shadow:inset 0 0 0 1px #3B3936}
.svc .nm{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.15}
.svc .pr{font-size:14px;color:#55524D}
#cal-embed{min-height:560px;border:1px solid #DEDAD3;background:#fff}
.cal-placeholder{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:40px;color:#55524D}

[hidden]{display:none!important}
@media (max-width:640px){.soc{flex-wrap:wrap;padding:22px 20px}.soc .h{font-size:24px;word-break:break-word}}
img[src$="book.jpg"]{object-position:center 18%}
.tbl{overflow-x:auto;margin:8px 0}.tbl table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}.tbl th{text-align:left;font-weight:500;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#56676C;padding:10px 12px 10px 0;border-bottom:1px solid #3B3936}.tbl td{vertical-align:top;padding:14px 12px 14px 0;border-bottom:1px solid #DEDAD3}.tbl td:first-child{width:28%}.tbl td:nth-child(2){width:26%;color:#55524D}@media (max-width:640px){.tbl thead{display:none}.tbl tr,.tbl td{display:block;width:auto!important}.tbl tr{padding:12px 0;border-bottom:1px solid #DEDAD3}.tbl td{border:0;padding:2px 0}}

/* телефоны */
.more{display:inline-block;padding:10px 0 4px}
@media (max-width:560px){
header.wrap{gap:10px 16px!important;padding-top:16px!important;padding-bottom:12px!important}
header.wrap>a>span:nth-child(2){display:none}
header.wrap>a{min-height:44px;justify-content:center}
header.wrap nav{width:100%;gap:0 18px!important;justify-content:flex-start}
header.wrap nav .btn{display:none}
header.wrap .navlink{font-size:15px}
div[style*="min-height: 760px"]{min-height:0!important}
}
@media (max-width:380px){header.wrap nav{gap:0 14px!important}header.wrap .navlink{font-size:14px}}
.body ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
@media (max-width:720px){.wrap>img[src$="roots.jpg"]{height:auto!important}}
