:root {
    --bg: #fbf5ee;
    --bg-deep: #f2e7db;
    --card: rgba(255, 255, 255, 0.8);
    --card-strong: rgba(255, 255, 255, 0.94);
    --ink: #1a3854;
    --ink-strong: #132b43;
    --muted: #6a7b8f;
    --accent: #de896d;
    --accent-deep: #c96a4d;
    --sky: #c9dff1;
    --line: rgba(16, 35, 58, 0.11);
    --shadow: 0 24px 54px rgba(16, 35, 58, 0.08);
    --shadow-strong: 0 34px 80px rgba(16, 35, 58, 0.14);
    --display: "Bahnschrift SemiCondensed", "Arial Narrow", "Trebuchet MS", sans-serif;
    --body: "Trebuchet MS", "Segoe UI", sans-serif;
    --serif: "Book Antiqua", "Palatino Linotype", Georgia, serif;
    --mono: Consolas, "Courier New", monospace;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 132px; }

body {
    margin: 0;
    color: var(--ink);
    font-family: var(--body);
    background:
        radial-gradient(circle at 10% 12%, rgba(201, 223, 241, 0.52), transparent 22%),
        radial-gradient(circle at 88% 10%, rgba(244, 227, 211, 0.64), transparent 18%),
        linear-gradient(180deg, #fffaf5 0%, var(--bg) 40%, var(--bg-deep) 100%);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.34;
    background:
        repeating-linear-gradient(0deg, rgba(255,255,255,.34), rgba(255,255,255,.34) 1px, transparent 1px, transparent 30px),
        repeating-linear-gradient(90deg, rgba(16,35,58,.016), rgba(16,35,58,.016) 1px, transparent 1px, transparent 120px);
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .86; }
input::placeholder { color: rgba(96, 112, 133, 0.72); }
:focus-visible { outline: 3px solid rgba(222, 137, 109, 0.2); outline-offset: 3px; }

.page-shell {
    position: relative;
    z-index: 1;
    max-width: 1380px;
    margin: 0 auto;
    padding: 118px 22px 72px;
}

.site-header {
    position: fixed;
    top: 14px;
    left: 50%;
    width: min(calc(100% - 44px), 1336px);
    transform: translateX(-50%);
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 14px 18px;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 999px;
    background: rgba(255, 251, 246, 0.68);
    box-shadow: var(--shadow);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.brand { display: inline-flex; align-items: center; gap: 14px; min-width: 0; }
.brand-logo { display: block; width: 198px; height: auto; flex: 0 0 auto; }
.brand-text small {
    color: var(--muted);
    font: 700 .74rem/1 var(--mono);
    letter-spacing: .16em;
    text-transform: uppercase;
    white-space: nowrap;
}

.site-nav {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 18px;
    color: var(--muted);
    font: 700 .8rem/1 var(--mono);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.site-nav a { position: relative; padding-bottom: 6px; }
.site-nav a::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(132,171,201,.2), var(--accent), rgba(132,171,201,.2));
    transform: scaleX(0);
    transition: transform .18s ease;
}
.site-nav a:hover::after,
.site-nav a:focus-visible::after { transform: scaleX(1); }
.site-nav a:hover,
.site-nav a:focus-visible { color: var(--ink-strong); }

.header-cta,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    transition: transform .18s ease, box-shadow .18s ease;
}

.header-cta,
.button-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--accent), var(--accent-deep));
    box-shadow: 0 18px 34px rgba(217, 100, 64, 0.26);
}

.button-ghost,
.button-secondary {
    color: var(--ink-strong);
    background: rgba(255,255,255,.58);
    box-shadow: inset 0 0 0 1px rgba(16,35,58,.08);
}

.header-cta:hover,
.button:hover,
.header-cta:focus-visible,
.button:focus-visible { transform: translateY(-2px); }

.section { margin-bottom: clamp(72px, 9vw, 124px); }

.hero {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
    gap: clamp(28px, 4.8vw, 76px);
    align-items: center;
    min-height: calc(100vh - 140px);
    padding: 18px 0 8px;
}

.eyebrow,
.section-tag,
.panel-kicker,
.doc-stamp {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.76);
    border-radius: 999px;
    background: rgba(255,255,255,.52);
    color: var(--ink-strong);
    font: 700 .74rem/1 var(--mono);
    letter-spacing: .14em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.section-tag {
    justify-self: start;
    width: max-content;
}

