    :root {
      --bg: #ffffff;
      --bg-soft: #ffffff;
      --paper: #ffffff;
      --text: #191817;
      --muted: #6e6961;
      --gold: #b9894a;
      --gold-2: #cda46f;
      --line: #d7d1c8;
      --gray: #eeecea;
      --shadow: 0 18px 50px rgba(25,24,23,.07);
      --serif: "Cormorant Garamond", Georgia, serif;
      --sans: "Montserrat", Arial, sans-serif;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      color:var(--text);
      font-family:var(--sans);
      background:#fff;
      min-height:100vh;
    }
    button,input { font:inherit; }
    button { color:inherit; }
    .app { min-height:100vh; }
    .quiz-screen { display:none; min-height:100vh; padding:34px 42px 46px; position:relative; overflow:hidden; }
    .quiz-screen.active { display:block; animation: screenIn .45s cubic-bezier(.22,.61,.36,1) both; }
    @keyframes screenIn { from { opacity:0; transform: translateY(10px); } to { opacity:1; transform: translateY(0); } }
    .header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; max-width:1260px; margin:0 auto 38px; position:relative; z-index:5; }
    .back, .close { display:inline-flex; align-items:center; gap:10px; border:0; background:transparent; cursor:pointer; color:var(--text); font-size:14px; }
    .back svg,.close svg { width:22px;height:22px; stroke:currentColor; stroke-width:1.7; fill:none; }
    .close { justify-self:end; }
    .logo { text-align:center; line-height:1; }
    .logo-mark { color:var(--gold); font-family:var(--serif); font-weight:700; font-size:46px; line-height:.7; }
    .logo-text { margin-top:7px; letter-spacing:.24em; font-size:22px; font-weight:500; }
    .logo-sub { margin-top:4px; letter-spacing:.46em; font-size:10px; font-weight:600; }
    .progress-wrap { max-width:820px; margin:0 auto 26px; display:flex; align-items:center; gap:16px; }
    .progress-line { flex:1; height:3px; background:#d8d4cf; position:relative; overflow:hidden; border-radius:999px; }
    .progress-fill { position:absolute; inset:0 auto 0 0; width:20%; background:linear-gradient(90deg,var(--gold),#d2a05e); border-radius:inherit; transition:width .28s ease; }
    .dots { display:flex; gap:18px; align-items:center; justify-content:center; }
    .dot { width:14px;height:14px; border:1.5px solid #9e9a94; border-radius:50%; background:transparent; transition:.24s ease; }
    .dot.active { background:var(--gold); border-color:var(--gold); transform:scale(1.12); }
    .step-counter { text-align:center; color:var(--muted); font-size:15px; margin-bottom:24px; }
    .step-head { text-align:center; max-width:820px; margin:0 auto 34px; }
    h1,h2,h3 { font-family:var(--serif); margin:0; font-weight:500; letter-spacing:-.025em; }
    h1 { font-size: clamp(42px, 5vw, 72px); line-height:.96; }
    h2 { font-size: clamp(38px, 4.4vw, 64px); line-height:1; }
    .step-head p { margin:12px 0 0; color:var(--muted); font-size:18px; line-height:1.55; }
    .btn { min-height:56px; min-width:230px; border:0; cursor:pointer; background:linear-gradient(135deg,var(--gold),#c69658); color:#fff; border-radius:2px; padding:0 32px; display:inline-flex; align-items:center; justify-content:center; gap:16px; box-shadow:0 18px 34px rgba(185,137,74,.22); transition:.25s ease; }
    .btn:hover { transform:translateY(-3px); box-shadow:0 24px 44px rgba(185,137,74,.3); }
    .btn:disabled,.btn.disabled { opacity:.45; pointer-events:none; }
    .btn svg { width:22px;height:22px; stroke:#fff; stroke-width:1.7; fill:none; }
    .hero { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:0; max-width:1320px; min-height:650px; margin:0 auto; border-radius:8px; overflow:hidden; background:#f8f7f5; box-shadow:var(--shadow); }
    .hero-copy { padding:74px 58px; display:flex; flex-direction:column; justify-content:center; }
    .eyebrow { color:var(--gold); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:600; margin-bottom:18px; }
    .hero-copy p { max-width:520px; color:var(--muted); font-size:17px; line-height:1.75; margin:24px 0 30px; }
    .hero-badges { margin-top:34px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; color:var(--muted); font-size:12px; }
    .hero-badge { display:flex; gap:11px; align-items:center; }
    .badge-icon { width:32px;height:32px; display:grid; place-items:center; color:var(--gold); }
    .badge-icon svg { width:28px;height:28px; fill:none; stroke:currentColor; stroke-width:1.6; }
    .options { display:grid; gap:18px; max-width:930px; margin:0 auto; }
    .options.reason { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .reason .option:nth-child(1), .reason .option:nth-child(2), .reason .option:nth-child(3) { grid-column: span 2; }
    .reason .option:nth-child(n+4) { grid-column: span 3; }
    .options.three { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:820px; }
    .options.list { grid-template-columns:1fr; max-width:760px; gap:14px; }
    .option { position:relative; min-height:126px; background:rgba(255,255,255,.54); border:1px solid #c8c4bd; border-radius:4px; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:22px 18px; text-align:center; transition:transform .28s ease, box-shadow .28s ease, background .28s ease, border-color .28s ease; overflow:hidden; }
    .option:before { content:""; position:absolute; inset:10px; border:1px solid transparent; transition:.28s ease; pointer-events:none; }
    .option:hover { transform:translateY(-7px); box-shadow:0 22px 52px rgba(25,24,23,.12); background:rgba(255,255,255,.88); border-color:var(--gold); }
    .option:hover:before { border-color:rgba(185,137,74,.36); }
    .option.selected { background:#fff; border-color:var(--gold); box-shadow:0 24px 54px rgba(185,137,74,.18); }
    .option.selected:after { content:""; position:absolute; right:14px; top:14px; width:10px;height:10px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px rgba(185,137,74,.18); animation: pop .22s ease both; }
    @keyframes pop { from { transform:scale(.4); opacity:0; } to { transform:scale(1); opacity:1; } }
    .option-icon { width:44px;height:44px; display:grid; place-items:center; color:#121212; transition:.25s ease; }
    .option:hover .option-icon { color:var(--gold); transform:translateY(-2px) scale(1.08); }
    .option-icon svg { width:42px;height:42px; stroke:currentColor; stroke-width:1.55; fill:none; stroke-linecap:round; stroke-linejoin:round; }
    .option-title { font-size:17px; font-weight:500; }
    .list .option { min-height:70px; flex-direction:row; justify-content:flex-start; text-align:left; padding:0 22px; }
    .list .option-icon { width:34px;height:34px; }
    .list .option-title { font-size:16px; }
    .actions { margin:34px auto 0; max-width:930px; text-align:center; }
    .tiny-link { display:inline-block; margin-top:16px; color:var(--text); font-size:12px; text-decoration:underline; text-underline-offset:3px; background:transparent; border:0; cursor:pointer; }
    .form-layout { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:center; }
    .form-card { background:rgba(255,255,255,.76); border:1px solid var(--line); border-radius:8px; padding:34px; box-shadow:var(--shadow); }
    .form-card h2 { text-align:left; }
    .form-card p { color:var(--muted); line-height:1.65; margin:14px 0 24px; }
    .field { width:100%; min-height:54px; border:1px solid #cbc5bd; background:#fff; border-radius:3px; padding:0 16px; margin-bottom:12px; outline:none; transition:.22s ease; }
    .field:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(185,137,74,.13); }
    .mood-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .mood-img { min-height:185px; border-radius:8px; background-size:cover; background-position:center; box-shadow:0 14px 34px rgba(25,24,23,.10); transition:.3s ease; }
    .mood-img:hover { transform:translateY(-5px) scale(1.01); }
    .result-layout { max-width:1180px; margin:0 auto; }
    .result-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
    .result-head p { max-width:560px; color:var(--muted); line-height:1.6; }
    .summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:22px 0 28px; }
    .summary-item { background:rgba(255,255,255,.65); border:1px solid var(--line); border-radius:4px; padding:16px; }
    .summary-item span { display:block; color:var(--muted); font-size:12px; margin-bottom:7px; }
    .summary-item strong { font-size:14px; line-height:1.4; }
    .product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
    .product { background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; box-shadow:0 14px 36px rgba(25,24,23,.08); transition:.28s ease; }
    .product:hover { transform:translateY(-8px); box-shadow:0 24px 60px rgba(25,24,23,.14); border-color:var(--gold); }
    .product-img { height:210px; background:#f8f8f8; display:flex; align-items:center; justify-content:center; overflow:hidden; }
    .product-img img { max-width:100%; max-height:100%; object-fit:contain; transition:.35s ease; }
    .product:hover .product-img img { transform:scale(1.06); }
    .product-body { padding:18px; }
    .product-body h3 { font-family:var(--sans); font-size:16px; letter-spacing:0; font-weight:600; margin-bottom:8px; }
    .product-body p { color:var(--muted); line-height:1.5; font-size:13px; margin:0 0 12px; }
    .product-body strong { color:var(--gold); }
    .capsule { margin-top:42px; padding-top:30px; border-top:1px solid var(--line); }
    .capsule h2 { font-size:44px; text-align:center; margin-bottom:20px; }
    .capsule-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
    .capsule-item { aspect-ratio:1.2/1; background:#fff; border:1px solid var(--line); border-radius:6px; display:flex; align-items:center; justify-content:center; overflow:hidden; transition:.28s ease; }
    .capsule-item:hover { transform:translateY(-5px); box-shadow:0 16px 34px rgba(25,24,23,.12); border-color:var(--gold); }
    .capsule-item img { width:100%; height:100%; object-fit:contain; padding:10px; transition:.3s ease; }
    .capsule-item:hover img { transform:scale(1.06); }
    .capsule-note { text-align:center; color:var(--muted); font-size:13px; margin-top:14px; }
    @media (max-width:980px) {
      .quiz-screen { padding:24px 18px 36px; }
      .header { grid-template-columns:1fr; text-align:center; margin-bottom:24px; }
      .back,.close { position:absolute; top:0; }
      .back { left:0; } .close { right:0; }
      .hero { grid-template-columns:1fr; }
      .hero-copy { padding:48px 28px; }
      .hero-image { min-height:420px; }
      .hero-badges,.summary,.product-grid,.capsule-grid,.form-layout { grid-template-columns:1fr; }
      .options.reason,.options.three { grid-template-columns:1fr; }
      .reason .option:nth-child(n) { grid-column:auto; }
      .progress-wrap { display:block; }
      .dots { margin-top:16px; }
      .mood-grid { grid-template-columns:1fr; }
      .result-head { display:block; }
      .product-img { height:230px; }
    }


    /* Updated final-result screen: no contact form, three products from scenario matrix */
    .result-layout.updated-result { max-width:1220px; }
    .result-head.updated { display:grid; grid-template-columns:.9fr 1.1fr; gap:38px; align-items:end; margin-bottom:26px; }
    .result-head.updated h2 { font-size:clamp(54px,7vw,98px); line-height:.86; letter-spacing:-.045em; }
    .result-copy-card { background:rgba(255,255,255,.72); border:1px solid var(--line); border-radius:10px; padding:26px; box-shadow:0 18px 50px rgba(25,24,23,.08); animation: floatIn .5s cubic-bezier(.22,.61,.36,1) both; }
    .result-copy-card p { max-width:none; font-size:17px; line-height:1.72; margin:0; color:var(--muted); }
    .result-copy-card .result-subtitle { margin-top:14px; color:var(--text); font-family:var(--serif); font-size:28px; line-height:1.15; }
    .summary.updated { margin:0 0 24px; }
    .summary.updated .summary-item { transition:transform .25s ease, border-color .25s ease, background .25s ease; }
    .summary.updated .summary-item:hover { transform:translateY(-3px); border-color:var(--gold); background:rgba(255,255,255,.85); }
    .product-grid.updated { gap:22px; align-items:stretch; }
    .product-grid.updated .product { position:relative; border-radius:12px; transform-origin:center; animation: cardRise .48s cubic-bezier(.22,.61,.36,1) both; }
    .product-grid.updated .product:nth-child(2) { animation-delay:.08s; }
    .product-grid.updated .product:nth-child(3) { animation-delay:.16s; }
    @keyframes cardRise { from { opacity:0; transform:translateY(18px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
    @keyframes floatIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
    .product-grid.updated .product.featured { border-color:var(--gold); box-shadow:0 26px 70px rgba(185,137,74,.18); }
    .product-badge { position:absolute; top:14px; left:14px; z-index:4; background:rgba(185,137,74,.94); color:#fff; padding:8px 11px; border-radius:999px; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
    .product-grid.updated .product-img { height:290px; background:#fff; position:relative; }
    .product-grid.updated .product-img::after { content:""; position:absolute; inset:auto 34px 22px; height:16px; border-radius:50%; background:rgba(25,24,23,.08); filter:blur(10px); opacity:.75; }
    .product-grid.updated .product-img img { position:relative; z-index:2; width:100%; height:100%; max-width:94%; max-height:94%; object-fit:contain; }
    .product-grid.updated .product:hover .product-img img { transform:scale(1.08) rotate(-1deg); }
    .product-body .sku-line { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
    .product-body .product-argument { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); color:var(--text); font-size:13px; line-height:1.5; }
    .buy-btn { display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; margin-top:16px; background:var(--gold); color:#fff; border-radius:4px; font-weight:600; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
    .buy-btn:hover { transform:translateY(-2px); box-shadow:0 14px 28px rgba(185,137,74,.27); background:#a9793c; }
    .consultation-row { margin:28px auto 0; display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
    .consultation-btn { min-width:260px; }
    .missing-photo { width:100%; height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; color:var(--muted); background:linear-gradient(135deg,#fff,#f0ede8); text-align:center; padding:22px; }
    .missing-photo strong { font-family:var(--serif); font-size:30px; color:var(--gold); font-weight:500; }
    .no-match { padding:26px; border:1px solid var(--line); background:rgba(255,255,255,.72); border-radius:10px; color:var(--muted); line-height:1.65; }
    @media (max-width:900px) {
      .result-head.updated { grid-template-columns:1fr; }
      .product-grid.updated .product-img { height:250px; }
    }

  

    /* Compact one-screen result page: updated 2026-07-18 */
    @media (min-width: 901px) {
      #screenResult.quiz-screen {
        padding: 14px 28px 18px;
        overflow: hidden;
      }

      #screenResult .header {
        max-width: 1240px;
        margin-bottom: 10px;
      }

      #screenResult .logo-mark {
        font-size: 32px;
      }

      #screenResult .logo-text {
        font-size: 17px;
      }

      #screenResult .logo-sub {
        font-size: 8px;
      }

      #screenResult .progress-wrap {
        max-width: 900px;
        margin-bottom: 8px;
      }

      #screenResult .step-counter {
        font-size: 13px;
        margin-bottom: 10px;
      }

      #screenResult .result-layout.updated-result {
        max-width: 1240px;
      }

      #screenResult .result-head.updated {
        grid-template-columns: .82fr 1.18fr;
        gap: 22px;
        align-items: end;
        margin-bottom: 14px;
      }

      #screenResult .result-head.updated h2 {
        font-size: clamp(30px, 3.45vw, 48px);
        line-height: .98;
        letter-spacing: -.035em;
      }

      #screenResult .eyebrow {
        margin-bottom: 8px;
        font-size: 10px;
      }

      #screenResult .result-copy-card {
        padding: 15px 18px;
        border-radius: 8px;
      }

      #screenResult .result-copy-card p {
        font-size: 13px;
        line-height: 1.45;
      }

      #screenResult .result-copy-card .result-subtitle {
        margin-top: 9px;
        font-size: 19px;
        line-height: 1.15;
      }

      #screenResult .summary.updated {
        display: none;
      }

      #screenResult .product-grid.updated {
        gap: 14px;
      }

      #screenResult .product-grid.updated .product {
        border-radius: 10px;
      }

      #screenResult .product-grid.updated .product-img {
        height: 178px;
      }

      #screenResult .product-grid.updated .product-img::after {
        inset: auto 32px 12px;
        height: 12px;
      }

      #screenResult .product-grid.updated .product-img img {
        max-width: 90%;
        max-height: 90%;
      }

      #screenResult .product-body {
        padding: 12px 14px 13px;
      }

      #screenResult .product-body .sku-line {
        font-size: 10px;
        margin-bottom: 6px;
      }

      #screenResult .product-body h3 {
        font-size: 15px;
        margin-bottom: 4px;
      }

      #screenResult .product-body p {
        font-size: 12px;
        line-height: 1.32;
        margin-bottom: 7px;
      }

      #screenResult .product-body strong {
        font-size: 13px;
      }

      #screenResult .product-body .product-argument {
        display: none;
      }

      #screenResult .product-badge {
        top: 10px;
        left: 10px;
        padding: 6px 9px;
        font-size: 9px;
      }

      #screenResult .buy-btn {
        min-height: 36px;
        margin-top: 9px;
        font-size: 13px;
      }

      #screenResult .consultation-row {
        margin-top: 14px;
      }

      #screenResult .consultation-btn {
        min-height: 42px;
        min-width: 235px;
      }
    }

    @media (min-width: 901px) and (max-height: 760px) {
      #screenResult.quiz-screen {
        padding-top: 10px;
        padding-bottom: 12px;
      }

      #screenResult .header {
        margin-bottom: 6px;
      }

      #screenResult .progress-wrap {
        margin-bottom: 6px;
      }

      #screenResult .step-counter {
        margin-bottom: 8px;
      }

      #screenResult .result-head.updated {
        margin-bottom: 10px;
      }

      #screenResult .result-copy-card {
        padding: 12px 15px;
      }

      #screenResult .result-copy-card .result-subtitle {
        font-size: 17px;
      }

      #screenResult .product-grid.updated .product-img {
        height: 158px;
      }

      #screenResult .product-body {
        padding: 10px 12px 11px;
      }

      #screenResult .buy-btn {
        min-height: 34px;
        margin-top: 8px;
      }

      #screenResult .consultation-row {
        margin-top: 10px;
      }

      #screenResult .consultation-btn {
        min-height: 38px;
      }
    }

    /* Golden Gift final design */
    .quiz-screen { background:#fff; }
    .brand-logo { display:block; width:min(220px,52vw); height:auto; margin:0 auto; object-fit:contain; }
    .header .brand-logo { width:150px; max-height:74px; }
    .hero-page { min-height:calc(100vh - 80px); max-width:1380px; margin:0 auto; display:flex; flex-direction:column; }
    .hero-logo { padding:8px 0 34px; }
    .hero-main { flex:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.76fr); align-items:center; gap:8vw; padding:40px 5vw 70px; border-top:1px solid #ecebea; }
    .hero-main h1 { max-width:760px; font-size:clamp(52px,7vw,102px); line-height:.88; font-weight:500; }
    .hero-main p { max-width:650px; margin:30px 0 36px; color:var(--muted); font-size:clamp(16px,1.45vw,20px); line-height:1.7; }
    .hero-visual { min-height:520px; position:relative; display:flex; align-items:center; justify-content:center; background:#f6f6f4; overflow:hidden; }
    .hero-visual img { width:82%; height:82%; object-fit:contain; mix-blend-mode:multiply; }
    .hero-visual::after { content:'Персональный выбор'; position:absolute; right:22px; bottom:20px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#77736d; }
    .trust-footer { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #deddd9; border-bottom:1px solid #deddd9; margin-top:auto; }
    .trust-item { padding:24px 28px; text-align:center; font-size:13px; line-height:1.45; letter-spacing:.02em; }
    .trust-item + .trust-item { border-left:1px solid #deddd9; }
    .options .option { background:#fff; border-color:#deddd9; box-shadow:none; }
    .options .option:hover { transform:translateY(-2px); border-color:#9c8b73; }
    .options .option.selected { border-color:#191817; background:#fafafa; box-shadow:0 0 0 1px #191817 inset; }
    .result-layout.updated-result { max-width:1260px; }
    .result-head.updated { display:block; text-align:center; max-width:920px; margin:0 auto 44px; }
    .result-copy-card { background:transparent; border:0; box-shadow:none; padding:0; }
    .result-copy-card p { font-size:18px; line-height:1.65; color:var(--muted); max-width:820px; margin:18px auto 0; }
    .result-subtitle { display:none; }
    .summary.updated { display:none; }
    .product-grid.updated { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
    .product { border:1px solid #e1dfdc; border-radius:0; background:#fff; box-shadow:none; overflow:visible; }
    .product.featured { border:2px solid #191817; transform:none; }
    .product-badge { background:#191817; color:#fff; letter-spacing:.14em; font-size:10px; padding:10px 16px; }
    .product-img { height:390px; background:#f7f7f5; }
    .product-img img { width:100%; height:100%; object-fit:contain; padding:18px; }
    .product-body { padding:24px; display:flex; flex-direction:column; min-height:245px; }
    .product-body h3 { font-size:30px; margin:0 0 10px; }
    .product-body p,.sku-line { display:none; }
    .product-body strong { font-size:18px; font-weight:500; margin:0 0 18px; }
    .product-argument { order:3; border-top:1px solid #deddd9; border-bottom:0; padding:16px 0 0; margin:0 0 20px; font-size:14px; line-height:1.55; }
    .buy-btn { margin-top:auto; min-height:52px; background:#191817; color:#fff; border:1px solid #191817; border-radius:0; justify-content:center; }
    .consultation-row { padding:44px 0 8px; }
    .consultation-btn { background:#fff; color:#191817; border:1px solid #191817; box-shadow:none; }
    .consultation-btn svg { stroke:#191817; }
    @media (max-width:900px) {
      .hero-main { grid-template-columns:1fr; padding:34px 0 48px; gap:36px; }
      .hero-visual { min-height:380px; }
      .trust-footer { grid-template-columns:1fr; }
      .trust-item + .trust-item { border-left:0; border-top:1px solid #deddd9; }
      .product-grid.updated { grid-template-columns:1fr; }
      .product-img { height:360px; }
    }
    @media (max-width:600px) {
      .quiz-screen { padding:20px 18px 32px; }
      .header { margin-bottom:24px; }
      .header .brand-logo { width:118px; }
      .back,.close { font-size:0; gap:0; }
      .hero-main h1 { font-size:52px; }
      .hero-visual { min-height:300px; }
      .trust-item { padding:18px 12px; }
      .product-img { height:300px; }
    }

  
    /* Refinements: larger logo, trust icons and stronger product presentation */
    .brand-logo {
      width:min(360px,72vw);
      image-rendering:auto;
    }
    .header .brand-logo {
      width:230px;
      max-height:104px;
    }
    .hero-logo {
      padding:4px 0 24px;
    }
    .trust-item {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      min-height:92px;
      padding:20px 26px;
      text-align:left;
    }
    .trust-icon {
      width:34px;
      height:34px;
      flex:0 0 34px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      color:var(--gold);
    }
    .trust-icon svg {
      width:100%;
      height:100%;
      fill:none;
      stroke:currentColor;
      stroke-width:1.35;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    #screenResult .header .brand-logo {
      width:250px;
      max-height:112px;
    }
    #screenResult .result-layout.updated-result {
      max-width:1480px;
    }
    #screenResult .product-grid.updated {
      gap:26px;
    }
    #screenResult .product-img {
      height:560px;
    }
    #screenResult .product-img img {
      padding:8px;
    }
    #screenResult .product-body {
      min-height:270px;
      padding:26px;
    }
    #screenResult .product-argument {
      color:#5c4a32;
      background:#fbf6ee;
      border:1px solid #eadbc5;
      padding:16px 18px;
      margin:2px 0 20px;
      font-size:15px;
      line-height:1.55;
    }
    #screenResult .buy-btn {
      background:linear-gradient(135deg,var(--gold),#c99a5e);
      border-color:var(--gold);
      color:#fff;
      box-shadow:0 14px 28px rgba(185,137,74,.20);
    }
    #screenResult .buy-btn:hover {
      background:#a9793c;
      border-color:#a9793c;
      box-shadow:0 18px 34px rgba(185,137,74,.30);
    }

    @media (max-width:900px) {
      .header .brand-logo,
      #screenResult .header .brand-logo {
        width:190px;
      }
      #screenResult .product-img {
        height:500px;
      }
    }
    @media (max-width:600px) {
      .brand-logo {
        width:min(290px,82vw);
      }
      .header .brand-logo,
      #screenResult .header .brand-logo {
        width:160px;
      }
      .trust-item {
        justify-content:flex-start;
        min-height:auto;
        padding:18px 16px;
      }
      #screenResult .product-img {
        height:400px;
      }
    }

  
    /* Result page — editorial product gallery with large imagery */
    #screenResult.quiz-screen {
      overflow-y:auto !important;
      overflow-x:hidden;
      padding-bottom:46px !important;
      background:#fff;
    }

    #screenResult .result-layout.updated-result {
      max-width:1480px !important;
    }

    #screenResult .result-head.updated {
      display:block !important;
      max-width:1180px;
      margin:18px auto 34px !important;
      text-align:center;
    }

    #screenResult .result-head.updated h2 {
      max-width:1050px;
      margin:0 auto;
    }

    #screenResult .result-copy-card {
      max-width:900px;
      margin:18px auto 0;
      padding:0 !important;
      border:0 !important;
      background:transparent !important;
      box-shadow:none !important;
    }

    #screenResult .result-copy-card p {
      margin:0;
    }

    #screenResult .product-grid.updated {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:20px !important;
      align-items:start;
      margin-top:26px;
    }

    #screenResult .product-grid.updated .product {
      display:flex;
      flex-direction:column;
      min-width:0;
      border:0 !important;
      border-radius:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      overflow:visible;
    }

    #screenResult .product-grid.updated .product.featured {
      border:0 !important;
      box-shadow:none !important;
    }

    #screenResult .product-grid.updated .product-img {
      height:auto !important;
      background:#f7f6f4 !important;
      border:0;
      overflow:hidden;
      position:relative;
    }

    #screenResult .product-grid.updated .product-img::after {
      display:none !important;
    }

    #screenResult .product-grid.updated .product-img img {
      width:100% !important;
      height:100% !important;
      max-width:none !important;
      max-height:none !important;
      object-fit:contain;
      padding:26px !important;
      transform:none !important;
    }

    #screenResult .product-grid.updated .product:hover .product-img img {
      transform:scale(1.025) !important;
    }

    #screenResult .product-badge {
      top:16px !important;
      left:16px !important;
      z-index:4;
      padding:8px 12px !important;
      border-radius:0 !important;
      background:#151515 !important;
      color:#fff;
      letter-spacing:.08em;
    }

    #screenResult .product-body {
      display:flex;
      flex-direction:column;
      min-height:auto !important;
      padding:18px 0 0 !important;
      background:#fff;
    }

    #screenResult .product-body h3 {
      order:1;
      margin:0 0 6px !important;
      font-family:var(--sans);
      font-size:15px !important;
      font-weight:600;
      letter-spacing:.01em;
      text-transform:none;
    }

    #screenResult .product-body p:not(.product-argument) {
      order:2;
      margin:0 0 14px !important;
      color:var(--gold);
      font-size:14px !important;
      line-height:1.3;
    }

    #screenResult .product-body strong {
      font-size:14px !important;
      font-weight:500;
    }

    #screenResult .product-argument {
      display:block !important;
      order:3;
      margin:3px 0 16px !important;
      padding:14px 16px !important;
      border:1px solid #e2d4c0 !important;
      background:#fbf7f1 !important;
      color:#4f4335 !important;
      font-size:13px !important;
      line-height:1.55 !important;
    }

    #screenResult .buy-btn {
      order:4;
      width:100%;
      min-height:48px !important;
      margin-top:auto !important;
      border-radius:0 !important;
      background:linear-gradient(135deg,var(--gold),#c99a5e) !important;
      border-color:var(--gold) !important;
      color:#fff !important;
      box-shadow:none !important;
    }

    #screenResult .buy-btn:hover {
      transform:none !important;
      background:#a9793c !important;
    }

    #screenResult .consultation-row {
      margin-top:36px !important;
    }

    @media (max-width:1100px) {
      #screenResult .product-grid.updated {
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      #screenResult .product-grid.updated .product-img {
        height:auto !important;
      }
    }

    @media (max-width:700px) {
      #screenResult.quiz-screen {
        padding-left:16px !important;
        padding-right:16px !important;
      }
      #screenResult .product-grid.updated {
        grid-template-columns:1fr;
        gap:34px !important;
      }
      #screenResult .product-grid.updated .product-img {
        height:auto !important;
      }
      #screenResult .result-head.updated {
        margin-bottom:24px !important;
      }
    }

  
