/* Сайты BodOpory и «Точка опоры». Вариант A «Тёплый» (утверждён 13.10).
   Цвета BodOpory взяты с логотипа; у «Точки опоры» та же манера в терракоте,
   чтобы сайты были родственными, но не зеркальными. */
:root{--g:#3a6450;--g2:#2c4d3e;--g3:#eef4ea;--sage:#9cb58b;--sand:#e9dcc9;--sand2:#d6bca1;
  --accent:#d97a4a;--accentT:#a8532a;--accent3:#fbe9de;--sun:#f0c46a;--sun3:#fcf1d8;--cream:#faf6ef;--ink:#23302a;--mute:#5f6d64;
  --foot:#24372e;--foot2:#3c5246;--footText:#cdd8cf}
.theme-terra{--g:#9a4f32;--g2:#7a3c25;--g3:#f8ebe3;--sage:#c99a7c;--sand:#efe2d3;--sand2:#dcc3a6;
  --accent:#3a6450;--accentT:#3a6450;--accent3:#e6efe2;--cream:#fbf7f2;--ink:#2e2520;--mute:#6e625a;--foot:#3a2a22;--foot2:#57423a;--footText:#e8d9cf}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Manrope,system-ui,sans-serif;background:var(--cream);color:var(--ink);font-size:17px;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.w{max-width:1180px;margin:0 auto;padding:0 28px}
.narrow{max-width:780px}
h1,h2,h3,h4{font-family:Lora,Georgia,serif;font-weight:600;color:var(--g2);line-height:1.2}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99}
/* шапка */
.top{font-size:13px;color:var(--mute);border-bottom:1px solid #ece3d6}
.top .w{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.langs a{margin-left:14px;font-weight:700;letter-spacing:.03em}.langs a.on{color:var(--g)}
header .w{display:flex;align-items:center;gap:28px;padding-top:16px;padding-bottom:16px}
.logo{display:flex;align-items:center;gap:12px;flex:none}.logo img{height:54px;width:auto}
.logo b{font-family:Lora,serif;font-size:24px;color:var(--g2);display:block;line-height:1.1}
.logo small{display:block;font-size:11px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase}
nav.main{display:flex;gap:22px;font-weight:600;font-size:15px;margin-left:auto;flex-wrap:wrap}
nav.main a:hover{color:var(--g)}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:14px;background:var(--sand);border:0;position:relative}
.burger:before{content:"";position:absolute;left:13px;right:13px;top:16px;height:2px;background:var(--g2);box-shadow:0 6px var(--g2),0 12px var(--g2)}
/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:700;font-size:15px;border:0;cursor:pointer;font-family:inherit}
.btn.p{background:var(--g);color:#fff}.btn.p:hover{background:var(--g2)}
.btn.t{background:var(--accentT);color:#fff}
.btn.o{border:1.5px solid var(--g);color:var(--g);background:transparent}
.btn.s{background:var(--sun);color:var(--ink)}
.btn.sm{padding:9px 18px;font-size:14px}
.eyebrow{color:var(--accentT);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.mute{color:var(--mute)}
/* главная */
.hero{padding:52px 0 72px}
.hero .w{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1{font-size:52px;margin-bottom:20px}
.hero p{font-size:19px;color:var(--mute);margin-bottom:30px;max-width:540px}
.btns{display:flex;gap:14px;flex-wrap:wrap}
.art{position:relative;height:440px}
.art .c1{position:absolute;inset:0 40px 40px 0;border-radius:200px 200px 32px 32px;background:linear-gradient(160deg,#f6e3c4,#e9cfa8);overflow:hidden}
.theme-terra .art .c1{background:linear-gradient(160deg,#f5dccb,#e7c0a3)}
.art .c1 img.photo{width:100%;height:100%;object-fit:cover}
.art .c2{position:absolute;right:0;bottom:0;width:58%;height:55%;border-radius:32px;background:var(--sage);opacity:.85}
.art img.mark{position:absolute;left:12%;top:8%;width:66%}
.art .sun{position:absolute;right:30px;top:10px;width:80px;height:80px;border-radius:50%;background:var(--sun);opacity:.8}
.help{background:#fff;border-radius:28px;padding:36px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;box-shadow:0 10px 40px rgba(58,100,80,.08)}
.help>div{border-left:3px solid var(--sage);padding-left:18px}.help h3{font-size:20px;margin-bottom:6px}.help p{color:var(--mute);font-size:15px}
.help a.more{display:inline-block;margin-top:10px;padding:6px 0;font-weight:700;color:var(--accentT);font-size:14px}
section{padding:80px 0}
.sh{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:6px 16px;margin-bottom:32px}.sh h2{font-size:36px}.sh a{font-weight:700;color:var(--g);white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:#fff;border-radius:22px;padding:24px 26px}.stat b{font-family:Lora,serif;font-size:40px;color:var(--g2);display:block;line-height:1.1}.stat span{color:var(--mute);font-size:15px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border-radius:24px;padding:28px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
a.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(35,48,42,.08)}
.card i{width:48px;height:48px;border-radius:14px;margin-bottom:18px;display:block;flex:none}
.card .cover{margin:-28px -28px 20px;height:180px;border-radius:24px 24px 0 0;object-fit:cover;width:calc(100% + 56px);max-width:none}
.card h3{font-size:20px;margin-bottom:8px}.card p{font-size:15px;color:var(--mute);flex:1}
.card .go{margin-top:14px;font-weight:700;color:var(--accentT);font-size:14px}
.c-sand{background:#f6dcc8}.c-sage{background:#dde8d4}.c-sun{background:#f3e6c4}.c-terra{background:#f4d6c4}
.band{background:var(--sand)}
.evs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.e{background:var(--cream);border-radius:22px;padding:24px;display:flex;gap:18px}
.band .e{background:#fff}
.d{min-width:66px;height:74px;border-radius:16px;background:var(--g);color:#fff;text-align:center;padding-top:8px;flex:none}
.d b{display:block;font-size:27px;font-family:Lora,serif;line-height:1.1}.d span{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.e h3{font-size:18px;margin-bottom:6px}.e .m{font-size:14px;color:var(--mute)}
.tag{display:inline-block;font-size:12px;font-weight:700;padding:3px 11px;border-radius:99px;background:var(--g3);color:var(--g);margin:8px 6px 0 0}
.tag.warn{background:#fbe9de;color:#9b3f1d}
.e a.go,.row a.go{display:inline-block;margin-top:10px;padding:6px 0;font-weight:700;color:var(--accentT);font-size:14px}
.story{background:#fff;border-radius:28px;padding:40px;display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center}
.story img{border-radius:22px;aspect-ratio:4/5;object-fit:cover;width:100%}
.story blockquote{font-family:Lora,serif;font-size:24px;color:var(--g2);line-height:1.4;margin:14px 0}
.don{background:var(--g);color:#e8efe9;border-radius:32px;padding:52px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.don h2{color:#fff;font-size:36px;margin-bottom:12px}
.sums{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.sums button{padding:11px 20px;border-radius:99px;border:1.5px solid rgba(255,255,255,.45);font-weight:700;background:transparent;color:#fff;cursor:pointer;font-family:inherit;font-size:15px}
.sums button.on{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.qr{background:#fff;border-radius:22px;padding:22px;color:var(--ink);display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.qr>div{flex:1 1 160px;min-width:0}
.qr img{width:150px;height:150px;border-radius:8px;flex:none}.qr p{font-size:14px;color:var(--mute)}
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.n .img{height:200px;border-radius:22px;margin-bottom:16px;object-fit:cover;width:100%;background:linear-gradient(135deg,var(--sand),var(--sand2))}
.n small{color:var(--accentT);font-weight:700;font-size:13px}.n h3{font-size:20px;margin:6px 0}.n p{font-size:15px;color:var(--mute)}
.partners{display:flex;flex-wrap:wrap;gap:16px}
.partners a,.partners span{background:#fff;border-radius:18px;padding:18px 24px;display:flex;align-items:center;min-height:86px}
.partners img{max-height:52px;max-width:170px;width:auto}
/* страницы */
.phead{padding:44px 0 28px}
.crumbs{font-size:14px;color:var(--mute);margin-bottom:14px}.crumbs a{text-decoration:underline}
.phead h1{font-size:44px;margin-bottom:12px}.phead p.lead{font-size:20px;color:var(--mute);max-width:760px}
.prose{font-size:18px;line-height:1.75;overflow-wrap:anywhere}
.prose table,.prose pre{display:block;overflow-x:auto;max-width:100%}
.side>*{min-width:0}
.prose p,.prose ul,.prose ol,.prose blockquote,.prose figure{margin-bottom:1.1em}
.prose h1,.prose h2{font-size:28px;margin:1.4em 0 .5em}.prose h3{font-size:22px;margin:1.2em 0 .4em}
.prose ul{padding-left:1.4em;list-style:disc}.prose ol{padding-left:1.4em;list-style:decimal}
.prose a{color:var(--g);text-decoration:underline}
.prose blockquote{border-left:3px solid var(--sage);padding-left:18px;font-family:Lora,serif;font-size:21px;color:var(--g2)}
.prose img{border-radius:18px;margin:8px 0}
.prose figcaption{font-size:14px;color:var(--mute)}
.cover-wide{border-radius:28px;width:100%;max-height:460px;object-fit:cover;margin-bottom:36px}
.side{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start}
.box{background:#fff;border-radius:24px;padding:28px}
.box h3{font-size:20px;margin-bottom:12px}
.facts{display:grid;gap:12px;font-size:15px}.facts b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);font-weight:700}
.month{font-family:Lora,serif;font-size:26px;color:var(--g2);margin:30px 0 8px;padding-bottom:10px;border-bottom:1px dashed var(--sand2)}
.row{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px dashed var(--sand2)}
.row .dt b{font-family:Lora,serif;font-size:22px;color:var(--g2);display:block}.row .dt span{font-size:14px;color:var(--mute)}
.row h3{font-size:20px;margin-bottom:4px}.row .m{font-size:14px;color:var(--mute)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters a{padding:8px 16px;border-radius:99px;background:#fff;font-weight:600;font-size:14px}.filters a.on{background:var(--g);color:#fff}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.person img{border-radius:22px;aspect-ratio:1;object-fit:cover;width:100%;margin-bottom:12px;background:var(--sand)}
.person .ph{border-radius:22px;aspect-ratio:1;background:var(--sand);margin-bottom:12px}
.person b{font-family:Lora,serif;font-size:18px;color:var(--g2);display:block}.person span{font-size:14px;color:var(--mute)}
.docs a{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:16px 20px;margin-bottom:10px;font-weight:600}
.docs a:before{content:"PDF";font-size:11px;font-weight:800;background:var(--accent3);color:var(--accentT);padding:6px 8px;border-radius:8px}
.faq details{background:#fff;border-radius:18px;padding:20px 24px;margin-bottom:10px}
.faq summary{font-family:Lora,serif;font-size:19px;color:var(--g2);cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";float:right;color:var(--accent);font-size:24px;line-height:1}
.faq details[open] summary:after{content:"−"}
.faq .prose{margin-top:12px;font-size:16px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.gallery img{border-radius:14px;aspect-ratio:1;object-fit:cover;width:100%}
.diplomas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.diplomas figure{background:#fff;border-radius:20px;padding:16px}.diplomas img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:10px}
.diplomas b{display:block;color:var(--g2)}.diplomas span{font-size:14px;color:var(--mute)}
.diplomas .dip{all:unset;display:block;cursor:zoom-in;width:100%}.diplomas img{user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;pointer-events:none}
.dipbox{position:fixed;inset:0;background:rgba(20,16,12,.92);z-index:50;display:grid;place-items:center;padding:24px;cursor:zoom-out}.dipbox[hidden]{display:none}
.dipbox img{max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);width:auto;height:auto;object-fit:contain;border-radius:10px;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;pointer-events:none;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.dipbox .dipclose{position:absolute;top:18px;right:22px;color:#fff;font-size:28px}
/* форма */
.form{background:#fff;border-radius:26px;padding:34px;scroll-margin-top:20px}
.form h2{font-size:26px;margin-bottom:8px}
.form label{display:block;font-weight:700;font-size:14px;margin:16px 0 6px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=number],.form input[type=date],.form textarea,.form select{
  width:100%;border:1.5px solid var(--sand);border-radius:14px;padding:12px 15px;font-size:16px;font-family:inherit;background:var(--cream);outline:none}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--g);background:#fff}
.form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:14px;margin-top:14px}
.form .chk input{margin-top:4px;width:18px;height:18px;accent-color:var(--g);flex:none}
.form .opt{display:flex;gap:10px;align-items:center;font-weight:500;font-size:15px;margin:2px 0;padding:8px 0}.form .opt input{width:20px;height:20px;accent-color:var(--g);flex:none}
.form .err{background:#fbe9de;color:#9b3f1d;border-radius:14px;padding:12px 16px;margin-top:14px;font-weight:600;font-size:15px}
.form .okmsg{background:#e6efe2;color:#2c4d3e;border-radius:14px;padding:18px 20px;font-weight:600}
.form .bad{border-color:#d4673d!important}
.hp{position:absolute;left:-5000px}
/* подвал */
footer{background:var(--foot);color:var(--footText);padding:58px 0 30px;font-size:14px;margin-top:40px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:30px}
footer h4{color:#fff;font-family:Lora,serif;font-size:17px;margin-bottom:12px}footer p{margin-bottom:6px}
footer a:hover{color:#fff;text-decoration:underline}
.sos b,.sos a{color:#fff}.sos a{text-decoration:underline;text-underline-offset:3px}
.legal{border-top:1px solid var(--foot2);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;opacity:.8;font-size:13px}
.empty{background:#fff;border-radius:22px;padding:34px;color:var(--mute);text-align:center}
@media(max-width:900px){
  .top .addr{display:none}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);flex-direction:column;gap:0;padding:8px 28px 20px;border-bottom:1px solid var(--sand);z-index:20;font-size:18px}
  nav.main a{padding:12px 0;border-bottom:1px solid #efe6d8}
  nav.main.open{display:flex}
  header{position:relative}header .w{gap:14px}
  header .w>.btn{display:none}
  .burger{display:block}
  .logo img{height:46px}.logo small{display:none}
  .hero{padding:20px 0 44px}.hero .w{grid-template-columns:1fr;gap:26px}.art{height:270px;order:-1}
  .hero h1{font-size:34px}.hero p{font-size:17px}.btns{flex-direction:column}.btns .btn{width:100%}
  .help,.cards,.cards.c3,.evs,.news,footer .cols,.don,.story,.side,.stats,.team,.diplomas{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}.team{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}
  .help{padding:26px}section{padding:52px 0}.sh h2{font-size:28px}.sh a{font-size:14px}
  .don{padding:28px}.don h2{font-size:28px}.story{padding:24px}
  .phead h1{font-size:32px}.phead p.lead{font-size:17px}.prose{font-size:17px}
  .row{grid-template-columns:1fr;gap:6px}.form{padding:22px}
  .legal{flex-direction:column}
}

/* вложения в тексте */
.op-fig-video,.op-fig-audio,.op-fig-doc,.op-fig-img{margin:28px 0}
.op-fig-img img{border-radius:18px;width:100%}
figcaption{font-size:14px;color:var(--mute);margin-top:8px}
.op-video{position:relative;border-radius:18px;overflow:hidden;background:#000}
.op-video video{width:100%;display:block;max-height:70vh}
.op-embed{aspect-ratio:16/9}.op-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.op-video-top{margin-bottom:28px}
.op-click{display:grid;place-items:center;background:linear-gradient(135deg,#2c3a2e,#16201a)}
.op-play{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;text-align:center;padding:20px;font-weight:700;font-size:17px}
.op-play-i{width:68px;height:68px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:26px;padding-left:4px;box-sizing:border-box}
.op-play:hover .op-play-i,.op-play:focus-visible .op-play-i{background:rgba(255,255,255,.32)}
.op-play small{font-weight:500;font-size:13px;opacity:.75}
.op-audio{background:#fff;border-radius:18px;padding:16px 20px;border:1px solid var(--sand)}
.op-audio-name{font-weight:700;margin-bottom:8px}.op-audio audio{width:100%}
.op-doc{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid var(--sand);border-radius:18px;padding:16px 20px;color:var(--ink);transition:.2s}
.op-doc:hover{border-color:var(--sage);transform:translateY(-2px)}
.op-doc-icon{font-size:12px;font-weight:800;background:var(--accent3);color:var(--accentT);padding:10px 11px;border-radius:10px;flex:none;letter-spacing:.03em}
.op-doc-body{flex:1;min-width:0}.op-doc-name{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-doc-meta{display:block;font-size:13px;color:var(--mute)}.op-doc-go{color:var(--g);font-weight:800;font-size:20px}
.n .imgwrap{position:relative;display:block}
.n .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--g2);display:grid;place-items:center;font-size:20px;padding-left:4px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.n .badge{position:absolute;left:12px;top:12px;background:#fff;color:var(--g);font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px}

/* поиск, слоты, «хочу помочь» */
.srch{display:flex;gap:6px;align-items:center}.srch input{border:1.5px solid var(--sand);border-radius:99px;padding:8px 14px;font-size:14px;font-family:inherit;background:#fff;width:150px;outline:none}
.srch input:focus{border-color:var(--g);width:200px}.srch button{border:0;background:var(--sand);border-radius:99px;width:36px;height:36px;font-size:18px;cursor:pointer;color:var(--g2)}
.srch.big input{width:100%;flex:1;font-size:17px;padding:12px 18px}.srch.big{margin-top:18px}
.srow{display:block;background:#fff;border-radius:18px;padding:18px 22px;margin-bottom:12px}.srow small{color:var(--accentT);font-weight:700;font-size:13px;text-transform:uppercase}.srow b{display:block;font-family:Lora,serif;font-size:20px;color:var(--g2);margin:4px 0}.srow span{color:var(--mute);font-size:15px}
.slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.slots button{padding:9px 14px;border-radius:99px;border:1.5px solid var(--sand2);background:#fff;font-weight:700;cursor:pointer;font-family:inherit}.slots button.on{background:var(--g);color:#fff;border-color:var(--g)}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.only-mobile{display:none}
@media(max-width:900px){.srch:not(.big){display:none}nav.main .srch{display:flex;margin-top:12px}nav.main .srch input{width:100%;flex:1}.only-mobile{display:block;font-weight:800;color:var(--accentT)}.split2{grid-template-columns:1fr}}

/* ── правки по проверке дизайна 13.10 ── */
/* кнопка большой формы поиска - по тексту, а не круглая 36px */
.srch.big button{width:auto;height:auto;padding:12px 22px;flex:none;border-radius:99px;font-size:15px;color:#fff}
.srch button svg{width:18px;height:18px;display:block;margin:auto}
input[type=search]::-webkit-search-cancel-button{filter:grayscale(1);opacity:.6}
/* текущий раздел меню */
nav.main a[aria-current]{color:var(--g);box-shadow:inset 0 -2px 0 var(--g)}
/* цели для пальца */
.langs a{display:inline-block;padding:10px 6px;margin-left:6px}
footer p a{display:inline-block;padding:5px 0}
/* ошибка у поля */
.ferr{color:#9b3f1d;font-size:14px;font-weight:600;margin-top:5px}
/* иконка-буква в карточках без картинки */
.card i{display:grid;place-items:center;font-style:normal;font-family:Lora,serif;font-size:22px;font-weight:600;color:var(--g2)}
/* контакты: форма шире карточки */
.side.contacts{grid-template-columns:minmax(0,380px) 1fr}
/* «Поддержать» без реквизитов */
.don-soon{background:#fff;border-radius:24px;padding:28px;max-width:760px}
.don-soon p+p{margin-top:10px}
/* подвал: связанный сайт */
.related{margin-top:14px}.related a{text-decoration:underline;text-underline-offset:3px}
.draftbar{background:#fcf1d8;color:#6b4e12;text-align:center;padding:10px 16px;font-weight:700;font-size:15px}
@media(max-width:900px){
  /* иллюстрация главной не налезает на заголовок на планшете */
  .art img.mark{width:auto;height:92%;top:4%;left:50%;transform:translateX(-50%)}
  .art .c1{inset:0 0 24px 0}
  .sh a{white-space:normal}
  .side.contacts{grid-template-columns:1fr}
  /* встреча на телефоне: дата и место - над описанием и формой */
  .side.event>.facts{order:-1}
  /* меню: тень и крестик */
  nav.main.open{box-shadow:0 24px 40px rgba(0,0,0,.14)}
  .burger[aria-expanded=true]:before{top:22px;box-shadow:none;transform:rotate(45deg)}
  .burger[aria-expanded=true]:after{content:"";position:absolute;left:13px;right:13px;top:22px;height:2px;background:var(--g2);transform:rotate(-45deg)}
  nav.main .srch button{width:44px;height:44px;flex:none}
  .eyebrow{font-size:14px}.legal{font-size:14px}.facts b{font-size:13px}
  footer .cols{grid-template-columns:1fr 1fr;gap:24px 20px}footer .cols>.sos,footer .cols>div:first-child{grid-column:1/-1}
}
@media(max-width:600px){.art{height:200px}.hero h1{font-size:31px}}

/* повторная проверка: верхняя полоса в одну линию, крупнее цели для пальца */
.top .w{align-items:center}
@media(min-width:901px){.langs a{padding:4px 6px}}
footer p a{padding:8px 0}.crumbs a{display:inline-block;padding:8px 0}
.facts a[href^="tel:"]{display:inline-block;padding:8px 0}
.srow mark{background:#fcf1d8;color:inherit;padding:0 2px;border-radius:3px}

/* карточка документа в тексте - не подчёркнутая ссылка; длинное имя в две строки */
.prose a.op-doc{text-decoration:none;color:var(--ink)}
.op-doc-name{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}

/* знак - всегда поверх декоративных фигур (прямоугольник закрывал его на телефоне, 14.10) */
.art .c2{z-index:1}.art img.mark{z-index:2}.art .sun{z-index:1}
@media(max-width:900px){.art .c2{width:36%;height:38%}}
@media(max-width:900px){.art .c1{inset:0}.art img.mark{height:86%;top:7%}}

/* ── личный сайт: своя главная (16.10) ── */
.logo.person span b{font-size:26px}.logo.person small{text-transform:none;letter-spacing:0;font-size:12px}
.phero{padding:40px 0 56px}.phero .w{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.pphoto{position:relative;max-width:420px;justify-self:end}
.pphoto img,.pphoto .pph{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:34px 34px 34px 120px;display:block;box-shadow:0 24px 60px rgba(58,40,30,.14)}
.pphoto:before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:34px 34px 34px 120px;background:var(--sand);z-index:-1}
.pph{background:linear-gradient(160deg,#f5dccb,#e7c0a3);display:grid;place-items:center}.pph span{font-family:Lora,serif;font-size:140px;color:var(--g2);opacity:.75}
.ptext h1{font-size:50px;margin-bottom:18px}.ptext p{font-size:19px;color:var(--mute);margin-bottom:28px;max-width:560px}
.pabout{padding:0 0 64px}.pabout-in{background:#fff;border-radius:28px;padding:44px 48px;max-width:860px}
.pabout .big{font-family:Lora,serif;font-size:24px;line-height:1.5;color:var(--g2);margin:0 0 22px}
.plib{padding:0 0 72px}.plib-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.plead{display:block;background:#fff;border-radius:26px;overflow:hidden}.plead img,.plead .img{width:100%;height:300px;object-fit:cover;display:block;background:linear-gradient(135deg,var(--sand),var(--sand2))}
.plead>div{padding:26px 30px 30px}.plead small{color:var(--accentT);font-weight:700;font-size:13px}.plead h3{font-size:26px;margin:8px 0 10px}.plead p{color:var(--mute);font-size:16px}.plead .go{display:inline-block;margin-top:14px;font-weight:700;color:var(--accentT)}
.plist{display:grid;gap:12px}.prow{display:flex;gap:16px;align-items:center;background:#fff;border-radius:20px;padding:14px 16px}
.prow img,.prow .img{width:84px;height:84px;border-radius:14px;object-fit:cover;flex:none;background:linear-gradient(135deg,var(--sand),var(--sand2))}
.prow small{display:block;color:var(--mute);font-size:13px}.prow b{font-family:Lora,serif;font-size:18px;color:var(--g2);line-height:1.3}
.pserv{padding:0 0 72px}.prows{display:grid;gap:14px}
.prow2{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:#fff;border-radius:24px;padding:22px 26px}
.prow2 img{width:120px;height:90px;object-fit:cover;border-radius:16px}.prow2 h3{font-size:21px;margin-bottom:4px}.prow2 p{color:var(--mute);font-size:15px}
.pprice{text-align:right;font-family:Lora,serif;font-size:22px;color:var(--g2)}.pprice small{display:block;font-family:Manrope,sans-serif;font-size:13px;color:var(--mute);margin-bottom:10px}
.pcta{padding:0 0 80px}.pcta-in{background:var(--g);color:#fff;border-radius:30px;padding:40px 48px;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.pcta-in>div{flex:1;min-width:260px}.pcta h2{color:#fff;font-size:30px;margin-bottom:8px}.pcta .mute{color:rgba(255,255,255,.8)}.pcta .btn.p{background:#fff;color:var(--g2)}
.rows .row:first-child{border-top:1px dashed var(--sand2)}
/* фото у встреч в карточках и списках */
.e.has-cover{flex-wrap:wrap}/* обложки обычно квадратные, люди в верхней части: рамка 4:3 и обрезка от верха (18.10 срезало головы) */
.ecover{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 12%;border-radius:16px;margin-bottom:4px}
.row.has-cover{grid-template-columns:110px 140px 1fr auto}.rcover{width:110px;height:80px;object-fit:cover;object-position:50% 12%;border-radius:14px}
@media(max-width:900px){
  .phero{padding:16px 0 40px}.phero .w{grid-template-columns:1fr;gap:28px}.pphoto{max-width:260px;justify-self:start}.ptext h1{font-size:34px}
  .pabout-in{padding:26px}.pabout .big{font-size:20px}.plib-grid{grid-template-columns:1fr}.plead img,.plead .img{height:200px}
  .prow2{grid-template-columns:1fr;gap:12px}.prow2 img{width:100%;height:160px}.pprice{text-align:left}.pcta-in{padding:28px}
  .row.has-cover{grid-template-columns:1fr}.rcover{width:100%;height:auto;aspect-ratio:4/3}
}
.diplomas figure{padding:12px}.diplomas img{margin-bottom:0}
/* 16.10: картинки не обрезаем - вертикальные дипломы и портреты видны целиком */
.diplomas img{aspect-ratio:auto;height:260px;width:100%;object-fit:contain;background:#f6f1ea}
.cover-wide{width:auto;max-width:100%;height:auto;max-height:620px;object-fit:contain;display:block}
@media(max-width:900px){.diplomas img{height:220px}.cover-wide{max-height:none}}

/* плашка cookies */
.ck{position:fixed;left:16px;bottom:16px;z-index:60;max-width:420px;background:#fff;border:1px solid var(--sand);border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);padding:14px 16px;display:flex;gap:14px;align-items:center;font-size:14px;line-height:1.45}
.ck[hidden]{display:none}.ck p{margin:0;color:var(--ink)}.ck a{text-decoration:underline}.ck .btn{flex:none}
@media(max-width:560px){.ck{left:10px;right:10px;bottom:10px;max-width:none;flex-direction:column;align-items:stretch}}