.hero h1,
.section-heading h2,
.quiz-step h3,
.case-copy h3,
.legal-points h3,
.document-sheet h3,
.cta-banner h2,
.faq-list summary {
    margin: 0;
    color: var(--ink-strong);
    font-family: var(--display);
    font-weight: 700;
    letter-spacing: -.05em;
    text-transform: uppercase;
    text-wrap: balance;
}

.hero h1 {
    max-width: 8.8ch;
    margin: 20px 0 22px;
    font-size: clamp(3.65rem, 7vw, 7.35rem);
    line-height: .88;
}

.hero-lead { max-width: 48ch; margin: 0 0 30px; color: var(--muted); font-size: 1.08rem; line-height: 1.76; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 34px; }

.hero-points {
    counter-reset: hero-point;
    display: grid;
    gap: 14px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.hero-points li {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 18px;
    align-items: center;
    padding: 16px 20px 16px 16px;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 999px;
    background: rgba(255,255,255,.64);
    box-shadow: var(--shadow);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.hero-points li:nth-child(2) { transform: translateX(22px); }
.hero-points li:nth-child(3) { transform: translateX(44px); }
.hero-points li::before {
    counter-increment: hero-point;
    content: counter(hero-point);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(180deg, #fff3dc, #ffe6b7);
    color: var(--accent-deep);
    font: 700 1.28rem/1 var(--display);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.76), 0 10px 20px rgba(226, 190, 139, .24);
}

.hero-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr);
    gap: 18px;
    align-content: end;
    min-height: 720px;
    padding: 28px;
    padding-top: clamp(360px, 40vw, 422px);
    border: 14px solid rgba(255,255,255,.76);
    border-radius: 42% 42% 30% 30% / 34% 34% 24% 24%;
    background: linear-gradient(180deg, rgba(255,255,255,.62), rgba(250,244,236,.78));
    box-shadow: var(--shadow-strong);
    overflow: hidden;
}

.hero-panel::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(255,255,255,.62);
    border-radius: inherit;
}

.hero-panel::after {
    content: "";
    position: absolute;
    inset: 18px 18px auto;
    height: clamp(312px, 34vw, 372px);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255,250,246,.18), rgba(246,236,226,.08) 34%, rgba(239,224,210,.16) 100%),
        radial-gradient(circle at 18% 16%, rgba(255,255,255,.38), rgba(255,255,255,0) 18%),
        url("extra-large_original_Kak_poluchit_vizu_v_S_Sh_A_8c9c27abb7.png");
    background-position: center, center, 52% 50%;
    background-repeat: no-repeat;
    background-size: auto, auto, cover;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.58);
}

.panel-card {
    position: relative;
    z-index: 1;
    border: 1px solid rgba(255,255,255,.9);
    background: rgba(255,255,255,.78);
    box-shadow: 0 22px 44px rgba(16,35,58,.11);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.panel-highlight {
    align-self: stretch;
    max-width: none;
    padding: 24px;
    border-radius: 30px;
}

.panel-highlight strong {
    display: block;
    margin-top: 12px;
    font: 700 clamp(3.2rem, 5vw, 4.6rem)/.9 var(--display);
    letter-spacing: -.06em;
    color: var(--ink-strong);
}

.panel-highlight p,
.panel-grid p,
.section-heading p,
.case-copy p,
.legal-points p,
.document-sheet p,
.faq-list p,
.cta-banner p { color: var(--muted); line-height: 1.72; }

.panel-grid {
    align-self: stretch;
    width: 100%;
    padding: 14px 22px;
    border-radius: 32px;
}

.panel-grid article {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 14px;
    padding: 16px 0;
    border-top: 1px solid rgba(16,35,58,.09);
}

.panel-grid article:first-child { padding-top: 4px; border-top: 0; }
.panel-grid span,
.metric-card strong {
    display: block;
    color: var(--ink-strong);
    font: 700 clamp(2rem, 4vw, 2.8rem)/.9 var(--display);
    letter-spacing: -.06em;
}

.section-heading {
    display: grid;
    gap: 14px;
    max-width: 810px;
    margin-bottom: 34px;
}

.section-heading::after {
    content: "";
    width: 148px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent), rgba(166, 197, 223, .24));
}

