@font-face{font-family:"Wedding Serif";src:url("/fonts/serif-600.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Site";src:url("/fonts/inter-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Site";src:url("/fonts/inter-semibold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  /* Тёплая бумага, зелень листьев, пудрово-розовый и золото колец: палитра макета. */
  --cream:#fdf8f0;--cream-2:#f8efe1;--paper:#fffdf9;
  --ink:#1f3b2f;--muted:#566459;--line:#eadfcd;
  --sage:#6f8f6c;--sage-deep:#4a6a49;--sage-soft:#e3ecdc;--sage-ink:#2d4a30;
  --rose:#e8a3ac;--rose-deep:#b04c5a;--blush:#fbe6e3;--rose-ink:#7a2c39;
  --gold:#94661b;
  --serif:"Wedding Serif",Georgia,"Times New Roman",serif;
  --sans:"Inter Site",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gutter:1.25rem;
  --radius:1.4rem;
  --shadow:0 .55rem 1.5rem rgba(110,80,40,.09);
  --spray:7rem;
}
@media (min-width:40rem){:root{--gutter:2.5rem;--spray:10rem}}
@media (min-width:64rem){:root{--gutter:max(4.5rem,calc((100% - 72rem) / 2));--spray:13rem}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:1rem}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;hyphens:manual;overflow-wrap:break-word;overflow-x:clip}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;text-wrap:balance;hyphens:none;overflow-wrap:normal}
p,li,summary{text-wrap:pretty}
p{margin:0}
a{color:var(--sage-deep)}
img{max-width:100%}
:focus-visible{outline:3px solid var(--rose-deep);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}

/* Цветочные уголки: рисунок лежит позади текста и не ловит нажатия. */
.top,.hero,.facts,.faq,.surprise-wrap{position:relative;isolation:isolate}
.top::before,.hero::after,.facts::before,.facts::after,.faq::before,.faq::after{content:"";position:absolute;z-index:-1;pointer-events:none;background:url("/img/floral.svg") no-repeat 0 0/contain;width:var(--spray);height:var(--spray)}
.top::before{left:0;top:0;width:calc(var(--spray) * .62);height:calc(var(--spray) * .62)}
.hero::after{right:0;top:-1rem;transform:scaleX(-1)}
.facts::before{left:0;bottom:-2rem;transform:scaleY(-1);width:calc(var(--spray) * .7);height:calc(var(--spray) * .7)}
.facts::after{right:0;bottom:-2.5rem;transform:scale(-1,-1);width:calc(var(--spray) * .7);height:calc(var(--spray) * .7)}
.faq::before{left:0;bottom:-1rem;transform:scaleY(-1)}
.faq::after{right:0;bottom:-1rem;transform:scale(-1,-1)}

/* Шапка */
.top{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.5rem;padding:1rem var(--gutter) .6rem;padding-left:max(var(--gutter),calc(var(--spray) * .72))}
.brand{flex:none;display:inline-flex;align-items:center;gap:.6rem;font:600 1.5rem/1 var(--serif);color:var(--ink);text-decoration:none;white-space:nowrap}
.logo{flex:none}
.menu{display:flex;gap:.1rem 1.6rem;white-space:nowrap;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;padding-block:.35rem;margin-block:-.35rem}
.menu::-webkit-scrollbar{display:none}
.menu a{color:var(--ink);text-decoration:none;font-weight:400;font-size:.97rem;padding:.4rem 0;border-bottom:2px solid transparent;transition:border-color .15s}
.menu a:hover{border-bottom-color:var(--rose)}
.actions-top{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem .5rem}
.act{font:600 .88rem/1 var(--sans);padding:.6rem 1rem;border-radius:999px;border:1.5px solid var(--sage-deep);background:none;color:var(--sage-ink);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.act:hover{background:var(--sage-soft)}
.act-lead{background:var(--sage-deep);color:#fff}
.act-lead:hover{background:var(--sage-ink)}
.act-login{border-color:transparent;color:var(--muted);font-weight:400;padding-inline:.5rem;text-decoration:underline;text-underline-offset:.2em}
.act-login:hover{background:none;color:var(--ink)}

/* Первый экран */
.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(1.5rem,4vw,3.2rem);align-items:center;padding:clamp(1.5rem,4vw,3rem) var(--gutter) clamp(2.5rem,5vw,4rem)}
.hero-text{min-width:0;container-type:inline-size}
.pill{display:inline-block;padding:.5rem 1.1rem;border-radius:999px;background:var(--blush);color:var(--rose-ink);font:600 .74rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.hero h1{margin-top:1.4rem;font-size:clamp(2rem,11.2cqw,4.3rem);line-height:1.04;letter-spacing:-.012em;color:var(--ink)}
.h1-a,.h1-b{display:block}
.h1-a>span{display:inline-block}
.h1-b{margin-top:.1em;color:var(--rose-deep)}
.lede{margin-top:1.4rem;max-width:27rem;font-size:clamp(1.12rem,2.2cqw + .8rem,1.4rem);line-height:1.5;color:var(--ink)}
.actions{margin-top:1.9rem;display:flex;flex-wrap:wrap;gap:.75rem}
.btn{display:inline-flex;align-items:center;gap:.7rem;padding:.95rem 1.7rem;border-radius:999px;font:600 1.02rem/1.2 var(--sans);text-decoration:none;white-space:nowrap;border:2px solid var(--sage-deep);color:var(--sage-ink);background:transparent;transition:background .15s,color .15s,box-shadow .15s}
.btn:hover{background:var(--sage-soft)}
.btn-main{background:var(--sage-deep);color:#fff;box-shadow:0 .5rem 1.2rem rgba(74,106,73,.28)}
.btn-main:hover{background:var(--sage-ink);color:#fff}
.arrow{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-photo{margin:0;position:relative}
.hero-photo>img{display:block;width:100%;height:auto;aspect-ratio:1.42;object-fit:cover;object-position:42% 50%;border-radius:2.2rem 2.2rem 2.2rem 2.2rem;box-shadow:0 1.2rem 2.6rem rgba(90,60,30,.18)}
.chips{position:absolute;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.5rem;padding:.55rem;border-radius:1.5rem;background:rgba(255,253,249,.94);box-shadow:0 .5rem 1.4rem rgba(60,40,20,.2)}
.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border-radius:1rem;color:#fff;font:600 .86rem/1.15 var(--sans)}
.chip svg{flex:none;width:1.7rem;height:1.7rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chip-groom{background:var(--sage-deep)}
.chip-bride{background:var(--rose-deep)}
.chip-play{display:grid;place-items:center;flex:none;width:2.6rem;height:2.6rem;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 .2rem .6rem rgba(60,40,20,.25)}
.chip-play svg{width:1.2rem;height:1.2rem;fill:currentColor}

/* Три коротких факта */
.facts{background:var(--cream-2);padding:1.1rem var(--gutter)}
.facts ul{list-style:none;margin:0 auto;padding:0;max-width:62rem;display:grid;grid-template-columns:repeat(3,1fr)}
.facts li{display:flex;align-items:center;justify-content:center;gap:.9rem;padding:.7rem 1rem;font-size:1.02rem}
.facts li+li{border-left:1px solid #dccdb5}
.facts svg{flex:none;width:2.3rem;height:2.3rem;fill:none;stroke:var(--sage-deep);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Разделы */
.block{padding:clamp(3.5rem,8vw,5.5rem) var(--gutter) 0}
.block-head{text-align:center;container-type:inline-size}
.block-head h2,.faq .block-head h2{font-size:clamp(1rem,5.2cqw,2.9rem);line-height:1.12;letter-spacing:-.01em;white-space:nowrap}
.block-head h2::after{content:"";display:block;width:11rem;height:.9rem;margin:.9rem auto 0;background:url("/img/ornament.svg") center/contain no-repeat}
.block-head p{margin:.9rem auto 0;max-width:34rem;color:var(--muted)}
.hint{font-size:.92rem}
.hint-touch{display:none}
@media (hover:none){.hint-hover{display:none}.hint-touch{display:inline}}

/* Как проходит игра: карточки с подсказкой при наведении, фокусе и касании */
.steps{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
.step{position:relative}
.step-card{display:block;width:100%;margin:0;text-align:left;font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:1.25rem;padding:.95rem .95rem 1rem;box-shadow:var(--shadow);cursor:pointer;transition:transform .2s,box-shadow .2s}
.step-card::after{content:"i";position:absolute;right:.9rem;top:.8rem;display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--sage-soft);color:var(--sage-ink);font:italic 600 .9rem/1 var(--serif)}
.step-head{display:flex;align-items:baseline;gap:.6rem;margin:0 1.6rem .75rem 0}
.step-no{font:600 1.4rem/1 var(--serif);color:var(--gold)}
.step-title{font:600 1.04rem/1.25 var(--sans);color:var(--ink)}
.step-card img{display:block;width:100%;height:auto;aspect-ratio:232/128;object-fit:cover;border-radius:.9rem}
.tip{position:absolute;z-index:5;left:.55rem;right:.55rem;bottom:.55rem;padding:.8rem .95rem;border-radius:1rem;background:var(--paper);border:1px solid var(--line);box-shadow:0 .9rem 2rem rgba(60,40,20,.28);font-size:.9rem;line-height:1.42;color:var(--ink);opacity:0;visibility:hidden;transform:translateY(.5rem) scale(.97);transform-origin:50% 100%;transition:opacity .18s,transform .18s,visibility 0s .18s;pointer-events:none}
.tip::before{content:"";position:absolute;left:1.6rem;top:-.45rem;width:.8rem;height:.8rem;background:var(--paper);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.step-card:focus-visible+.tip,.step-card[aria-expanded="true"]+.tip{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.step-card:focus-visible{outline-offset:2px}
@media (hover:hover){
  .step:hover .step-card{transform:translateY(-.2rem);box-shadow:0 .9rem 1.9rem rgba(110,80,40,.14)}
  .step:hover .tip{opacity:1;visibility:visible;transform:none;transition-delay:0s}
}
.step.quiet .tip{opacity:0!important;visibility:hidden!important}

/* Игра на телефоне: секундомеры и экран с заданиями */
.arena{padding:clamp(3.5rem,8vw,5.5rem) var(--gutter) 0}
.arena-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(.5rem,3vw,2.5rem);margin-top:2.2rem;padding:clamp(1.8rem,4vw,3rem) clamp(1rem,3vw,2.5rem);border-radius:2rem;background:linear-gradient(90deg,var(--sage-soft) 50%,var(--blush) 50%);box-shadow:var(--shadow)}
.side{display:grid;gap:.4rem}
.side-groom{color:var(--sage-ink);text-align:right}
.side-bride{color:var(--rose-ink);text-align:left}
.team{font-weight:600;font-size:1.05rem}
.clock{font:600 clamp(2rem,4.8vw,3.9rem)/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.state{min-height:3.3em;font-size:.98rem;line-height:1.65}
.side.penalty .clock{animation:flash .9s ease-out 1}
@keyframes flash{0%{transform:none}25%{transform:translateY(-.06em);text-shadow:0 .08em 0 rgba(0,0,0,.22)}100%{transform:none;text-shadow:none}}
.caption{margin-top:.8rem;text-align:center;font-size:.9rem;color:var(--muted)}

.phone{width:min(19.5rem,78vw);border-radius:2.2rem;background:#fff;color:var(--ink);border:9px solid #243a2e;box-shadow:0 1.4rem 2.6rem rgba(40,50,35,.3);overflow:hidden;font-size:.9rem;line-height:1.4}
.phone-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding:.75rem 1rem;background:var(--cream-2);border-bottom:1px solid var(--line);font-weight:600}
.phone-timer{font:600 .95rem/1 var(--sans);font-variant-numeric:tabular-nums;background:var(--blush);color:var(--rose-ink);padding:.3rem .55rem;border-radius:999px;white-space:nowrap}
.chat{display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;height:25rem;padding:.8rem;background:#fbf6ee;overflow:hidden}
.m{max-width:90%;padding:.55rem .75rem;border-radius:1rem;background:#fff;border:1px solid var(--line)}
.m.me{align-self:flex-end;background:var(--sage-soft);border-color:transparent}
.m.video{display:flex;align-items:center;gap:.6rem}
.m .play{width:2.6rem;height:2.6rem;border-radius:.6rem;background:var(--sage-deep);position:relative;flex:none}
.m .play::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-35%,-50%);border-left:.7rem solid #fff;border-top:.45rem solid transparent;border-bottom:.45rem solid transparent}
.opts{display:flex;gap:.4rem;margin-top:.5rem}
.opts span{flex:1;text-align:center;padding:.3rem 0;border:1px solid var(--rose-deep);border-radius:.6rem;font-weight:600;color:var(--rose-deep)}
.live .m:not([hidden]){animation:pop .25s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}
.typing{align-self:flex-start;display:flex;gap:.25rem;padding:.65rem .8rem;border-radius:1rem;background:#fff;border:1px solid var(--line)}
.typing i{width:.4rem;height:.4rem;border-radius:50%;background:#9aa597;animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:.25}}

/* Видео игр (появляются только если организатор положил свои ролики) */
.clip-list{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem}
.clip{margin:0}
.clip video,.clip img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);background:var(--cream-2);box-shadow:var(--shadow)}
.clip figcaption{margin-top:.55rem;color:var(--muted);font-size:.95rem}

/* Сюрприз */
.surprise-wrap{padding:clamp(3.5rem,8vw,5.5rem) var(--gutter) 0}
.surprise{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;border-radius:1.8rem;overflow:hidden;background:linear-gradient(120deg,var(--cream-2),var(--blush));box-shadow:var(--shadow)}
.surprise-photo{display:block;width:100%;height:100%;min-height:15rem;object-fit:cover}
.surprise-text{display:grid;align-content:center;gap:1rem;padding:clamp(1.6rem,4vw,3rem)}
.surprise-text h2{font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.12}
.surprise-text .big{font:600 clamp(1.15rem,2.2vw,1.4rem)/1.4 var(--serif);color:var(--ink)}
.surprise-text p:not(.big){color:var(--muted);max-width:30rem}
.more{justify-self:start;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--sage-ink);text-decoration:none;border-bottom:2px solid var(--sage);padding-bottom:.15rem}
.more:hover{color:var(--sage-deep);border-bottom-color:var(--sage-deep)}
.more .arrow{width:1.1rem;height:1.1rem}

/* Что получат гости и молодожёны */
.perks{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.perk{padding:1.6rem 1.8rem 1.8rem;border-radius:var(--radius);box-shadow:var(--shadow)}
.perk-groom{background:var(--sage-soft);color:var(--sage-ink)}
.perk-bride{background:var(--blush);color:var(--rose-ink)}
.ico{display:block;width:3.1rem;height:3.1rem;padding:.75rem;margin-bottom:1rem;border-radius:50%;background:rgba(255,253,249,.78);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.perk h3{font-size:1.4rem;line-height:1.2}
.perk p{margin-top:.55rem;max-width:34rem;color:var(--ink)}
.perk:first-child{grid-column:1/-1}
.perk:first-child p{max-width:46rem}

/* Цены и отзывы */
.prices-list,.reviews-list{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.price{padding:1.4rem 1.6rem;border-radius:var(--radius);background:var(--sage-soft);color:var(--sage-ink);box-shadow:var(--shadow)}
.price:nth-child(even){background:var(--blush);color:var(--rose-ink)}
.price h3{font-size:1.35rem}
.price .sum{display:block;margin-top:.35rem;font:600 1.5rem/1.2 var(--sans);font-variant-numeric:tabular-nums}
.price p{margin-top:.4rem;color:var(--ink)}
.formats .prices-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.2rem}
.price.format{min-width:0;display:flex;flex-direction:column;padding:1.6rem 1.4rem;background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.price.format:nth-child(2){background:#f0f4eb;border-color:#ccd9c3}
.price.format:nth-child(3){background:#fcf0eb;border-color:#eaccc7}
.price .format-tagline{margin:0 0 .9rem;min-height:2.8em;font-size:.78rem;line-height:1.4;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--sage-deep)}
.price:nth-child(3) .format-tagline{color:var(--rose-ink)}
.format h3{font-size:1.4rem;line-height:1.23;min-height:4.92em;text-wrap:pretty}
.format .sum{margin-top:1.3rem;font-size:1.8rem;line-height:1.2}
.format-duration{display:block;margin-top:.4rem;font-size:.95rem;color:var(--muted)}
.format-includes{margin-top:1.25rem;padding-top:1.15rem;border-top:1px solid var(--line)}
.format-includes h4{font:600 .95rem/1.4 var(--sans);margin:0 0 .8rem}
.format-features{list-style:none;display:grid;gap:.7rem;margin:0;padding:0;font-size:.93rem;line-height:1.45}
.format-features li{position:relative;padding-left:1.5rem}
.format-features li::before{content:"✓";position:absolute;left:0;top:0;color:var(--sage-deep);font-weight:600}
.price .format-description{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line);font-size:.96rem;line-height:1.6}
.format-story{margin-top:1.15rem;font-size:.95rem;line-height:1.6}
.format-story summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 0;color:var(--sage-ink);font-weight:600;list-style:none}
.format-story summary::-webkit-details-marker{display:none}
.format-story summary::after{content:"+";font-size:1.3rem;line-height:1}
.format-story[open] summary::after{content:"−"}
.format-story p+p{margin-top:.8rem}
.price .format-for{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-weight:600}
.format-action{margin-top:auto;padding-top:1.3rem}
.format-action .btn{width:100%;justify-content:center;padding:.9rem .7rem;white-space:normal;text-align:center;font-size:.93rem}
.format-intrigue{text-align:center;max-width:44rem;margin:2.2rem auto 0;padding:1.6rem 1rem;border-block:1px solid var(--line)}
.format-intrigue p{font:600 clamp(1.2rem,2.2vw,1.6rem)/1.4 var(--serif)}
.format-intrigue span{display:block;margin-top:.7rem;color:var(--muted);font-size:.94rem}
@supports(grid-template-rows:subgrid){
  .formats .prices-list{row-gap:0}
  .price.format{display:grid;grid-template-rows:subgrid;grid-row:span 8}
  .format h3,.price .format-tagline{min-height:0}
}

/* Подготовка программы и необязательный пример первого формата. */
.journey-list{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.journey-list li{min-width:0;border-top:1px solid #cbd7c2;padding-top:1rem}
.journey-list li>span{font:600 1.8rem/1 var(--serif);color:var(--gold)}
.journey-list h3{font-size:1.2rem;line-height:1.3;margin:.8rem 0 .6rem}
.journey-list p{font-size:.95rem;color:var(--muted)}
.game-demo{margin:clamp(3.5rem,8vw,5.5rem) var(--gutter) 0;border-block:1px solid var(--line)}
.game-demo>summary{position:relative;cursor:pointer;padding:1.35rem 2rem 1.35rem 0;list-style:none;font:600 clamp(1.15rem,2.2vw,1.5rem)/1.4 var(--serif)}
.game-demo>summary::-webkit-details-marker{display:none}
.game-demo>summary::after{content:"+";position:absolute;right:.2rem;top:1.4rem;font:400 1.6rem/1 var(--sans)}
.game-demo[open]>summary::after{content:"−"}
.game-demo>summary span{display:block;font:400 .94rem/1.5 var(--sans);color:var(--muted);margin-top:.35rem}
.game-demo-content{padding-bottom:2rem}
.game-demo-content .block,.game-demo-content .arena{padding-inline:0}
.review{margin:0;padding:1.3rem 1.6rem;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}
.review p{font:600 1.2rem/1.45 var(--serif)}
.review footer{margin-top:.5rem;color:var(--muted);font-size:.95rem}

/* Вопросы */
.faq{padding-bottom:clamp(3rem,6vw,4.5rem)}
.qa{max-width:46rem;margin:2.2rem auto 0;display:grid;gap:.7rem}
.qa details{background:var(--paper);border:1px solid var(--line);border-radius:1.15rem;box-shadow:0 .3rem .9rem rgba(110,80,40,.06)}
.qa summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.3rem;font:600 1.02rem/1.35 var(--sans);border-radius:1.15rem}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:.6rem;height:.6rem;margin-right:.2rem;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-.15rem) rotate(45deg);transition:transform .2s}
.qa details[open] summary::after{transform:translateY(.1rem) rotate(225deg)}
.qa details p{padding:0 1.3rem 1.2rem;color:var(--muted);max-width:40rem}

/* Плашка для завершённого квеста: ссылка-приглашение открыта после конца игры */
.ended{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1.25rem;padding:.9rem 3.2rem .9rem var(--gutter);background:linear-gradient(100deg,var(--sage-soft),var(--blush));color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 .5rem 1.5rem rgba(110,80,40,.14);text-align:center}
.ended p{font-size:1.1rem;line-height:1.4;max-width:46rem}
.ended .btn{white-space:nowrap}
.ended-x{position:absolute;top:.35rem;right:.75rem;display:grid;place-items:center;width:2.75rem;height:2.75rem;font-size:1.6rem;line-height:1;color:var(--ink);text-decoration:none;border-radius:50%}
.ended-x:hover,.ended-x:focus-visible{background:rgba(255,253,249,.7)}

/* Подвал: карточка предприятия */
.foot{margin-top:clamp(2rem,5vw,3.5rem);padding:0;border:0;display:block;color:var(--ink);font-size:1rem}
.card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,4fr);gap:1.25rem;padding:clamp(2rem,5vw,3.5rem) var(--gutter);background:var(--cream-2)}
.card>*{padding:clamp(1.4rem,3vw,2rem);border-radius:var(--radius)}
.card-lead{background:var(--sage-soft);color:var(--sage-ink);display:grid;gap:1rem;align-content:start}
.card-lead h2{font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.15}
.card-lead p{max-width:28rem;color:var(--ink)}
.card-col{background:var(--blush);color:var(--rose-ink)}
.card-col h3{font-size:1.3rem;margin-bottom:.8rem}
.card dl{margin:0;display:grid;gap:.7rem}
.card dl>div,.card dt{display:block}
.card dt{font-size:.85rem;opacity:.85}
.card dd{margin:0 0 .1rem;font-weight:600;overflow-wrap:anywhere;color:var(--ink)}
.card dd a{color:inherit;font-weight:600}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 2rem;padding:1.1rem var(--gutter) 5rem;color:var(--muted);font-size:.92rem;border-top:1px solid var(--line)}
button.btn{font:600 1.02rem/1.2 var(--sans);cursor:pointer}

/* Форма обратной связи */
.dlg{width:min(30rem,calc(100vw - 2rem));padding:0;border:0;border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 1.5rem 3rem rgba(40,30,20,.4)}
.dlg::backdrop{background:rgba(31,43,35,.55)}
.dlg-form{display:grid;gap:.9rem;padding:1.6rem}
.dlg-form h2{font-size:1.7rem}
.dlg-note{color:var(--muted)}
.dlg-form label{display:grid;gap:.3rem;font-weight:600;font-size:.95rem}
.dlg-form input:not([type=checkbox]),.dlg-form textarea,.dlg-form select,.wc-form input,.wc-form textarea{font:400 1rem/1.4 var(--sans);padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:.8rem;background:var(--cream);color:var(--ink);width:100%;min-width:0}
.dlg-form select{overflow:hidden;text-overflow:ellipsis}
.dlg-form input:focus-visible,.dlg-form textarea:focus-visible,.dlg-form select:focus-visible,.wc-form input:focus-visible,.wc-form textarea:focus-visible{outline:3px solid var(--rose-deep);outline-offset:1px}
.consent{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:.6rem;font-weight:400!important;font-size:.9rem!important;color:var(--muted)}
.consent input{margin-top:.25rem;flex:none;width:1.1rem;height:1.1rem}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.dlg-status,.wc-status{min-height:1.4em;font-size:.95rem}
.dlg-status.ok,.wc-status.ok{color:var(--sage-ink)}
.dlg-status.bad,.wc-status.bad{color:var(--rose-ink);font-weight:600}
.dlg-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.dlg-actions .btn{cursor:pointer}

/* Чат справа внизу */
.wc-fab{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:50;font:600 1rem/1 var(--sans);padding:.95rem 1.3rem;border-radius:999px;border:0;background:var(--sage-deep);color:#fff;cursor:pointer;box-shadow:0 .6rem 1.4rem rgba(40,60,40,.35)}
.wc-fab:hover{background:var(--sage-ink)}
.wc-badge{display:inline-block;min-width:1.4rem;margin-left:.5rem;padding:.15rem .4rem;border-radius:999px;background:#fff;color:var(--rose-ink);font-size:.85rem;text-align:center}
.wc-panel{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:55;width:min(22rem,calc(100vw - 2rem));max-height:min(36rem,calc(100dvh - 2rem));display:flex;flex-direction:column;border-radius:1.2rem;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 1.2rem 2.6rem rgba(40,30,20,.35);overflow:hidden}
.wc-head{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:linear-gradient(90deg,var(--sage-soft),var(--blush));color:var(--ink)}
.wc-x{border:0;background:none;color:inherit;font-size:1.6rem;line-height:1;cursor:pointer;width:2.4rem;height:2.4rem;border-radius:50%}
.wc-log{flex:1;min-height:9rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.8rem;background:var(--cream)}
.wc-line{max-width:88%;padding:.5rem .75rem;border-radius:1rem;font-size:.95rem;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}
.wc-team{align-self:flex-start;background:var(--paper);border:1px solid var(--line)}
.wc-me{align-self:flex-end;background:var(--sage-soft);color:var(--sage-ink)}
.wc-form{display:grid;gap:.5rem;padding:.7rem;border-top:1px solid var(--line)}
.wc-row{display:flex;gap:.5rem;align-items:flex-end}
.wc-row textarea{resize:none;flex:1}
.wc-row .btn{padding:.6rem 1rem;font-size:.95rem}

/* Узкие экраны */
@media (max-width:66rem){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:64rem){
  .top{padding-left:var(--gutter)}
  .top::before{opacity:.55}
  .actions-top{order:2}
  .menu{order:3;flex:1 1 100%}
  .formats .prices-list{grid-template-columns:minmax(0,1fr);gap:1.2rem;max-width:42rem;margin-inline:auto}
  .price.format{display:flex}
  .format h3,.price .format-tagline{min-height:0}
  .journey-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:56rem){
  .hero{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2rem,10.5cqw,3.6rem)}
  .hero-photo{max-width:36rem}
  .hero::after{top:auto;bottom:1rem;opacity:.7}
  .facts ul{grid-template-columns:1fr}
  .facts li{justify-content:flex-start;padding:.55rem .4rem}
  .facts li+li{border-left:0;border-top:1px solid #dccdb5}
  .arena-grid{grid-template-columns:1fr 1fr;row-gap:2rem}
  .side-groom,.side-bride{text-align:left}
  .phone{grid-column:1/-1;justify-self:center;order:3}
  .surprise{grid-template-columns:1fr}
  .surprise-photo{min-height:0;aspect-ratio:680/236}
  .perks{grid-template-columns:1fr}
  .card{grid-template-columns:1fr}
}
@media (max-width:40rem){
  .brand{font-size:1.3rem}
  .actions-top{margin-left:0;flex:1 1 100%;justify-content:flex-start}
  .menu{width:calc(100% + 2.5rem);margin:0 -1.25rem;padding:0 1.25rem;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.2rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 2.2rem),transparent)}
  .hero-photo>img{aspect-ratio:1.3;border-radius:1.6rem}
  .chips{position:static;margin-top:.8rem;display:grid;grid-template-columns:1fr auto 1fr;padding:.45rem;box-shadow:var(--shadow);border:1px solid var(--line)}
  .chip{justify-content:center;padding:.55rem .5rem;font-size:.8rem}
  .chip svg{width:1.4rem;height:1.4rem}
  .steps{grid-template-columns:1fr}
  .arena-grid{column-gap:1rem}
  .clock{font-size:clamp(1.7rem,8.6vw,2.4rem)}
  .team{font-size:clamp(.88rem,3.9vw,1.05rem);white-space:nowrap}
  .state{font-size:.9rem}
  .perk,.perk:first-child{padding:1.4rem 1.4rem 1.6rem}
  .facts::before,.facts::after{opacity:.6}
  .price.format{padding:1.4rem 1.2rem}
  .journey-list{grid-template-columns:1fr;gap:1.2rem}
  .dlg-form{padding:1.2rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .side.penalty .clock,.live .m:not([hidden]),.typing i{animation:none}
  .qa summary::after,.btn,.menu a,.step-card,.tip{transition:none}
}
