/* Макет 1111.png. Дополняет базовые модули main.css. */
.botanika {
    --paper: #f1eee5;
    --ink: #171b16;
    --forest: #22271e;
    --olive: #595c3b;
    --gold: #bd9e55;
    --font-family: "Cormorant Garamond", Georgia, serif;
    --torn-top: polygon(0.00% 3.10px,0.67% 1.18px,1.33% 1.97px,2.00% 2.26px,2.67% 2.61px,3.33% 0.18px,4.00% 4.16px,4.67% 0.74px,5.33% 2.00px,6.00% 2.43px,6.67% 2.19px,7.33% 1.08px,8.00% 2.66px,8.67% 2.60px,9.33% 0.19px,10.00% 3.89px,10.67% 1.06px,11.33% 2.06px,12.00% 1.81px,12.67% 3.12px,13.33% 0.33px,14.00% 3.03px,14.67% 2.40px,15.33% 0.60px,16.00% 3.19px,16.67% 1.71px,17.33% 1.90px,18.00% 1.40px,18.67% 3.74px,19.33% -0.09px,20.00% 3.20px,20.67% 2.15px,21.33% 1.26px,22.00% 2.22px,22.67% 2.55px,23.33% 1.57px,24.00% 1.27px,24.67% 3.92px,25.33% -0.04px,26.00% 3.05px,26.67% 1.99px,27.33% 1.96px,28.00% 1.22px,28.67% 3.37px,29.33% 1.19px,30.00% 1.40px,30.67% 3.66px,31.33% 0.49px,32.00% 2.56px,32.67% 2.01px,33.33% 2.51px,34.00% 0.43px,34.67% 3.94px,35.33% 0.92px,36.00% 1.66px,36.67% 3.06px,37.33% 1.38px,38.00% 1.80px,38.67% 2.24px,39.33% 2.79px,40.00% 0.05px,40.67% 4.10px,41.33% 0.92px,42.00% 1.91px,42.67% 2.32px,43.33% 2.40px,44.00% 0.97px,44.67% 2.58px,45.33% 2.77px,46.00% 0.14px,46.67% 3.76px,47.33% 1.25px,48.00% 2.01px,48.67% 1.66px,49.33% 3.31px,50.00% 0.28px,50.67% 2.90px,51.33% 2.55px,52.00% 0.62px,52.67% 3.00px,53.33% 1.88px,54.00% 1.91px,54.67% 1.23px,55.33% 3.88px,56.00% -0.06px,56.67% 3.03px,57.33% 2.25px,58.00% 1.35px,58.67% 2.01px,59.33% 2.68px,60.00% 1.64px,60.67% 1.10px,61.33% 4.00px,62.00% 0.07px,62.67% 2.87px,63.33% 2.04px,64.00% 2.10px,64.67% 1.01px,65.33% 3.44px,66.00% 1.31px,66.67% 1.25px,67.33% 3.66px,68.00% 0.66px,68.67% 2.38px,69.33% 2.01px,70.00% 2.68px,70.67% 0.27px,71.33% 3.93px,72.00% 1.08px,72.67% 1.54px,73.33% 2.99px,74.00% 1.58px,74.67% 1.66px,75.33% 2.18px,76.00% 2.96px,76.67% -0.05px,77.33% 4.01px,78.00% 1.10px,78.67% 1.84px,79.33% 2.19px,80.00% 2.61px,80.67% 0.88px,81.33% 2.47px,82.00% 2.93px,82.67% 0.11px,83.33% 3.61px,84.00% 1.43px,84.67% 2.00px,85.33% 1.49px,86.00% 3.49px,86.67% 0.27px,87.33% 2.75px,88.00% 2.68px,88.67% 0.68px,89.33% 2.81px,90.00% 2.03px,90.67% 1.95px,91.33% 1.05px,92.00% 4.01px,92.67% 0.01px,93.33% 2.86px,94.00% 2.34px,94.67% 1.47px,95.33% 1.79px,96.00% 2.78px,96.67% 1.73px,97.33% 0.93px,98.00% 4.05px,98.67% 0.21px,99.33% 2.69px,100.00% 2.07px,100% 100%,0 100%);
    margin: 0;
    background: linear-gradient(#f1eee5ad,#f1eee5ad), url("../images/paper-texture.webp") repeat;
    background-size: 650px;
    color: var(--ink);
    font: 500 20px/1.35 var(--font-family);
    -webkit-font-smoothing: antialiased;
}
html { scroll-behavior: smooth; scroll-padding-top: 20px; }
.botanika .container { width: 90.8%; max-width: 1600px; }
.botanika h1, .botanika h2, .botanika h3, .botanika p, .botanika figure, .botanika blockquote { margin: 0; }
.botanika a { text-decoration: none; }
.botanika button { font: inherit; color: inherit; cursor: pointer; }
.botanika a:focus-visible, .botanika button:focus-visible { outline: 2px solid #b19b55; outline-offset: 5px; }
.botanika [hidden] { display: none !important; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.skip-link { position: fixed; top: -90px; left: 20px; background: var(--paper); padding: 14px 20px; z-index: 100; }
.skip-link:focus { top: 10px; }
.eyebrow { font-size: 13px; line-height: 1.35; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase; }
.handwritten { font-family: "Great Vibes", "Cormorant Garamond", cursive; font-weight: 400; }
.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 5; }
.header-inner { min-height: 65px; }
.main-nav { display: flex; align-items: center; gap: clamp(20px,2.1vw,34px); }
.main-nav a { font-size: 16px; text-transform: uppercase; white-space: nowrap; }
.main-nav a:hover, .footer-nav a:hover { color: #8c7341; }
.mobile-brand, .menu-toggle { display: none; }
.hero { position: relative; height: clamp(420px,33.5vw,650px); overflow: hidden; }
.hero-art { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; }
.hero-inner { position: relative; height: 100%; display: flex; justify-content: space-between; }
.hero-copy { position: relative; width: 57%; padding-top: 70px; }
.hero-intro { position: absolute; left: 0; top: 87px; border-left: 1px solid #b5ac94; padding: 23px 0 85px 23px; font-size: 13px; letter-spacing: 2px; color: #51482e; }
.hero h1 { font-weight: 500; margin: clamp(26px,2.2vw,45px) 0 0 4%; line-height: .9; }
.hero h1 span:first-child { display: block; font-family: "Great Vibes", "Cormorant Garamond", cursive; margin-left: 10%; font-size: clamp(90px,10.9vw,175px); font-weight: 400; letter-spacing: -5px; line-height: .8; padding-top: 10px; white-space: nowrap; }
.hero h1 span:last-child { display: block; font-size: clamp(62px,6.2vw,102px); text-transform: uppercase; letter-spacing: -3px; margin: 3px 0 0 25%; line-height: .95; }
.hero-tagline { margin: 22px 0 0 38% !important; font-size: 16px; letter-spacing: 2.3px; }
.hero-more { display: flex; align-items: center; justify-content: flex-end; gap: 20px; margin-top: 24px; padding-right: 5%; }
.hero-more .eyebrow { font-size: 13px; letter-spacing: 1.5px; }
.round-arrow { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid #e1dbc5; border-radius: 50%; color: #f3efdf; background: rgba(81,81,48,.88); flex-shrink: 0; }
.round-arrow .icon { width: 23px; height: 23px; }
.hero-aside { color: #e4ddc7; width: 11%; padding: 65px 0 0 10px; }
.hero-topline { position: relative; font-size: 18px; line-height: 1.05; padding-bottom: 40px; }
.hero-topline::before { content: ""; position: absolute; top: -22px; width: 70px; height: 1px; background: #a68a41; }
.hero-topline::after { content: ""; position: absolute; width: 12px; height: 12px; border: 1px solid #b99d53; border-radius: 50%; top: -28px; left: -10px; background: #24291e; }
.hero-manifesto { font-size: 16px; line-height: 1.5; letter-spacing: 2.2px; }
.hero-aside .handwritten { font-size: 43px; line-height: .9; transform: rotate(-13deg); margin: 23px 0 0 -30px; color: #c3b788; }
.section-space { padding: 20px 0 18px; }
.section-heading { gap: 18px; margin-bottom: 15px; }
.section-heading h2, .about h2 { font-size: clamp(32px,2.95vw,46px); font-weight: 500; letter-spacing: -1px; line-height: 1.05; }
.section-heading .upper-title { font-size: clamp(28px,2.15vw,35px); text-transform: uppercase; letter-spacing: -.4px; }
.section-link { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.2px; white-space: nowrap; }
.section-link .icon { width: 24px; color: #696748; }
.project-grid { gap: 20px; }
.project-card, .program-card, .meeting-card, .course-card { position: relative; display: block; border: 0; padding: 0; min-width: 0; text-align: left; overflow: hidden; background: #dedacb; }
.project-card > img, .program-card > img, .meeting-card > img, .course-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.project-card:hover > img, .program-card:hover > img, .course-card:hover > img { transform: scale(1.035); }
.project-card { min-height: clamp(220px,15.5vw,280px); }
.project-card .card-copy { position: relative; min-height: inherit; padding: 60px 23px 60px; display: flex; flex-direction: column; justify-content: flex-end; }
.project-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(244,238,222,.65),transparent 85%); pointer-events: none; }
.project-card.card-dark::after { background: linear-gradient(0deg,rgba(13,22,13,.8),transparent); }
.project-card .card-copy, .project-card .round-arrow { z-index: 1; }
.card-dark { color: #f3f0e5 !important; }
.project-card .card-title { display: block; font-size: clamp(26px,2.05vw,34px); font-weight: 500; line-height: 1.04; letter-spacing: 1.4px; text-transform: uppercase; margin-bottom: 10px; }
.card-description { display: block; font-size: clamp(17px,1.4vw,22px); line-height: 1.2; }
.project-card .card-description { max-width: calc(100% - 30px); }
.project-card .round-arrow, .program-card .round-arrow, .meeting-card .round-arrow, .course-card .round-arrow { position: absolute; right: 15px; bottom: 15px; }
.about-programs { display: grid; grid-template-columns: 1fr 1fr; gap: 3%; padding-right: 3.6%; }
.about { position: relative; color: #f4f0e4; display: grid; grid-template-columns: 1.6fr 1fr; gap: 25px; padding: 35px 28px 30px max(28px,9.2%); min-height: 320px; }
.about::before { content: ""; position: absolute; inset: -8px 0 0; background: radial-gradient(ellipse at 40% 40%,#666844,#3f472e); clip-path: var(--torn-top); }
.about-content { position: relative; z-index: 1; }
.about h2 { margin-bottom: 28px; }
.about p { font-size: clamp(18px,1.48vw,23px); line-height: 1.4; }
.text-button { display: inline-flex; align-items: center; gap: 15px; border: 0; padding: 0; background: none; margin-top: 25px; color: inherit; }
.text-button .eyebrow { font-size: 14px; }
.text-button .round-arrow { width: 29px; height: 29px; border-color: #c5a964; color: #c5a964; background: none; }
.text-button .icon { width: 18px; height: 18px; }
.about-note { align-self: end; width: 100%; height: 270px; position: relative; z-index: 1; object-fit: cover; transform: rotate(-1deg); }
.programs { padding: 22px 0 0; }
.programs .section-heading { align-items: flex-end; }
.programs .section-heading h2 { font-size: clamp(30px,2.8vw,43px); }
.program-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.program-card { display: flex; flex-direction: column; justify-content: flex-start; min-height: clamp(240px,17.2vw,315px); border: 1px solid #d9d4c6; }
.program-card .card-title { position: relative; display: block; padding: 14px 16px; font-size: clamp(23px,1.9vw,30px); line-height: 1.06; font-weight: 500; }
.program-card .eyebrow { position: absolute; bottom: 13px; left: 16px; font-size: 11px; letter-spacing: 1px; }
.program-card .round-arrow { width: 32px; height: 32px; bottom: 11px; right: 11px; }
.meetings { padding-top: 30px; padding-bottom: 27px; }
.meetings-inner { display: grid; grid-template-columns: 3.25fr 1fr; gap: 28px; align-items: end; }
.meeting-content { min-width: 0; }
.meeting-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.meeting-card { min-height: clamp(200px,13.1vw,245px); padding: 12px 16px 55px; border: 1px solid #d4cebf; background: rgba(255,255,255,.2); }
.meeting-card > img { left: 48%; width: 52%; height: 100%; object-position: 70% 40%; clip-path: polygon(0 0,100% 0,100% 100%,44% 100%,34% 83%,12% 67%,25% 48%,8% 28%); filter: saturate(.55); }
.meeting-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(247,245,238,.92) 30%,rgba(247,245,238,.8) 65%,transparent); }
.meeting-date { display: block; position: relative; z-index: 1; font-size: 15px; letter-spacing: 1px; line-height: .95; margin-bottom: 14px; }
.meeting-date > span { display: block; font-size: 43px; letter-spacing: -1px; }
.meeting-card .card-title { position: relative; z-index: 1; display: block; font-size: clamp(20px,1.58vw,25px); font-weight: 600; line-height: 1.1; }
.meeting-card .card-description { position: relative; z-index: 1; margin-top: 12px; font-size: clamp(16px,1.18vw,19px); }
.meeting-card .round-arrow { z-index: 1; right: 10px; bottom: 10px; }
.meeting-quote { position: relative; padding: 40px 0 15px 43%; align-self: stretch; display: flex; align-items: center; }
.meeting-quote > img { position: absolute; top: -15px; left: -8%; height: 108%; width: 62%; object-fit: contain; object-position: 55% 75%; }
.meeting-quote blockquote { position: relative; font-size: clamp(24px,2.05vw,32px); font-style: italic; line-height: 1.14; }
.meeting-quote blockquote::before { content: "“"; display: block; color: #aea88e; font-size: 77px; font-weight: 600; line-height: .55; margin-bottom: 15px; }
.courses-radio { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(0,1fr); overflow: clip; }
.courses { padding: 12px 27px 36px 8.7%; }
.course-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
.course-card { display: flex; flex-direction: column; justify-content: flex-start; min-height: clamp(175px,12.5vw,230px); border: 1px solid #cfc8b9; }
.course-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(246,240,223,.85),rgba(246,240,223,.05) 65%); }
.course-card.card-dark::after { background: linear-gradient(180deg,rgba(16,24,16,.75),transparent 70%); }
.course-card:nth-child(3) > img { object-position: 90% 40%; }
.course-card:nth-child(6) > img { object-position: 50% 30%; filter: sepia(.45) saturate(.5); }
.course-card .card-title { display: block; position: relative; z-index: 1; padding: 12px 12px 50px; font-size: clamp(20px,1.62vw,26px); line-height: 1.04; letter-spacing: -.65px; font-weight: 500; overflow-wrap: break-word; }
.course-card .round-arrow { z-index: 1; right: 10px; bottom: 10px; width: 36px; height: 36px; }
.radio { position: relative; min-width: 0; padding: 18px 9.5% 50px 6.5%; color: #f1ebdc; }
.radio::before { content: ""; position: absolute; inset: -20px 0 -10px -14px; background: radial-gradient(ellipse at 40% 40%,#293022,#1b2119); clip-path: var(--torn-top); }
.radio-content { position: relative; z-index: 1; }
.radio .section-heading h2 { white-space: nowrap; }
.radio .section-link .icon { color: #d5cdb3; }
.radio-main { position: relative; }
.podcast-card { display: flex; gap: 20px; width: 72%; padding: 19px; border: 1px solid #a4a28b; background: rgba(12,19,12,.15); }
.podcast-cover { width: 29%; object-fit: cover; aspect-ratio: 1 / 1.2; flex-shrink: 0; align-self: stretch; }
.podcast-info { flex: 1; min-width: 0; }
.podcast-info .eyebrow { color: #c7ac62; font-size: 12px; letter-spacing: 1.5px; }
.podcast-info h3 { font-size: clamp(23px,1.8vw,29px); font-weight: 500; line-height: 1.07; margin: 10px 0 15px; }
.podcast-player { display: flex; gap: 10px; align-items: center; }
.play-button { display: grid; place-items: center; border: 1px solid #e6dfc5; width: 40px; height: 40px; padding: 0; border-radius: 50%; background: #6d653e; color: #f5efdf !important; flex-shrink: 0; }
.play-button .icon { fill: currentColor; stroke: none; width: 22px; height: 22px; }
.waveform { display: flex; flex: 1; align-items: center; gap: 2px; min-width: 0; height: 40px; overflow: hidden; }
.waveform span { width: 1px; min-width: 1px; flex: 1; background: #d1cfbb; border-radius: 1px; }
.podcast-duration { font-size: 13px; white-space: nowrap; }
.radio-handwritten { position: absolute; left: 77%; width: 23%; top: 10px; font-size: clamp(24px,2.2vw,34px); line-height: 1.03; transform: rotate(-12deg); color: #d3ccb5; }
.episodes { margin-top: 25px; width: 72%; }
.episodes > h3 { font-size: 12px; font-weight: 500; color: #d4cdb8; margin-bottom: 15px; }
.episode { width: 100%; display: flex; align-items: center; gap: 12px; border: 0; padding: 7px 0; background: none; color: inherit; text-align: left; font-size: 18px !important; line-height: 1.1; }
.episode .play-button { width: 29px; height: 29px; background: #53583b; }
.episode .icon { width: 15px; height: 15px; }
.episode-duration { margin-left: auto; font-size: 13px; white-space: nowrap; padding-left: 8px; }
.radio-botanical { position: absolute; width: 28%; height: 68%; right: -1%; bottom: -3%; pointer-events: none; }
.radio-botanical > img { width: 100%; height: 100%; object-fit: contain; filter: sepia(.25) saturate(.55); transform: rotate(13deg); }
.radio-botanical > span { position: absolute; bottom: 9%; right: 2%; background: #dbceb0 url("../images/paper-texture.webp"); color: #4d4833; padding: 12px 22px; font-size: 14px; letter-spacing: 2px; transform: rotate(-8deg); }
.site-footer { position: relative; color: #f2eee2; background: #22271e; padding: 55px 0; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 26px; background: #22271e; clip-path: var(--torn-top); }
.footer-inner { display: flex; align-items: center; gap: clamp(20px,2vw,35px); }
.footer-brand { display: block; width: 180px; flex-shrink: 0; text-align: center; }
.footer-brand span:first-child { display: block; font-family: "Great Vibes", "Cormorant Garamond", cursive; font-size: 54px; font-weight: 400; line-height: .8; }
.footer-brand span:last-child { display: block; font-size: 26px; font-weight: 500; text-transform: uppercase; line-height: 1; }
.footer-tagline { font-size: 16px; white-space: nowrap; }
.footer-nav { display: flex; gap: 25px; white-space: nowrap; }
.footer-nav a { font-size: 13px; text-transform: uppercase; }
.footer-phone { padding: 30px 0 30px 25px; border-left: 1px solid #55573e; font-size: 20px; white-space: nowrap; }
.footer-telegram { display: flex; align-items: center; gap: 12px; font-size: 17px; line-height: 1.1; }
.telegram-mark { display: grid; place-items: center; width: 38px; height: 38px; flex-shrink: 0; border: 1px solid #adbac3; background: #5982a0; border-radius: 50%; }
.telegram-mark .icon { width: 24px; height: 24px; fill: currentColor; stroke-width: .5; }
.footer-note { border-left: 1px solid #55573e; padding: 25px 0 25px 25px; font-size: 15px; line-height: 1.15; }
.detail-dialog { width: min(760px,calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 0; border: 1px solid #c1b99f; color: var(--ink); background: var(--paper) url("../images/paper-texture.webp"); overflow: auto; }
.detail-dialog::backdrop { background: rgba(15,23,14,.7); backdrop-filter: blur(4px); }
.dialog-close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 40px; height: 40px; border: 1px solid #b4ad93; border-radius: 50%; background: var(--paper); display: grid; place-items: center; }
.detail-image { width: 100%; height: 300px; object-fit: cover; }
.detail-copy { padding: 30px; }
.detail-copy h2 { font-size: 38px; font-weight: 500; line-height: 1.1; margin: 10px 0 18px; }
.detail-copy > p:not(.eyebrow) { font-size: 23px; margin-bottom: 24px; }
.botanika .garden-btn { border-radius: 0; padding: 13px 22px; color: #f4f0e4; background: #545a3c; gap: 15px; font-size: 19px; }
.botanika .garden-btn:hover { background: #393f2a; }
body.dialog-open { overflow: hidden; }
@media (max-width: 1250px) {
    .header-inner { min-height: 60px; }
    .main-nav { gap: 25px; }
    .main-nav a { font-size: 14px; }
    .hero { height: 420px; }
    .hero-copy { padding-top: 65px; }
    .hero-intro { top: 70px; padding-left: 18px; padding-bottom: 65px; font-size: 12px; }
    .hero h1 { margin-top: 25px; }
    .hero h1 span:first-child { font-size: clamp(135px,13.5vw,170px); }
    .hero h1 span:last-child { font-size: 6.1vw; }
    .hero-tagline { font-size: 14px; margin-top: 18px !important; }
    .hero-more { margin-top: 18px; gap: 16px; }
    .hero-more .eyebrow { font-size: 12px; }
    .hero-aside { padding-top: 56px; }
    .hero-topline { font-size: 16px; padding-bottom: 35px; }
    .hero-manifesto { font-size: 14px; letter-spacing: 1.7px; }
    .hero-aside .handwritten { font-size: 35px; margin-left: -20px; }
    .project-grid { gap: 16px; }
    .project-card .card-copy { padding-left: 20px; padding-right: 20px; }
    .project-card .card-title { font-size: 26px; }
    .project-card .card-description { font-size: 18px; }
    .about-programs { gap: 2.4%; }
    .about { padding-top: 28px; padding-right: 20px; gap: 20px; min-height: 310px; grid-template-columns: 1.7fr 1fr; }
    .about h2 { font-size: 38px; margin-bottom: 23px; }
    .about p { font-size: 18px; }
    .about-note { height: 245px; }
    .programs .section-heading { flex-wrap: wrap; gap: 8px; }
    .programs .section-heading h2 { font-size: 33px; }
    .program-grid { gap: 14px; }
    .program-card { min-height: 240px; }
    .program-card .card-title { padding: 12px; font-size: 23px; }
    .program-card .eyebrow { left: 12px; font-size: 10px; letter-spacing: .8px; }
    .program-card .round-arrow { width: 29px; height: 29px; right: 8px; }
    .meetings-inner { grid-template-columns: 3.5fr 1fr; gap: 22px; }
    .meeting-grid { gap: 15px; }
    .meeting-card { padding-left: 12px; padding-right: 12px; min-height: 210px; }
    .meeting-card .card-title { font-size: 20px; }
    .meeting-card .card-description { font-size: 16px; }
    .meeting-date > span { font-size: 39px; }
    .meeting-quote { padding-left: 32%; }
    .meeting-quote blockquote { font-size: 25px; }
    .courses { padding-right: 24px; }
    .course-card { min-height: 170px; }
    .course-card .card-title { font-size: 21px; padding: 11px 10px 48px; }
    .radio { padding-left: 5%; padding-right: 7%; }
    .radio .section-heading { flex-wrap: wrap; gap: 10px; }
    .radio .section-heading h2 { font-size: 35px; }
    .podcast-card { gap: 14px; width: 72%; padding: 14px; }
    .podcast-info .eyebrow { font-size: 11px; letter-spacing: 1px; }
    .podcast-info h3 { font-size: 23px; }
    .play-button { width: 34px; height: 34px; }
    .podcast-player { gap: 8px; }
    .podcast-duration { font-size: 12px; }
    .radio-handwritten { left: 77%; font-size: 26px; }
    .episodes { width: 72%; }
    .episode { font-size: 17px !important; gap: 9px; }
    .episode-duration { font-size: 12px; }
    .footer-inner { gap: 20px; flex-wrap: wrap; }
    .footer-brand { width: 150px; }
    .footer-brand span:first-child { font-size: 47px; }
    .footer-brand span:last-child { font-size: 22px; }
    .footer-tagline { font-size: 15px; }
    .footer-nav { gap: 20px; }
    .footer-phone { font-size: 18px; padding-left: 20px; }
    .footer-telegram { font-size: 16px; }
    .footer-note { display: none; }
}
@media (min-width: 1000px) and (max-width: 1100px) {
    .hero { height: 390px; }
    .main-nav { gap: 14px; }
    .main-nav a { font-size: 13px; }
    .hero-copy { padding-top: 53px; }
    .hero h1 span:first-child { font-size: 140px; }
    .hero-intro { font-size: 11px; top: 65px; }
    .hero-tagline { font-size: 13px; }
    .hero-aside { padding-top: 52px; }
    .hero-topline { font-size: 15px; padding-bottom: 30px; }
    .hero-manifesto { font-size: 13px; }
    .hero-aside .handwritten { font-size: 32px; }
    .about { grid-template-columns: 1.8fr 1fr; }
    .about-note { height: 225px; }
    .programs .section-heading h2 { font-size: 31px; }
    .program-card .card-title { font-size: 22px; }
    .courses .section-heading h2 { font-size: 34px; }
    .courses .section-link { font-size: 12px; gap: 8px; }
    .course-card .card-title { font-size: 20px; }
    .radio-handwritten { font-size: 24px; }
    .footer-brand { width: 170px; }
    .footer-brand span:first-child { font-size: 42px; }
    .footer-inner { gap: 18px; }
    .footer-tagline { font-size: 14px; }
    .footer-nav { gap: 15px; }
    .footer-nav a { font-size: 12px; }
    .footer-phone { font-size: 17px; padding-left: 18px; }
    .footer-telegram { font-size: 15px; gap: 9px; }
}
/* Планшеты: сохраняем коллаж и освобождаем место для крупного текста. */
@media (max-width: 999px) {
    .botanika .container { width: calc(100% - 48px); }
    .site-header { position: relative; background: rgba(243,239,229,.95); }
    .header-inner { min-height: 70px; justify-content: space-between; }
    .mobile-brand { display: block; font-family: "Great Vibes", "Cormorant Garamond", cursive; font-size: 34px; line-height: .9; }
    .mobile-brand span { font-family: var(--font-family); font-size: 18px; text-transform: uppercase; }
    .menu-toggle { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid #989780; border-radius: 50%; background: transparent; }
    .menu-toggle span { width: 17px; height: 1px; background: var(--forest); transition: transform .2s, opacity .2s; }
    .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-6px) rotate(-45deg); }
    .main-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; grid-template-columns: repeat(3,1fr); gap: 23px; padding: 25px; background: var(--paper); border-top: 1px solid #c9c3b1; box-shadow: 0 10px 20px #22271e1a; text-align: center; }
    .main-nav.is-open { display: grid; }
    .main-nav a { font-size: 17px; }
    .hero { height: 370px; }
    .hero-art { object-position: 58% 50%; }
    .hero-copy { padding-top: 0; width: 61%; }
    .hero-intro { top: 23px; font-size: 11px; padding: 15px 0 25px 12px; }
    .hero h1 { margin: 37px 0 0; }
    .hero h1 span:first-child { font-size: clamp(90px,13.5vw,135px); padding-top: 55px; }
    .hero h1 span:last-child { font-size: clamp(45px,6.6vw,65px); margin-left: 15%; }
    .hero-tagline { margin: 20px 0 0 25% !important; font-size: 12px; }
    .hero-more { justify-content: center; padding-right: 0; margin-top: 23px; }
    .hero-aside { width: 13%; padding: 45px 0 0; }
    .hero-topline { font-size: 14px; padding-bottom: 25px; }
    .hero-manifesto { font-size: 12px; letter-spacing: 1.3px; }
    .hero-aside .handwritten { font-size: 29px; margin-left: -13px; }
    .section-heading h2 { font-size: 35px; }
    .section-link { font-size: 12px; gap: 8px; }
    .project-grid { gap: 14px; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .project-card { grid-column: auto; min-height: 240px; }
    .project-card .card-copy { padding: 65px 15px 60px; }
    .project-card .card-title { font-size: 24px; letter-spacing: 1px; }
    .project-card .card-description { font-size: 17px; max-width: 100%; }
    .project-card .round-arrow { width: 33px; height: 33px; right: 12px; bottom: 12px; }
    .about-programs { grid-template-columns: 1fr; padding-right: 0; gap: 0; }
    .about { grid-template-columns: 1.8fr 1fr; padding: 30px 35px 35px 24px; gap: 30px; }
    .about::before { clip-path: var(--torn-top); }
    .about h2 { font-size: 39px; }
    .about p { font-size: 22px; max-width: 540px; }
    .about-note { width: 200px; height: 250px; justify-self: center; }
    .programs { width: calc(100% - 48px); margin: 0 auto; padding-top: 25px; }
    .programs .section-heading { flex-wrap: nowrap; }
    .programs .section-heading h2 { font-size: 35px; }
    .program-grid { gap: 20px; }
    .program-card { min-height: 300px; }
    .program-card .card-title { font-size: 28px; padding: 17px; }
    .program-card .eyebrow { font-size: 12px; left: 17px; }
    .program-card .round-arrow { width: 35px; height: 35px; bottom: 14px; right: 14px; }
    .meetings-inner { grid-template-columns: 1fr; gap: 25px; }
    .meeting-card { min-height: 230px; }
    .meeting-card .card-title { font-size: 23px; }
    .meeting-card .card-description { font-size: 17px; }
    .meeting-quote { min-height: 140px; padding: 20px 0 20px 24%; }
    .meeting-quote > img { top: -15px; left: 2%; width: 18%; height: 170px; object-fit: contain; }
    .meeting-quote blockquote { font-size: 28px; max-width: 500px; }
    .meeting-quote br { display: none; }
    .meeting-quote blockquote::before { position: absolute; left: -38px; top: -5px; font-size: 60px; }
    .courses-radio { grid-template-columns: minmax(0,1fr); }
    .courses { width: calc(100% - 48px); padding: 0 0 40px; margin: 0 auto; }
    .course-grid { gap: 8px; }
    .course-card { min-height: 220px; }
    .course-card .card-title { font-size: 26px; padding: 15px 14px 50px; }
    .radio { padding: 30px 24px 50px; }
    .radio::before { inset: -20px 0 -10px; clip-path: var(--torn-top); }
    .radio .section-heading { flex-wrap: nowrap; }
    .radio .section-heading h2 { font-size: 39px; }
    .podcast-card { width: 76%; max-width: 620px; padding: 20px; gap: 22px; }
    .podcast-cover { max-height: 180px; }
    .podcast-info h3 { font-size: 29px; }
    .podcast-info .eyebrow { font-size: 13px; }
    .play-button { width: 42px; height: 42px; }
    .radio-handwritten { left: 78%; top: 20px; font-size: 33px; width: 20%; }
    .episodes { max-width: 620px; width: 76%; margin-top: 30px; }
    .episodes > h3 { font-size: 13px; }
    .episode { font-size: 21px !important; padding: 10px 0; gap: 14px; }
    .episode-duration { font-size: 15px; }
    .radio-botanical { width: 24%; height: 66%; right: -1%; }
    .site-footer { padding: 40px 0; }
    .footer-inner { flex-wrap: wrap; gap: 28px; justify-content: space-between; }
    .footer-brand { width: 180px; }
    .footer-brand span:first-child { font-size: 54px; }
    .footer-brand span:last-child { font-size: 26px; }
    .footer-tagline { font-size: 18px; }
    .footer-nav { gap: 25px; }
    .footer-nav a { font-size: 15px; }
    .footer-phone { border-left: 0; padding: 0; font-size: 23px; }
    .footer-telegram { font-size: 21px; }
}
@media (min-width: 600px) and (max-width: 699px) {
    .project-grid { grid-template-columns: 1fr; }
    .project-card { min-height: 240px; }
    .project-card .card-title { font-size: 29px; }
    .project-card .card-description { font-size: 20px; }
}
/* Телефоны: отдельная композиция первого экрана и читаемые карточки. */
@media (max-width: 599px) {
    .botanika .container { width: calc(100% - 36px); }
    .header-inner { min-height: 68px; }
    .mobile-brand { font-size: 31px; }
    .mobile-brand span { font-size: 15px; }
    .main-nav { grid-template-columns: repeat(2,1fr); padding: 24px 18px; gap: 22px; }
    .main-nav a { font-size: 17px; }
    .hero { height: 650px; }
    .hero-art { top: 280px; height: 370px; object-fit: cover; object-position: 71% 50%; }
    .hero::before { content: ""; position: absolute; inset: 0 0 330px; background: var(--paper) url("../images/paper-texture.webp"); }
    .hero::after { content: ""; position: absolute; width: 112px; height: 112px; border-radius: 50%; background: #cba54c; top: 70px; right: 8%; mix-blend-mode: multiply; opacity: .85; }
    .hero-inner { z-index: 1; }
    .hero-copy { width: 100%; padding: 0; }
    .hero-intro { top: 15px; left: 0; padding: 0 0 0 12px; font-size: 11px; line-height: 1.2; letter-spacing: 1.6px; }
    .hero h1 { margin: 0; position: relative; }
    .hero h1 span:first-child { font-size: clamp(85px,23vw,140px); letter-spacing: -3px; padding-top: 100px; line-height: .8; }
    .hero h1 span:last-child { font-size: clamp(44px,12vw,69px); margin: 8px 0 0 17%; letter-spacing: -2px; }
    .hero-tagline { font-size: 12px; margin: 18px 0 0 29% !important; letter-spacing: 1.4px; }
    .hero-more { margin-top: 18px; justify-content: center; padding: 0; gap: 12px; }
    .hero-more .eyebrow { font-size: 11px; }
    .hero-more .round-arrow { width: 32px; height: 32px; }
    .hero-aside { display: none; }
    .section-space { padding: 24px 0; }
    .section-heading { flex-wrap: wrap; align-items: flex-start; gap: 10px; margin-bottom: 15px; }
    .section-heading h2 { font-size: 33px; letter-spacing: -.8px; }
    .section-heading .upper-title { font-size: 28px; }
    .section-link { font-size: 12px; gap: 10px; }
    .project-grid { grid-template-columns: 1fr; gap: 15px; }
    .project-card { min-height: 245px; }
    .project-card .card-copy { padding: 85px 20px 60px; }
    .project-card .card-title { font-size: 29px; margin-bottom: 12px; }
    .project-card .card-description { font-size: 20px; max-width: 100%; }
    .project-card .round-arrow { bottom: 18px; right: 16px; width: 37px; height: 37px; }
    .about { grid-template-columns: 1fr; padding: 32px 25px 32px 18px; gap: 24px; }
    .about h2 { font-size: 37px; margin-bottom: 21px; }
    .about p { font-size: 22px; line-height: 1.4; }
    .about-note { width: 165px; height: 220px; justify-self: end; margin-right: 15px; transform: rotate(3deg); }
    .text-button { margin-top: 23px; }
    .text-button .eyebrow { font-size: 14px; }
    .programs { width: calc(100% - 36px); padding-top: 25px; }
    .programs .section-heading { flex-wrap: wrap; }
    .programs .section-heading h2 { font-size: 33px; }
    .program-grid { grid-template-columns: 1fr; gap: 15px; }
    .program-card { min-height: 315px; }
    .program-card > img { object-position: 50% 0; }
    .program-card .card-title { font-size: 31px; padding: 19px 21px; }
    .program-card .eyebrow { font-size: 13px; left: 21px; bottom: 21px; padding: 4px 6px; background: #f1eee5e6; }
    .program-card .round-arrow { width: 38px; height: 38px; bottom: 19px; right: 19px; }
    .meeting-grid { grid-template-columns: 1fr; gap: 15px; }
    .meeting-card { min-height: 225px; padding: 18px 20px 65px; }
    .meeting-date { margin-bottom: 14px; font-size: 16px; }
    .meeting-date > span { font-size: 45px; }
    .meeting-card .card-title { font-size: 26px; }
    .meeting-card .card-description { font-size: 19px; margin-top: 13px; }
    .meeting-card .round-arrow { right: 15px; bottom: 15px; }
    .meeting-quote { padding: 25px 0 10px 25%; min-height: 165px; }
    .meeting-quote > img { height: 190px; width: 25%; left: -3%; }
    .meeting-quote blockquote { font-size: 26px; }
    .courses { width: calc(100% - 36px); padding-bottom: 42px; }
    .course-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .course-card { min-height: 215px; }
    .course-card .card-title { font-size: 22px; padding: 13px 11px 50px; letter-spacing: -.6px; }
    .radio { padding: 35px 18px 60px; }
    .radio .section-heading { flex-wrap: wrap; }
    .radio .section-heading h2 { font-size: 35px; white-space: normal; }
    .podcast-card { width: 100%; gap: 15px; padding: 15px; }
    .podcast-cover { width: 28%; max-height: 160px; }
    .podcast-info .eyebrow { font-size: 11px; }
    .podcast-info h3 { font-size: 25px; margin: 8px 0 14px; }
    .play-button { width: 35px; height: 35px; }
    .podcast-player { gap: 8px; }
    .podcast-duration { font-size: 12px; }
    .radio-handwritten { position: relative; left: auto; top: auto; margin: 25px 0 0 !important; font-size: 31px; transform: none; display: block; width: auto; text-align: center; }
    .radio-handwritten br { display: none; }
    .episodes { width: 100%; margin-top: 35px; }
    .episodes > h3 { font-size: 12px; }
    .episode { font-size: 20px !important; gap: 10px; padding: 10px 0; }
    .episode-duration { font-size: 13px; }
    .radio-botanical { display: none; }
    .site-footer { padding: 40px 0; }
    .footer-inner { justify-content: flex-start; gap: 25px; }
    .footer-brand { width: 175px; }
    .footer-tagline { width: 100%; font-size: 19px; }
    .footer-nav { width: 100%; gap: 25px; }
    .footer-nav a { font-size: 14px; }
    .footer-phone { width: 100%; font-size: 23px; }
    .footer-telegram { font-size: 21px; }
    .detail-image { height: 220px; }
    .detail-copy { padding: 24px; }
    .detail-copy h2 { font-size: 33px; }
    .detail-copy > p:not(.eyebrow) { font-size: 22px; }
    .botanika .garden-btn { font-size: 18px; }
}
@media (max-width: 359px) {
    .mobile-brand { font-size: 28px; }
    .mobile-brand span { font-size: 14px; }
    .hero h1 span:first-child { font-size: 77px; }
    .hero h1 span:last-child { font-size: 40px; }
    .hero-tagline { margin-left: 25% !important; font-size: 11px; }
    .hero-more { margin-top: 23px; }
    .project-card .card-description { font-size: 18px; }
    .course-grid { grid-template-columns: 1fr; }
    .course-card { min-height: 225px; }
    .course-card .card-title { font-size: 27px; }
    .podcast-card { gap: 11px; padding: 12px; }
    .podcast-info h3 { font-size: 23px; }
    .podcast-info .eyebrow { font-size: 10px; letter-spacing: .8px; }
    .episode { font-size: 18px !important; }
}
/* Дополнительные блоки: автор, образование, видеоподкасты и шапка. */
.site-header { position: relative; background: #f1eee5; border-bottom: 1px solid #c9c3b166; }
.header-inner { min-height: 100px; gap: 30px; justify-content: space-between; }
.header-brand { display: block; flex-shrink: 0; width: 142px; }
.header-brand img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.header-max { order: 3; display: inline-flex; align-items: center; gap: 9px; font-size: 18px; font-weight: 600; padding: 10px 14px; border: 1px solid #a7a68a; border-radius: 28px; white-space: nowrap; }
.header-max:hover { background: #e5e1d3; }
.main-nav { gap: clamp(13px,1.55vw,26px); }
.main-nav a { font-size: 15px; }
.author-section { padding-top: 55px; padding-bottom: 55px; }
.author-layout { display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 7%; }
.author-copy { max-width: 660px; }
.author-copy > .eyebrow { color: #686b4b; font-size: 14px; margin-bottom: 23px; }
.author-copy h2 { font-size: clamp(48px,5.1vw,78px); font-weight: 500; line-height: 1; letter-spacing: -1.5px; }
.author-copy h2 em { font-weight: 400; color: #777345; }
.author-copy h2::after { content: ""; display: block; width: 52%; height: 2px; background: #b59a58; margin: 25px 0; }
.author-copy > p { font-size: clamp(21px,1.8vw,27px); line-height: 1.35; margin-top: 15px; }
.author-copy > .author-lead { font-size: clamp(25px,2.3vw,35px); line-height: 1.16; margin-bottom: 22px; }
.author-more { display: inline-flex; align-items: center; gap: 20px; color: #434b2e; font-size: 21px; margin-top: 25px; border-bottom: 1px solid #b9af8a; padding-bottom: 10px; }
.author-portrait { position: relative; padding: 12px; background: #e5dfcf; box-shadow: 0 7px 22px #3b3f2714; transform: rotate(1deg); }
.author-portrait::before { content: ""; position: absolute; width: 78px; height: 27px; background: #c7af748c; top: 0; left: 28px; transform: rotate(-19deg); z-index: 1; }
.author-portrait > img { display: block; width: 100%; height: clamp(430px,39vw,600px); object-fit: cover; object-position: 58% 62%; filter: saturate(.72) sepia(.13); }
.author-portrait figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; padding: 13px 8px 3px; color: #4b5137; font-size: 26px; font-style: italic; }
.author-portrait figcaption span { font-size: 13px; letter-spacing: 1.1px; text-transform: uppercase; font-style: normal; }
.section-kicker { color: #656a4a; margin-bottom: 11px !important; }
.video-podcasts { padding: 35px 0 48px; }
.video-controls { display: flex; gap: 10px; }
.video-controls button { padding: 0; }
.video-controls button:disabled { opacity: .35; cursor: default; }
.video-prev .icon { transform: rotate(180deg); }
.video-intro { font-size: 24px; color: #62644a; margin: 0 0 24px !important; }
.video-podcasts .video-list { width: 100%; min-width: 0; overflow: hidden; }
.video-podcasts .video-item { box-sizing: border-box; min-width: 0; height: auto; border: 1px solid #bfb79f; padding: 9px; background: #ece6d8; }
.video-podcasts .video-frame { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #22271e; }
.video-podcasts .video-frame iframe { display: block; width: 100% !important; height: 100% !important; border: 0; }
.video-caption { padding: 18px 12px 13px; }
.video-caption .eyebrow { color: #737650; font-size: 12px; }
.video-podcasts .video-name { font-size: 25px; line-height: 1.13; font-weight: 500; margin-top: 10px; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; min-height: 3.39em; }
@media (min-width: 1000px) and (max-width: 1250px) {
    .header-inner { gap: 16px; }
    .header-brand { width: 126px; }
    .main-nav { gap: 13px; }
    .main-nav a { font-size: 13px; }
    .header-max { padding: 9px 11px; font-size: 16px; gap: 7px; }
    .header-max img { width: 25px; height: 25px; }
}
@media (max-width: 999px) {
    .header-inner { min-height: 92px; gap: 18px; justify-content: flex-start; }
    .header-brand { width: 126px; margin-right: auto; }
    .header-max { order: 0; }
    .menu-toggle { order: 3; flex-shrink: 0; }
    .main-nav a { font-size: 17px; }
    .author-section { padding: 35px 0; }
    .author-layout { gap: 30px; grid-template-columns: 1.1fr 1fr; }
    .author-copy h2 { font-size: 52px; }
    .author-copy > p { font-size: 22px; }
    .author-copy > .eyebrow { font-size: 11px; letter-spacing: 1.2px; }
    .author-copy > .author-lead { font-size: 27px; }
    .author-portrait > img { height: 450px; }
    .author-portrait figcaption { flex-direction: column; gap: 4px; font-size: 24px; }
}
@media (max-width: 699px) {
    .author-layout { grid-template-columns: 1fr; gap: 30px; }
    .author-copy h2 { font-size: 55px; }
    .author-portrait { width: min(100%,430px); justify-self: center; }
    .author-portrait > img { height: 460px; }
    .author-portrait figcaption { flex-direction: row; font-size: 24px; }
    .video-podcasts .section-heading { flex-wrap: nowrap; }
    .video-podcasts .section-heading h2 { font-size: 33px; }
    .video-controls { gap: 6px; }
    .video-controls .round-arrow { width: 34px; height: 34px; }
    .video-intro { font-size: 22px; }
    .video-podcasts .video-name { font-size: 24px; }
}
@media (max-width: 359px) {
    .header-inner { gap: 12px; }
    .header-brand { width: 112px; }
    .header-max { padding: 8px 10px; gap: 6px; font-size: 15px; }
    .header-max img { width: 24px; height: 24px; }
    .author-copy h2 { font-size: 48px; }
    .author-portrait > img { height: 380px; }
    .author-portrait figcaption { flex-direction: column; }
    .video-podcasts .section-heading { flex-wrap: wrap; }
}
/* Архив документов, публикации и стоимость консультаций. */
.education { padding: 35px 0 22px; }
.archive-controls { display: flex; gap: 10px; flex-shrink: 0; }
.archive-controls button { padding: 0; }
.archive-controls button:disabled { opacity: .35; cursor: default; }
.archive-prev .icon { transform: rotate(180deg); }
.education-slider, .publications-slider { min-width: 0; width: 100%; overflow: hidden; }
.education-slider { border: 1px solid #c6bea7; background: linear-gradient(100deg,#ded8c6b3,#f0ebde99),url('../images/paper-texture.webp'); }
.education-slider .education-slide { box-sizing: border-box; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 6%; padding: 35px 7%; height: auto; }
.education-document { display: flex; align-items: center; justify-content: center; height: 350px; padding: 10px; background: #f8f5eb; box-shadow: 0 5px 20px #3c3b281c; cursor: zoom-in; }
.education-document img { display: block; width: 100%; height: 100%; object-fit: contain; }
.education-copy { padding: 30px 0; }
.education-copy .eyebrow { color: #666b49; }
.education-copy h3 { font-size: clamp(28px,3vw,44px); font-weight: 500; line-height: 1.08; margin-top: 22px; overflow-wrap: anywhere; }
.education-copy h3::after { content: ""; display: block; width: 65px; height: 1px; margin-top: 25px; background: #a28c52; }
.education-year { font-size: 29px; color: #656648; margin-top: 17px !important; }
.education-hint { font-size: 19px; font-style: italic; color: #686955; margin-top: 28px !important; }
.education-pagination { text-align: center; color: #686955; font-size: 18px; letter-spacing: 2px; padding-top: 12px; }
.publications { padding: 20px 0 55px; }
.publications-slider .publication-card { box-sizing: border-box; display: flex; flex-direction: column; height: auto; min-height: 340px; padding: 25px 26px; border: 1px solid #c6bea7; background: #e8e1d280; }
.publication-number { color: #6a6e4b; padding-bottom: 22px; }
.publication-card h3 { font-size: clamp(25px,2.1vw,32px); line-height: 1.16; font-weight: 500; padding-bottom: 30px; }
.publication-author { margin-top: auto !important; border-top: 1px solid #c6bea7; padding-top: 16px; font-size: 19px; line-height: 1.3; color: #62644d; }
.prices { padding: 70px 0 85px; }
.prices-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,2fr); gap: 6%; }
.prices-intro { position: relative; display: flex; flex-direction: column; align-items: flex-start; }
.prices-intro h2 { font-size: clamp(48px,5vw,72px); font-weight: 500; line-height: 1; }
.prices-lead { font-size: 28px; line-height: 1.15; margin-top: 25px !important; }
.prices-intro > img { width: 100px; height: 155px; object-fit: contain; margin: 24px 0 0 12px; opacity: .8; transform: rotate(-12deg); }
.prices-intro .author-more { margin-top: auto; padding-top: 25px; font-size: 21px; gap: 12px; }
.price-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.price-card { display: flex; flex-direction: column; min-height: 245px; padding: 26px 28px; border: 1px solid #b8aa86; background: linear-gradient(120deg,#e9e3d4c4,#f5f0e5a8); }
.price-card .eyebrow { color: #696b49; font-size: 12px; }
.price-card h3 { font-weight: 500; font-size: clamp(26px,2.35vw,35px); line-height: 1.12; padding: 23px 0 28px; }
.price-amount { margin-top: auto !important; font-size: 42px; line-height: 1; color: #595c3b; font-weight: 600; }
.price-amount span { font-size: 21px; font-weight: 500; white-space: nowrap; }
.diploma-dialog { width: min(1100px,calc(100% - 32px)); height: calc(100dvh - 32px); max-height: none; box-sizing: border-box; padding: 55px 15px 15px; border: 1px solid #c6bea7; background: var(--paper); }
.diploma-dialog::backdrop { background: #111b10cc; backdrop-filter: blur(4px); }
.diploma-dialog img { display: block; width: 100%; height: 100%; object-fit: contain; }
.diploma-close { position: absolute; top: 9px; right: 12px; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #a5a487; border-radius: 50%; background: var(--paper); }
@media (max-width: 999px) {
    .education-slider .education-slide { padding: 28px; gap: 28px; }
    .education-document { height: 320px; }
    .prices-layout { grid-template-columns: 1fr; gap: 30px; }
    .prices-intro > img { position: absolute; right: 20px; top: 0; margin: 0; }
    .prices-intro { padding-right: 125px; }
    .price-card h3 { font-size: 30px; }
}
@media (max-width: 699px) {
    .education, .publications { padding-top: 25px; }
    .education .section-heading, .publications .section-heading { flex-wrap: nowrap; gap: 12px; }
    .education .section-heading h2, .publications .section-heading h2 { font-size: 34px; }
    .archive-controls { gap: 6px; }
    .archive-controls .round-arrow { width: 36px; height: 36px; }
    .education-slider .education-slide { grid-template-columns: 1fr; align-content: start; gap: 0; padding: 18px; }
    .education-document { height: 290px; padding: 8px; }
    .education-copy { padding: 25px 4px 10px; }
    .education-copy h3 { font-size: 29px; margin-top: 13px; }
    .education-copy h3::after { margin-top: 18px; }
    .education-year { font-size: 26px; margin-top: 13px !important; }
    .education-hint { margin-top: 17px !important; font-size: 18px; }
    .education-hint br { display: none; }
    .publications-slider .publication-card { padding: 24px; min-height: 335px; }
    .publication-card h3 { font-size: 27px; }
    .prices { padding: 45px 0 65px; }
    .prices-intro { padding-right: 0; }
    .prices-intro > img { width: 65px; height: 95px; right: 0; top: 36px; opacity: .55; }
    .prices-intro h2 { font-size: 53px; }
    .prices-lead { font-size: 26px; }
    .price-grid { grid-template-columns: 1fr; gap: 16px; }
    .price-card { min-height: 225px; padding: 24px; }
    .price-card h3 { font-size: 29px; }
    .price-amount { font-size: 39px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .botanika *, .botanika *::before, .botanika *::after { transition: none !important; }
}
.player {
    --player-size: 108px;
    --player-gap: 32px;
    position: relative;
    box-sizing: border-box;
    padding: 36px 40px;
    margin-bottom: 40px;
    color: #eee5ce;
    border: 1px solid #8b825a;
    border-radius: 2px;
    background: radial-gradient(
        ellipse at top left, #414733, #22271e 75%
    );
}

.player > .flex {
    display: grid;
    grid-template-columns: var(--player-size) minmax(0, 1fr);
    align-items: center;
    gap: var(--player-gap);
}

.player .player-play {
    width: var(--player-size);
    height: var(--player-size);
    background: url('../images/player/play.svg') center / contain no-repeat;
    cursor: pointer;
}

.player .player-timeline {
    position: relative;
    width: 100%;
    height: 6px;
    margin: 0 0 16px;
    background: #777a64;
    border-radius: 3px;
    cursor: pointer;
}

/* Увеличенная область нажатия на дорожку */
.player .player-timeline::before {
    content: '';
    position: absolute;
    inset: -19px 0;
}

.player .player-timeline-red {
    width: 0;
    height: 100%;
    background: #c7ad70;
    border-radius: inherit;
    pointer-events: none;
}

.player .player-timeline-start,
.player .player-timeline-end {
    position: absolute;
    top: 20px;
    color: #eee5ce;
    font: 14px/1.3 Arial, sans-serif;
    font-variant-numeric: tabular-nums;
    pointer-events: none;
}

.player .player-timeline-start { left: 0; }
.player .player-timeline-end { right: 0; }

.player .player-timeline-marker {
    position: absolute;
    top: -10px;
    left: -13px;
    width: 26px;
    height: 26px;
    background: radial-gradient(
        circle,
        #e4cf96 0 5px,
        #282e22 5px 8px,
        #bfa76d 8px 9px,
        transparent 9px
    );
    cursor: grab;
}

.player .player-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 8px 0 0 calc(var(--player-size) + var(--player-gap));
}

.player .player-button {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 50%;
    cursor: pointer;
    transition: filter .2s, transform .2s;
}

/* Порядок соответствует обработчикам в твоём JS */
.player .button-1 {
    background-image: url('../images/player/forward-10.svg');
}
.player .button-2 {
    background-image: url('../images/player/speed-1.svg');
}
.player .button-3 {
    background-image: url('../images/player/rewind-10.svg');
}
.player .button-4 {
    background-image: url('../images/player/download.svg');
}
.player .button-5 {
    background-image: url('../images/player/volume.svg');
}

.player .player-play:focus-visible,
.player .player-button:focus-visible {
    outline: 2px solid #dfc78f;
    outline-offset: 4px;
}

@media (hover: hover) {
    .player .player-play:hover,
    .player .player-button:hover {
        filter: brightness(1.2);
    }
}

/* Планшет */
@media (max-width: 767px) {
    .player {
        --player-size: 76px;
        --player-gap: 24px;
        padding: 28px 24px;
    }

    .player .player-buttons {
        margin-left: 0;
        margin-top: 24px;
        justify-content: center;
        gap: 14px;
    }
}

/* Телефон */
@media (max-width: 479px) {
    .player {
        --player-size: 64px;
        --player-gap: 20px;
        padding: 24px 18px;
    }

    .player .player-timeline-start,
    .player .player-timeline-end {
        font-size: 12px;
    }

    .player .player-buttons {
        gap: 8px;
    }

    .player .player-button {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .player .player-button {
        transition: none;
    }
}


/* Общая группа соцсетей */
.social-links {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.social-links .social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-decoration: none;
}

.social-links .social-link img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
    transition: opacity .2s;
}

.social-links .social-link:focus-visible {
    outline: 2px solid #bd9e55;
    outline-offset: 2px;
}

/* Шапка: вся группа занимает одно место во flex */
.header-socials {
    order: 3;
}

/* Футер: компактные светлые иконки */
.footer-inner {
    flex-wrap: wrap;
}

.footer-socials {
    gap: 6px;
}

.footer-socials .social-link {
    flex-basis: 44px;
    width: 44px;
}

.footer-socials .social-link img {
    width: 32px;
    height: 32px;
    filter: brightness(0) invert(1);
    opacity: .85;
}

@media (hover: hover) {
    .header-socials .social-link:hover img {
        opacity: .65;
    }

    .footer-socials .social-link:hover img {
        opacity: 1;
    }
}

/* Планшет и телефон: группа перед кнопкой меню */
@media (max-width: 999px) {
    .header-socials {
        order: 2;
    }

    .header-inner {
        gap: 12px;
    }
}

@media (max-width: 380px) {
    .header-inner .header-brand {
        width: 88px;
    }

    .header-socials {
        gap: 0;
    }

    .header-socials .social-link {
        flex-basis: 36px;
        width: 36px;
    }

    .header-socials .social-link img {
        width: 26px;
        height: 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .social-links .social-link img {
        transition: none;
    }
}
.botanika a.course-card {
    display: block;
    color: var(--ink);
    text-decoration: none;
}

.botanika a.course-card.card-dark {
    color: var(--paper);
}
.botanika a.program-card {
    display: block;
    color: var(--ink);
    text-decoration: none;
}