/* Оформление «Уч-Кудук × Алёша»: палитра шёлка и изразцов, кадры комикса, облачка реплик. */

/* ---------- Шрифты (OFL, файлы лежат в static/fonts) ---------- */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/playfair-display-cyrillic-600-normal.6285799bc8ae.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/playfair-display-latin-600-normal.53169c2447b2.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/playfair-display-cyrillic-700-normal.0f681c34dc19.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/playfair-display-latin-700-normal.9401d0214a93.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/manrope-cyrillic-500-normal.50c16b5d8d7b.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/manrope-latin-500-normal.f95b8f975304.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700 800;font-display:swap;src:url("../fonts/manrope-cyrillic-700-normal.b3aed8e4cd3a.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700 800;font-display:swap;src:url("../fonts/manrope-latin-700-normal.ed9e261b92db.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/caveat-cyrillic-600-normal.b44168d8d1ef.woff2") format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/caveat-latin-600-normal.018947f2ec96.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--cream:#fff8ec;--sand:#f3e2c2;--ink:#2a2230;--deep:#5e2b1d;--deep-rgb:94,43,29;--apricot:#fbe2b8;--paper:#fffaf1;--apricot-2:#f6cf93;--red:#c8372d;--gold:#f2b233;--teal:#1b9aa0;--muted:#6d6470;--line:#e3cfa6;--gold-ink:#8f540a;--red-ink:#a82a21;--teal-ink:#127277;--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--hand:'Caveat','Comic Sans MS',cursive;--radius:20px;--frame:3px solid var(--ink)}

/* ---------- Основа ---------- */
html{overflow-x:clip}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:500}
h1,h2,h3{font-family:var(--serif);font-weight:700;color:inherit}
h2,h3{font-weight:600}
h1 em,h2 em{color:var(--gold)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.rich-text a,.program-source,.review-original,.photo-credit a{color:var(--teal-ink)}
.intro-copy>p:not(.lead),.about-copy>p:not(.lead),.moments p,.section-heading>p,.detail-section p,.featured-copy>p,.rich-text p,.about-copy .rich-text p{color:var(--ink);font-size:17px;line-height:1.7}
.lead{color:var(--ink)}

/* Кнопки */
.btn,.header-cta{border-radius:999px;min-height:48px;font-size:15px;font-weight:700;padding:13px 26px;gap:14px;justify-content:center}
.btn-red{background:var(--red);color:#fff;box-shadow:0 4px 0 var(--red-ink)}
.btn-red:hover{background:var(--red-ink)}
.btn-dark{background:var(--deep);color:#fff;box-shadow:0 4px 0 #3b1a11}
.btn-dark:hover{background:#18337a}
.btn-sand{background:var(--gold);color:var(--ink);box-shadow:0 4px 0 #c98c12}
.btn-sand:hover{background:#ffc24a}
.header-cta{border:2px solid var(--ink);color:var(--ink);padding:10px 18px}
.header-cta:hover{background:var(--gold)}
.text-link,.round-link{min-height:48px;display:inline-flex;align-items:center;color:var(--ink);font-size:15px;font-weight:700;border-bottom:3px solid var(--gold)}
.round-link{border-bottom:0;color:var(--ink)}
.round-link span{border-color:var(--ink)}
.hero-link{min-height:48px;display:inline-flex;align-items:center;font-size:15px;font-weight:700;color:#fff;border-bottom:3px solid var(--gold)}

/* Шапка с полоской иката */
.header{position:relative;background:var(--cream)}
.header:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:8px;background:url("../alesha/web/ui/ui-pattern-ikat.9b5521161d21.svg") 0 0/48px 8px repeat-x;z-index:3;pointer-events:none}
.desktop-nav a{font-size:15px;font-weight:700}
.desktop-nav a:hover{color:var(--red-ink)}
.contact-bar{background:var(--deep);color:var(--cream)}
.contact-bar-inner>span{color:#f6dcbc}

/* Подписи разделов */
.section-tag{display:inline-flex;align-items:center;gap:10px;border:0;padding:6px 14px;margin-bottom:22px;background:var(--cream);border:2px solid var(--ink);border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--red-ink)}
.section-tag:before{content:'';width:9px;height:9px;background:var(--gold);transform:rotate(45deg);border:1.5px solid var(--ink)}
.section-heading{align-items:end;margin-bottom:36px}
h2{font-size:clamp(34px,4.2vw,60px);line-height:1.12;letter-spacing:-.02em}

/* Разделители между блоками */
main>.section{position:relative}
main>.section:not(:first-child):before{content:'';position:absolute;top:38px;left:50%;width:min(420px,64%);height:28px;transform:translateX(-50%);background:url("../alesha/web/ui/ui-divider-1.f0d17d66366b.webp") center/contain no-repeat;pointer-events:none}
main>.section:nth-of-type(even):before{background-image:url("../alesha/web/ui/ui-divider-approved.f4a7dde829e9.png");background-size:100% auto;-webkit-mask-image:linear-gradient(to right,transparent,black 9%,black 91%,transparent);mask-image:linear-gradient(to right,transparent,black 9%,black 91%,transparent)}
main>.section.form-page:before,main>.section.error-page:before,main>.section.catalog:before{display:none}

/* Фоны блоков */
.intro{background:var(--cream)}
.formats{background:var(--sand)}
.tour-section{background:var(--cream)}
.about{background:var(--sand)}
.about-values{background:var(--sand);padding-top:40px}
.comic{background:var(--cream)}
.moments{background:var(--cream)}
.reviews{background:var(--sand)}
.faq{background:var(--cream)}

/* ---------- Кадры и облачка ---------- */
.scene-frame,.frame-card{border:var(--frame);border-radius:var(--radius);overflow:hidden;background:var(--paper);box-shadow:8px 8px 0 var(--gold);margin:0}
.scene-frame img,.frame-card img{display:block;width:100%;height:auto}
.tilt-left{rotate:-1.4deg}.tilt-right{rotate:1.2deg}
.scene-frame figcaption{padding:10px 14px;font-size:14px;color:var(--muted);background:var(--paper)}

.bubble{position:relative;display:inline-block;max-width:340px;margin:0;padding:12px 18px;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:22px;font:600 24px/1.15 var(--hand);box-shadow:4px 4px 0 var(--ink)}
.bubble:after{content:'';position:absolute;width:18px;height:18px;background:var(--paper);border:3px solid var(--ink);border-top:0;border-left:0}
.bubble-below:after{top:-11px;left:34px;transform:rotate(-135deg)}
.bubble-left:after{left:-11px;top:50%;margin-top:-9px;transform:rotate(135deg)}
.bubble-hero:after{bottom:-11px;right:40px;transform:rotate(45deg)}
.bubble-peek:after{top:-11px;left:30px;transform:rotate(-135deg)}
.scene-frame figcaption.bubble{display:block;margin:-6px 14px 14px auto;width:fit-content;font-size:24px;color:var(--ink)}
figure.scene-frame:has(figcaption.bubble){overflow:visible}
figure.scene-frame:has(figcaption.bubble) picture img{border-radius:17px 17px 0 0}

.sticker{display:block;line-height:0}
.sticker img{display:block;width:100%;height:auto}
.sticker:hover img{animation:wobble .6s ease-in-out}
@keyframes wobble{0%,100%{rotate:0deg}25%{rotate:-4deg}75%{rotate:4deg}}

/* ---------- Обложка ---------- */
.hero{min-height:620px;height:min(760px,78vw)}
.hero-picture{position:absolute;inset:0;display:block}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:68% 48%}
.hero-shade{background:linear-gradient(90deg,rgba(var(--deep-rgb),.92) 0%,rgba(var(--deep-rgb),.72) 30%,rgba(var(--deep-rgb),.18) 52%,rgba(var(--deep-rgb),0) 64%)}
.hero-content{left:6.5%;max-width:min(600px,46%)}
.hero h1{font-size:clamp(44px,5.4vw,82px);line-height:1.05;margin:18px 0}
.hero p{color:#fff;font-size:19px}
.eyebrow.light{color:var(--gold);font-size:13px;font-weight:800;letter-spacing:.14em}
.hero-actions{gap:26px;flex-wrap:wrap}
.bubble-hero{position:absolute;right:8%;top:14%;z-index:2}
.hero-scroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:2;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:8px 18px;border-radius:999px;background:rgba(255,248,236,.92);color:var(--ink);font-size:14px;font-weight:700;border:2px solid var(--ink)}
.hero-scroll-arrow{display:inline-block;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{translate:0 4px}}

/* ---------- Баннер игры ---------- */
.quest-teaser{background:var(--sand) url("../alesha/web/ui/ui-pattern-suzani.e449962945d5.webp") right -40px center/220px;border:var(--frame);border-radius:var(--radius);color:var(--ink);box-shadow:8px 8px 0 var(--teal);position:relative;overflow:visible;margin-top:56px}
.quest-teaser:before{content:'';position:absolute;inset:0;border-radius:17px;background:linear-gradient(90deg,var(--sand) 55%,rgba(243,226,194,.6));pointer-events:none}
.quest-teaser>*{position:relative}
.quest-teaser-kicker{color:var(--red-ink);font-size:12px}
.quest-teaser h2{font:700 clamp(32px,3.8vw,54px)/1.1 var(--serif)}
.quest-teaser-link{background:var(--red);border-radius:999px;min-height:48px;font-size:15px;box-shadow:0 4px 0 var(--red-ink)}
.quest-teaser-link:hover{background:var(--red-ink)}
.quest-teaser-camel{height:auto}
.quest-teaser-camel .sticker{width:min(260px,100%);margin-left:auto}
.passport-hint{display:flex;align-items:center;gap:12px;margin:22px 0 0!important;font-size:15px!important;color:var(--muted)}
.passport-hint img{flex:none}

/* ---------- Вступление ---------- */
.intro-grid-scene{grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.intro-copy h2{margin-bottom:18px}

/* ---------- Форматы ---------- */
.format-card{height:auto;min-height:0;color:var(--ink);background:var(--paper);display:flex;flex-direction:column}
.format-card:after{display:none}
.format-media{position:relative;aspect-ratio:4/3;overflow:hidden;border-bottom:var(--frame)}
.format-media img{width:100%;height:100%;object-fit:cover}
.format-content{position:relative;left:auto;right:auto;bottom:auto;padding:34px 30px 26px;text-shadow:none}
.format-content h3{font-size:clamp(28px,2.6vw,36px);margin:0 0 10px}
.format-content p{color:var(--ink)}
.format-icon{position:absolute;top:-34px;right:24px;width:64px;height:64px;background:var(--cream);border:var(--frame);border-radius:50%;padding:6px}
.format-grid{gap:34px}
.alesha-hint{display:flex;align-items:center;gap:14px;margin:38px 0 0}
.hint-face{width:72px;flex:none}

/* ---------- Открытки туров ---------- */
.postcards{display:grid;gap:40px;margin-top:10px}
.featured-tour.postcard{background:var(--paper);border:var(--frame);border-radius:var(--radius);overflow:hidden;box-shadow:8px 8px 0 var(--teal);margin-top:0}
.postcard .featured-img{min-height:380px;background:var(--sand)}
.postcard .featured-img picture,.postcard .featured-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.postcard .featured-img:after{background:linear-gradient(0deg,rgba(var(--deep-rgb),.35),transparent 50%)}
.postcard .image-tag{background:var(--cream);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:6px 12px;z-index:2}
.postcard .featured-copy{position:relative;border-left:3px dashed var(--line);padding:42px 7% 36px}
.postcard .featured-copy h3,.postcard .postcard-title{font-size:clamp(28px,2.8vw,40px);margin:18px 0 12px;padding-right:96px;line-height:1.15}
.postcard-stamp{position:absolute;top:18px;right:20px;width:92px;height:92px;rotate:12deg}
.tour-meta{color:var(--red-ink);font-size:12px}
.tour-facts{border-top:2px dashed var(--line)}
.tour-facts small,.detail-strip small{color:var(--muted)}
.program-note{color:var(--muted)}

/* ---------- О Насте ---------- */
.about-photo{position:relative}
.about-photo img.about-real{border:var(--frame);border-radius:var(--radius);box-shadow:-8px 8px 0 var(--red)}
.about-peek{position:absolute;left:-56px;bottom:46px;width:130px;z-index:2;rotate:-8deg}
.bubble-peek{position:absolute;left:60px;bottom:-30px;z-index:3}
.about-copy .section-tag{margin-bottom:22px}

/* ---------- Комикс ---------- */
.comic-strip{list-style:none;margin:0;padding:8px 4px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.comic-frame{background:var(--paper);border:var(--frame);border-radius:14px;padding:10px;box-shadow:6px 6px 0 var(--ink)}
.comic-frame img{display:block;width:100%;height:auto;border-radius:8px;border:2px solid var(--ink)}
.comic-frame p{margin:10px 2px 2px;font:600 23px/1.15 var(--hand)}
.comic-num{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;border-radius:50%;background:var(--red);color:#fff;font:800 14px var(--sans);vertical-align:3px}
.comic-cta{margin-top:12px}

/* ---------- Наш подход ---------- */
.about-values-grid article{background:var(--cream);border:2px solid var(--ink);border-top:2px solid var(--ink);border-radius:var(--radius);padding:26px}
.value-icon{width:60px;height:60px;display:block}
.about-values-grid p{color:var(--ink)}

/* ---------- Ленты ---------- */
.strip{list-style:none;margin:0;padding:10px 6px 28px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,31%);gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--red) var(--sand)}
.strip>li{scroll-snap-align:start}
.strip-block{margin-top:34px}
.strip-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.strip-head h3{font-size:clamp(24px,2.2vw,32px)}
.strip-controls{display:flex;gap:10px}
.strip-controls button{width:48px;height:48px;border-radius:50%;border:var(--frame);background:var(--cream);color:var(--ink);font-size:20px;font-weight:800}
.strip-controls button:hover{background:var(--gold)}
.strip-card p{margin:0;padding:12px 16px 14px;font:600 22px/1.2 var(--hand);color:var(--ink)}
.photo-card{background:var(--paper);border-radius:var(--radius);border:2px solid var(--ink);padding:10px 10px 0}
.photo-card img{display:block;width:100%;height:240px;object-fit:cover;border-radius:12px}
.photo-card p{font:500 14px/1.45 var(--sans);color:var(--muted);padding:10px 4px 12px}
.moments .section-heading{grid-template-columns:1fr 1fr}

/* ---------- Отзывы ---------- */
.reviews-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}
.reviews-sticker{width:120px}
.review-strip{grid-auto-columns:minmax(300px,42%)}
.review-card{background:var(--paper);border:var(--frame);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;box-shadow:6px 6px 0 var(--gold)}
.review-card>p.review-text{font:500 18px/1.6 var(--sans)!important;color:var(--ink)!important;margin:0 0 10px!important;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.review-card.expanded>p.review-text{display:block;-webkit-line-clamp:unset}
.review-more{align-self:flex-start;min-height:44px;padding:0;border:0;background:none;color:var(--teal-ink);font-weight:800;font-size:15px;text-decoration:underline;text-underline-offset:4px}
.review-author{margin-top:auto;padding-top:16px;border-top:2px dashed var(--line)}
.review-author a{color:var(--teal-ink);font-size:14px;text-decoration:underline}
.review-count{font-weight:800;color:var(--muted);font-size:14px}

/* ---------- Вопросы ---------- */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6%}
.faq-sticker{width:150px;margin-top:24px}
.faq-list details{border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);margin-bottom:12px}
.faq-list summary{cursor:pointer;min-height:48px;padding:14px 20px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq-list summary:after{content:'+';font-size:24px;line-height:1;color:var(--red)}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{padding:0 20px 18px;margin:0}
.faq-pending{padding:30px 9%;color:var(--muted)}

/* ---------- Призыв ---------- */
.closing{background:var(--deep) url("../alesha/web/ui/ui-pattern-suzani.e449962945d5.webp") 0 0/220px;padding:110px 20px;position:relative;isolation:isolate}
.closing:after{content:'';position:absolute;inset:0;background:rgba(var(--deep-rgb),.78);z-index:-1}
.closing-scene:after{background:linear-gradient(180deg,rgba(var(--deep-rgb),.1),rgba(var(--deep-rgb),.35))}
.closing-bg{z-index:-2}
.closing-inner{max-width:680px;margin:auto;padding:42px 36px;border-radius:var(--radius);background:rgba(var(--deep-rgb),.9);border:3px solid var(--gold);box-shadow:8px 8px 0 var(--ink)}
.closing h2{color:#fff;font-size:clamp(40px,5vw,66px)}
.closing p{color:#f9e6cc;font-size:18px}
.closing-ornament{display:none}
.cta-with-sticker{display:inline-flex;align-items:center;gap:12px}
.sticker-by-button{width:70px;flex:none}

/* ---------- Подвал ---------- */
.site-footer{position:relative;margin-top:96px;background:linear-gradient(rgba(var(--deep-rgb),.93),rgba(var(--deep-rgb),.93)),url("../alesha/web/ui/ui-pattern-suzani.e449962945d5.webp") 0 0/220px;color:var(--cream)}
.site-footer:before{content:'';position:absolute;left:0;right:0;top:-8px;height:8px;background:url("../alesha/web/ui/ui-pattern-ikat.9b5521161d21.svg") 0 0/48px 8px repeat-x}
.site-footer a,.site-footer .footer-identity p,.site-footer .footer-bottom{color:var(--cream)}
.site-footer a:hover{color:var(--gold)}
.site-footer .footer-label{color:var(--gold)}
.site-footer .footer-bottom{border-top-color:rgba(255,248,236,.3)}
.footer-brand{background:var(--cream);border-radius:var(--radius);padding:8px 12px}
.footer-peek{position:absolute;right:12%;top:-92px;width:110px;height:84px;overflow:hidden;pointer-events:none}
.footer-contacts{position:relative;padding-left:92px}
.footer-hello{position:absolute;left:0;top:-14px;width:80px}

/* ---------- Страница тура ---------- */
.detail-overlay{background:linear-gradient(90deg,rgba(var(--deep-rgb),.9) 0%,rgba(var(--deep-rgb),.6) 40%,rgba(var(--deep-rgb),.05) 72%)}
.detail-strip{background:var(--paper);border-bottom:var(--frame)}
.stage-list{list-style:none;margin:40px 0 0;padding:0}
.stage{padding:34px 0 40px;border-top:3px dashed var(--line)}
.stage-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.stage-num{display:inline-block;padding:4px 14px;border-radius:999px;background:var(--red);color:#fff;font-weight:800;font-size:14px;letter-spacing:.04em}
.stage-head h3{font-size:clamp(26px,2.4vw,34px)}
.stage-scene{margin:0 0 20px}
.stage-scene figcaption{font:600 22px var(--hand);color:var(--ink)}
.stage .stage-text{margin:0 0 16px!important}
.alesha-tip{display:flex;align-items:center;gap:14px;margin:18px 0;padding:14px 18px;background:var(--sand);border:2px dashed var(--gold-ink);border-radius:var(--radius)}
.alesha-tip b{font:600 26px/1 var(--hand);color:var(--red-ink)}
.alesha-tip p{margin:4px 0 0!important;font-size:16px!important}
.tip-face{width:64px;flex:none}
.real-photo{margin:18px 0 0;max-width:440px}
.real-photo img{display:block;width:100%;height:auto;border-radius:14px;border:2px solid var(--ink)}
.real-photo figcaption{margin-top:8px;font-size:14px;color:var(--muted)}
.real-label{display:block;font:600 22px/1.1 var(--hand);color:var(--teal-ink)}
.detail-aside{background:var(--sand);border:var(--frame);border-radius:var(--radius);box-shadow:6px 6px 0 var(--gold)}
.detail-aside .btn{width:auto}
.included-box{background:var(--sand);border-radius:var(--radius);border:2px solid var(--ink)}

/* ---------- Каталог ---------- */
.catalog-head{max-width:760px;margin-bottom:28px}
.catalog-head h1{font-size:clamp(44px,5vw,72px);margin:6px 0 12px}
.catalog-map{margin:0 0 50px}
.catalog-map img{display:block;width:100%;height:auto}

/* ---------- Заявка, «спасибо», ошибки ---------- */
.form-page-alesha{display:grid;grid-template-columns:minmax(200px,320px) minmax(0,640px);justify-content:center;gap:44px;align-items:start}
.form-notebook{margin:0;position:sticky;top:20px}
.form-notebook img{display:block;width:100%;height:auto;border:var(--frame);border-radius:var(--radius);box-shadow:8px 8px 0 var(--gold);rotate:-1.5deg}
.form-notebook .bubble{margin-top:22px;font-size:22px}
.form-page-alesha .lead-form{margin:0;width:100%}
.quiz-card{background:var(--paper);border:var(--frame);border-radius:var(--radius);box-shadow:8px 8px 0 var(--teal)}
.success-card{text-align:center;max-width:640px}
.success-ride{width:220px;margin:0 auto 10px;animation:ride 1.2s ease-out both}
@keyframes ride{from{translate:-60vw 0}to{translate:0 0}}
.success-card .btn{margin-top:12px}
.error-page{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;min-height:60vh}
.error-copy h1{font-size:clamp(38px,4.4vw,62px);margin:12px 0 14px}
.error-copy .btn{margin-top:22px}
.error-body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px}
.error-body .error-page{padding:60px 7%}
.error-body .btn{display:inline-flex;align-items:center;text-decoration:none}

/* ---------- Секретики ---------- */
.secret{position:relative;display:flex;justify-content:flex-end;margin-top:22px}
.secret-btn{width:48px;height:48px;border-radius:50%;border:2px dashed var(--gold-ink);background:rgba(255,248,236,.7);padding:6px;opacity:.8;transition:opacity .2s,rotate .3s}
.secret-btn:hover,.secret-btn:focus-visible{opacity:1;rotate:-12deg}
.secret-btn img{width:100%;height:100%}
.secret-btn.found{border-style:solid;border-color:var(--red);opacity:1}
.secret-fact{position:absolute;top:58px;right:0;z-index:6;width:min(330px,82vw);font:500 16px/1.5 var(--sans);box-shadow:5px 5px 0 var(--ink)}
.secret-fact b{display:block;font:600 24px/1.1 var(--hand);color:var(--red-ink);margin-bottom:4px}
.secret-fact:after{top:-11px;right:16px;transform:rotate(-135deg)}
.closing .secret,.tour-section .secret{margin-top:30px}

/* ---------- Механика приключения ---------- */
.route-map{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:40;display:none}
.route-map ol{list-style:none;margin:0;padding:14px 8px;position:relative;display:flex;flex-direction:column;gap:12px;background:rgba(255,248,236,.92);border:2px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--ink)}
.route-map ol:before{content:'';position:absolute;left:50%;top:22px;bottom:22px;border-left:3px dashed var(--red);translate:-1.5px 0}
.route-map li{position:relative}
.route-map a{display:block;width:20px;height:20px;border-radius:50%;background:var(--cream);border:3px solid var(--ink);position:relative;z-index:1}
.route-map a.passed{background:var(--gold)}
.route-map a.current{background:var(--red);box-shadow:0 0 0 4px rgba(200,55,45,.25)}
.route-map a span{position:absolute;right:32px;top:50%;translate:0 -50%;white-space:nowrap;padding:4px 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s}
.route-map a:hover span,.route-map a:focus-visible span,.route-map a.current span{opacity:1}
.route-map a.current span{background:var(--red)}
.route-camel{position:absolute;left:-30px;width:34px;height:34px;border-radius:50%;border:2px solid var(--ink);background:var(--gold);transition:top .4s ease;pointer-events:none;z-index:2;translate:0 -50%}
.route-progress{position:fixed;left:0;top:0;height:5px;width:100%;transform-origin:0 50%;scale:0 1;background:linear-gradient(90deg,var(--gold),var(--red));z-index:60;pointer-events:none}
@media(min-width:1180px){.route-map{display:block}}

.passport-btn{position:fixed;right:16px;bottom:16px;z-index:45;display:flex;align-items:center;gap:8px;min-height:52px;padding:6px 16px 6px 6px;border-radius:999px;border:var(--frame);background:var(--cream);color:var(--ink);font-weight:800;font-size:15px;box-shadow:4px 4px 0 var(--ink)}
.passport-btn img{width:40px;height:40px}
.passport-btn b{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:var(--red);color:#fff;font-size:14px}
.passport-btn.bump{animation:bump .5s}
@keyframes bump{40%{scale:1.15}}
.passport-dialog{border:var(--frame);border-radius:var(--radius);padding:0;width:min(720px,calc(100% - 28px));max-height:90vh;background:var(--cream) url("../alesha/web/ui/ui-pattern-suzani.e449962945d5.webp") 0 0/160px;color:var(--ink);box-shadow:10px 10px 0 var(--ink)}
.passport-dialog::backdrop{background:rgba(var(--deep-rgb),.6)}
.passport-inner{background:rgba(255,248,236,.95);margin:14px;border-radius:14px;padding:28px 26px 26px;border:2px dashed var(--gold-ink)}
.passport-inner h2{font-size:clamp(30px,4vw,42px);margin:0 0 6px}
.passport-close{position:absolute;top:14px;right:16px;width:48px;height:48px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);font-size:26px;line-height:1}
.passport-grid{list-style:none;margin:22px 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:14px}
.passport-grid li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;font-size:13px;font-weight:700;line-height:1.25}
.stamp{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;border:3px dashed var(--line);color:var(--line);font:700 30px var(--serif);background:rgba(255,255,255,.5)}
.stamp img{width:46px;height:46px}
.earned .stamp{border:4px double var(--red);background:var(--paper) url("../alesha/web/ui/ui-stamp.d8db86396fa1.webp") center/100%;rotate:-8deg}
.earned .stamp img{width:40px;height:40px;opacity:.95}
.passport-grid li.locked{color:var(--muted)}
.passport-done{margin-top:12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.passport-done .sticker{width:80px}
.adv-toast{position:fixed;right:16px;bottom:78px;z-index:45;display:flex;align-items:center;gap:8px;max-width:min(270px,calc(100vw - 32px));padding:7px 12px 7px 7px;border:1px solid #d9cbb0;border-radius:14px;background:#faf6ed;color:#52635a;font-weight:600;font-size:12px;line-height:1.3;box-shadow:0 3px 12px #243d3114;opacity:0;pointer-events:none}
.adv-toast.show{opacity:1}
.adv-toast img{width:24px;height:24px;border-radius:50%;background:#f0e4c8}

/* Появление при прокрутке (включается скриптом) */
.adv-ready .reveal{opacity:0;translate:0 26px;transition:opacity .6s ease,translate .6s ease}
.adv-ready .reveal.is-visible{opacity:1;translate:0 0}
.adv-ready .ride-in{translate:40% 0;opacity:0;transition:translate .9s cubic-bezier(.2,.8,.2,1),opacity .5s}
.adv-ready .ride-in.is-visible{translate:0 0;opacity:1}

/* ---------- Адаптивность ---------- */
@media(max-width:1100px){.comic-strip{grid-template-columns:repeat(2,1fr)}.hero-content{max-width:60%}}
@media(max-width:900px){
  .bubble-hero{display:none}
  .intro-grid-scene,.faq-grid,.error-page,.form-page-alesha{grid-template-columns:1fr}
  .about-peek{left:-16px;width:100px}
  .strip{grid-auto-columns:minmax(240px,46%)}
  .review-strip{grid-auto-columns:minmax(270px,70%)}
}
@media(max-width:700px){
  body{font-size:16px}
  .tilt-left,.tilt-right,.form-notebook img,.postcard-stamp{rotate:none}
  .postcard-stamp{width:64px;height:64px;top:12px;right:12px}
  .postcard .featured-copy{border-left:0;border-top:3px dashed var(--line);padding:26px 22px}
  .postcard .featured-copy h3,.postcard .postcard-title{padding-right:70px}
  .postcard .featured-img{min-height:240px}
  main>.section:not(:first-child):before{top:22px}
  .hero{height:auto;min-height:760px}
  .hero-picture img{object-position:50% 40%}
  .hero-shade{background:linear-gradient(180deg,rgba(var(--deep-rgb),.94) 0%,rgba(var(--deep-rgb),.8) 38%,rgba(var(--deep-rgb),.1) 62%,rgba(var(--deep-rgb),0) 75%)}
  .hero-content{top:28px;left:6%;right:6%;max-width:none;transform:none}
  .hero h1{font-size:40px;margin:12px 0}
  .hero p{font-size:16px}
  .hero-actions{gap:12px;margin-top:20px}
  .hero-scroll{font-size:13px;white-space:nowrap}
  .sticker-by-button,.hint-face{display:none}
  .alesha-hint .bubble{max-width:none}
  .alesha-hint .bubble-left:after{display:none}
  .quest-teaser{margin-top:36px;box-shadow:5px 5px 0 var(--teal)}
  .quest-teaser-camel{height:auto;justify-content:center}
  .quest-teaser-camel .sticker{width:190px;margin:0 auto}
  .format-content{padding:30px 20px 22px}
  .about-peek{width:84px;bottom:20px}
  .bubble-peek{left:40px;font-size:22px}
  .reviews-heading{grid-template-columns:1fr}
  .reviews-sticker{display:none}
  .comic-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory}
  .comic-strip>li{scroll-snap-align:start}
  .strip{grid-auto-columns:80%}
  .photo-card img{height:200px}
  .moments .section-heading{grid-template-columns:1fr}
  .closing{padding:80px 16px}
  .closing-inner{padding:30px 20px}
  .footer-peek{right:8%;width:90px;top:-74px;height:68px}
  .footer-contacts{padding-left:0}
  .footer-hello{display:none}
  .form-notebook{position:static;display:flex;align-items:center;gap:14px}
  .form-notebook picture{flex:none}
  .form-notebook img{height:180px;width:auto;max-width:144px;object-fit:cover}
  .form-notebook .bubble{margin-top:0;font-size:20px}
  .form-notebook .bubble-below:after{display:none}
  .real-photo{max-width:none}
  .passport-btn{right:12px;bottom:12px;padding-right:12px}
  .passport-btn .passport-label{display:none}
  .secret-fact{right:-6px}
}
@media(prefers-reduced-motion:reduce){
  .adv-ready .reveal,.adv-ready .ride-in{opacity:1;translate:none;transition:none}
  .sticker:hover img,.hero-scroll-arrow,.success-ride,.passport-btn.bump{animation:none}
  .route-camel,.adv-toast,.secret-btn{transition:none}
}
/* поправки после просмотра */
.hero .bubble,.closing .bubble{color:var(--ink)}
.header:after,.site-footer:before{height:10px;background-size:20px 10px}
.header:after{bottom:-10px}.site-footer:before{top:-10px}
.route-map a span{right:44px}
@media(min-width:1180px){.route-progress{display:none}}
/* Обложка: текст на кобальтовой панели, сцена справа — лица и фигуры не перекрываются */
@media(min-width:901px){
  .hero{background:var(--deep) url("../alesha/web/ui/ui-pattern-suzani.e449962945d5.webp") 0 0/220px}
  .hero-picture{left:40%}
  .hero-picture img{object-position:68% 50%}
  .hero-shade{right:auto;width:46%;background:linear-gradient(90deg,rgba(var(--deep-rgb),.94) 0%,rgba(var(--deep-rgb),.94) 86%,rgba(var(--deep-rgb),0) 100%)}
  .hero-content{max-width:min(520px,36%);left:5.5%}
  .bubble-hero{top:auto;right:auto;left:45%;bottom:96px}
  .bubble-hero:after{right:auto;left:40px}
  .hero-scroll{left:20%}
}
@media(min-width:901px) and (max-width:1100px){.hero-content{max-width:38%}.hero h1{font-size:44px}}
.secret-fact[hidden],.review-more[hidden]{display:none}
.route-camel{left:50%;width:30px;height:30px;translate:-50% -50%}
.frame-card img.format-icon{width:64px;height:64px}
.frame-card .sticker img{width:100%}
main>.section.about-values:before{display:none}
.route-map a.current span{opacity:0}.route-map a.current:hover span,.route-map a.current:focus-visible span{opacity:1}
/* Призыв со сценой: карточка в спокойной левой части кадра */
.closing-scene{text-align:left;padding:90px 6.5%;min-height:620px;display:flex;align-items:center}
.closing-scene .closing-bg{object-position:60% 50%}
.closing-scene .closing-inner{margin:0;max-width:480px}
.closing-scene .closing-inner p{margin-left:0}
@media(max-width:900px){
  .closing-scene{display:block;padding:0 0 60px;min-height:0;background:var(--deep)}
  .closing-scene .closing-bg{position:relative;display:block;height:300px;width:100%}
  .closing-scene:after{display:none}
  .closing-scene .closing-inner{margin:-40px 16px 0;max-width:none;position:relative}
}
/* Телефон: компактная шапка и обложка стопкой (текст сверху, сцена снизу) */
@media(max-width:700px){
  .header-cta{font-size:13px;padding:8px 12px;min-height:44px;gap:6px;border-width:2px}
  .brand-wordmark{max-width:86px}
  .hero{height:auto;min-height:0;display:flex;flex-direction:column;background:var(--deep) url("../alesha/web/ui/ui-pattern-suzani.e449962945d5.webp") 0 0/220px}
  .hero-shade{display:none}
  .hero-content{position:relative;top:auto;left:auto;right:auto;order:1;padding:28px 6% 30px;background:rgba(var(--deep-rgb),.94)}
  .hero-picture{position:relative;order:2;aspect-ratio:3/4;inset:auto}
  .hero-picture img{position:absolute;inset:0}
  .hero-scroll{position:relative;order:3;left:auto;bottom:auto;transform:none;align-self:center;margin:14px 0 18px}
}
@media(max-width:360px){.header-cta{font-size:12px;padding:6px 10px}}
@media(max-width:700px){.quest-teaser{background-image:none}}
/* полный комплект 10.11: стикеры выше и уже прежних — мелкие задаём по высоте */
.hint-face,.tip-face,.sticker-by-button{width:auto}
.hint-face img{height:104px;width:auto}
.tip-face img{height:88px;width:auto}
.sticker-by-button img{height:92px;width:auto}
.about-peek{width:170px;left:-70px;bottom:30px}
.reviews-sticker{width:230px}
.footer-peek{width:124px;height:96px;top:-96px}
.success-ride{width:260px}
.passport-done .sticker{width:auto}
.passport-done .sticker img{height:120px;width:auto}
.form-notebook img{border:0;box-shadow:none;border-radius:0;max-width:260px;margin:0 auto;filter:drop-shadow(6px 8px 0 rgba(42,34,48,.12))}
.error-page .scene-frame:has(img[src*="errors/"]){border:0;box-shadow:none;background:none}
.earned .stamp{background-color:var(--cream)}
@media (max-width:700px){
  .about-peek{width:110px;left:-12px}
  .footer-peek{width:100px;height:78px;top:-78px}
  .form-notebook img{height:170px;max-width:none}
}
/* ---------- Тёплая палитра (10.11): без холодного синего на больших площадях ---------- */
.contact-bar{background:var(--deep)}
.hero .eyebrow.light{color:var(--red-ink)}
.detail-hero .eyebrow.light{color:var(--gold)}
@media(min-width:901px){
  .hero{background:linear-gradient(160deg,var(--apricot) 0%,var(--apricot-2) 100%);color:var(--ink)}
  .hero-shade{background:linear-gradient(90deg,var(--apricot) 0%,var(--apricot) 84%,rgba(251,226,184,0) 100%)}
  .hero h1,.hero p{color:var(--ink)}
  .hero h1 em{color:var(--red)}
  .hero-link{color:var(--ink);border-bottom-color:var(--red)}
}
@media(max-width:900px){
  .hero{background:var(--apricot);color:var(--ink)}
  .hero-content{background:linear-gradient(180deg,var(--apricot),var(--apricot-2))}
  .hero h1,.hero p{color:var(--ink)}
  .hero h1 em{color:var(--red)}
  .hero-link{color:var(--ink);border-bottom-color:var(--red)}
}
/* тёмные зоны — каштан с тёплым узором сюзане */
.closing:after{background:rgba(var(--deep-rgb),.86)}
.closing-scene:after{background:linear-gradient(180deg,rgba(var(--deep-rgb),0),rgba(var(--deep-rgb),.25))}
.closing-scene .closing-inner{background:rgba(255,248,236,.96);color:var(--ink);border-color:var(--gold)}
.closing-scene .closing-inner h2,.closing-scene .closing-inner p{color:var(--ink)}
.site-footer{background:linear-gradient(rgba(var(--deep-rgb),.95),rgba(var(--deep-rgb),.95)),url("../alesha/web/ui/ui-pattern-suzani.e449962945d5.webp") 0 0/220px}
.passport-dialog::backdrop{background:rgba(var(--deep-rgb),.55)}
.postcard .featured-img:after{background:linear-gradient(0deg,rgba(var(--deep-rgb),.3),transparent 50%)}
html,body{overflow-x:clip}
@media(max-width:900px){
  .hero-picture{aspect-ratio:1/1}
  .hero-picture img{object-position:50% 100%}
}
@media(max-width:700px){
  .detail-hero{height:auto;min-height:0;display:flex;flex-direction:column;background:var(--deep)}
  .detail-hero .detail-overlay{display:none}
  .detail-hero-content{position:relative;inset:auto;order:1;padding:28px 6% 26px}
  .detail-hero .back-link{margin-bottom:28px}
  .detail-hero .detail-image{position:relative;inset:auto;order:2;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:70% 50%}
}
@media(max-width:700px){
  .detail-hero{background:linear-gradient(180deg,var(--apricot),var(--apricot-2));color:var(--ink)}
  .detail-hero h1,.detail-hero p,.detail-hero .back-link{color:var(--ink)}
  .detail-hero .eyebrow.light{color:var(--red-ink)}
}
@media(min-width:701px){
  .detail-hero{background:linear-gradient(160deg,var(--apricot),var(--apricot-2));color:var(--ink)}
  .detail-hero .detail-image{left:40%;width:60%;object-position:65% 50%}
  .detail-hero .detail-overlay{right:auto;width:46%;background:linear-gradient(90deg,var(--apricot) 0%,var(--apricot) 84%,rgba(251,226,184,0) 100%)}
  .detail-hero-content{max-width:38%;left:5.5%}
  .detail-hero h1{font-size:clamp(40px,4.4vw,66px);line-height:1.05}
  .detail-hero h1,.detail-hero p,.detail-hero .back-link{color:var(--ink)}
  .detail-hero .eyebrow.light{color:var(--red-ink)}
}
/* ===== Первый экран v2 (10.11): кремовый фон страницы, сцена в рамке-открытке ===== */
.hero.hero,.detail-hero.detail-hero{height:auto;min-height:0;overflow:visible;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(28px,4vw,56px) 5.5% clamp(40px,4vw,60px);position:relative}
.hero .hero-shade,.detail-hero .detail-overlay{display:none}
.hero .hero-content,.detail-hero .detail-hero-content{position:relative;inset:auto;top:auto;left:auto;right:auto;transform:none;max-width:600px;padding:0;background:none;grid-column:1;grid-row:1;order:0}
.hero .hero-picture{position:relative;inset:auto;left:auto;grid-column:2;grid-row:1;order:0;aspect-ratio:16/10.5;border:var(--frame);border-radius:var(--radius);overflow:hidden;box-shadow:10px 10px 0 var(--gold);rotate:1deg;background:var(--sand)}
.hero .hero-picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.detail-hero .detail-image{position:relative;inset:auto;left:auto;grid-column:2;grid-row:1;order:0;width:100%;height:auto;aspect-ratio:16/10.5;object-fit:cover;object-position:62% 50%;border:var(--frame);border-radius:var(--radius);box-shadow:10px 10px 0 var(--teal);rotate:-1deg}
.hero h1,.detail-hero h1{color:var(--ink);font-size:clamp(40px,4.6vw,72px);line-height:1.05;margin:14px 0 18px}
.hero p,.detail-hero p{color:var(--ink);max-width:520px}
.hero .eyebrow.light,.detail-hero .eyebrow.light{color:var(--red-ink)}
.hero-link{color:var(--ink);border-bottom-color:var(--red)}
.detail-hero .back-link{color:var(--ink);margin-bottom:32px}
.hero .bubble-hero{position:relative;inset:auto;grid-column:2;grid-row:1;align-self:end;justify-self:start;margin:0 0 -26px -22px;z-index:2;display:inline-block}
.hero .bubble-hero:after{right:auto;left:40px}
.hero .hero-scroll{position:relative;left:auto;bottom:auto;transform:none;grid-column:1/-1;justify-self:center;margin-top:8px;background:var(--paper)}
/* полоса фактов тура — карточка, а не белая полоса во всю ширину */
.detail-strip.detail-strip{background:var(--paper);border:var(--frame);border-radius:var(--radius);box-shadow:6px 6px 0 var(--gold);margin:8px 5.5% 0;padding:20px 28px}
@media(max-width:900px){
  .hero.hero,.detail-hero.detail-hero{grid-template-columns:1fr;gap:26px;padding:24px 6% 32px}
  .hero .hero-content,.detail-hero .detail-hero-content{grid-column:1;grid-row:1}
  .hero .hero-picture{grid-column:1;grid-row:2;aspect-ratio:1/1;rotate:none;box-shadow:6px 6px 0 var(--gold)}
  .hero .hero-picture img{object-position:50% 100%}
  .detail-hero .detail-image{grid-column:1;grid-row:2;aspect-ratio:4/3;rotate:none;box-shadow:6px 6px 0 var(--teal);object-position:70% 50%}
  .hero .bubble-hero{display:none}
  .hero .hero-scroll{grid-row:3;margin-top:0}
  .detail-strip.detail-strip{margin:4px 6% 0;padding:18px 20px}
}
/* аудит 10.11: шапка на планшете, контраст вспомогательного текста, мелкие подписи */
@media(min-width:701px) and (max-width:1060px){
  .header{gap:14px;padding:0 4%}
  .desktop-nav{gap:16px}
  .desktop-nav a{font-size:13px;white-space:nowrap}
  .header-cta{font-size:13px;padding:8px 14px;gap:6px}
}
:root{--muted:#5c5360}
.review-count,.passport-hint,.program-source{color:var(--muted)}
.site-footer .footer-label,.site-footer .footer-bottom,.image-tag,.tour-facts small,.detail-strip small,.back-link,.quiz-step,.contact-bar-inner>span,.form-intro-kicker{font-size:12px;letter-spacing:.08em}
.quiz-heading>span{font-size:12px}
@media(max-width:700px){
  .passport-btn.passport-btn{width:58px;height:58px;min-height:0;padding:0;justify-content:center;gap:0;right:10px;bottom:10px;box-shadow:3px 3px 0 var(--ink)}
  .passport-btn img{width:46px;height:46px}
  .passport-btn b{position:absolute;top:-8px;right:-8px;min-width:26px;height:26px;padding:0 6px;font-size:12px;border:2px solid var(--cream)}
  .site-footer{padding-bottom:72px}
}
/* на широких экранах справа — полоса карты-маршрута: крупные карточки её не задевают */
@media(min-width:1180px){
  .quest-teaser{width:auto;margin-left:24px;margin-right:96px}
  .hero.hero,.detail-hero.detail-hero{padding-right:96px}
  .detail-strip.detail-strip{margin-right:96px}
}
@media(min-width:1720px){.quest-teaser{margin-left:auto;margin-right:auto}}
/* у фото Насти — Алёша в полный рост показывает на неё (стикер без срезов) */
.about-peek{width:140px;left:-100px;bottom:-14px;rotate:none}
@media(max-width:900px){.about-peek{width:104px;left:-14px;bottom:-14px}}
@media(max-width:700px){.about-peek{width:86px;left:-8px}.bubble-peek{left:70px}}
/* правило .about-photo img (квадрат с обрезкой) не должно касаться стикера */
.about-photo .sticker img{aspect-ratio:auto;object-fit:contain;height:auto;width:100%;border:0;box-shadow:none;border-radius:0}
.form-notebook img{object-fit:contain}
/* окно заявки: карточкой служит само окно, без прямоугольной подложки за скруглёнными углами */
.request-dialog.request-dialog{background:var(--paper);border:var(--frame);border-radius:var(--radius);box-shadow:8px 8px 0 var(--gold);overflow:auto}
.request-dialog .quiz-card{border:0;border-radius:0;box-shadow:none;background:transparent}
dialog::backdrop,.request-dialog::backdrop{background:rgba(var(--deep-rgb),.55)}
/* заголовок получает фокус скриптом (для экранных дикторов) — рамку вокруг него не рисуем */
[tabindex="-1"]:focus{outline:none}
.request-dialog .quiz-heading{padding-right:52px}
.dialog-close{border-radius:50%;width:44px;height:44px;display:grid;place-items:center;padding:0}
.dialog-close:focus{outline:none}
.dialog-close:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* На узком экране вопросы остаются в поле зрения рядом с иллюстрацией. */
@media (max-width: 700px) {
  .faq-grid { gap: 18px; }
  .faq-sticker { width: 80px; margin: 8px auto 14px; }
}

/* Полный кадр дневника: лица и окружение остаются видны на любом экране. */
.scene-strip picture{display:block;aspect-ratio:1;background:var(--paper)}
.scene-strip picture img{width:100%;height:100%;object-fit:contain}

/* Одна утверждённая иллюстрация для первого экрана на разных устройствах. */
.hero.hero--same-image .hero-picture{aspect-ratio:16/9}
.hero.hero--same-image .hero-picture img{object-fit:contain;object-position:center}

/* Персонажи: размер, отражение и сдвиг из визуального редактора (home/visual_characters.py). */
.chm{transform:translate(calc(var(--chx,0)*12px),calc(var(--chy,0)*12px))}
.ch{scale:calc(var(--chf,1)*var(--chs,1)) var(--chs,1);translate:calc(var(--chx,0)*12px) calc(var(--chy,0)*12px)}.ch-s{--chs:.75}.ch-l{--chs:1.3}.ch-flip{--chf:-1}
.ch-x-8{--chx:-8}.ch-x-7{--chx:-7}.ch-x-6{--chx:-6}.ch-x-5{--chx:-5}.ch-x-4{--chx:-4}.ch-x-3{--chx:-3}.ch-x-2{--chx:-2}.ch-x-1{--chx:-1}.ch-x1{--chx:1}.ch-x2{--chx:2}.ch-x3{--chx:3}.ch-x4{--chx:4}.ch-x5{--chx:5}.ch-x6{--chx:6}.ch-x7{--chx:7}.ch-x8{--chx:8}
.ch-y-8{--chy:-8}.ch-y-7{--chy:-7}.ch-y-6{--chy:-6}.ch-y-5{--chy:-5}.ch-y-4{--chy:-4}.ch-y-3{--chy:-3}.ch-y-2{--chy:-2}.ch-y-1{--chy:-1}.ch-y1{--chy:1}.ch-y2{--chy:2}.ch-y3{--chy:3}.ch-y4{--chy:4}.ch-y5{--chy:5}.ch-y6{--chy:6}.ch-y7{--chy:7}.ch-y8{--chy:8}