.section-heading h2 { font-size: clamp(2.7rem, 5.6vw, 4.8rem); line-height: .92; }
.section-heading p { max-width: 58ch; margin: 0; }

.section-proof .section-heading {
    max-width: none;
}

.section-proof .section-heading h2 {
    font-size: clamp(2.4rem, 4.7vw, 4.25rem);
    max-width: none;
}

.section-proof .section-heading h2 span {
    display: block;
    white-space: nowrap;
}

.section-cases .section-heading h2 {
    max-width: none;
}

.section-cases .section-heading h2 span {
    display: block;
    white-space: nowrap;
}

.section-legal .section-heading h2 span,
.cta-banner h2 span {
    display: block;
    white-space: nowrap;
}

.quiz-layout,
.legal-layout {
    display: grid;
    gap: 24px;
    align-items: start;
}

.quiz-layout { grid-template-columns: minmax(280px, .42fr) minmax(0, .58fr); }
.legal-layout { grid-template-columns: minmax(0, 1.06fr) minmax(280px, .94fr); }

.quiz-box,
.quiz-sidecard,
.metric-card,
.case-card,
.document-preview,
.legal-points article,
.faq-list details,
.cta-banner {
    position: relative;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 38px;
    background: var(--card);
    box-shadow: var(--shadow);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.quiz-box { padding: 34px clamp(20px, 4vw, 40px); overflow: hidden; }
.quiz-box::before,
.quiz-sidecard::before,
.metric-card::before,
.document-preview::before {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201,223,241,.86), rgba(201,223,241,0) 72%);
}

.quiz-box::before { display: none; }
.quiz-sidecard { padding: 32px; overflow: hidden; }
.quiz-sidecard::before { top: -40px; right: -12px; width: 210px; height: 210px; }
.metric-card::before { top: -56px; right: -26px; width: 170px; height: 170px; }
.document-preview::before { top: -26px; right: -22px; width: 180px; height: 180px; }

.quiz-progress { display: grid; gap: 10px; margin-bottom: 24px; }
.quiz-progress-label,
.sidecard-quote span,
.field span,
.company-data dt {
    color: var(--muted);
    font: 700 .74rem/1 var(--mono);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.quiz-progress-bar { height: 8px; border-radius: 999px; background: rgba(16,35,58,.08); overflow: hidden; }
.quiz-progress-bar span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #9dc1dd, var(--accent)); transition: width .3s ease; }
.quiz-step { display: none; }
.quiz-step.is-active { display: block; }
.quiz-step h3 { margin-bottom: 22px; font-size: clamp(2rem, 4vw, 3rem); line-height: .94; }

.option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.option-card {
    position: relative;
    min-height: 84px;
    padding: 18px 20px 18px 60px;
    color: var(--ink-strong);
    text-align: left;
    border: 1px solid rgba(16,35,58,.11);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(253,249,244,.9));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.76);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.option-card::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 20px;
    width: 24px;
    height: 24px;
    border: 1px solid rgba(16,35,58,.12);
    border-radius: 50%;
    background: linear-gradient(180deg, #fffefb, #f5efe8);
    transform: translateY(-50%);
}