/* =========================================================
   IL MAKIAGE-inspired full-viewport design system
   ========================================================= */
:root{
  --im-gold:#bd8945;
  --im-gold-dark:#9d6e31;
  --im-border:#dedede;
  --im-soft:#f4eee7;
}

/* Every quiz state except results fits in one viewport. */
.quiz-screen:not(#screenResult){
  width:100%;
  height:100vh;
  height:100dvh;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

/* ---------- First screen ---------- */
.im-hero{
  height:100%;
  display:grid;
  grid-template-rows:clamp(76px,10vh,104px) minmax(0,1fr) clamp(58px,8vh,82px);
  background:#fff;
}
.im-brand-header{
  display:flex;
  align-items:center;
  justify-content:center;
  border-bottom:1px solid #e7e7e7;
  padding:10px 24px;
  background:#fff;
  z-index:3;
}
.im-brand-header .brand-logo{
  width:clamp(220px,20vw,330px) !important;
  max-height:78px !important;
  object-fit:contain;
}
.im-hero-main{
  min-height:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr auto;
  grid-template-areas:
    "photo copy"
    "photo button";
  background:#fff;
}
.im-hero-photo{
  grid-area:photo;
  min-height:0;
  overflow:hidden;
  background:#f2ece6;
}
.im-hero-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.im-hero-copy{
  grid-area:copy;
  align-self:end;
  width:min(620px,78%);
  margin:0 auto;
  padding:24px 0 24px;
}
.im-hero-copy h1{
  margin:0;
  color:#080808;
  font-family:var(--serif);
  font-size:clamp(46px,4.1vw,76px);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.045em;
}
.im-hero-copy p{
  max-width:600px;
  margin:24px 0 0;
  color:#171717;
  font-family:var(--sans);
  font-size:clamp(16px,1.15vw,20px);
  line-height:1.55;
}
.im-start-btn{
  grid-area:button;
  width:min(620px,78%);
  min-height:64px;
  margin:0 auto clamp(34px,7vh,76px);
  border:0;
  border-radius:0;
  background:var(--im-gold);
  color:#fff;
  font-family:var(--sans);
  font-size:16px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s ease;
}
.im-start-btn:hover{
  background:var(--im-gold-dark);
}
.im-trust-footer{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #e7e7e7;
  background:#fff;
}
.im-trust-item{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 18px;
  border-right:1px solid #e7e7e7;
  color:#222;
  font-size:12px;
  line-height:1.25;
  text-align:left;
}
.im-trust-item:last-child{border-right:0}
.im-trust-icon{
  width:25px;
  height:25px;
  flex:0 0 25px;
  color:var(--im-gold);
}
.im-trust-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* ---------- Question screens ---------- */
.quiz-screen:not(#screenHero):not(#screenResult){
  display:none;
  grid-template-rows:clamp(72px,9vh,96px) clamp(30px,5vh,48px) auto minmax(0,1fr) clamp(76px,11vh,104px);
  position:relative;
}
.quiz-screen:not(#screenHero):not(#screenResult).active{
  display:grid !important;
  animation:none !important;
}
.quiz-screen:not(#screenHero):not(#screenResult) .header{
  width:100%;
  max-width:none;
  height:auto;
  margin:0;
  padding:8px clamp(22px,4vw,64px);
  border-bottom:1px solid #e4e4e4;
  grid-template-columns:1fr auto 1fr;
  background:#fff;
}
.quiz-screen:not(#screenHero):not(#screenResult) .header .brand-logo{
  width:clamp(190px,16vw,270px) !important;
  max-height:66px !important;
  object-fit:contain;
}
.quiz-screen:not(#screenHero):not(#screenResult) .back,
.quiz-screen:not(#screenHero):not(#screenResult) .close{
  font-size:13px;
}
.quiz-screen:not(#screenHero):not(#screenResult) .progress-wrap{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 18px;
  gap:0;
  align-self:center;
  position:relative;
}
.quiz-screen:not(#screenHero):not(#screenResult) .progress-line{
  height:4px;
  background:#dedede;
  overflow:visible;
}
.quiz-screen:not(#screenHero):not(#screenResult) .progress-fill{
  background:var(--im-gold);
}
.quiz-screen:not(#screenHero):not(#screenResult) .dots{
  position:absolute;
  left:18px;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  margin:0;
  justify-content:space-between;
  pointer-events:none;
}
.quiz-screen:not(#screenHero):not(#screenResult) .dot{
  width:18px;
  height:18px;
  border:2px solid #c9c9c9;
  background:#c9c9c9;
}
.quiz-screen:not(#screenHero):not(#screenResult) .dot.active{
  background:#fff;
  border-color:var(--im-gold);
  transform:none;
}
.quiz-screen:not(#screenHero):not(#screenResult) .step-counter{
  position:absolute;
  top:calc(clamp(72px,9vh,96px) + 11px);
  left:50%;
  transform:translateX(-50%);
  margin:0;
  color:#888;
  font-size:12px;
  z-index:3;
}
.quiz-screen:not(#screenHero):not(#screenResult) .step-head{
  width:min(900px,90vw);
  max-width:none;
  margin:0 auto;
  padding:clamp(10px,2vh,22px) 0 clamp(8px,1.5vh,16px);
  align-self:center;
}
.quiz-screen:not(#screenHero):not(#screenResult) .step-head h2{
  color:#080808;
  font-family:var(--sans);
  font-size:clamp(24px,2.1vw,34px);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.025em;
}
.quiz-screen:not(#screenHero):not(#screenResult) .step-head p{
  margin:8px 0 0;
  color:#666;
  font-size:14px;
  line-height:1.35;
}
.quiz-screen:not(#screenHero):not(#screenResult) .options,
.quiz-screen:not(#screenHero):not(#screenResult) .options.reason,
.quiz-screen:not(#screenHero):not(#screenResult) .options.three,
.quiz-screen:not(#screenHero):not(#screenResult) .options.list{
  width:min(740px,76vw);
  max-width:none;
  min-height:0;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr !important;
  grid-auto-rows:minmax(44px,1fr);
  gap:clamp(7px,1vh,12px);
  align-self:stretch;
  overflow:hidden;
}
.quiz-screen:not(#screenHero):not(#screenResult) .reason .option:nth-child(n){
  grid-column:auto;
}
.quiz-screen:not(#screenHero):not(#screenResult) .option,
.quiz-screen:not(#screenHero):not(#screenResult) .list .option{
  width:100%;
  min-height:0;
  height:auto;
  padding:7px 22px;
  border:3px solid var(--im-border);
  border-radius:0;
  background:#fff;
  box-shadow:none;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  text-align:left;
  transform:none;
}
.quiz-screen:not(#screenHero):not(#screenResult) .option::before{display:none}
.quiz-screen:not(#screenHero):not(#screenResult) .option:hover{
  transform:none;
  border-color:#bcbcbc;
  box-shadow:none;
  background:#fff;
}
.quiz-screen:not(#screenHero):not(#screenResult) .option.selected{
  border-color:var(--im-gold);
  background:#fbf7f1;
  box-shadow:none;
}
.quiz-screen:not(#screenHero):not(#screenResult) .option.selected::after{
  width:9px;
  height:9px;
  top:50%;
  right:18px;
  transform:translateY(-50%);
  background:var(--im-gold);
  box-shadow:0 0 0 4px rgba(189,137,69,.16);
}
.quiz-screen:not(#screenHero):not(#screenResult) .option-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
}
.quiz-screen:not(#screenHero):not(#screenResult) .option-icon svg{
  width:27px;
  height:27px;
  stroke-width:1.7;
}
.quiz-screen:not(#screenHero):not(#screenResult) .option-title{
  font-size:clamp(14px,1.2vw,17px);
  font-weight:650;
  color:#111;
}
.quiz-screen:not(#screenHero):not(#screenResult) .actions{
  min-height:0;
  margin:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(10px,2vh,20px) 20px;
}
.quiz-screen:not(#screenHero):not(#screenResult) .actions .btn{
  width:240px;
  min-width:0;
  min-height:54px;
  border-radius:0;
  background:var(--im-gold);
  box-shadow:0 16px 34px rgba(189,137,69,.18);
  font-weight:650;
}
.quiz-screen:not(#screenHero):not(#screenResult) .actions .btn:hover{
  transform:none;
  background:var(--im-gold-dark);
}
.quiz-screen:not(#screenHero):not(#screenResult) .actions .btn.disabled{
  opacity:.42;
}

/* ---------- Mobile, also one viewport ---------- */
@media (max-width:700px){
  .im-hero{
    grid-template-rows:clamp(72px,11vh,92px) minmax(0,1fr) auto;
  }
  .im-brand-header{
    padding:8px 14px;
  }
  .im-brand-header .brand-logo{
    width:min(270px,72vw) !important;
    max-height:64px !important;
  }
  .im-hero-main{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr) auto;
    grid-template-areas:
      "copy"
      "photo"
      "button";
    background:#f2ece6;
  }
  .im-hero-copy{
    align-self:start;
    width:100%;
    margin:0;
    padding:clamp(18px,3.4vh,30px) 22px 10px;
    text-align:center;
  }
  .im-hero-copy h1{
    font-size:clamp(35px,10.5vw,50px);
    line-height:.94;
  }
  .im-hero-copy p{
    margin:14px auto 0;
    max-width:540px;
    font-size:clamp(14px,4vw,18px);
    line-height:1.42;
  }
  .im-hero-photo{
    margin:0 18px;
    background:#f2ece6;
  }
  .im-hero-photo img{
    object-fit:contain;
    object-position:center;
  }
  .im-start-btn{
    width:calc(100% - 36px);
    min-height:56px;
    margin:10px 18px clamp(12px,2.4vh,22px);
    font-size:15px;
  }
  .im-trust-footer{
    grid-template-columns:repeat(3,1fr);
  }
  .im-trust-item{
    min-height:46px;
    padding:6px 5px;
    justify-content:center;
    text-align:center;
    font-size:8.5px;
    line-height:1.15;
  }
  .im-trust-icon{
    display:none;
  }

  .quiz-screen:not(#screenHero):not(#screenResult){
    grid-template-rows:clamp(72px,11vh,90px) clamp(28px,5vh,40px) auto minmax(0,1fr) clamp(74px,12vh,96px);
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .header{
    grid-template-columns:1fr;
    place-items:center;
    padding:6px 12px;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .header .brand-logo{
    width:min(250px,68vw) !important;
    max-height:62px !important;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .header .back{
    position:absolute;
    left:14px;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    width:auto;
    height:auto;
    padding:6px;
    border:0;
    border-radius:0;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0;
    z-index:6;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .header .back svg{
    width:24px;
    height:24px;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .header .close{
    display:none;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .progress-wrap{
    padding:0 14px;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .dots{
    left:15px;
    right:15px;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .dot{
    width:17px;
    height:17px;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .step-counter{
    display:none;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .step-head{
    width:92vw;
    padding:clamp(8px,1.4vh,14px) 0 clamp(6px,1vh,10px);
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .step-head h2{
    font-size:clamp(21px,6vw,29px);
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .step-head p{
    display:none;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .options,
  .quiz-screen:not(#screenHero):not(#screenResult) .options.reason,
  .quiz-screen:not(#screenHero):not(#screenResult) .options.three,
  .quiz-screen:not(#screenHero):not(#screenResult) .options.list{
    width:calc(100% - 34px);
    gap:clamp(5px,.85vh,9px);
    grid-auto-rows:minmax(38px,1fr);
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .option,
  .quiz-screen:not(#screenHero):not(#screenResult) .list .option{
    border-width:2px;
    padding:5px 14px;
    gap:10px;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .option-icon{
    display:none;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .option-title{
    font-size:clamp(13px,3.7vw,16px);
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .actions{
    justify-content:center;
    padding:10px 18px 14px;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .actions .btn{
    width:min(58vw,260px);
    min-height:52px;
    font-size:15px;
  }
}

/* Short mobile screens: compress while preserving usability. */
@media (max-width:700px) and (max-height:720px){
  .im-hero{
    grid-template-rows:68px minmax(0,1fr) 38px;
  }
  .im-brand-header .brand-logo{max-height:52px !important}
  .im-hero-copy{padding:12px 18px 5px}
  .im-hero-copy h1{font-size:32px}
  .im-hero-copy p{font-size:13px;margin-top:8px}
  .im-start-btn{min-height:48px;margin-top:5px;margin-bottom:8px}
  .im-trust-item{font-size:7.5px;min-height:38px}
  .quiz-screen:not(#screenHero):not(#screenResult){
    grid-template-rows:66px 28px auto minmax(0,1fr) 70px;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .header .brand-logo{max-height:50px !important}
  .quiz-screen:not(#screenHero):not(#screenResult) .step-head{padding:5px 0}
  .quiz-screen:not(#screenHero):not(#screenResult) .step-head h2{font-size:20px}
  .quiz-screen:not(#screenHero):not(#screenResult) .options,
  .quiz-screen:not(#screenHero):not(#screenResult) .options.reason,
  .quiz-screen:not(#screenHero):not(#screenResult) .options.three,
  .quiz-screen:not(#screenHero):not(#screenResult) .options.list{
    gap:4px;
    grid-auto-rows:minmax(34px,1fr);
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .actions .btn{min-height:46px}
}

/* Кнопка «Назад» в шапке: единая простая стрелка-шеврон (без кружка),
   одного размера и вертикально отцентрованная по логотипу на всех
   мобильных/планшетных ширинах — одинаково на экранах вопросов и выдачи. */
@media (max-width:980px){
  /* Двойной :not для экранов-вопросов повышает специфичность, чтобы
     перебить базовые правила .back с текстом; для выдачи — отдельный
     селектор. Стиль одинаковый: плоская стрелка без кружка, по центру. */
  .quiz-screen:not(#screenHero):not(#screenResult) .header .back,
  #screenResult .header .back{
    position:absolute;
    left:14px;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    width:auto;
    min-width:0;
    height:auto;
    padding:6px;
    gap:0;
    font-size:0;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--text);
    z-index:6;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .header .back svg,
  #screenResult .header .back svg{
    width:24px;
    height:24px;
    margin:0;
  }
  /* Крестик «Закрыть» скрываем и на вопросах, и на выдаче для единообразия. */
  .quiz-screen:not(#screenHero) .header .close{
    display:none !important;
  }
  /* Шапка выдачи — как на вопросах: рамка снизу, крупный логотип по центру,
     крестик скрыт (возврат — стрелкой «Назад»). */
  #screenResult .header{
    grid-template-columns:1fr !important;
    place-items:center !important;
    padding:6px 12px !important;
    /* та же высота, что и у шапки экранов-вопросов (её задаёт grid-строка
       секции clamp(72px,11vh,90px)) — чтобы блок шапки был одного размера */
    min-height:clamp(72px,11vh,90px) !important;
    box-sizing:border-box !important;
    border-bottom:1px solid #e4e4e4 !important;
    background:#fff !important;
    position:relative !important;
  }
  #screenResult .header .brand-logo{
    width:min(250px,68vw) !important;
    max-width:none !important;
    max-height:62px !important;
    height:auto !important;
  }
  #screenResult .header .close{
    display:none !important;
  }
}

/* Editorial refinements */
html, body, .app, .quiz-screen, .quiz-screen.active,
#screenHero, #screenResult,
.quiz-screen:not(#screenHero):not(#screenResult) {
  background:#fff !important;
}

.im-hero {
  grid-template-rows:clamp(76px,10vh,104px) minmax(0,1fr) clamp(68px,9vh,88px) !important;
}
.im-trust-footer {
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  min-height:68px;
  background:#fff !important;
}
.im-trust-item { display:flex !important; }

.im-hero-copy {
  align-self:center !important;
  transform:translateY(clamp(-54px,-5vh,-24px));
  padding-top:0 !important;
  padding-bottom:8px !important;
}
.im-start-btn { margin-top:0 !important; }

.quiz-screen:not(#screenHero):not(#screenResult) {
  grid-template-rows:
    clamp(72px,9vh,96px)
    clamp(48px,6.5vh,62px)
    auto
    minmax(0,1fr)
    clamp(76px,11vh,104px) !important;
}
.quiz-screen:not(#screenHero):not(#screenResult) .progress-wrap {
  align-self:center !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.quiz-screen:not(#screenHero):not(#screenResult) .step-head {
  padding-top:clamp(16px,2.5vh,28px) !important;
}
.quiz-screen:not(#screenHero):not(#screenResult) .step-counter {
  top:calc(clamp(72px,9vh,96px) + 18px) !important;
}

@media (max-width:700px) {
  .im-hero {
    grid-template-rows:
      clamp(72px,11vh,92px)
      minmax(0,1fr)
      clamp(64px,9vh,78px) !important;
  }

  .im-hero-main { background:#fff !important; }

  .im-hero-copy {
    transform:none !important;
    align-self:start !important;
    padding:clamp(12px,2.2vh,20px) 20px 4px !important;
  }

  .im-hero-photo { background:#fff !important; }

  .im-trust-footer {
    min-height:64px !important;
    background:#fff !important;
  }

  .im-trust-item {
    flex-direction:column;
    gap:3px !important;
    padding:5px 4px !important;
    font-size:8px !important;
    line-height:1.12 !important;
  }

  .im-trust-icon {
    display:flex !important;
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
  }

  .quiz-screen:not(#screenHero):not(#screenResult) .option-icon {
    display:flex !important;
    width:24px !important;
    height:24px !important;
    flex:0 0 24px !important;
    align-items:center;
    justify-content:center;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .option-icon svg {
    width:22px !important;
    height:22px !important;
    stroke-width:1.6 !important;
  }

  .quiz-screen:not(#screenHero):not(#screenResult),
  .quiz-screen:not(#screenHero):not(#screenResult) .header,
  .quiz-screen:not(#screenHero):not(#screenResult) .option,
  .quiz-screen:not(#screenHero):not(#screenResult) .list .option {
    background:#fff !important;
  }

  .quiz-screen:not(#screenHero):not(#screenResult) {
    grid-template-rows:
      clamp(72px,11vh,90px)
      clamp(46px,6.8vh,58px)
      auto
      minmax(0,1fr)
      clamp(74px,12vh,96px) !important;
  }

  .quiz-screen:not(#screenHero):not(#screenResult) .progress-wrap {
    padding:10px 14px 8px !important;
  }

  .quiz-screen:not(#screenHero):not(#screenResult) .step-head {
    padding:14px 0 8px !important;
  }

  .quiz-screen:not(#screenHero):not(#screenResult) .step-head h2 {
    margin-top:0 !important;
  }

  .quiz-screen:not(#screenHero):not(#screenResult) .option,
  .quiz-screen:not(#screenHero):not(#screenResult) .list .option {
    padding-left:12px !important;
    gap:10px !important;
  }
}

@media (max-width:700px) and (max-height:720px) {
  .im-hero {
    grid-template-rows:64px minmax(0,1fr) 58px !important;
  }
  .im-hero-copy {
    padding:8px 16px 2px !important;
  }
  .im-trust-item {
    font-size:7.2px !important;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) {
    grid-template-rows:64px 42px auto minmax(0,1fr) 68px !important;
  }
  .quiz-screen:not(#screenHero):not(#screenResult) .step-head {
    padding:10px 0 5px !important;
  }
  /* На коротких экранах шапка вопросов сжимается до 64px — приводим к
     тому же размеру шапку выдачи, чтобы шапка была одинаковой везде
     (экран отзыва — в отдельном блоке ниже, чтобы перебить своё же
     правило grid для #screenReview). */
  #screenResult .header{ min-height:64px !important; }
}



/* ===== Golden Gift: two pre-result screens ===== */
.pre-result-screen {
  background:#fff;
  min-height:100vh;
}
.pre-result-shell {
  width:min(980px,100%);
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.pre-result-screen .header {
  margin-bottom:20px;
}
.pre-progress {
  width:min(820px,100%);
  margin:0 auto 50px;
}
.pre-result-kicker {
  margin:0 0 16px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
}
.pre-result-title {
  max-width:900px;
  font-family:var(--serif);
  font-size:clamp(38px,4.3vw,62px);
  line-height:1.02;
  font-weight:500;
  letter-spacing:-.025em;
  margin:0 auto;
}
.pre-result-lead {
  max-width:720px;
  margin:18px auto 0;
  color:var(--muted);
  font-size:17px;
  line-height:1.65;
}

/* Review screen */
.review-card {
  width:min(720px,100%);
  margin:42px auto 30px;
  padding:44px 54px 38px;
  background:#f8f7f5;
  border:1px solid #e8e3dc;
  border-radius:10px;
  box-shadow:0 20px 54px rgba(25,24,23,.06);
  text-align:center;
}
.review-quote-mark {
  font-family:var(--serif);
  font-size:68px;
  line-height:.65;
  color:var(--gold);
  margin-bottom:18px;
}
.review-text {
  font-family:var(--serif);
  font-size:clamp(25px,2.8vw,38px);
  line-height:1.2;
  margin:0 auto 28px;
  max-width:620px;
}
.review-author {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:var(--muted);
  font-size:13px;
}
.review-avatar {
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#242220;
  color:#fff;
  font-size:14px;
  font-weight:600;
}
.review-author strong {
  display:block;
  color:var(--text);
  font-size:14px;
  margin-bottom:3px;
}
.review-note {
  margin:14px 0 0;
  color:#918b83;
  font-size:12px;
}
.pre-result-action {
  margin-top:4px;
}
.pre-result-action .btn {
  min-width:290px;
}

/* Loading/filtering screen */
.loading-title-wrap {
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.jewelry-filter-stage {
  position:relative;
  width:min(760px,92vw);
  height:380px;
  margin:24px auto 20px;
}
.jewelry-orbit {
  position:absolute;
  inset:0;
}
.loading-jewel {
  --x:50%;
  --y:50%;
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:92px;
  height:92px;
  transform:translate(-50%,-50%) scale(.82);
  opacity:.42;
  border-radius:50%;
  background:#fff;
  border:1px solid #ece7df;
  box-shadow:0 12px 30px rgba(25,24,23,.055);
  display:grid;
  place-items:center;
  overflow:hidden;
  transition:opacity .65s ease, transform .65s cubic-bezier(.22,.61,.36,1), filter .65s ease, left .75s ease, top .75s ease;
}
.loading-jewel img {
  width:82%;
  height:82%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.loading-jewel.keep {
  width:122px;
  height:122px;
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
  border-color:#d9c5a9;
  box-shadow:0 20px 45px rgba(185,137,74,.13);
  z-index:4;
}
.loading-jewel.removed {
  opacity:0;
  transform:translate(-50%,-50%) scale(.3);
  filter:blur(5px);
  pointer-events:none;
}
.loading-jewel.keep.final-1 { left:34% !important; top:55% !important; }
.loading-jewel.keep.final-2 { left:50% !important; top:42% !important; }
.loading-jewel.keep.final-3 { left:66% !important; top:55% !important; }
.filter-ring {
  position:absolute;
  left:50%;
  top:51%;
  width:470px;
  height:220px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(185,137,74,.22);
  border-radius:50%;
  opacity:0;
  transition:opacity .6s ease;
}
.jewelry-filter-stage.is-final .filter-ring { opacity:1; }
.loading-status {
  width:min(720px,100%);
  margin:0 auto;
  text-align:left;
}
.loading-status-row {
  display:grid;
  grid-template-columns:52px 1fr auto;
  gap:16px;
  align-items:center;
  margin-bottom:16px;
}
.loading-icon {
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid var(--gold);
  display:grid;
  place-items:center;
  color:var(--gold);
  font-family:var(--serif);
  font-size:22px;
}
.loading-status-copy strong {
  display:block;
  font-size:16px;
  margin-bottom:5px;
}
.loading-status-copy span {
  display:block;
  color:var(--muted);
  font-size:14px;
}
.loading-count {
  color:var(--muted);
  font-size:13px;
}
.loading-bar {
  height:3px;
  background:#e5e1dc;
  border-radius:999px;
  overflow:hidden;
}
.loading-bar-fill {
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  border-radius:inherit;
  transition:width .75s ease;
}
.loading-trust {
  margin-top:26px;
  color:var(--muted);
  font-size:14px;
}
.loading-trust strong {
  color:var(--text);
  font-weight:600;
}

@media (max-width:700px) {
  .pre-result-screen.quiz-screen { padding:18px 18px 30px; }
  .pre-result-screen .header { margin-bottom:12px; }
  .pre-progress { margin-bottom:30px; }
  .pre-result-title { font-size:38px; }
  .pre-result-lead { font-size:15px; margin-top:12px; }
  .review-card { margin:28px auto 22px; padding:32px 22px 28px; }
  .review-text { font-size:27px; }
  .pre-result-action .btn { width:100%; min-width:0; }
  /* Экран отзыва: у секции своя сетка (шапка / прогресс / оболочка-1fr)
     вместо 5-строчной сетки вопросов, чтобы оболочка растягивалась на всю
     высоту, а кнопка «Продолжить» внутри неё прижималась к низу экрана.
     Тройной :not поднимает специфичность до 3 ID, чтобы перебить базовое
     правило сетки вопросов (2 ID + !important). */
  #screenReview:not(#screenHero):not(#screenResult) { grid-template-rows:clamp(72px,11vh,90px) auto minmax(0,1fr) !important; }
  #screenReview .pre-result-shell { display:flex; flex-direction:column; width:100%; align-self:stretch; min-height:0; }
  #screenReview .pre-result-action { margin-top:auto; padding-top:20px; width:100%; }
  .jewelry-filter-stage { height:330px; margin-top:8px; }
  .loading-jewel { width:66px; height:66px; }
  .loading-jewel.keep { width:92px; height:92px; }
  .loading-jewel.keep.final-1 { left:27% !important; top:58% !important; }
  .loading-jewel.keep.final-2 { left:50% !important; top:42% !important; }
  .loading-jewel.keep.final-3 { left:73% !important; top:58% !important; }
  .filter-ring { width:310px; height:160px; }
  .loading-status-row { grid-template-columns:44px 1fr auto; gap:12px; }
  .loading-icon { width:42px; height:42px; }
}


/* ===== v4 approved corrections ===== */
html, body { width:100%; overflow-x:hidden; }
.quiz-screen { overflow-x:hidden; }

/* Hero: centered copy/button and larger trust text */
.im-hero-copy { align-items:center !important; text-align:center !important; justify-content:center !important; }
.im-hero-copy h1, .im-hero-copy p { margin-left:auto !important; margin-right:auto !important; text-align:center !important; }
.im-start-btn { align-self:center !important; margin-left:auto !important; margin-right:auto !important; }
.im-trust-item { font-size:15px !important; line-height:1.45 !important; }

/* Question screens: centered next button and safe progress spacing */
.quiz-screen[data-screen="1"] .actions, .quiz-screen[data-screen="2"] .actions,
.quiz-screen[data-screen="3"] .actions, .quiz-screen[data-screen="4"] .actions { justify-content:center !important; }
.quiz-screen[data-screen="1"] .progress-wrap, .quiz-screen[data-screen="2"] .progress-wrap,
.quiz-screen[data-screen="3"] .progress-wrap, .quiz-screen[data-screen="4"] .progress-wrap { margin-bottom:18px !important; }
.quiz-screen[data-screen="1"] .step-counter, .quiz-screen[data-screen="2"] .step-counter,
.quiz-screen[data-screen="3"] .step-counter, .quiz-screen[data-screen="4"] .step-counter { margin-top:6px !important; margin-bottom:18px !important; position:relative; z-index:2; }
.quiz-screen[data-screen="1"] .step-head, .quiz-screen[data-screen="2"] .step-head,
.quiz-screen[data-screen="3"] .step-head, .quiz-screen[data-screen="4"] .step-head { margin-top:0 !important; }

/* Review screen */
.review-screen-shell { max-width:760px !important; padding-top:10px !important; }
.review-screen-title { font-size:clamp(32px,3.6vw,52px) !important; line-height:1.05 !important; max-width:760px !important; margin-bottom:28px !important; }
.review-card-refined { background:#f4f4f2 !important; border:0 !important; box-shadow:none !important; padding:34px 46px 30px !important; max-width:620px !important; }
.review-card-refined .review-text { font-size:clamp(18px,1.6vw,24px) !important; line-height:1.5 !important; }
.review-card-refined .review-quote-mark { font-size:38px !important; margin-bottom:8px !important; }
.review-avatar-photo { width:54px; height:54px; border-radius:50%; object-fit:cover; flex:0 0 54px; }
.review-card-refined .review-author { justify-content:center; margin-top:22px !important; }
.review-card-refined .review-author span { text-align:left; }

/* Loading screen */
.loading-main-title { font-size:clamp(34px,4vw,60px) !important; line-height:1.03 !important; max-width:900px !important; }
#jewelryFilterStage { background:#f4ede2 !important; border-radius:18px !important; box-shadow:0 18px 50px rgba(25,24,23,.08); padding:24px !important; }
.loading-progress { margin-top:18px !important; }
.loading-progress-track { height:18px !important; border-radius:0 !important; background:#ded8cf !important; overflow:hidden; }
.loading-progress-fill { border-radius:0 !important; }
.loading-percent { font-family:var(--serif); font-size:32px !important; font-weight:600 !important; }

/* Result cards */
#recommendedProducts { align-items:stretch !important; }
#screenResult .product { display:flex !important; flex-direction:column !important; height:100% !important; }
#screenResult .product.featured { border:1px solid var(--gold) !important; box-shadow:none !important; }
#screenResult .product-badge { display:none !important; }
#screenResult .featured-argument { order:-1; margin:0 !important; padding:16px 18px !important; min-height:70px; display:flex; align-items:center; justify-content:center; text-align:center; background:#faf7f2; border-bottom:1px solid rgba(185,137,74,.35); color:var(--text); font-family:var(--serif); font-size:21px; line-height:1.2; }
#screenResult .product-body { display:flex !important; flex-direction:column !important; flex:1 !important; }
#screenResult .buy-btn { margin-top:auto !important; }

@media (max-width: 760px) {
  .quiz-screen { padding:14px 14px 24px !important; min-height:100svh; }
  .im-trust-item { font-size:11px !important; padding:14px 8px !important; }
  .review-screen-title { font-size:31px !important; margin-bottom:18px !important; }
  .review-card-refined { padding:24px 20px !important; }
  .review-card-refined .review-text { font-size:17px !important; line-height:1.48 !important; }
  .review-avatar-photo { width:46px; height:46px; flex-basis:46px; }
  #jewelryFilterStage { padding:12px !important; border-radius:12px !important; }
  .loading-main-title { font-size:31px !important; }
  .loading-progress-track { height:14px !important; }
  .loading-percent { font-size:28px !important; }
  #screenResult .featured-argument { font-size:18px; min-height:auto; padding:14px; }
}

@media (max-height: 760px) and (min-width: 761px) {
  .quiz-screen[data-screen="1"], .quiz-screen[data-screen="2"], .quiz-screen[data-screen="3"], .quiz-screen[data-screen="4"] { padding-top:18px !important; padding-bottom:20px !important; }
  .quiz-screen[data-screen="1"] .header, .quiz-screen[data-screen="2"] .header, .quiz-screen[data-screen="3"] .header, .quiz-screen[data-screen="4"] .header { margin-bottom:12px !important; }
  .quiz-screen[data-screen="1"] .step-head, .quiz-screen[data-screen="2"] .step-head, .quiz-screen[data-screen="3"] .step-head, .quiz-screen[data-screen="4"] .step-head { margin-bottom:18px !important; }
}


    /* v5 — final agreed corrections */
    .step-counter { display:none !important; }

    .actions {
      width:100%;
      max-width:none;
      display:flex;
      justify-content:center;
      align-items:center;
      text-align:center;
    }

    .actions .btn {
      margin-left:auto;
      margin-right:auto;
    }

    #screenResult .product-grid.updated {
      align-items:stretch;
    }

    #screenResult .product {
      display:flex;
      flex-direction:column;
      height:100%;
      position:relative;
    }

    #screenResult .product-body {
      display:flex;
      flex-direction:column;
      flex:1;
    }

    #screenResult .buy-btn {
      margin-top:auto;
    }

    #screenResult .product.featured {
      border:1.5px solid var(--gold);
      box-shadow:0 18px 44px rgba(185,137,74,.16);
    }

    #screenResult .featured-argument {
      display:flex;
      align-items:flex-start;
      gap:10px;
      margin:0;
      padding:16px 18px;
      border:0;
      border-bottom:1px solid rgba(185,137,74,.30);
      background:linear-gradient(135deg,#d7a25a,#b77d35);
      color:#fff;
      font-family:var(--serif);
      font-size:clamp(19px,1.55vw,25px);
      font-weight:600;
      line-height:1.15;
      letter-spacing:-.015em;
    }

    #screenResult .recommendation-star {
      flex:0 0 auto;
      font-family:Arial,sans-serif;
      font-size:19px;
      line-height:1.1;
      color:#fff7df;
      transform:translateY(1px);
    }

    @media (max-width: 700px) {
      #screenResult .result-head.updated h2,
      #screenResult #resultTitle {
        font-size:clamp(27px,8vw,38px) !important;
        line-height:1.02 !important;
      }

      #screenResult .featured-argument {
        font-size:20px;
        padding:14px 16px;
      }

      .actions .btn {
        width:min(100%,280px);
      }
    }



/* v6 — extended result landing */
#screenResult {
  padding-bottom:0 !important;
}
#screenResult .result-layout.updated-result {
  padding-bottom:54px;
}
.result-extension {
  width:100%;
  background:#fff;
  color:var(--text);
}
.result-section {
  padding:clamp(64px,7vw,108px) 24px;
}
.result-section-inner {
  width:min(1180px,100%);
  margin:0 auto;
}
.result-section-title {
  font-family:var(--serif);
  font-size:clamp(38px,5vw,68px);
  line-height:1.02;
  letter-spacing:-.035em;
  text-align:center;
  margin:0 0 24px;
}
.result-section-lead {
  max-width:790px;
  margin:0 auto;
  text-align:center;
  color:var(--muted);
  font-size:clamp(16px,1.5vw,20px);
  line-height:1.65;
}

/* Why these products */
.why-section {
  background:linear-gradient(135deg,#f8eee2 0%,#f4e5d4 55%,#f8f2eb 100%);
}
.why-card {
  background:rgba(255,255,255,.86);
  border:1px solid rgba(185,137,74,.28);
  box-shadow:0 26px 70px rgba(91,62,29,.12);
  padding:clamp(32px,5vw,68px);
  border-radius:18px;
}
.why-card .result-section-title,
.why-card .result-section-lead { text-align:left; margin-left:0; }
.why-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(32px,5vw,72px);
  align-items:start;
}
.why-list {
  display:grid;
  gap:16px;
  margin-top:34px;
}
.why-item {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.4;
}
.why-check {
  width:30px; height:30px; border-radius:50%;
  display:grid; place-items:center;
  background:#fff;
  border:1px solid rgba(185,137,74,.52);
  color:var(--gold);
  flex:0 0 auto;
  font-weight:800;
}
.match-card {
  background:linear-gradient(145deg,#c7934f,#a96f2e);
  color:#fff;
  border-radius:16px;
  padding:clamp(28px,4vw,46px);
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:0 24px 56px rgba(128,79,24,.24);
}
.match-star { font-size:34px; line-height:1; color:#fff4cc; margin-bottom:18px; }
.match-value { font-family:var(--serif); font-size:clamp(56px,7vw,94px); line-height:.9; letter-spacing:-.05em; margin-bottom:20px; }
.match-copy { font-size:clamp(18px,1.6vw,23px); line-height:1.35; }

/* Packaging */
.packaging-section { background:#fff; }
.packaging-layout {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);
  gap:clamp(34px,6vw,84px);
  align-items:center;
}
.packaging-image-wrap { position:relative; }
.packaging-image {
  width:100%;
  display:block;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 28px 72px rgba(45,31,19,.18);
}
.packaging-badge {
  position:absolute;
  left:20px; top:20px;
  background:rgba(31,29,27,.88);
  color:#fff;
  padding:11px 16px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.packaging-copy .result-section-title,
.packaging-copy .result-section-lead { text-align:left; margin-left:0; }
.packaging-points { display:grid; gap:17px; margin-top:32px; }
.packaging-point { display:flex; gap:13px; align-items:center; font-size:17px; }
.packaging-point::before { content:'✓'; color:var(--gold); font-weight:800; }

/* Guarantees */
.guarantee-section { background:#f7f7f5; }
.guarantee-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:44px;
}
.guarantee-card {
  background:#fff;
  border:1px solid #e7e2dc;
  border-radius:14px;
  padding:28px 24px;
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.guarantee-icon {
  width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid rgba(185,137,74,.5);
  color:var(--gold);
  font-size:22px;
  margin-bottom:28px;
}
.guarantee-card h3 { font-size:18px; margin:0 0 10px; }
.guarantee-card p { color:var(--muted); line-height:1.55; font-size:14px; margin:0; }

/* Reviews */
.reviews-section { background:#fff; }
.reviews-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:46px;
}
.big-review {
  display:flex;
  flex-direction:column;
  background:#fafafa;
  border:1px solid #ece8e2;
  border-radius:16px;
  overflow:hidden;
}
.big-review img {
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
}
.big-review-body {
  padding:clamp(26px,3vw,42px);
  display:flex;
  flex-direction:column;
  flex:1;
  text-align:center;
}
.review-stars { color:#d59a3d; font-size:23px; letter-spacing:4px; margin-bottom:22px; }
.big-review blockquote {
  font-family:var(--sans);
  font-size:clamp(15px,1.15vw,17px);
  font-weight:400;
  line-height:1.6;
  letter-spacing:0;
  color:#2c2926;
  margin:0 auto 26px;
  max-width:440px;
}
.review-author { margin-top:auto; font-weight:700; font-size:14px; letter-spacing:.04em; }
.review-date { color:var(--muted); font-size:13px; margin-top:6px; }
.all-reviews-row { text-align:center; margin-top:38px; }
.all-reviews-btn {
  appearance:none;
  border:1px solid var(--text);
  background:#fff;
  color:var(--text);
  min-width:240px;
  padding:16px 24px;
  font-family:var(--sans);
  font-weight:600;
  cursor:pointer;
  transition:.22s ease;
}
.all-reviews-btn:hover { background:var(--text); color:#fff; }

/* Consultation */
.final-consultation {
  background:linear-gradient(145deg,#1d1c1b,#2b2825);
  color:#fff;
  text-align:center;
}
.final-consultation .result-section-title { color:#fff; }
.final-consultation .result-section-lead { color:rgba(255,255,255,.72); }
.final-consultation .btn {
  margin-top:34px;
  background:var(--gold);
  color:#fff;
  min-width:260px;
}

/* Footer */
.gg-footer { background:#0b0b0b; color:#fff; padding:58px 24px 30px; }
.gg-footer-inner { width:min(1180px,100%); margin:0 auto; }
.footer-logo { font-family:var(--serif); font-size:34px; letter-spacing:.12em; text-align:center; margin-bottom:36px; }
.footer-socials { display:flex; justify-content:center; gap:18px; margin-bottom:46px; }
.footer-social {
  width:46px; height:46px; border:1px solid rgba(255,255,255,.4); border-radius:50%;
  display:grid; place-items:center; color:#fff; text-decoration:none; font-size:17px;
}
.footer-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; padding:40px 0; border-top:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); }
.footer-column h3 { font-size:15px; margin:0 0 20px; color:#fff; }
.footer-column a { display:block; color:rgba(255,255,255,.72); text-decoration:none; margin:13px 0; font-size:14px; }
.footer-column a:hover { color:#fff; }
.footer-bottom { text-align:center; color:rgba(255,255,255,.38); font-size:12px; line-height:1.7; padding-top:28px; }

@media (max-width: 900px) {
  .why-grid,.packaging-layout { grid-template-columns:1fr; }
  .guarantee-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .match-card { min-height:auto; }
  .footer-columns { grid-template-columns:1fr; gap:24px; text-align:center; }
}
@media (max-width: 680px) {
  .result-section { padding:50px 16px; }
  .result-section-title { font-size:36px; }
  .why-card { padding:28px 20px; border-radius:12px; }
  .why-card .result-section-title,.why-card .result-section-lead,.packaging-copy .result-section-title,.packaging-copy .result-section-lead { text-align:center; }
  .why-list { gap:13px; }
  .why-item { font-size:15px; align-items:flex-start; }
  .why-check { width:26px; height:26px; }
  .match-card { text-align:center; padding:30px 22px; }
  .packaging-image { border-radius:10px; aspect-ratio:1/1; }
  .packaging-badge { left:12px; top:12px; font-size:10px; padding:9px 12px; }
  .packaging-points { margin-top:24px; }
  .guarantee-grid,.reviews-grid { grid-template-columns:1fr; }
  .guarantee-card { min-height:0; }
  .big-review img { aspect-ratio:4/3; }
  .big-review blockquote { font-size:16px; }
  .footer-logo { font-size:26px; }
}


/* v7 latest approved corrections */
.im-hero-copy{align-self:center;text-align:center;padding:24px 0;}
.im-hero-copy h1,.im-hero-copy p{margin-left:auto;margin-right:auto;}
.im-hero-photo img{object-position:center center;}
.why-grid{grid-template-columns:minmax(0,1fr)!important;}
.why-card{max-width:1040px;margin-inline:auto;}
.why-card>.why-grid>div:first-child{max-width:900px;}
.packaging-copy{align-self:center;}
@media (max-width:780px){.im-hero-copy{text-align:center;align-self:center}.why-card>.why-grid>div:first-child{max-width:none}}


/* v10 mobile premium first screen */
@media (max-width: 700px) {
  #screenHero {
    padding: 0 !important;
    min-height: 100svh;
    overflow-x: hidden;
  }

  #screenHero .im-hero {
    width: 100%;
    min-height: 100svh;
    display: flex !important;
    flex-direction: column;
    background: #fff !important;
  }

  #screenHero .im-brand-header {
    min-height: 72px;
    padding: 12px 18px 8px !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #screenHero .im-brand-header .brand-logo {
    width: min(64vw, 250px) !important;
    max-height: 62px !important;
    object-fit: contain;
  }

  #screenHero .im-hero-main {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 0 !important;
    gap: 0 !important;
  }

  #screenHero .im-hero-photo {
    order: 1;
    width: 94vw !important;
    max-width: 440px;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 4px auto 0 !important;
    border-radius: 18px;
    overflow: hidden;
    background: #f6f3ef !important;
  }

  #screenHero .im-hero-photo img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #screenHero .im-hero-copy {
    order: 2;
    width: 100%;
    padding: 22px 20px 12px !important;
    transform: none !important;
    align-self: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  #screenHero .im-hero-copy h1 {
    width: min(88vw, 430px);
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: 0.98 !important;
    margin: 0 auto !important;
  }

  #screenHero .im-hero-copy p {
    width: min(88vw, 430px);
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin: 14px auto 0 !important;
  }

  #screenHero .im-start-btn {
    width: 92vw !important;
    max-width: 430px;
    min-width: 0 !important;
    min-height: 60px !important;
    margin: 18px auto 0 !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  #screenHero .im-trust-footer {
    width: 100%;
    min-height: 68px !important;
    margin-top: auto;
    padding: 8px 10px 10px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
    border-top: 1px solid #ece7e0;
  }

  #screenHero .im-trust-item {
    min-width: 0;
    padding: 4px 2px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    text-align: center;
  }

  #screenHero .im-trust-icon {
    width: 22px !important;
    height: 22px !important;
    margin-bottom: 3px !important;
  }
}

@media (max-width: 360px) {
  #screenHero .im-brand-header .brand-logo { width: 68vw !important; }
  #screenHero .im-hero-photo { width: 92vw !important; border-radius: 14px; }
  #screenHero .im-hero-copy { padding-top: 18px !important; }
  #screenHero .im-hero-copy h1 { font-size: 32px !important; }
  #screenHero .im-start-btn { width: 90vw !important; min-height: 56px !important; }
  #screenHero .im-trust-item { font-size: 8px !important; }
}

/* v11 — mobile first-screen order: text above photo, CTA below photo */
@media (max-width: 700px) {
  #screenHero .im-hero-main {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  #screenHero .im-hero-copy {
    order: 1 !important;
    width: 100% !important;
    padding: 12px 20px 18px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  #screenHero .im-hero-photo {
    order: 2 !important;
    width: 94vw !important;
    max-width: 440px !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  #screenHero .im-hero-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #screenHero .im-start-btn {
    order: 3 !important;
    width: 92vw !important;
    max-width: 430px !important;
    margin: 18px auto 0 !important;
  }
}
/* ===== v12 agreed corrections ===== */
.quiz-screen[data-screen="1"] .step-head p,
.quiz-screen[data-screen="2"] .step-head p,
.quiz-screen[data-screen="3"] .step-head p,
.quiz-screen[data-screen="4"] .step-head p { display:none !important; }

#screenLoading #loadingStageText { display:none !important; }
#screenLoading .loading-status-copy { align-items:center; }
#screenLoading #loadingStageTitle { font-size:clamp(17px,1.35vw,22px); line-height:1.3; }

#screenResult .result-head.updated { display:block !important; text-align:center; max-width:1500px; margin:0 auto 28px; }
#screenResult .result-head.updated > div:first-child { width:100%; }
#screenResult .result-head.updated .eyebrow { margin-bottom:14px; }
#screenResult #resultTitle {
  font-family:var(--serif); font-weight:400; text-align:center; max-width:none !important;
  margin:0 auto; font-size:clamp(25px,2.15vw,40px) !important; line-height:1.12 !important;
  white-space:nowrap;
}
#screenResult .result-copy-card { display:none !important; }

.result-extension-v12 { background:#fff; }
.result-extension-v12 .result-section { padding:84px 28px; }
.result-extension-v12 .result-section-inner { max-width:1240px; margin:0 auto; }
.info-story-section { background:#fff; }
.info-story-section.trust-choice-section { background:#f7efe7; }
.editorial-block { max-width:980px !important; }
.editorial-title { margin:0 0 28px; font-family:var(--sans); font-size:clamp(26px,2.2vw,38px); line-height:1.08; letter-spacing:.04em; font-weight:650; }
.editorial-block p { margin:0 0 20px; font-size:clamp(18px,1.35vw,22px); line-height:1.62; color:#292520; }
.editorial-block p:last-child { margin-bottom:0; }

.packaging-v12 { background:#fff; }
.packaging-v12 .packaging-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:72px; align-items:center; }
.packaging-v12 .packaging-image-wrap { background:#f4dac4; overflow:hidden; min-height:440px; }
.packaging-v12 .packaging-image { width:100%; height:100%; min-height:440px; object-fit:cover; display:block; }
.packaging-v12 .packaging-copy { max-width:520px; }
.packaging-v12 .result-section-title { margin:0 0 24px; }
.packaging-v12 .result-section-lead { margin:0; }

.convenience-section { background:#f8f8f6; }
.convenience-title { text-align:center; margin:0 0 46px; }
.convenience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.convenience-card { background:#fff; border:1px solid #e8e0d9; padding:34px 30px; min-height:255px; }
.convenience-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:26px; border:1px solid #c78e43; border-radius:50%; }
.convenience-icon svg { width:25px; height:25px; fill:none; stroke:#c78e43; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.convenience-card h3 { margin:0 0 12px; font-family:var(--sans); font-size:20px; line-height:1.25; }
.convenience-card p { margin:0; color:#635c55; font-size:16px; line-height:1.55; }

.repeat-products-section { background:#fff; padding-top:96px !important; }
.repeat-products-inner { max-width:1500px !important; }
.repeat-products-title { text-align:center; font-family:var(--serif); font-size:clamp(32px,2.8vw,48px); font-weight:400; margin:0 0 48px; }
.repeated-product-grid { align-items:stretch !important; }

.compact-consultation { text-align:center; padding:68px 24px !important; background:#faf7f3; }
.compact-consultation .result-section-title { margin:0 0 28px; }
.compact-consultation .btn { display:inline-flex; min-width:320px; justify-content:center; }

.compact-footer { background:#0b0b0b !important; padding:34px 24px 38px !important; color:#fff; }
.compact-footer .gg-footer-inner { max-width:1240px; margin:0 auto; }
.compact-footer .footer-socials { display:flex; justify-content:center; gap:24px; margin:0 0 30px; }
.compact-footer .footer-social { color:#fff !important; border-color:#555 !important; }
.compact-footer-links { display:flex; align-items:center; justify-content:center; gap:clamp(24px,4vw,66px); flex-wrap:wrap; }
.compact-footer-links a { color:#fff; text-decoration:none; font-size:15px; }
.compact-footer-links a:hover { opacity:.72; }

@media (max-width: 900px) {
  #screenResult #resultTitle { white-space:normal; font-size:clamp(26px,6.4vw,34px) !important; max-width:720px !important; }
  .result-extension-v12 .result-section { padding:58px 20px; }
  .packaging-v12 .packaging-layout { grid-template-columns:1fr; gap:34px; }
  .packaging-v12 .packaging-copy { max-width:none; }
  .convenience-grid { grid-template-columns:1fr; gap:14px; }
  .convenience-card { min-height:0; display:grid; grid-template-columns:52px 1fr; column-gap:18px; padding:24px 22px; }
  .convenience-icon { grid-row:1 / span 2; margin:0; }
  .convenience-card h3 { margin:2px 0 7px; font-size:18px; }
  .convenience-card p { font-size:15px; }
  .compact-footer-links { gap:16px 24px; }
}

@media (max-width: 600px) {
  #screenResult .result-head.updated { margin-bottom:18px; }
  #screenResult .result-head.updated .eyebrow { font-size:11px; margin-bottom:10px; }
  #screenResult #resultTitle { font-size:27px !important; line-height:1.13 !important; padding:0 8px; }
  .editorial-title { font-size:25px; margin-bottom:20px; }
  .editorial-block p { font-size:16px; line-height:1.58; }
  .result-extension-v12 .result-section { padding:48px 18px; }
  .packaging-v12 .packaging-image-wrap, .packaging-v12 .packaging-image { min-height:0; aspect-ratio:4/3; }
  .packaging-v12 .packaging-image { object-fit:cover; }
  .repeat-products-section { padding-top:56px !important; }
  .repeat-products-title { font-size:30px; margin-bottom:28px; }
  .compact-consultation { padding:50px 18px !important; }
  .compact-consultation .btn { width:100%; min-width:0; }
  .compact-footer { padding:28px 18px 32px !important; }
  .compact-footer .footer-socials { margin-bottom:24px; }
  .compact-footer-links { display:grid; grid-template-columns:1fr 1fr; text-align:center; gap:18px 14px; }
  .compact-footer-links a { font-size:13px; line-height:1.3; }
}


/* === RESULT PAGE: exact reference layout v13 === */
#screenResult .result-layout.updated-result{max-width:1500px!important;padding-top:0!important;}
#screenResult .result-head.updated{max-width:1460px;margin:8px auto 28px!important;text-align:center;}
#screenResult .result-head.updated h2{max-width:none!important;margin:0 auto!important;font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.02em;font-size:clamp(27px,2.25vw,42px)!important;white-space:nowrap;}
#screenResult .result-copy-card,#screenResult .summary{display:none!important;}
#screenResult .product-grid.updated{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:18px!important;align-items:stretch!important;}
#screenResult .product-grid.updated .product{display:flex!important;flex-direction:column!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;}
#screenResult .product-frame{position:relative;height:470px;background:#f7f6f4;overflow:hidden;border:1px solid transparent;}
#screenResult .product.featured .product-frame{border:2px solid #a31382;}
#screenResult .product-frame .product-img{position:absolute!important;inset:94px 0 0;height:auto!important;background:transparent!important;overflow:hidden!important;}
#screenResult .product-frame .product-img img{width:100%!important;height:100%!important;object-fit:contain!important;padding:18px 20px 22px!important;transform:none!important;}
#screenResult .product-match{position:absolute;top:28px;left:24px;z-index:5;display:flex;align-items:baseline;gap:10px;color:#171717;font-family:var(--sans);}
#screenResult .product-match strong{font-family:var(--serif);font-size:34px!important;font-weight:400!important;line-height:1;color:#111!important;}
#screenResult .product-match span{font-size:14px;line-height:1.25;color:#1b1b1b;}
#screenResult .product.featured .product-match{top:76px;display:block;}
#screenResult .product.featured .product-match strong{display:block;font-size:40px!important;color:#a31382!important;margin-bottom:4px;}
#screenResult .product.featured .product-match span{display:block;font-size:14px;}
#screenResult .expert-badge{position:absolute;z-index:6;top:24px;left:24px;display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border:1px solid #a31382;border-radius:999px;background:#fff;color:#a31382;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
#screenResult .expert-badge .star{font-size:17px;line-height:1;}
#screenResult .product-body{padding:14px 16px 0!important;min-height:190px!important;display:flex!important;flex-direction:column!important;background:#fff!important;}
#screenResult .product-body h3{font-family:var(--serif)!important;font-size:18px!important;font-weight:400!important;margin:0 0 10px!important;order:1!important;}
#screenResult .product-body strong{font-family:var(--sans)!important;font-size:17px!important;font-weight:500!important;color:#df5b00!important;order:2!important;margin-bottom:12px!important;}
#screenResult .product-argument{order:3!important;margin:0 0 16px!important;padding:13px 0 0!important;border:0!important;border-top:1px solid #df6b13!important;background:transparent!important;color:#222!important;font-size:14px!important;line-height:1.45!important;}
#screenResult .product:not(.featured) .product-argument{display:none!important;}
#screenResult .buy-btn{order:4!important;margin-top:auto!important;width:100%!important;min-height:52px!important;border-radius:0!important;background:linear-gradient(90deg,#c68638,#df7c2e)!important;border:0!important;color:#fff!important;font-size:14px!important;font-weight:500!important;letter-spacing:.03em;text-transform:uppercase;justify-content:center!important;}
#screenResult .result-kicker{margin-bottom:22px!important;}

@media (max-width:1100px) and (min-width:701px){
  #screenResult .result-head.updated h2{font-size:30px!important;white-space:normal;}
  #screenResult .product-frame{height:430px;}
}

@media (max-width:700px){
  #screenResult.quiz-screen{padding:0 0 34px!important;}
  #screenResult .header{padding-left:20px!important;padding-right:20px!important;}
  #screenResult .progress-wrap{display:none!important;}
  #screenResult .result-layout.updated-result{padding:10px 20px 0!important;max-width:none!important;}
  #screenResult .result-kicker{font-size:12px!important;letter-spacing:.14em!important;margin:6px 0 24px!important;}
  #screenResult .result-head.updated{margin:0 auto 28px!important;}
  #screenResult .result-head.updated h2{font-size:clamp(28px,7.1vw,36px)!important;line-height:1.1!important;white-space:normal!important;max-width:94%!important;}
  #screenResult .product-grid.updated{display:block!important;margin-top:0!important;}
  #screenResult .product-grid.updated .product{margin-bottom:36px!important;}
  #screenResult .product-frame{height:520px!important;border-radius:6px;}
  #screenResult .product.featured .product-frame{border-width:2px;}
  #screenResult .expert-badge{top:24px;left:22px;padding:9px 14px;font-size:12px;}
  #screenResult .product.featured .product-match{top:90px;left:22px;}
  #screenResult .product.featured .product-match strong{font-size:50px!important;}
  #screenResult .product.featured .product-match span{font-size:16px;}
  #screenResult .product-frame .product-img{inset:150px 0 0!important;}
  #screenResult .product:not(.featured) .product-frame .product-img{inset:82px 0 0!important;}
  #screenResult .product-match{top:28px;left:22px;}
  #screenResult .product-match strong{font-size:34px!important;}
  #screenResult .product-match span{font-size:14px;}
  #screenResult .product-body{padding:18px 14px 0!important;min-height:0!important;}
  #screenResult .product-body h3{font-size:24px!important;margin-bottom:12px!important;}
  #screenResult .product-body strong{font-size:24px!important;margin-bottom:14px!important;}
  #screenResult .product-argument{font-size:17px!important;line-height:1.45!important;padding-top:16px!important;margin-bottom:22px!important;}
  #screenResult .buy-btn{min-height:64px!important;font-size:18px!important;}
}

/* === Golden Gift v14: unified premium responsive design === */
:root{
  --gg-bg:#ffffff; --gg-soft:#f6f2ed; --gg-ink:#171717; --gg-muted:#69645f;
  --gg-line:#ddd7d0; --gg-accent:#a31382; --gg-warm:#d87622; --gg-dark:#181818;
}
#screenResult .header .brand-logo{height:auto!important;max-height:44px!important;width:auto!important;max-width:190px!important;}
#screenResult .result-head.updated{max-width:1480px!important;margin:12px auto 30px!important;}
#screenResult #resultTitle{
  font-size:clamp(24px,1.65vw,31px)!important; line-height:1.15!important; font-weight:400!important;
  white-space:nowrap!important; max-width:none!important; letter-spacing:-.018em!important;
}
#screenResult .product-grid.updated{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important;}
#screenResult .product-grid.updated .product{min-width:0!important;display:flex!important;flex-direction:column!important;}
#screenResult .product-frame{height:auto!important;aspect-ratio:1 / 1.02!important;min-height:0!important;background:#f7f6f4!important;overflow:hidden!important;}
#screenResult .product-frame .product-img{position:absolute!important;inset:118px 20px 18px!important;height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#f7f6f4!important;}
#screenResult .product:not(.featured) .product-frame .product-img{inset:76px 20px 18px!important;}
#screenResult .product-frame .product-img img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important;}
#screenResult .product-body{min-height:220px!important;padding:16px 14px 0!important;}
#screenResult .product-body h3{font-size:18px!important;line-height:1.25!important;}
#screenResult .product-body strong{font-size:17px!important;}
#screenResult .product-argument{font-size:15px!important;line-height:1.48!important;color:var(--gg-ink)!important;}
#screenResult .buy-btn{min-height:54px!important;}

.result-extension-v14{background:var(--gg-bg);color:var(--gg-ink);}
.result-extension-v14 .result-section{padding:88px 28px;}
.result-extension-v14 .result-section-inner{width:min(1240px,100%);margin:0 auto;}
.tone-white{background:var(--gg-bg);}
.tone-soft{background:var(--gg-soft);}

.premium-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--gg-line);border-bottom:1px solid var(--gg-line);}
.premium-editorial-item{padding:44px 54px 48px 0;}
.premium-editorial-item + .premium-editorial-item{padding-left:54px;border-left:1px solid var(--gg-line);}
.section-index{font:600 11px/1 var(--sans);letter-spacing:.17em;color:var(--gg-muted);margin-bottom:28px;}
.premium-editorial-item h2,.packaging-copy-v14 h2,.repeat-title,.compact-consultation-v14 h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;color:var(--gg-ink);}
.premium-editorial-item h2{font-size:clamp(40px,4vw,64px);line-height:.98;margin:0 0 26px;}
.premium-editorial-item p{font:400 17px/1.75 var(--sans);color:#4e4a47;max-width:560px;margin:0;}
.premium-editorial-item p + p{margin-top:24px;}
.editorial-emphasis{padding-top:24px;border-top:1px solid var(--gg-line);color:var(--gg-ink)!important;}
.editorial-emphasis strong{font-weight:650;}

.packaging-layout-v14{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:76px;}
.packaging-visual-v14{background:#edc1a9;min-height:520px;overflow:hidden;}
.packaging-visual-v14 img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center;}
.packaging-copy-v14 h2{font-size:clamp(44px,4.5vw,70px);line-height:1;margin:0 0 28px;}
.packaging-copy-v14 p{font:400 18px/1.75 var(--sans);color:#4e4a47;margin:0;max-width:520px;}
.packaging-copy-v14 .packaging-final{margin-top:28px;color:var(--gg-ink);font-size:20px;}

.convenience-grid-v14{display:grid;grid-template-columns:repeat(3,1fr);gap:52px;}
.convenience-item-v14{padding-top:8px;}
.convenience-icon-v14{width:44px;height:44px;margin-bottom:28px;color:var(--gg-ink);}
.convenience-icon-v14 svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;}
.convenience-item-v14 h3{font-family:var(--serif);font-size:30px;line-height:1.08;font-weight:400;margin:0 0 14px;}
.convenience-item-v14 p{font:400 16px/1.65 var(--sans);color:#5e5955;margin:0;max-width:340px;}

.result-extension-v14 .reviews-section{background:#fff!important;padding:88px 28px!important;}
.result-extension-v14 .reviews-section .result-section-title{font-family:var(--serif)!important;font-size:clamp(44px,4vw,64px)!important;font-weight:400!important;letter-spacing:-.025em!important;margin-bottom:44px!important;}

.repeat-products-section{padding-top:76px!important;padding-bottom:90px!important;}
.repeat-title{text-align:center;font-size:clamp(38px,3.5vw,56px);margin:0 0 42px;}
.repeat-products-inner .product-grid.updated{margin-top:0!important;}

.compact-consultation-v14{text-align:center;padding:72px 24px!important;}
.compact-consultation-v14 h2{font-size:clamp(42px,4vw,62px);margin:0 0 26px;}
.compact-consultation-v14 .btn{min-width:300px;justify-content:center;}

.compact-footer-v14{background:var(--gg-dark);color:#fff;padding:28px;}
.compact-footer-inner-v14{width:min(1240px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.compact-footer-links-v14{display:flex;gap:26px;flex-wrap:wrap;}
.compact-footer-links-v14 a,.compact-socials-v14 a{color:#fff;text-decoration:none;font:500 13px/1.4 var(--sans);opacity:.82;}
.compact-socials-v14{display:flex;gap:18px;}
.compact-footer-links-v14 a:hover,.compact-socials-v14 a:hover{opacity:1;}
.compact-socials-v14{align-items:center;}
.compact-socials-title-v15{font:500 13px/1.4 var(--sans);opacity:.82;white-space:nowrap;}
.compact-socials-v14 a{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;}
.compact-socials-v14 svg{width:24px;height:24px;display:block;fill:currentColor;}

#screenLoading #loadingStageText,#screenLoading #loadingStageCount{display:none!important;}

@media (max-width:1100px){
  #screenResult #resultTitle{white-space:normal!important;font-size:30px!important;max-width:980px!important;}
  .premium-editorial-item{padding-right:34px;}
  .premium-editorial-item + .premium-editorial-item{padding-left:34px;}
  .packaging-layout-v14{gap:42px;}
  .packaging-visual-v14,.packaging-visual-v14 img{min-height:440px;}
  .convenience-grid-v14{gap:28px;}
}
@media (max-width:700px){
  #screenResult .header .brand-logo{width:min(250px,68vw)!important;max-height:62px!important;max-width:none!important;height:auto!important;}
  #screenResult #resultTitle{font-size:27px!important;line-height:1.14!important;white-space:normal!important;max-width:96%!important;}
  #screenResult .product-grid.updated{display:block!important;}
  #screenResult .product-grid.updated .product{margin-bottom:36px!important;}
  #screenResult .product-frame{aspect-ratio:1 / 1.08!important;width:100%!important;}
  #screenResult .product-frame .product-img{inset:150px 16px 16px!important;}
  #screenResult .product:not(.featured) .product-frame .product-img{inset:82px 16px 16px!important;}
  #screenResult .product-body{min-height:0!important;padding:17px 10px 0!important;}
  #screenResult .product-body h3{font-size:23px!important;}
  #screenResult .product-body strong{font-size:22px!important;}
  #screenResult .product-argument{font-size:17px!important;line-height:1.45!important;}
  #screenResult .buy-btn{min-height:62px!important;font-size:17px!important;}

  .result-extension-v14 .result-section{padding:58px 20px;}
  .premium-editorial-grid{grid-template-columns:1fr;border-bottom:0;}
  .premium-editorial-item{padding:30px 0 38px!important;border-bottom:1px solid var(--gg-line);}
  .premium-editorial-item + .premium-editorial-item{border-left:0;padding-top:38px!important;}
  .section-index{margin-bottom:20px;}
  .premium-editorial-item h2{font-size:44px;margin-bottom:20px;}
  .premium-editorial-item p{font-size:16px;line-height:1.7;}

  .packaging-layout-v14{grid-template-columns:1fr;gap:34px;}
  .packaging-visual-v14{min-height:0;aspect-ratio:1/1;background:#edc1a9;}
  .packaging-visual-v14 img{min-height:0;height:100%;object-fit:cover;}
  .packaging-copy-v14 h2{font-size:44px;margin-bottom:20px;}
  .packaging-copy-v14 p{font-size:16px;line-height:1.7;}
  .packaging-copy-v14 .packaging-final{font-size:18px;margin-top:20px;}

  .convenience-grid-v14{grid-template-columns:1fr;gap:0;}
  .convenience-item-v14{padding:30px 0;border-bottom:1px solid var(--gg-line);}
  .convenience-item-v14:first-child{padding-top:0;}
  .convenience-icon-v14{width:38px;height:38px;margin-bottom:20px;}
  .convenience-item-v14 h3{font-size:28px;}
  .convenience-item-v14 p{font-size:15.5px;max-width:none;}

  .result-extension-v14 .reviews-section{padding:58px 20px!important;}
  .result-extension-v14 .reviews-section .result-section-title{font-size:42px!important;margin-bottom:30px!important;}
  .repeat-products-section{padding-top:54px!important;padding-bottom:58px!important;}
  .repeat-title{font-size:38px;margin-bottom:30px;}
  .compact-consultation-v14{padding:56px 20px!important;}
  .compact-consultation-v14 h2{font-size:42px;}
  .compact-consultation-v14 .btn{width:100%;min-width:0;}
  .compact-footer-v14{padding:24px 20px;}
  .compact-footer-inner-v14{display:block;}
  .compact-footer-links-v14{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-bottom:20px;}
}
@media (max-width:380px){
  #screenResult #resultTitle{font-size:25px!important;}
  .compact-footer-links-v14{grid-template-columns:1fr;}
}

/* v15: balanced editorial block and lossless product photography */
.premium-editorial-item{padding-top:44px!important;text-align:left;}
.premium-editorial-item h2{margin-top:0!important;}
#screenResult .product-grid.updated .product-img img{
  object-fit:contain!important;
  object-position:center!important;
  padding:clamp(54px,4.5vw,76px)!important;
  transform:none!important;
}
#screenResult .product[data-sku="КВ02"] .product-img img{padding:clamp(38px,3.5vw,58px)!important;}
#screenResult .product-grid.updated .product:hover .product-img img{transform:scale(1.015)!important;}
@media (max-width:700px){
  .premium-editorial-item{padding-top:30px!important;}
  .compact-socials-v14{margin-top:18px;flex-wrap:wrap;}
  .compact-socials-title-v15{width:100%;}
  #screenResult .product-frame{aspect-ratio:1 / 0.82!important;}
  #screenResult .product-frame .product-img,
  #screenResult .product:not(.featured) .product-frame .product-img{inset:96px 12px 12px!important;}
  #screenResult .product-grid.updated .product-img img{padding:42px!important;}
  #screenResult .product[data-sku="КВ02"] .product-img img{padding:30px!important;}
}

/* v16: product images fitted to the new near-square card format */
/* v22: photos stretch to fill the frame edge-to-edge instead of leaving margins.
   (This used to fight a stray height:520px!important on .product-grid.updated
   .product-img above, which forced the image box far taller than the visible
   frame and made object-fit:cover crop out pendants near the photo's bottom
   edge — fixed by setting that legacy rule back to height:auto.) */
#screenResult .product-grid.updated .product-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
#screenResult .product-grid.updated .product:hover .product-img img{transform:none!important;}

/* ============================================================
   Добавлено при интеграции: служебные стили
   ============================================================ */
#consultation .result-section-inner { text-align:center; }

/* v18: updated budgets and refined result-page composition */
#screenResult .convenience-grid-v14{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:1180px;
  margin-inline:auto;
}
/* Фиолетовая пометка «Wildberries» */
.wb-mark{color:#7b119e;font-weight:600;white-space:nowrap;}
#screenResult .product-frame .product-img,
#screenResult .product:not(.featured) .product-frame .product-img{
  inset:122px 0 0!important;
}
#screenResult .product-match,
#screenResult .product.featured .product-match{
  top:48px!important;
  left:24px!important;
  right:24px!important;
  min-height:34px;
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  white-space:nowrap;
}
#screenResult .product-match strong,
#screenResult .product.featured .product-match strong{
  display:inline!important;
  margin:0!important;
  font-family:var(--sans)!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:600!important;
  color:#171717!important;
}
#screenResult .product-match span,
#screenResult .product.featured .product-match span{
  display:inline!important;
  font-size:11.5px!important;
  line-height:1.3!important;
  color:#6e6961!important;
}
#screenResult .expert-badge{
  top:20px!important;
  left:24px!important;
  width:84px!important;
  height:84px!important;
  padding:10px!important;
  border-radius:50%!important;
  flex-direction:column;
  justify-content:center;
  gap:3px!important;
  text-align:center;
  font-size:9px!important;
  line-height:1.25!important;
  letter-spacing:.08em!important;
}
#screenResult .expert-badge .star{font-size:15px!important;}
#screenResult .product.featured .product-match{
  left:128px!important;
  right:16px!important;
}
#screenResult .product:not(.featured) .product-match{
  justify-content:center;
}
#screenResult .repeat-products-section{
  background:#fff!important;
  border-top:1px solid #e7e1d9;
  box-shadow:inset 0 28px 48px -54px rgba(37,29,24,.35);
  padding-top:94px!important;
}
#screenResult .compact-consultation-v14{background:var(--gg-soft)!important;}
#screenResult .editorial-emphasis strong{white-space:nowrap;}
#screenResult .convenience-icon-v14{width:58px!important;height:58px!important;}
#screenResult .repeated-product-grid .product-match{display:none!important;}
#screenResult .repeated-product-grid .product-frame .product-img,
#screenResult .repeated-product-grid .product:not(.featured) .product-frame .product-img{inset:104px 0 0!important;}

.selection-share-row{display:flex;justify-content:center;padding:34px 0 4px;}
.selection-share-trigger{display:inline-flex;align-items:center;gap:12px;padding:8px 2px;border:0;border-bottom:1px solid #b9894a;background:transparent;color:#24211e;font:500 15px/1.4 var(--sans);cursor:pointer;transition:color .2s,border-color .2s,transform .2s;}
.selection-share-trigger:hover{color:#b36c24;border-color:#b36c24;transform:translateY(-1px);}
.selection-share-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}

.selection-modal{position:fixed!important;inset:0!important;z-index:2147483647!important;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;isolation:isolate;transition:opacity .25s ease,visibility .25s ease;}
.selection-modal.is-open{opacity:1;visibility:visible;}
.selection-modal-backdrop{position:absolute;inset:0;background:rgba(18,15,13,.54);backdrop-filter:blur(4px);}
.selection-modal-dialog{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;padding:52px 56px 48px;box-shadow:0 28px 90px rgba(19,14,10,.22);transform:translateY(12px) scale(.985);transition:transform .25s ease;}
.selection-modal.is-open .selection-modal-dialog{transform:none;}
.selection-modal-close{position:absolute;top:18px;right:18px;width:38px;height:38px;display:grid;place-items:center;border:0;background:transparent;color:#292522;cursor:pointer;}
.selection-modal-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;}
.selection-modal-kicker{margin-bottom:13px;color:#a56f36;font:600 11px/1.3 var(--sans);letter-spacing:.17em;text-transform:uppercase;}
.selection-modal h2{font-size:clamp(38px,4vw,52px);line-height:.98;margin:0 0 17px;}
.selection-modal-content>p,.selection-success>p{margin:0 0 28px;color:#6e6961;font:400 14px/1.65 var(--sans);}
.selection-form{display:grid;gap:19px;}
.selection-form label{display:grid;gap:8px;}
.selection-form label>span{font:600 11px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#4a4540;}
.selection-form input{width:100%;height:54px;border:1px solid #d9d2ca;border-radius:0;background:#fff;padding:0 16px;color:#1b1917;font:400 15px/1 var(--sans);outline:0;transition:border-color .2s,box-shadow .2s;}
.selection-form input:focus{border-color:#b9894a;box-shadow:0 0 0 3px rgba(185,137,74,.1);}
.selection-form label.has-error input{border-color:#a83b3b;}
.field-error{display:block;min-height:14px;color:#a83b3b;font:400 11px/1.25 var(--sans);}
.selection-submit{width:100%;justify-content:center;margin-top:2px;}
.selection-privacy{color:#8a847e;font:400 10px/1.5 var(--sans);text-align:center;}
.selection-success{text-align:center;padding:18px 0 8px;}
.selection-success-mark{width:62px;height:62px;margin:0 auto 22px;display:grid;place-items:center;border:1px solid #b9894a;border-radius:50%;color:#b9894a;font:400 26px/1 var(--sans);}
.selection-success-close{min-width:180px;height:50px;border:0;background:#1f1c1a;color:#fff;font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
body.selection-modal-open{overflow:hidden;}

.compact-socials-v14 a{border:1px solid rgba(255,255,255,.3);border-radius:50%;transition:opacity .2s,border-color .2s,transform .2s;}
.compact-socials-v14 a:hover{border-color:rgba(255,255,255,.8);transform:translateY(-1px);}
.compact-socials-v14 .max-official-mark{fill:none!important;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;}

@media (min-width:701px) and (max-width:1550px){
  #screenResult .product-match,
  #screenResult .product.featured .product-match{
    top:108px!important;
    left:20px!important;
    right:20px!important;
    justify-content:flex-start;
  }
  #screenResult .product:not(.featured) .product-match{justify-content:center;}
  #screenResult .product-match strong,
  #screenResult .product.featured .product-match strong{font-size:14px!important;}
  #screenResult .product-match span,
  #screenResult .product.featured .product-match span{font-size:10px!important;}
  #screenResult .product-frame .product-img,
  #screenResult .product:not(.featured) .product-frame .product-img{inset:146px 0 0!important;}
}

@media (max-width:700px){
  #screenResult .convenience-grid-v14{grid-template-columns:1fr!important;max-width:520px;}
  #screenResult .product-frame .product-img,
  #screenResult .product:not(.featured) .product-frame .product-img{inset:142px 12px 12px!important;}
  #screenResult .product-match,
  #screenResult .product.featured .product-match{top:108px!important;left:20px!important;right:20px!important;justify-content:flex-start;}
  #screenResult .product-match strong,
  #screenResult .product.featured .product-match strong{font-size:14px!important;}
  #screenResult .product-match span,
  #screenResult .product.featured .product-match span{font-size:10px!important;}
  #screenResult .expert-badge{top:16px!important;left:20px!important;width:80px!important;height:80px!important;}
  #screenResult .repeat-products-section{padding-top:66px!important;}
  #screenResult .convenience-icon-v14{width:50px!important;height:50px!important;}
  #screenResult .repeated-product-grid .product-frame .product-img,
  #screenResult .repeated-product-grid .product:not(.featured) .product-frame .product-img{inset:104px 12px 12px!important;}
  .selection-share-row{padding:25px 0 2px;}
  .selection-share-trigger{font-size:14px;}
  .selection-modal{padding:12px;align-items:end;}
  .selection-modal-dialog{width:100%;max-height:calc(100vh - 24px);padding:45px 24px 32px;}
  .selection-modal h2{font-size:38px;}
}

/* v21: compact repeated cards and reliable centered product actions */
#screenResult .repeated-product-grid .product-match,
#screenResult .repeated-product-grid .product.featured .product-match{
  display:none!important;
}
#screenResult .repeated-product-grid .product-argument,
#screenResult .repeated-product-grid .product.featured .product-argument{
  display:none!important;
}
#screenResult .repeated-product-grid .product-body{
  min-height:132px!important;
  padding:14px 14px 0!important;
}
#screenResult .repeated-product-grid .product-body strong{
  margin-bottom:6px!important;
}
#screenResult .repeated-product-grid .buy-btn{
  margin-top:6px!important;
}
#screenResult .buy-btn{
  gap:0!important;
  text-align:center!important;
  justify-content:center!important;
}
@media (max-width:700px){
  #screenResult .repeated-product-grid .product-body{
    min-height:0!important;
    padding-top:14px!important;
  }
  #screenResult .repeated-product-grid .buy-btn{margin-top:5px!important;}
}

/* ============================================================
   v27: информационная страница из подвала (О нас, Гарантия,
   Доставка, FAQ, Политика ПД). Открывается по ссылкам подвала.
   ============================================================ */
[hidden]{display:none!important}
body.info-page-open{background:#f8f6f2}
.info-page{min-height:100vh;color:#171513;background:#f8f6f2;font-family:var(--sans)}
.info-header{position:sticky;top:0;z-index:30;height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(22px,5vw,84px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(30,25,19,.1)}
.info-back{justify-self:start;display:inline-flex;align-items:center;gap:10px;border:0;background:none;color:#28231f;font:500 13px/1 var(--sans);letter-spacing:.02em;cursor:pointer;padding:10px 0}
.info-back svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.info-logo{display:block;width:190px;height:auto;object-fit:contain}
.info-nav{justify-self:end;display:flex;gap:20px}
.info-nav a{color:#312b26;text-decoration:none;font:500 12px/1.2 var(--sans)}
.info-section{scroll-margin-top:78px;min-height:690px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border-bottom:1px solid rgba(30,25,19,.08)}
.info-section:nth-of-type(even){background:#f5f1eb}
.info-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,8vw,138px) clamp(34px,7vw,120px)}
.info-kicker{margin:0 0 22px;color:#a27639;font:600 11px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.info-title{margin:0;color:#171513;font:400 clamp(46px,5.1vw,82px)/.98 var(--serif)}
.info-rule{width:76px;height:2px;margin:30px 0 38px;background:#b88a49}
.info-copy p{max-width:680px;margin:0 0 22px;color:#34302c;font:400 clamp(16px,1.35vw,21px)/1.62 var(--sans)}
.info-copy p:last-child{margin-bottom:0}
.brand-inline{font-family:var(--serif);font-size:1.16em;font-weight:600;color:#171513}
.info-visual{min-height:690px;overflow:hidden;background:#ece7df}
.info-visual img{width:100%;height:100%;display:block;object-fit:cover}
#info-about .info-visual img{object-position:62% center}
#info-quality .info-visual img{object-position:34% center}
#info-delivery .info-visual img{object-position:58% center}
#info-faq .info-faq-media img{object-position:center}
.info-section.is-reversed .info-copy{order:2}.info-section.is-reversed .info-visual{order:1}
.info-faq{scroll-margin-top:78px;display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:#f7f4ef;border-bottom:1px solid rgba(30,25,19,.08)}
.info-faq-media{min-height:650px}.info-faq-media img{width:100%;height:100%;display:block;object-fit:cover}
.info-faq-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,7vw,110px)}
.info-faq-content .info-title{font-size:clamp(43px,4.7vw,72px)}
.faq-list{margin-top:38px;border-top:1px solid rgba(40,34,28,.22)}
.faq-item{border-bottom:1px solid rgba(40,34,28,.22)}
.faq-question{width:100%;display:grid;grid-template-columns:1fr 24px;gap:20px;align-items:center;padding:25px 0;border:0;background:none;color:#26211d;text-align:left;font:500 clamp(15px,1.25vw,18px)/1.4 var(--sans);cursor:pointer}
.faq-icon{position:relative;width:18px;height:18px;transition:transform .25s ease}.faq-icon:before,.faq-icon:after{content:"";position:absolute;top:8px;left:2px;width:14px;height:1px;background:#4a4037}.faq-icon:after{transform:rotate(90deg)}
.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}
.faq-answer{padding:0 40px 25px 0;color:#625a52;font:400 15px/1.7 var(--sans)}
.faq-answer p{margin:0}
.privacy-section{scroll-margin-top:78px;background:#fff;padding:clamp(76px,9vw,140px) clamp(25px,10vw,180px)}
.privacy-head{max-width:900px;margin:0 auto 60px;text-align:center}.privacy-head .info-rule{margin:28px auto 0}
.privacy-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 60px}
.privacy-card{padding-top:24px;border-top:1px solid rgba(40,34,28,.2)}
.privacy-card h3{margin:0 0 16px;font:400 28px/1.15 var(--serif);color:#211d19}
.privacy-card p,.privacy-card li{color:#504942;font:400 15px/1.7 var(--sans)}.privacy-card p{margin:0 0 13px}.privacy-card ul{margin:5px 0 16px;padding-left:20px}.privacy-card li{margin-bottom:6px}
.privacy-placeholder{display:inline-block;background:#f3eadc;color:#725329;padding:1px 5px;border-radius:2px}
.info-bottom{padding:44px clamp(25px,7vw,110px);background:#211d19;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.info-bottom-return{display:inline-flex!important;align-items:center;gap:10px;font-size:14px!important;opacity:1!important}.info-bottom-return svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.info-bottom-contact{display:flex;align-items:center;gap:18px}.info-bottom-contact-label{font:500 13px/1.3 var(--sans);opacity:.82}.info-bottom-socials{display:flex;align-items:center;gap:10px}.info-bottom-socials a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;transition:opacity .2s,border-color .2s}.info-bottom-socials a:hover{opacity:1;border-color:#fff}.info-bottom-socials svg{width:19px;height:19px;fill:currentColor}.info-bottom-socials .max-official-mark{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.info-bottom a,.info-bottom button{border:0;background:none;padding:0;color:#fff;text-decoration:none;opacity:.78;font:500 12px/1.4 var(--sans);cursor:pointer}
@media(max-width:980px){.info-nav{display:none}.info-section,.info-faq{grid-template-columns:1fr;min-height:0}.info-section.is-reversed .info-copy{order:1}.info-section.is-reversed .info-visual{order:2}.info-copy{padding:70px 8vw}.info-visual,.info-faq-media{min-height:52vw}.info-faq-media{order:2}.info-faq-content{padding:70px 8vw}.privacy-grid{grid-template-columns:1fr}.info-bottom{align-items:flex-start;flex-direction:column}.info-bottom-contact{align-self:stretch;justify-content:space-between}}
@media(max-width:600px){.info-header{height:64px;padding:0 18px}.info-back span{display:none}.info-logo{width:154px}.info-section,.info-faq,.privacy-section{scroll-margin-top:64px}.info-copy,.info-faq-content{padding:52px 22px}.info-title{font-size:43px}.info-rule{margin:22px 0 28px}.info-copy p{font-size:16px}.info-visual,.info-faq-media{min-height:72vw}.info-visual img,.info-faq-media img{object-position:center!important}.faq-question{padding:21px 0}.privacy-section{padding:60px 22px}.privacy-head{text-align:left;margin-bottom:42px}.privacy-head .info-rule{margin:22px 0 0}.privacy-card h3{font-size:25px}.info-bottom{padding:36px 22px}.info-bottom-contact{width:100%;align-items:flex-start;flex-direction:column;gap:14px}.info-bottom-socials a{width:40px;height:40px}}

/* ============================================================
   v28: карточка результата — плашка «X% совпадение» по центру и
   вверху, фото украшения целиком вписано в рамку (desktop + mobile).
   ============================================================ */
/* плашка процентов: по центру, в верхней полосе карточки */
#screenResult .product-match,
#screenResult .product.featured .product-match{
  left:0 !important; right:0 !important;
  top:16px !important;
  padding:0 16px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:baseline !important;
  text-align:center !important;
}
#screenResult .product.featured .product-match{ display:flex !important; }
#screenResult .product.featured .product-match strong{ display:inline !important; margin:0 6px 0 0 !important; }
#screenResult .product.featured .product-match span{ display:inline !important; }
/* бейдж «Выбор эксперта» компактнее и в самом углу */
#screenResult .expert-badge{ width:64px !important; height:64px !important; top:12px !important; left:12px !important; font-size:8px !important; }
#screenResult .expert-badge .star{ font-size:13px !important; }
/* фото целиком видно и вписано в рамку */
#screenResult .product-frame .product-img img,
#screenResult .product-grid.updated .product-img img{
  object-fit:contain !important;
  object-position:center !important;
  width:100% !important; height:100% !important;
  max-width:100% !important; max-height:100% !important;
  padding:0 !important;
}
/* фото-область начинается ниже верхней полосы с плашкой */
#screenResult .product-frame .product-img,
#screenResult .product:not(.featured) .product-frame .product-img{
  inset:52px 14px 14px !important;
}
@media (max-width:700px){
  #screenResult .product-frame{ aspect-ratio:1 / 0.9 !important; }
  #screenResult .product-frame .product-img,
  #screenResult .product:not(.featured) .product-frame .product-img{ inset:50px 14px 14px !important; }
  #screenResult .product-match strong{ font-size:17px !important; }
  #screenResult .product.featured .product-match strong{ font-size:17px !important; color:#171717 !important; }
  #screenResult .product-match span{ font-size:12px !important; }
}

/* ============================================================
   v29: подвал в две колонки — слева навигация, справа Политика ПД
   и «Связаться с нами» с иконками (как в макете).
   ============================================================ */
.footer-privacy-link{color:#fff;text-decoration:none;font:500 13px/1.4 var(--sans);opacity:.82;}
.footer-privacy-link:hover{opacity:1;}
.compact-footer-contact{display:flex;flex-direction:column;gap:22px;align-items:flex-start;}
.compact-socials-v14{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.compact-socials-title-v15{width:auto;}
.compact-socials-row{display:flex;align-items:center;gap:14px;}
@media (max-width:700px){
  .compact-footer-v14{padding:30px 22px;}
  .compact-footer-inner-v14{display:grid!important;grid-template-columns:1fr 1fr;gap:26px 18px;align-items:start;}
  .compact-footer-links-v14{display:flex!important;flex-direction:column;gap:18px;margin-bottom:0!important;}
  .compact-footer-contact{gap:24px;}
  .compact-socials-v14{margin-top:0;flex-wrap:nowrap;}
}

/* ============================================================
   v29: шапка инфо-страницы («О нас» и т.д.) — тех же размеров, что
   и шапка квиза (крупный логотип по центру, та же высота).
   ============================================================ */
.info-header{height:clamp(72px,11vh,90px);}
.info-logo{width:min(250px,68vw);max-width:270px;height:auto;max-height:62px;}
@media(max-width:600px){
  .info-header{height:clamp(72px,11vh,90px);}
  .info-logo{width:min(250px,68vw);max-height:62px;}
}

/* ============================================================
   v30: выдача — заголовок выше, бейдж эксперта компактнее и в углу
   (не перекрывает «X%»).
   ============================================================ */
@media (max-width:700px){
  /* заголовок выше — меньше отступ от шапки */
  #screenResult .result-layout.updated-result{ padding-top:2px !important; }
  #screenResult .result-head.updated{ margin-top:0 !important; }
  #screenResult .result-head.updated h2,
  #screenResult #resultTitle{ margin-top:6px !important; }
}
/* бейдж «Выбор эксперта» — меньше и плотнее в угол, не заходит на «X%» */
#screenResult .expert-badge{
  width:50px !important; height:50px !important;
  top:10px !important; left:10px !important;
  padding:6px !important;
  font-size:7px !important; line-height:1.15 !important;
  gap:1px !important;
}
#screenResult .expert-badge .star{ font-size:11px !important; }

/* ============================================================
   v31: на коротких экранах (≤720px по высоте) шапка экрана отзыва тоже
   64px — как у экранов вопросов/выдачи, чтобы шапка была одного размера
   везде. Размещено в конце, чтобы перебить более раннее правило grid
   для #screenReview.
   ============================================================ */
@media (max-width:700px) and (max-height:720px){
  #screenReview:not(#screenHero):not(#screenResult){
    grid-template-rows:64px auto minmax(0,1fr) !important;
  }
}

/* ============================================================
   v32: десктоп — экран выдачи
   - шапка (логотип / «Назад» / «Закрыть») приведена к тому же виду,
     что и на экранах вопросов (во всю ширину, те же отступы);
   - строка «Отправить подборку себе» поднята, чтобы помещалась на экран;
   - бейдж «Выбор эксперта» немного крупнее;
   - значок машинки соразмерен другим значкам.
   Правки только для десктопа (min-width:901px) — мобилка не затрагивается.
   ============================================================ */
@media (min-width:901px){
  /* шапка выдачи = как на экранах вопросов: логотип стандартного размера,
     а «Назад»/«Закрыть» на тех же местах. Секция выдачи имеет боковые
     отступы 28px — вытягиваем шапку и прогресс на всю ширину, как у вопросов. */
  #screenResult .header{
    width:auto !important; max-width:none !important;
    margin:0 -28px 8px !important;
    padding:8px clamp(22px,4vw,64px) !important;
    grid-template-columns:1fr auto 1fr !important;
    gap:18px !important; align-items:center !important;
  }
  /* прогресс выдачи = как на экранах вопросов: линия во всю ширину, точки
     распределены равномерно (абсолютно), а не сгруппированы справа */
  #screenResult .progress-wrap{
    width:auto !important; max-width:none !important;
    margin:0 -28px 8px !important;
    padding:0 18px !important;
    display:block !important; position:relative !important;
  }
  #screenResult .progress-line{
    flex:none !important; width:100% !important; height:4px !important;
    background:#dedede !important; overflow:visible !important;
  }
  #screenResult .dots{
    position:absolute !important; left:18px !important; right:18px !important;
    top:50% !important; transform:translateY(-50%) !important;
    margin:0 !important; gap:0 !important;
    justify-content:space-between !important; display:flex !important;
    pointer-events:none !important;
  }
  #screenResult .header .brand-logo{
    width:clamp(190px,16vw,270px) !important;
    max-height:66px !important; max-width:none !important;
    height:auto !important; object-fit:contain !important;
  }

  /* бейдж «Выбор эксперта»: на ~10% меньше, ближе к углу, с внутренним
     отступом, чтобы текст «ЭКСПЕРТА» не доходил до края круга */
  #screenResult .expert-badge{
    width:60px !important; height:60px !important;
    top:9px !important; left:9px !important;
    padding:6px !important; font-size:7.2px !important;
    line-height:1.05 !important; letter-spacing:0 !important; gap:1px !important;
  }
  #screenResult .expert-badge .star{ font-size:13px !important; margin-bottom:1px !important; }

  /* значок машинки — крупнее, соразмерно другим значкам */
  .convenience-grid-v14 .convenience-item-v14:first-child .convenience-icon-v14 svg{
    transform:scale(1.12); transform-origin:left center;
  }
}

/* строку «Отправить подборку себе» поднимаем: чуть ниже карточки товара и
   меньше отступ заголовка. Только для нормальных по высоте десктопов (≥761px),
   чтобы не ломать компактный режим для низких экранов. */
@media (min-width:901px) and (min-height:761px){
  #screenResult .result-head.updated{ margin:10px auto 16px !important; }
  #screenResult .product-frame{ aspect-ratio:1 / 0.9 !important; }
}

/* ============================================================
   Фон фото сливается с фоном карточки (#f7f6f4): белый студийный фон
   снимков смешивается с серым фоном рамки через mix-blend-mode:multiply,
   поэтому «подложка» товара становится того же цвета, что и рамка.
   ============================================================ */
#screenResult .product-frame .product-img img,
#screenResult .product-grid.updated .product-img img,
#screenResult .repeated-product-grid .product-img img{
  mix-blend-mode:multiply !important;
}

/* ============================================================
   Плашка «X% совпадение» на рекомендованной карточке: выравниваем по
   левому краю с отступом, чтобы «97%» не заезжало под бейдж «Выбор
   эксперта» (баг был из-за центрирования — на узких карточках текст
   попадал под бейдж). Только десктоп; на мобиле плашка и так под бейджем.
   ============================================================ */
/* примечание «(на основе схожих профилей)» — мельче основного текста, как
   в образце, и это же уменьшает общую ширину строки */
#screenResult .product-match .match-note{ font-size:.82em !important; }

@media (min-width:901px){
  #screenResult .product.featured .product-match{
    justify-content:flex-start !important;
    text-align:left !important;
    padding-left:76px !important;
    padding-right:22px !important;
  }
}

/* ============================================================
   Мобильные (≤700px): у рекомендованной карточки плашку «X% совпадение»
   тоже выравниваем по левому краю с отступом, чтобы бейдж «Выбор эксперта»
   не перекрывал «97%» на узких экранах (iPhone SE / 12 Pro и т.п.).
   Размещено в конце — перебивает более раннее центрирование (v28).
   ============================================================ */
@media (max-width:700px){
  #screenResult .product.featured .product-match{
    justify-content:flex-start !important;
    text-align:left !important;
    padding-left:68px !important;
    padding-right:14px !important;
  }
}

/* ============================================================
   Плашка «X% совпадение»: убрать лишний отступ между «97%» и текстом
   (был 13px: flex-gap 7px + margin-right 6px у strong) — оставляем ~4px.
   ============================================================ */
#screenResult .product-match,
#screenResult .product.featured .product-match{ gap:4px !important; }
#screenResult .product-match strong,
#screenResult .product.featured .product-match strong{ margin-right:0 !important; }

/* Акцентная строка под подзаголовком на главной («Без регистрации и звонков»).
   Это обычный <p> внутри .im-hero-copy — берёт адаптивные правила (мобилка:
   по центру, десктоп: как подзаголовок), добавляем только цвет и насыщенность. */
.im-hero-copy .im-hero-note{ color:var(--im-gold); font-weight:600; }
