:root {
  --ink:#1C0B1F; --plum:#4A1042; --fuch:#FF2D87; --fuch2:#FF6FB0; --yel:#FFD43B; --em:#00A877; --coral:#FF6A3D; --cob:#3346FF; --navy:#16224D;
  --paper:#FFF4E8; --paper2:#FFE9D6; --red:#C8102E;
  --serif:"Playfair Display", Georgia, serif; --sans:Inter, system-ui, sans-serif; --hand:Caveat, cursive;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); color:var(--ink); background:var(--paper); font-size:17px; line-height:1.55; overflow-x:hidden; }
img { max-width:100%; display:block; }
a { color:inherit; }
h1, h2, h3 { font-family:var(--serif); line-height:1.05; }
h2 { font-size:clamp(34px, 5.4vw, 64px); font-weight:900; letter-spacing:-.5px; margin-bottom:28px; }
h2 em { font-style:italic; font-weight:800; color:var(--fuch); }
.wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
.sec { padding:96px 0; position:relative; }
.eyebrow { font-weight:800; font-size:13px; letter-spacing:3px; text-transform:uppercase; color:var(--fuch); margin-bottom:14px; }
.eyebrow.light { color:var(--yel); }

/* кнопки */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--yel); color:var(--ink); font-weight:800; font-size:17px; text-decoration:none; padding:18px 30px; border-radius:999px; border:2.5px solid var(--ink); box-shadow:5px 5px 0 var(--ink); transition:transform .15s, box-shadow .15s; }
.btn:hover { transform:translate(-2px,-2px); box-shadow:7px 7px 0 var(--ink); }
.btn:active { transform:translate(3px,3px); box-shadow:2px 2px 0 var(--ink); }
.btn.ghost { background:transparent; color:#fff; border-color:#fff; box-shadow:none; }
.btn.ghost:hover { background:rgba(255,255,255,.12); }
.btn.big { font-size:20px; padding:20px 34px; width:100%; }
.btn.disabled { opacity:.45; cursor:not-allowed; }
.btn.yellow { margin-top:22px; }

/* шапка */
.top { position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:24px; padding:12px 24px; background:rgba(28,11,31,.92); backdrop-filter:blur(8px); color:#fff; }
.logo { font-family:var(--serif); font-weight:800; font-size:22px; text-decoration:none; }
.logo em { color:var(--yel); }
.top nav { display:flex; gap:22px; margin-left:auto; font-size:15px; font-weight:600; }
.top nav a { text-decoration:none; opacity:.85; }
.top nav a:hover { opacity:1; color:var(--yel); }
.top-btn { background:var(--fuch); color:#fff; text-decoration:none; font-weight:800; font-size:14px; padding:10px 18px; border-radius:999px; white-space:nowrap; }

/* обложка */
.hero { position:relative; min-height:calc(100vh - 60px); display:grid; grid-template-columns:1.05fr .95fr; align-items:center; background:radial-gradient(circle at 18% 25%, #FF5FA6 0, var(--fuch) 38%, #D9006A 100%); color:#fff; overflow:hidden; padding:40px 0 60px; }
.hero::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px); pointer-events:none; }
.hero-text { position:relative; z-index:2; padding:0 10px 0 max(24px, calc((100vw - 1180px)/2 + 24px)); }
.kicker { font-weight:800; font-size:13px; letter-spacing:3px; text-transform:uppercase; color:var(--yel); margin-bottom:18px; }
.hero h1 { font-weight:900; font-size:clamp(52px, 8.4vw, 118px); line-height:.92; letter-spacing:-1.5px; }
.hero h1 span { display:block; }
.hero h1 .l2 { font-style:italic; color:var(--yel); }
.hero h1 .l3 { display:inline-block; margin-top:10px; background:var(--ink); color:#fff; padding:4px 18px 10px; transform:rotate(-2deg); box-shadow:6px 6px 0 var(--yel); }
.lead { font-size:clamp(18px, 1.6vw, 21px); max-width:520px; margin:30px 0 32px; opacity:.95; }
.cta-row { display:flex; gap:14px; flex-wrap:wrap; }
.hero-pic { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; padding:0 max(40px, calc((100vw - 1180px)/2 + 40px)) 0 30px; }
.hero-pic img { width:100%; max-width:500px; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center 8%; border-radius:28px; border:6px solid var(--ink); box-shadow:18px 18px 0 var(--yel); transform:rotate(2.5deg); }
.sticker { position:absolute; z-index:3; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-weight:800; text-transform:uppercase; font-size:13px; line-height:1.15; letter-spacing:.5px; border:3px solid var(--ink); }
.sticker b { font-family:var(--serif); font-size:44px; line-height:.9; text-transform:none; }
.s1 { width:150px; height:150px; background:var(--yel); color:var(--ink); right:max(16px, calc((100vw - 1180px)/2)); top:40px; transform:rotate(12deg); animation:wob 5s ease-in-out infinite; }
.s2 { width:160px; height:160px; background:var(--ink); color:#fff; right:max(400px, calc((100vw - 1180px)/2 + 470px)); bottom:60px; transform:rotate(-10deg); padding:20px; animation:wob 6s ease-in-out infinite reverse; }
.s2 b { color:var(--yel); }
@keyframes wob { 0%,100% { transform:rotate(12deg) scale(1); } 50% { transform:rotate(4deg) scale(1.06); } }

/* бегущая строка */
.marquee { background:var(--yel); border-block:3px solid var(--ink); overflow:hidden; white-space:nowrap; padding:16px 0; }
.mq-in { display:inline-block; animation:mq 60s linear infinite; font-family:var(--serif); font-style:italic; font-weight:800; font-size:26px; }
.mq-in span { margin:0 18px; }
.mq-in i { font-style:normal; color:var(--fuch); }
@keyframes mq { to { transform:translateX(-50%); } }

/* кафе vs Ася */
.vs { background:var(--paper); }
.flips { display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; }
.flip { perspective:1200px; height:380px; cursor:pointer; background:none; border:none; text-align:left; font:inherit; color:inherit; }
.flip-in { position:relative; width:100%; height:100%; transition:transform .7s cubic-bezier(.3,1.4,.5,1); transform-style:preserve-3d; }
.flip.on .flip-in { transform:rotateY(180deg); }
.face { position:absolute; inset:0; backface-visibility:hidden; border-radius:24px; overflow:hidden; border:3px solid var(--ink); box-shadow:8px 8px 0 var(--ink); }
.front img { width:100%; height:100%; object-fit:cover; }
.front .lbl { position:absolute; left:16px; right:16px; bottom:16px; background:#fff; border:2.5px solid var(--ink); border-radius:16px; padding:12px 16px; }
.front .lbl small { display:block; font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--fuch); }
.front .lbl b { font-family:var(--serif); font-size:24px; line-height:1.1; }
.front .tap { position:absolute; top:14px; right:14px; background:var(--yel); border:2px solid var(--ink); border-radius:999px; font-size:12px; font-weight:800; padding:6px 12px; }
.back { transform:rotateY(180deg); padding:30px 26px; display:flex; flex-direction:column; justify-content:center; color:#fff; }
.back small { font-size:13px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--yel); }
.back .hand { font-family:var(--hand); font-size:38px; line-height:1.05; margin:10px 0 16px; }
.back p { font-size:16px; opacity:.95; }

/* загляни внутрь */
.inside { background:var(--plum); color:#fff; background-image:radial-gradient(circle at 85% 10%, rgba(255,45,135,.35), transparent 45%), radial-gradient(circle at 5% 90%, rgba(51,70,255,.35), transparent 40%); }
.inside h2 em { color:var(--yel); }
.wtabs { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.wtab { border:2.5px solid #fff; background:transparent; color:#fff; font:inherit; font-weight:800; font-size:15px; padding:12px 20px; border-radius:999px; cursor:pointer; transition:.2s; }
.wtab small { display:block; font-size:11px; letter-spacing:2px; text-transform:uppercase; opacity:.8; }
.wtab.on { background:var(--c); border-color:var(--c); color:#fff; box-shadow:5px 5px 0 var(--yel); }
.dtabs { display:flex; gap:8px; margin:22px 0 30px; flex-wrap:wrap; }
.dtab { width:62px; height:62px; border-radius:50%; border:2px solid rgba(255,255,255,.5); background:transparent; color:#fff; font:inherit; font-weight:800; cursor:pointer; line-height:1.05; font-size:15px; transition:.2s; }
.dtab small { display:block; font-size:10px; opacity:.75; font-weight:600; }
.dtab.on { background:var(--yel); color:var(--ink); border-color:var(--yel); transform:scale(1.08); }
.day { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:24px; }
.rc { background:#fff; color:var(--ink); border-radius:24px; overflow:hidden; display:flex; flex-direction:column; animation:pop .45s cubic-bezier(.3,1.5,.5,1) both; box-shadow:0 18px 40px rgba(0,0,0,.25); }
.rc:nth-child(2) { animation-delay:.07s; } .rc:nth-child(3) { animation-delay:.14s; } .rc:nth-child(4) { animation-delay:.21s; }
@keyframes pop { from { opacity:0; transform:translateY(24px) scale(.96); } }
.rc .ph { position:relative; aspect-ratio:1/1; max-height:300px; overflow:hidden; }
.rc .ph img { width:100%; height:100%; object-fit:cover; }
.rc .meal { position:absolute; left:14px; top:14px; background:var(--c); color:#fff; font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:6px 12px; border-radius:999px; }
.rc .hit { position:absolute; right:12px; top:12px; width:74px; height:74px; border-radius:50%; background:var(--yel); border:2.5px solid var(--ink); display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:11px; font-weight:800; text-transform:uppercase; line-height:1.05; transform:rotate(10deg); }
.rc .hit b { font-size:22px; line-height:1; }
.rc .bd { padding:20px 22px 24px; display:flex; flex-direction:column; gap:12px; flex:1; }
.rc h3 { font-size:24px; }
.rc .meta { display:flex; gap:8px; flex-wrap:wrap; }
.rc .meta span { font-size:13px; font-weight:700; background:var(--paper); border-radius:999px; padding:5px 12px; }
.rc .q { margin-top:auto; position:relative; background:#FFF8D6; border:2px solid var(--ink); border-radius:16px; padding:14px 16px 14px 64px; font-family:var(--hand); font-size:23px; line-height:1.15; }
.rc .q img { position:absolute; left:10px; top:12px; width:44px; height:44px; border-radius:50%; object-fit:cover; border:2px solid var(--red); }
.rc .q small { display:block; font-family:var(--sans); font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--red); margin-bottom:2px; }

/* листалка */
.pages { background:var(--cob); color:#fff; padding-bottom:70px; }
.pages h2 em { color:var(--yel); }
.pages .sub { max-width:640px; font-size:18px; opacity:.92; margin-top:-10px; }
.strip { display:flex; gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; padding:40px max(24px, calc((100vw - 1180px)/2 + 24px)) 30px; scrollbar-width:none; }
.strip::-webkit-scrollbar { display:none; }
.strip img { flex:none; width:300px; aspect-ratio:210/297; object-fit:cover; border-radius:6px; scroll-snap-align:center; box-shadow:0 24px 50px rgba(0,0,0,.4); transition:transform .25s; }
.strip img:nth-child(odd) { transform:rotate(-2deg); } .strip img:nth-child(even) { transform:rotate(2deg) translateY(14px); }
.strip img:hover { transform:scale(1.05) rotate(0); }
.swipe { text-align:center; font-family:var(--hand); font-size:28px; color:var(--yel); }

/* недели */
.weeks { padding-bottom:0; }
.wk-list { margin-top:20px; }
.wk { display:grid; grid-template-columns:1fr 1fr; min-height:440px; background:var(--c); color:#fff; }
.wk:nth-child(even) .wk-pic { order:2; }
.wk-pic { overflow:hidden; }
.wk-pic img { width:100%; height:100%; object-fit:cover; object-position:center 85%; transition:transform 1.2s; }
.wk:hover .wk-pic img { transform:scale(1.06); }
.wk-t { padding:56px clamp(24px, 6vw, 80px); display:flex; flex-direction:column; justify-content:center; position:relative; }
.wk-n { font-family:var(--serif); font-weight:900; font-size:150px; line-height:.8; opacity:.18; position:absolute; right:30px; top:24px; }
.wk-t small { font-weight:800; letter-spacing:3px; text-transform:uppercase; font-size:13px; color:var(--yel); }
.wk-t h3 { font-size:clamp(34px, 4vw, 52px); margin:10px 0 14px; }
.wk-t p { font-size:18px; max-width:460px; opacity:.95; }
.wk-t .hits { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.wk-t .hits span { background:rgba(255,255,255,.16); border:1.5px solid rgba(255,255,255,.5); border-radius:999px; padding:6px 14px; font-size:14px; font-weight:600; }
.wk-t .go { margin-top:26px; align-self:flex-start; background:#fff; color:var(--c); border:none; font:inherit; font-weight:800; padding:12px 22px; border-radius:999px; cursor:pointer; }

/* в каждой неделе */
.every { background:var(--paper2); }
.every-grid { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.every-grid li { background:#fff; border:2.5px solid var(--ink); border-radius:22px; padding:26px; box-shadow:6px 6px 0 var(--fuch); font-size:16px; }
.every-grid li:nth-child(3n+2) { box-shadow:6px 6px 0 var(--em); } .every-grid li:nth-child(3n) { box-shadow:6px 6px 0 var(--cob); }
.every-grid b { display:block; font-family:var(--serif); font-size:22px; margin:8px 0 6px; }
.ic { font-size:34px; }

/* бонусы */
.bonus { background:var(--em); color:#fff; }
.bonus h2 em { color:var(--yel); }
.bn-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.bn-grid article { background:#fff; color:var(--ink); border-radius:24px; overflow:hidden; border:3px solid var(--ink); box-shadow:8px 8px 0 var(--ink); transition:transform .2s; }
.bn-grid article:hover { transform:rotate(-1deg) translateY(-4px); }
.bn-grid img { aspect-ratio:5/4; object-fit:cover; width:100%; }
.bn-grid .tag { display:inline-block; margin:18px 22px 0; background:var(--yel); border:2px solid var(--ink); border-radius:999px; font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:4px 12px; }
.bn-grid h3 { font-size:24px; margin:10px 22px 8px; }
.bn-grid p { margin:0 22px 24px; font-size:16px; }

/* об Асе */
.about { background:var(--paper); }
.about-in { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.album { position:relative; height:620px; }
.pol { position:absolute; background:#fff; padding:14px 14px 50px; box-shadow:0 14px 34px rgba(0,0,0,.2); width:310px; }
.pol figcaption { font-family:var(--hand); font-size:22px; line-height:1.1; text-align:center; position:absolute; left:14px; right:14px; bottom:8px; }
.pol img { aspect-ratio:4/5; object-fit:cover; width:100%; }
.p1 { left:0; top:0; transform:rotate(-6deg); }
.p2 { right:0; bottom:0; transform:rotate(5deg); }
.pol::before { content:""; position:absolute; top:-12px; left:50%; width:110px; height:28px; margin-left:-55px; background:rgba(255,212,59,.75); transform:rotate(-3deg); }
.letter .big { font-family:var(--serif); font-style:italic; font-size:24px; line-height:1.35; color:var(--plum); margin-bottom:16px; }
.letter p { margin-bottom:14px; }
.sign { font-family:var(--hand); font-size:48px; color:var(--red); }
.ai { font-size:13px; color:#7A6878; border-top:1.5px solid #E7D6C9; padding-top:12px; margin-top:8px; }

/* покупка */
.buy { background:var(--fuch); background-image:radial-gradient(circle at 80% 20%, #FF7BB8, transparent 45%); padding:100px 24px; }
.ticket { max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.25fr .9fr; background:var(--ink); color:#fff; border-radius:30px; overflow:hidden; border:3px solid var(--ink); box-shadow:14px 14px 0 var(--yel); }
.t-left { padding:50px; border-right:3px dashed rgba(255,255,255,.35); position:relative; }
.t-left h2 { font-size:clamp(32px, 4vw, 48px); }
.t-left h2 em { color:var(--yel); }
.get { list-style:none; }
.get li { padding:10px 0 10px 34px; position:relative; font-size:16px; border-bottom:1px solid rgba(255,255,255,.12); }
.get li::before { content:"✓"; position:absolute; left:0; top:9px; width:22px; height:22px; border-radius:50%; background:var(--em); color:#fff; font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.t-right { padding:50px 40px; background:#fff; color:var(--ink); display:flex; flex-direction:column; justify-content:center; }
.price { font-family:var(--serif); font-weight:900; font-size:96px; line-height:.9; color:var(--fuch); }
.price-note { font-weight:600; font-size:15px; color:#6E5A6C; margin:8px 0 24px; }
.agree { display:flex; gap:10px; align-items:flex-start; font-size:14px; margin-bottom:18px; cursor:pointer; }
.agree input { width:22px; height:22px; accent-color:var(--fuch); flex:none; margin-top:1px; }
.hint { font-size:13px; color:#6E5A6C; margin-top:10px; text-align:center; }

/* скоро */
.soon { background:var(--ink); color:#fff; }
.soon h2 em { color:var(--yel); }
.soon-in { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:center; }
.soon img { width:100%; max-width:440px; border-radius:24px; aspect-ratio:4/5; object-fit:cover; object-position:center 70%; border:4px solid var(--yel); transform:rotate(-2deg); }
.soon p { font-size:19px; }
.soon a:not(.btn) { color:var(--yel); }

/* подвал */
.foot { background:#0E050F; color:#CDBFCC; padding:40px 0 100px; font-size:14px; }
.foot p { margin-bottom:10px; }
.foot a { color:#fff; }
.foot .small { font-size:12px; opacity:.75; }

/* плавающая кнопка на телефоне */
.float-buy { display:none; }

@media (max-width: 960px) {
  .hero { grid-template-columns:1fr; min-height:auto; padding:30px 0 70px; }
  .hero-pic { order:-1; padding:10px 24px 30px; }
  .hero-pic img { width:78%; max-width:400px; }
  .hero-text { padding:0 24px; }
  .s1 { width:112px; height:112px; top:30px; right:16px; font-size:11px; } .s1 b { font-size:34px; }
  .s2 { display:none; }
  .flips, .bn-grid, .every-grid { grid-template-columns:1fr; }
  .flip { height:340px; }
  .wk { grid-template-columns:1fr; }
  .wk:nth-child(even) .wk-pic { order:0; }
  .wk-pic { height:300px; }
  .wk-n { font-size:110px; }
  .about-in, .soon-in { grid-template-columns:1fr; gap:30px; }
  .album { height:520px; max-width:420px; margin:0 auto; width:100%; }
  .pol { width:240px; }
  .ticket { grid-template-columns:1fr; }
  .t-left { border-right:none; border-bottom:3px dashed rgba(255,255,255,.35); padding:34px 26px; }
  .t-right { padding:34px 26px; }
  .top nav { display:none; }
  .top { justify-content:space-between; }
  .sec { padding:70px 0; }
  .float-buy { display:block; position:fixed; left:16px; right:16px; bottom:16px; z-index:60; text-align:center; background:var(--yel); color:var(--ink); font-weight:800; text-decoration:none; padding:16px; border-radius:999px; border:2.5px solid var(--ink); box-shadow:4px 4px 0 var(--ink); transition:transform .3s, opacity .3s; }
  .float-buy.hide { opacity:0; transform:translateY(120%); pointer-events:none; }
  .strip img { width:240px; }
  .dtab { width:52px; height:52px; font-size:14px; }
}
@media (prefers-reduced-motion: reduce) { * { animation:none !important; transition:none !important; } }
.sec, .hero { overflow-x:clip; }
@media (max-width: 960px) { .pol { width:min(62vw, 240px); } .p2 { right:6px; } }
.pol img, .soon img { height:auto; }
@media (max-width: 960px) {
  .flips { grid-template-columns:1fr 1fr; gap:14px; }
  .flip { height:250px; }
  .face { border-radius:18px; box-shadow:5px 5px 0 var(--ink); }
  .front .lbl { left:8px; right:8px; bottom:8px; padding:8px 10px; border-radius:12px; }
  .front .lbl b { font-size:17px; }
  .front .tap { font-size:10px; padding:4px 8px; top:8px; right:8px; }
  .back { padding:16px 14px; }
  .back .hand { font-size:25px; margin:6px 0 8px; }
  .back p { font-size:13px; }
  .album { height:470px; }
  .soon img { max-width:320px; margin:0 auto; }
}
/* полароиды не закрывают подписи */
.album { height:580px; max-width:520px; }
.pol { width:250px; }
.p1 { left:0; top:0; }
.p2 { right:0; left:auto; bottom:auto; top:160px; }
@media (max-width: 960px) {
  .album { height:600px; max-width:360px; }
  .pol { width:205px; }
  .p2 { top:290px; right:0; }
}
/* подпись полароида идёт под фото, не наезжает */
.pol { padding:12px 12px 16px; }
.pol figcaption { position:static; margin-top:10px; font-size:20px; }
@media (max-width:960px){ .pol figcaption { font-size:17px; } }
.p1 { z-index:2; } .p2 { z-index:1; }

/* ===== 10.11: пробник вместо всего меню ===== */
.inside .sub { max-width:640px; font-size:18px; opacity:.92; margin:-10px 0 26px; }
.dtab.locked { border-style:dashed; opacity:.75; }
.dtab.open:not(.on) { border-color:var(--yel); }
.dtab.open small { color:var(--yel); font-weight:800; }
.dtab.on small { color:var(--ink); }
.lockwrap { position:relative; display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px; grid-column:1 / -1; }
.rc.ghost { animation:none; opacity:.55; }
.rc.ghost .ph img { width:100%; height:100%; object-fit:cover; }
.rc.ghost .bd i { display:block; height:16px; border-radius:8px; background:#EDE3EA; }
.rc.ghost .bd i.s { width:55%; }
.lock { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-2deg); width:min(92%, 420px); background:var(--ink); color:#fff; border:3px solid var(--yel); border-radius:24px; padding:26px 26px 28px; text-align:center; box-shadow:10px 10px 0 var(--c); }
.lock b { font-family:var(--serif); font-size:30px; display:block; }
.lock p { margin:8px 0 18px; font-size:16px; opacity:.92; }
.wk-t .hits .more-n { background:transparent; border-style:dashed; }

/* короткое «об Асе» на странице меню */
.mini-about { background:var(--paper); }
.mini-in { display:grid; grid-template-columns:auto 1fr; gap:60px; align-items:center; max-width:980px; }
.pol.solo { position:relative; width:300px; transform:rotate(-4deg); }
.mini-about .big { font-family:var(--serif); font-style:italic; font-size:24px; line-height:1.35; color:var(--plum); margin-bottom:14px; }
.mini-about .more { display:inline-block; margin:6px 0 14px; font-weight:800; color:var(--fuch); text-decoration:none; }

/* другие меню */
.other { background:var(--ink); color:#fff; padding:70px 0; }
.other h2 { font-size:clamp(28px, 3.6vw, 44px); margin-bottom:10px; }
.other h2 em { color:var(--yel); }
.other p { font-size:18px; opacity:.9; }
.other-in { display:flex; gap:40px; align-items:center; justify-content:space-between; flex-wrap:wrap; }

/* ===== главная-витрина ===== */
.hero-home { background:radial-gradient(circle at 80% 20%, #5B1A55 0, var(--plum) 45%, #2A0826 100%); }
.hero-home .hero-pic img { object-position:center 40%; box-shadow:18px 18px 0 var(--fuch); transform:rotate(-2.5deg); }
.hero-home .s1 { background:var(--yel); }
.shelf { background:var(--paper); }
.shelf-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:28px; align-items:stretch; }
.card { background:#fff; border:3px solid var(--ink); border-radius:28px; overflow:hidden; display:flex; flex-direction:column; box-shadow:10px 10px 0 var(--fuch); }
.card.ny { box-shadow:10px 10px 0 var(--em); }
.card-pic { position:relative; aspect-ratio:16/10; overflow:hidden; }
.card-pic img { width:100%; height:100%; object-fit:cover; object-position:center 80%; }
.card .tag { position:absolute; left:18px; top:18px; background:var(--ink); color:var(--yel); border-radius:999px; font-size:13px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:7px 14px; }
.card .tag.go { background:var(--em); color:#fff; }
.card-bd { padding:26px 28px 30px; display:flex; flex-direction:column; gap:14px; flex:1; }
.card h3 { font-size:clamp(30px, 3.4vw, 42px); font-weight:900; }
.facts { display:flex; flex-wrap:wrap; gap:8px; }
.facts span { background:var(--paper2); border:2px solid var(--ink); border-radius:999px; padding:4px 12px; font-size:14px; font-weight:800; }
.card-row { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.card-price { font-family:var(--serif); font-weight:900; font-size:52px; color:var(--fuch); line-height:1; }
.card.ny .btn { margin-top:auto; align-self:flex-start; }
.russia { margin-top:56px; }
.ru-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.ru { border:3px solid var(--ink); border-radius:24px; padding:26px 24px; color:#fff; display:flex; flex-direction:column; gap:4px; transform:rotate(-1deg); }
.ru:nth-child(2) { transform:rotate(1deg); }
.ru small { font-weight:800; letter-spacing:2px; text-transform:uppercase; font-size:12px; color:var(--yel); }
.ru b { font-family:var(--serif); font-size:44px; line-height:1; }
.ru span { font-size:16px; opacity:.92; }
.ru-n { background:var(--cob); } .ru-s { background:var(--coral); } .ru-k { background:var(--em); }
.gift { background:var(--yel); }
.gift h2 em { color:var(--fuch); }
.gift-in { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.gift-t { font-size:19px; max-width:620px; margin-bottom:26px; }
.gift .btn { background:var(--fuch); color:#fff; }
.gift-badge { width:220px; height:220px; border-radius:50%; background:var(--ink); color:#fff; border:4px solid var(--ink); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-weight:800; text-transform:uppercase; font-size:15px; line-height:1.2; transform:rotate(10deg); box-shadow:10px 10px 0 var(--fuch); }
.gift-badge b { font-family:var(--serif); font-size:80px; line-height:.9; color:var(--yel); text-transform:none; }
.tg { background:var(--cob); color:#fff; padding:80px 0; }
.tg h2 { font-size:clamp(30px, 4vw, 50px); margin-bottom:10px; }
.tg h2 em { color:var(--yel); }
.tg p { font-size:18px; }
.tg-in { display:flex; gap:40px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.home .foot { padding-bottom:40px; }

@media (max-width: 960px) {
  .lockwrap { grid-template-columns:1fr; }
  .lockwrap .rc.ghost:nth-child(n+2) { display:none; }
  .lock b { font-size:24px; }
  .mini-in { grid-template-columns:1fr; gap:34px; }
  .pol.solo { width:min(70vw, 260px); margin:0 auto; }
  .shelf-grid, .ru-grid, .gift-in { grid-template-columns:1fr; }
  .gift-badge { width:150px; height:150px; font-size:12px; margin:0 auto; } .gift-badge b { font-size:54px; }
  .ru { transform:none !important; }
  .card-price { font-size:42px; }
  .home .foot { padding-bottom:100px; }
}
.dtab.locked.on { opacity:1; border-style:solid; }
.card.ny .card-pic img { object-position:center 35%; } .hero-home .hero-pic img { object-position:center center; }
/* бонусы без фото: яркие обложки */
.bn-cover { aspect-ratio:5/4; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; gap:14px; color:#fff; border-bottom:3px solid var(--ink); }
.bn-cover b { font-family:var(--serif); font-weight:900; font-size:150px; line-height:.8; }
.bn-cover span { font-weight:800; text-transform:uppercase; letter-spacing:1px; font-size:17px; line-height:1.15; }
.bn-cover i { position:absolute; font-style:normal; font-size:120px; opacity:.16; right:-6px; bottom:-24px; }
.bn-cover.c1 { background:var(--cob); background-image:radial-gradient(circle at 20% 20%, rgba(255,255,255,.25), transparent 50%); }
.bn-cover.c1 b { color:var(--yel); }
.bn-cover.c3 { background:var(--coral); background-image:radial-gradient(circle at 80% 20%, rgba(255,255,255,.3), transparent 50%); }
.bn-cover.c3 b { color:var(--ink); }
.bn-cover.c2 { background:var(--fuch2); }
.bn-cover .note { width:58%; background:var(--yel); border:2.5px solid var(--ink); border-radius:6px; padding:16px 16px 18px; transform:rotate(-4deg); box-shadow:6px 6px 0 var(--ink); display:flex; flex-direction:column; gap:9px; position:relative; }
.bn-cover .note::before { content:""; position:absolute; top:-14px; left:50%; margin-left:-14px; width:28px; height:28px; border-radius:50%; background:var(--red); border:2.5px solid var(--ink); }
.bn-cover .note small { font-family:var(--hand); font-size:30px; line-height:1; color:var(--ink); }
.bn-cover .note s { display:block; height:7px; border-radius:4px; background:rgba(28,11,31,.35); text-decoration:none; }
.bn-cover .note s.h { width:62%; }
@media (max-width:960px){ .bn-cover b { font-size:120px; } }
.hero:not(.hero-home) .hero-pic img { object-position:center 30%; }
/* листай: рабочие стрелки */
.swipe { display:flex; align-items:center; justify-content:center; gap:18px; }
.sw-btn { width:58px; height:58px; border-radius:50%; background:var(--yel); color:var(--ink); border:2.5px solid var(--ink); box-shadow:4px 4px 0 var(--ink); font:inherit; font-size:26px; font-weight:800; cursor:pointer; transition:transform .15s; }
.sw-btn:hover { transform:translate(-2px,-2px); }
.sw-btn:active { transform:translate(2px,2px); box-shadow:2px 2px 0 var(--ink); }
/* бонусы: компактные фото со стикером */
.bn-ph { position:relative; aspect-ratio:16/10; overflow:hidden; border-bottom:3px solid var(--ink); }
.bn-ph img { width:100%; height:100%; object-fit:cover; aspect-ratio:auto; }
.bn-st { position:absolute; right:12px; top:12px; width:78px; height:78px; border-radius:50%; border:2.5px solid var(--ink); display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:11px; font-weight:800; text-transform:uppercase; line-height:1; transform:rotate(8deg); color:var(--ink); }
.bn-st b { font-family:var(--serif); font-size:32px; line-height:.9; }
.bn-st.c1 { background:var(--yel); } .bn-st.c2 { background:var(--fuch2); } .bn-st.c3 { background:var(--coral); color:#fff; }
.bn-st { width:88px; height:88px; font-size:10px; letter-spacing:.2px; }

/* ===== 10.11 вечер: нежные нюдовые тона, как в PDF-меню; без капслока; без «кислоты» ===== */
:root {
  --ink:#3B2A35; --plum:#6E3F5E; --fuch:#B25877; --fuch2:#EBC9CD; --yel:#EACB8E; --em:#5F8A74; --coral:#CF8A6D; --cob:#62739A; --navy:#34405F;
  --paper:#FBF6F1; --paper2:#F3E8DF; --red:#A8434F; --line:rgba(59,42,53,.14); --soft:0 18px 44px rgba(59,42,53,.12);
}
body { background:var(--paper); }
/* один стиль букв: никаких заглавных капслоком */
.eyebrow, .kicker, .sticker, .front .lbl small, .back small, .wtab small, .rc .meal, .rc .hit, .rc .q small, .wk-t small, .bn-grid .tag, .card .tag, .ru small, .gift-badge, .bn-cover span, .bn-st { text-transform:none !important; letter-spacing:.2px !important; }
.eyebrow, .kicker { font-size:15px; font-weight:700; }
/* кнопки мягче */
.btn { border:1.5px solid var(--ink); box-shadow:none; font-weight:700; }
.btn:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(59,42,53,.16); }
.btn:active { transform:none; box-shadow:none; }
.top { background:rgba(59,42,53,.94); }
.top-btn { background:var(--fuch); }
/* обложки: перламутр вместо неона */
.hero, .hero-home { background:radial-gradient(circle at 15% 20%, #FFF9F5 0, #F6E6E1 45%, #EBD2D0 100%); color:var(--ink); }
.hero-home { background:radial-gradient(circle at 15% 20%, #FFFAF4 0, #F5E9DD 45%, #EAD7C6 100%); }
.hero::before { background:none; }
.kicker { color:var(--fuch); }
.hero h1 .l2 { color:var(--fuch); }
.hero h1 .l3 { background:var(--plum); color:#fff; transform:none; box-shadow:none; border-radius:6px; }
.lead { opacity:1; }
.btn.ghost { color:var(--ink); border-color:var(--ink); background:transparent; }
.btn.ghost:hover { background:rgba(59,42,53,.06); }
.hero-pic img, .hero-home .hero-pic img { border:none; border-radius:24px; transform:none; box-shadow:14px 14px 0 var(--fuch2), var(--soft); }
.hero-home .hero-pic img { box-shadow:14px 14px 0 #E3CDB8, var(--soft); }
/* кружочки: цифра отдельно, слова не наезжают */
.sticker, .gift-badge, .bn-st, .rc .hit { border:none; box-shadow:0 8px 20px rgba(59,42,53,.18); animation:none; }
.sticker { padding:14px; font-weight:700; line-height:1.2; }
.sticker b, .gift-badge b, .bn-st b, .rc .hit b { display:block; line-height:1 !important; margin-bottom:4px; }
.s1 { background:var(--yel); transform:rotate(8deg); }
.s2 { width:170px; height:170px; background:var(--plum); padding:24px; font-size:13px; transform:rotate(-6deg); }
.s2 b { color:var(--yel); font-size:42px; }
.gift-badge { background:var(--plum); transform:rotate(6deg); font-weight:700; padding:20px; }
.gift-badge b { font-size:72px; }
.bn-st { padding:8px; } .bn-st b { font-size:28px; margin-bottom:2px; }
.rc .hit { width:80px; height:80px; padding:6px; } .rc .hit b { font-size:20px; margin-bottom:1px; }
/* карточки и блоки: тонкая линия и мягкая тень */
.face, .card, .bn-grid article, .every-grid li, .ticket, .lock, .ru { border:1px solid var(--line); box-shadow:var(--soft); }
.card, .card.ny { box-shadow:var(--soft); }
.every-grid li, .every-grid li:nth-child(3n+2), .every-grid li:nth-child(3n) { box-shadow:var(--soft); }
.front .lbl { border:none; box-shadow:0 6px 18px rgba(59,42,53,.15); }
.front .tap, .bn-grid .tag, .facts span { border:1px solid var(--line); }
.facts span { background:var(--paper2); font-weight:700; }
.rc .q { border:1px solid var(--line); background:#FBF3E6; }
.bn-ph { border-bottom:1px solid var(--line); }
.sw-btn { border:1.5px solid var(--ink); box-shadow:none; }
.float-buy { border:1.5px solid var(--ink) !important; box-shadow:0 10px 24px rgba(59,42,53,.2) !important; }
.lock { background:var(--ink); border:1px solid rgba(255,255,255,.25); transform:translate(-50%,-50%); box-shadow:0 20px 50px rgba(0,0,0,.3); }
/* авокадо-тост и другие перевёртыши: подпись сверху, блюдо видно */
.front .lbl { top:12px; bottom:auto; left:12px; right:12px; }
.front .tap { top:auto; bottom:12px; right:12px; }
.front img { object-position:center 80%; }
/* цвета разделов приглушённые */
.inside { background:#5E3A52; background-image:radial-gradient(circle at 85% 10%, rgba(235,201,205,.18), transparent 45%); }
.inside h2 em, .pages h2 em, .bonus h2 em, .tg h2 em, .other h2 em, .soon h2 em, .t-left h2 em { color:var(--yel); }
.wtab.on { box-shadow:none; outline:2px solid var(--yel); outline-offset:2px; }
.pages { background:#5F6F92; }
.bonus { background:#5C846F; }
.buy { background:#EFDCD8; background-image:radial-gradient(circle at 80% 20%, #FAEEEA, transparent 50%); }
.ticket { box-shadow:0 24px 60px rgba(59,42,53,.25); }
.price, .card-price { color:var(--fuch); }
.gift { background:#F3E5CC; }
.gift .btn { background:var(--plum); color:#fff; border-color:var(--plum); }
.tg { background:#5F6F92; }
.foot { background:#2E2129; }
/* Россия на тарелке: ровно в один ряд, одной высоты */
.ru, .ru:nth-child(2) { transform:none !important; }
.ru-grid { align-items:stretch; }
.ru-n { background:#62739A; } .ru-s { background:#C4826A; } .ru-k { background:#5F8A74; }
.ru small { color:#F7E9CC; }
/* полароиды и альбом */
.pol::before { background:rgba(234,203,142,.6); }
/* телефон: обложка помещается на один экран */
@media (max-width: 600px) {
  .hero, .hero-home { padding:14px 0 28px; }
  .hero-pic { padding:6px 24px 18px; }
  .hero-pic img, .hero-home .hero-pic img { width:56%; max-width:240px; box-shadow:8px 8px 0 var(--fuch2); }
  .hero-home .hero-pic img { box-shadow:8px 8px 0 #E3CDB8; }
  .kicker { font-size:13px; margin-bottom:8px; }
  .hero h1 { font-size:40px; line-height:.98; letter-spacing:-.5px; }
  .hero h1 .l3 { margin-top:6px; padding:2px 12px 6px; }
  .lead { font-size:15.5px; margin:14px 0 16px; line-height:1.45; }
  .cta-row { gap:10px; }
  .cta-row .btn { font-size:15px; padding:13px 18px; }
  .s1 { width:86px; height:86px; top:14px; right:14px; font-size:10px; padding:8px; } .s1 b { font-size:26px; }
  h2 { font-size:32px; }
}
@media (max-width: 600px) { .logo { white-space:nowrap; font-size:19px; } .top { padding:10px 16px; gap:12px; } .top-btn { font-size:13px; padding:9px 14px; } }
.s2 { right:max(330px, calc((100vw - 1180px)/2 + 400px)); bottom:36px; }
.card.ny .card-pic img { object-position:center 12%; }
/* главные кнопки — фирменный вишнёвый Аси */
:root { --cherry:#A52A3A; --cherry2:#8C2131; }
.btn:not(.ghost), .gift .btn, .top-btn, .float-buy { background:var(--cherry) !important; color:#fff !important; border-color:var(--cherry) !important; }
.btn:not(.ghost):hover, .top-btn:hover { background:var(--cherry2) !important; }
.btn.disabled { opacity:.5; }
/* листалка: каждая страница встаёт ровно по центру */
.strip { position:relative; scroll-padding-inline:0; }
.strip img { scroll-snap-align:center; scroll-snap-stop:always; }
@media (max-width: 600px) {
  .strip { gap:18px; padding-left:calc((100vw - 72vw) / 2); padding-right:calc((100vw - 72vw) / 2); }
  .strip img { width:72vw; }
  .strip img:nth-child(odd), .strip img:nth-child(even) { transform:none; }
}
/* ровные цифры везде (у Playfair «1» иначе маленькая) */
body, h1, h2, h3, b, .price, .card-price, .wk-n { font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; }
/* все кнопки ведут себя одинаково: мягко приподнимаются при наведении */
.btn, .top-btn, .wtab, .dtab, .wk-t .go, .sw-btn, .gift .btn { transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn:hover, .top-btn:hover, .wtab:hover, .dtab:not(.on):hover, .wk-t .go:hover, .sw-btn:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(59,42,53,.2); }
.btn:active, .top-btn:active, .wtab:active, .dtab:not(.on):active, .wk-t .go:active, .sw-btn:active { transform:translateY(0); box-shadow:none; }
.btn.disabled:hover { transform:none; box-shadow:none; }
/* ноутбук: каждый блок помещается в один экран */
@media (min-width: 961px) {
  .sec { padding:60px 0; }
  h2 { font-size:clamp(34px, 4.2vw, 54px); margin-bottom:20px; }
  .hero { min-height:auto; height:calc(100vh - 60px); min-height:600px; max-height:860px; padding:24px 0; }
  .hero h1 { font-size:clamp(48px, 6.4vw, 94px); }
  .lead { margin:20px 0 24px; }
  .hero-pic img { width:auto; max-width:440px; height:calc(100vh - 170px); max-height:640px; min-height:420px; }
  .s1 { top:20px; }
  .card-pic { aspect-ratio:auto; height:230px; }
  .card-bd { padding:20px 24px 24px; gap:10px; }
  .card h3 { font-size:34px; }
  .card-price { font-size:44px; }
  .russia { margin-top:28px; }
  .ru { padding:16px 22px; } .ru b { font-size:36px; }
  .flip { height:270px; } .flips { gap:20px; }
  .inside .sub { margin:-6px 0 16px; }
  .dtabs { margin:14px 0 20px; }
  .rc .ph { aspect-ratio:auto; height:190px; }
  .rc .bd { padding:16px 18px 18px; gap:10px; }
  .rc h3 { font-size:21px; }
  .rc .q { font-size:20px; padding:10px 14px 10px 60px; }
  .rc .q img { top:10px; width:38px; height:38px; }
  .pages .sub { margin-top:-6px; }
  .strip { padding-top:26px; padding-bottom:20px; }
  .strip img { width:250px; }
  .wk { min-height:400px; }
  .wk-t { padding:40px clamp(24px, 5vw, 70px); }
  .every-grid li { padding:20px; }
  .bn-ph { aspect-ratio:16/9; }
  .album { height:520px; }
  .gift-in { gap:40px; }
}
@media (min-width: 961px) {
  .sec { padding:52px 0; }
  .eyebrow { margin-bottom:8px; }
  .card-pic { height:200px; }
  .shelf h2 { margin-bottom:18px; }
  .russia { margin-top:22px; } .russia .eyebrow { margin-bottom:8px; }
  .rc .ph { height:170px; }
  .rc .ph img { object-position:center 88%; }
  .wtabs { margin-bottom:8px; } .wtab { padding:9px 18px; }
  .dtab { width:54px; height:54px; } .dtabs { margin:10px 0 16px; }
  .flip { height:250px; }
  .vs h2 { margin-bottom:18px; }
  .wk-t h3 { font-size:clamp(32px, 3.4vw, 46px); }
}
.rc .ph img { object-position:center 85%; }
/* обложка: никогда не обрезаем кнопки на невысоком окне */
@media (min-width: 961px) {
  .hero { height:auto; max-height:none; min-height:min(calc(100vh - 60px), 860px); }
  .hero h1 { font-size:clamp(44px, min(6.4vw, 10.5vh), 94px); }
  .hero-pic img { height:min(calc(100vh - 170px), 640px); min-height:380px; }
}
/* кружочки на обложке — кликабельные */
a.sticker { text-decoration:none; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
a.sticker:hover { transform:rotate(0deg) scale(1.06); box-shadow:0 12px 26px rgba(59,42,53,.25); }
/* новогодняя карточка: кот снова в кадре */
@media (min-width: 961px) { .card-pic { height:260px; } }
.card.ny .card-pic img { object-position:center 45%; }
.card.ny .card-pic img { object-position:center 30%; }
/* сколько это стоит */
.money { background:var(--paper2); }
.money-in { display:grid; grid-template-columns:auto 1fr; gap:56px; align-items:center; }
.money-num { width:260px; height:260px; border-radius:50%; background:var(--plum); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; box-shadow:var(--soft); }
.money-num small { font-size:14px; font-weight:700; color:var(--yel); }
.money-num b { font-family:var(--serif); font-size:52px; line-height:1.05; margin:6px 0; white-space:nowrap; }
.money-num span { font-size:15px; line-height:1.3; opacity:.92; }
.money-t p { font-size:17px; max-width:640px; }
.chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.chips li { background:#fff; border:1px solid var(--line); border-radius:999px; padding:6px 14px; font-size:14px; font-weight:600; }
.chips-note { font-size:14px !important; color:#7A6878; margin-top:8px; }
/* частые вопросы */
.faq { background:var(--paper); }
.faq-in { max-width:820px; }
.faq details { background:#fff; border:1px solid var(--line); border-radius:16px; margin-bottom:10px; box-shadow:0 6px 18px rgba(59,42,53,.06); }
.faq summary { cursor:pointer; list-style:none; padding:16px 52px 16px 20px; font-weight:700; font-size:17px; position:relative; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); font-size:24px; font-weight:400; color:var(--fuch); }
.faq details[open] summary::after { content:"–"; }
.faq details p { padding:0 20px 18px; font-size:16px; }
.faq a { color:var(--fuch); }
@media (max-width: 960px) {
  .money-in { grid-template-columns:1fr; gap:26px; justify-items:center; }
  .money-num { width:200px; height:200px; } .money-num b { font-size:40px; }
  .money-t { width:100%; }
}