.option-card:hover,
.option-card:focus-visible { transform: translateY(-2px); border-color: rgba(222,137,109,.24); box-shadow: 0 18px 30px rgba(16,35,58,.08); }
.option-card.is-selected { border-color: rgba(222,137,109,.42); background: linear-gradient(180deg, rgba(255,250,246,.98), rgba(255,255,255,.94)); box-shadow: 0 20px 32px rgba(222,137,109,.12); }
.option-card.is-selected::before { border-color: rgba(222,137,109,.36); background: radial-gradient(circle at center, var(--accent) 0 32%, #fffaf5 34% 100%); }
.option-card-wide { grid-column: 1 / -1; }

.quiz-result-text { max-width: 36ch; margin: 0 0 18px; color: var(--muted); line-height: 1.72; }
.accent { color: var(--accent); }
.field { display: grid; gap: 8px; margin-top: 16px; }
.field input[type="tel"],
.field input[type="text"] {
    width: 100%;
    min-height: 60px;
    padding: 0 18px;
    color: var(--ink-strong);
    border: 1px solid rgba(16,35,58,.12);
    border-radius: 20px;
    background: rgba(255,255,255,.9);
}
.checkbox-field { display: flex; gap: 12px; margin-top: 18px; color: var(--muted); line-height: 1.56; }
.checkbox-field input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--accent); }
.quiz-submit { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.button-wide { min-width: 320px; }
.form-note,
.form-status { margin: 14px 0 0; color: var(--muted); line-height: 1.58; }
.form-status.is-error { color: #b83c28; }
.form-status.is-success { color: #2f6b4d; }

.sidecard-quote p { max-width: 40ch; margin: 0; color: var(--ink-strong); font: clamp(1.26rem, 2.2vw, 1.72rem)/1.3 var(--serif); }
.sidecard-list { display: grid; gap: 16px; margin-top: 34px; }
.sidecard-list div { padding-top: 16px; border-top: 1px solid rgba(16,35,58,.11); }
.sidecard-list strong { display: block; margin-bottom: 6px; color: var(--ink-strong); font: 700 1.32rem/1 var(--display); }

.proof-grid,
.cases-grid { display: grid; gap: 22px; align-items: stretch; }
.proof-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cases-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

.metric-card { display: flex; flex-direction: column; min-height: 252px; height: 100%; padding: 28px; overflow: hidden; }
.metric-card p { position: relative; max-width: 22ch; margin: 14px 0 0; }

.metric-card-photo {
    display: grid;
    grid-template-rows: auto auto 1fr;
    align-content: start;
    padding: 18px;
}

.metric-card-photo::before {
    display: none;
}

.metric-photo {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
    object-position: center;
    border-radius: 28px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.metric-card-photo p {
    max-width: none;
    margin: 10px 10px 6px;
}

.metric-card-photo strong {
    margin: 18px 10px 0;
    font-size: clamp(2.3rem, 3.6vw, 3.2rem);
}

.case-card {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 16px;
    height: 100%;
    padding: 20px;
    overflow: hidden;
}
.case-card:first-child { grid-row: auto; }
.case-card:first-child .passport-shot { min-height: 220px; }
.case-card:first-child .case-photo { height: 220px; }

.case-photo {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    border-radius: 26px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.passport-shot {
    position: relative;
    min-height: 220px;
    border-radius: 26px;
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,.84), rgba(255,255,255,0) 16%),
        linear-gradient(180deg, #cfe2f2 0%, #edf4fa 34%, #f8ecdf 56%, #efcfb2 82%, #e1c0aa 100%);
}

.passport-shot::before {
    content: "";
    position: absolute;
    inset: 18% 16%;
    border-radius: 26px;
    background:
        linear-gradient(90deg, rgba(16,35,58,.08) 0 28%, transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,241,232,.84));
    box-shadow: 0 22px 42px rgba(16,35,58,.16);
}

.passport-shot::after {
    content: "";
    position: absolute;
    left: 28%;
    right: 22%;
    top: 42%;
    height: 22%;
    border-radius: 16px;
    background: repeating-linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.9) 10px, rgba(16,35,58,.08) 10px, rgba(16,35,58,.08) 18px);
}

.passport-shot span,
.passport-shot small { position: absolute; left: 30px; z-index: 1; }
.passport-shot span { top: 22px; color: var(--ink-strong); font: 700 clamp(1.4rem, 2vw, 2rem)/1 var(--display); letter-spacing: -.05em; }
.passport-shot small { top: 54px; color: rgba(16,35,58,.7); font: 700 .68rem/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.passport-shot-us { background: radial-gradient(circle at 18% 18%, rgba(255,255,255,.84), rgba(255,255,255,0) 18%), linear-gradient(180deg, #c8dff1 0%, #edf4fa 34%, #f6e8dd 58%, #ebc7aa 86%, #dcc0b0 100%); }
.passport-shot-eu { background: radial-gradient(circle at 22% 16%, rgba(255,255,255,.82), rgba(255,255,255,0) 18%), linear-gradient(180deg, #d1e3f2 0%, #f0f6fb 32%, #f8ecdf 56%, #efd0b0 82%, #e2c5b0 100%); }
.passport-shot-ca { background: radial-gradient(circle at 22% 14%, rgba(255,255,255,.82), rgba(255,255,255,0) 18%), linear-gradient(180deg, #cbdef0 0%, #eef5fa 35%, #f7e7da 56%, #edcab0 82%, #dfc1af 100%); }

.case-copy {
    display: grid;
    align-content: start;
    gap: 10px;
}

.case-copy h3 {
    font-size: clamp(1.12rem, 1.55vw, 1.56rem);
    line-height: .98;
    text-wrap: balance;
}

.case-copy p {
    max-width: none;
    margin: 0;
    font-size: .98rem;
    line-height: 1.62;
}

.document-preview { padding: 30px; overflow: hidden; }
.document-sheet {
    position: relative;
    padding: 34px;
    border: 1px solid rgba(16,35,58,.08);
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,244,236,.94));
    box-shadow: 0 22px 44px rgba(16,35,58,.08);
    transform: rotate(-2deg);
}

.document-sheet h3 { margin: 18px 0 22px; font-size: clamp(2rem, 4vw, 3rem); line-height: .96; }
.company-data { display: grid; gap: 0; margin: 0 0 22px; }
.company-data div { display: grid; grid-template-columns: 108px 1fr; gap: 18px; padding: 14px 0; border-top: 1px solid rgba(16,35,58,.1); }
.company-data div:first-child { border-top: 0; padding-top: 0; }
.company-data dd { margin: 0; color: var(--ink-strong); font-weight: 700; overflow-wrap: anywhere; }
.legal-points { display: grid; gap: 18px; }
.legal-points article { padding: 28px; }
.legal-points h3 { margin-bottom: 10px; font-size: 1.78rem; line-height: .98; }
.legal-points p { max-width: 30ch; margin: 0; }

.faq-list { display: grid; gap: 12px; }
.faq-list details { padding: 0 26px; overflow: hidden; }
.faq-list summary {
    position: relative;
    padding: 26px 56px 26px 0;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    line-height: 1;
    list-style: none;
    cursor: pointer;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.72);
    color: var(--ink-strong);
    font: 700 1.5rem/1 var(--display);
    transform: translateY(-50%);
    box-shadow: inset 0 0 0 1px rgba(16,35,58,.08);
}
.faq-list details[open] summary::after { content: "–"; color: var(--accent-deep); background: rgba(255,244,236,.94); }
.faq-list p { max-width: 64ch; margin: 0 0 24px; }

.cta-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: clamp(30px, 4vw, 46px);
    background:
        radial-gradient(circle at 92% 20%, rgba(201,223,241,.82), rgba(201,223,241,0) 24%),
        linear-gradient(120deg, rgba(255,255,255,.92), rgba(245,249,252,.9) 42%, rgba(251,240,230,.94) 100%);
}

.cta-banner h2 { max-width: 12ch; margin: 10px 0 12px; font-size: clamp(2.4rem, 4.4vw, 4.2rem); line-height: .94; }
.cta-banner p { max-width: none; margin: 0; white-space: nowrap; }

.thanks-main {
    display: grid;
    align-items: center;
    min-height: calc(100vh - 180px);
}

.thanks-section { margin-bottom: 0; }

.thanks-card {
    position: relative;
    overflow: hidden;
    padding: clamp(30px, 5vw, 56px);
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 42px;
    background:
        radial-gradient(circle at 88% 18%, rgba(201,223,241,.82), rgba(201,223,241,0) 24%),
        radial-gradient(circle at 12% 82%, rgba(251,228,210,.76), rgba(251,228,210,0) 22%),
        var(--card);
    box-shadow: var(--shadow);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.thanks-card::before {
    content: "";
    position: absolute;
    inset: 22px;
    border-radius: 32px;
    border: 1px solid rgba(255,255,255,.46);
    pointer-events: none;
}

.thanks-card h1 {
    max-width: 8ch;
    margin: 18px 0 16px;
    color: var(--ink-strong);
    font: 700 clamp(3rem, 6.8vw, 6.4rem)/.88 var(--display);
    letter-spacing: -.05em;
    text-transform: uppercase;
}

.thanks-lead {
    max-width: 44ch;
    margin: 0;
    color: var(--muted);
    font-size: 1.08rem;
    line-height: 1.76;
}

.thanks-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.thanks-item {
    padding: 24px;
    border: 1px solid rgba(255,255,255,.76);
    border-radius: 30px;
    background: rgba(255,255,255,.62);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.thanks-item strong {
    display: block;
    margin-bottom: 10px;
    color: var(--ink-strong);
    font: 700 1.48rem/1 var(--display);
    letter-spacing: -.04em;
    text-transform: uppercase;
}

.thanks-item p {
    margin: 0;
    color: var(--muted);
    line-height: 1.68;
}

.thanks-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

@media (max-width: 1180px) {
    .site-nav { display: none; }
    .hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .hero h1 { max-width: 10ch; }
    .hero-points li:nth-child(2),
    .hero-points li:nth-child(3),
    .metric-card:nth-child(2),
    .metric-card:nth-child(3) { transform: none; }
    .hero-panel {
        min-height: 660px;
        padding-top: clamp(320px, 44vw, 382px);
    }
    .quiz-layout,
    .legal-layout,
    .cta-banner { grid-template-columns: minmax(0, 1fr); }
    .thanks-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .quiz-sidecard { order: -1; }
    .proof-grid,
    .cases-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .case-card:first-child { grid-row: auto; grid-column: auto; }
}

@media (max-width: 820px) {
    .page-shell { padding-top: 132px; }
    .site-header { flex-wrap: wrap; justify-content: center; padding: 16px; border-radius: 26px; width: calc(100% - 28px); }
    .brand { width: 100%; justify-content: center; }
    .brand-text { display: none; }
    .header-cta { width: 100%; }
    .thanks-main { min-height: 0; }
    .thanks-grid { grid-template-columns: minmax(0, 1fr); }
    .thanks-card h1 { max-width: none; }
    .cta-banner p { white-space: normal; }
    .hero h1 { font-size: clamp(3rem, 14vw, 5rem); }
    .hero-points li { grid-template-columns: 60px 1fr; border-radius: 28px; }
    .hero-panel {
        grid-template-columns: minmax(0, 1fr);
        min-height: 580px;
        padding: 18px;
        padding-top: 300px;
        border-width: 10px;
    }
    .hero-panel::after {
        inset: 16px 16px auto;
        height: 248px;
        background-position: center, center, 54% 50%;
    }
    .panel-card { width: 100%; max-width: none; }
    .panel-grid { padding: 12px 18px; }
    .panel-grid article { grid-template-columns: 70px 1fr; }
    .option-grid,
    .proof-grid,
    .cases-grid { grid-template-columns: minmax(0, 1fr); }
    .case-card:first-child { grid-column: auto; }
}

@media (max-width: 560px) {
    .page-shell { padding: 124px 14px 54px; }
    .site-header { gap: 14px; top: 10px; }
    .brand-logo { width: min(188px, 72vw); }
    .hero { gap: 22px; padding-top: 8px; }
    .hero-lead { font-size: 1rem; }
    .hero-points li { grid-template-columns: 52px 1fr; gap: 14px; padding: 14px; border-radius: 24px; }
    .hero-points li::before { width: 46px; height: 46px; font-size: 1.12rem; }
    .hero-panel {
        min-height: 520px;
        padding-top: 244px;
        border-radius: 38px;
    }
    .hero-panel::after {
        inset: 14px 14px auto;
        height: 192px;
        border-radius: 28px;
        background-position: center, center, 58% 50%;
    }
    .panel-highlight,
    .panel-grid,
    .quiz-box,
    .quiz-sidecard,
    .metric-card,
    .case-card,
    .document-preview,
    .legal-points article,
    .faq-list details,
    .cta-banner,
    .thanks-card,
    .thanks-item { border-radius: 26px; }
    .quiz-box,
    .quiz-sidecard,
    .metric-card,
    .case-card,
    .document-preview,
    .legal-points article,
    .cta-banner,
    .thanks-card { padding-left: 20px; padding-right: 20px; }
    .document-sheet { padding: 24px; transform: none; }
    .company-data div { grid-template-columns: 1fr; gap: 8px; }
    .option-card { min-height: 76px; padding-left: 56px; }
    .button,
    .header-cta { width: 100%; }
    .button-wide { min-width: 0; }
    .quiz-submit { flex-direction: column; }
    .faq-list details { padding-left: 20px; padding-right: 20px; }
}

@media (max-width: 820px) {
    .section-cases .section-heading h2 span,
    .section-proof .section-heading h2 span,
    .section-legal .section-heading h2 span,
    .cta-banner h2 span {
        white-space: normal;
    }
}
