:root {
    --blue-950: #08254a;
    --blue-900: #0a356b;
    --blue-800: #0b4da2;
    --blue-700: #1261c9;
    --blue-600: #2176df;
    --blue-500: #3d8ff0;
    --blue-200: #cfe5ff;
    --blue-100: #e8f3ff;
    --blue-50: #f4f9ff;
    --cyan-100: #e7f8fb;
    --ink: #10243d;
    --muted: #60728a;
    --soft: #8997a9;
    --line: #dce6f1;
    --surface: #ffffff;
    --surface-alt: #f7faff;
    --success: #12805c;
    --success-bg: #eaf9f3;
    --warning: #a76113;
    --warning-bg: #fff6e8;
    --danger: #bd3b45;
    --danger-bg: #fff0f2;
    --shadow-sm: 0 6px 24px rgba(10, 53, 107, .07);
    --shadow-md: 0 20px 60px rgba(10, 53, 107, .12);
    --radius-sm: 12px;
    --radius: 20px;
    --radius-lg: 30px;
    --shell: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--blue-950); line-height: 1.13; letter-spacing: -.025em; }
h1 { font-size: clamp(2.65rem, 5.7vw, 5.3rem); }
h2 { font-size: clamp(2rem, 3.7vw, 3.35rem); }
h3 { font-size: 1.25rem; }
p { color: var(--muted); }

:focus-visible { outline: 3px solid rgba(33, 118, 223, .35); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 999; top: 12px; left: 12px; transform: translateY(-150%); padding: 10px 16px; border-radius: 10px; background: var(--blue-950); color: #fff; }
.skip-link:focus { transform: translateY(0); }
.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.narrow { max-width: 760px; }
.narrow-wide { max-width: 960px; }
.centered { text-align: center; }
.muted { color: var(--muted); }

.site-header { position: relative; z-index: 20; border-bottom: 1px solid rgba(220,230,241,.8); background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.header-inner { display: flex; align-items: center; min-height: 76px; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--blue-950); font-size: 1.06rem; font-weight: 760; letter-spacing: -.02em; }
.brand-mark { display: inline-flex; position: relative; width: 38px; height: 28px; align-items: end; }
.brand-mark span { position: absolute; bottom: 2px; width: 27px; height: 17px; border: 3px solid var(--blue-700); border-radius: 9px 9px 5px 5px; background: #fff; }
.brand-mark span:first-child { left: 0; transform: rotate(-5deg); }
.brand-mark span:last-child { right: 0; transform: rotate(5deg); border-color: var(--blue-500); }
.main-nav { display: flex; gap: 28px; margin-left: auto; }
.main-nav a { color: #405671; font-size: .94rem; font-weight: 650; }
.main-nav a:hover { color: var(--blue-700); }
.header-cta { margin-left: 8px; }

.button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 11px 22px;
    border: 1px solid var(--blue-700);
    border-radius: 13px;
    background: linear-gradient(135deg, var(--blue-700), var(--blue-800));
    box-shadow: 0 9px 22px rgba(11,77,162,.17);
    color: #fff;
    cursor: pointer;
    font-weight: 740;
    line-height: 1.2;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 13px 28px rgba(11,77,162,.23); }
.button-small { min-height: 42px; padding: 9px 17px; border-radius: 11px; font-size: .9rem; }
.button-large { min-height: 58px; padding: 15px 27px; border-radius: 15px; }
.button-full { width: 100%; }
.button-secondary { border-color: var(--line); background: #fff; box-shadow: none; color: var(--blue-900); }
.button-secondary:hover { border-color: var(--blue-300, #a8cffb); background: var(--blue-50); box-shadow: none; }
.button-white { border-color: #fff; background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.16); color: var(--blue-900); }
.button-disabled { border-color: #c9d4df; background: #e8eef4; box-shadow: none; color: #6e7c8a; cursor: not-allowed; }
.button:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.text-link { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; color: var(--blue-700); cursor: pointer; font-weight: 750; text-decoration: underline; text-decoration-color: rgba(18,97,201,.25); text-underline-offset: 5px; }
.text-link:hover { color: var(--blue-900); text-decoration-color: currentColor; }

.hero { overflow: hidden; position: relative; background: radial-gradient(circle at 78% 28%, #dff0ff 0, rgba(223,240,255,.2) 24%, transparent 44%), linear-gradient(180deg,#f7fbff,#fff); }
.hero::before { content: ""; position: absolute; width: 520px; height: 520px; top: -310px; left: -190px; border: 1px solid rgba(61,143,240,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(61,143,240,.025), 0 0 0 140px rgba(61,143,240,.02); }
.hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 80px; align-items: center; min-height: 690px; padding-block: 80px; }
.hero-copy { position: relative; z-index: 1; }
.eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; color: var(--blue-700); font-size: .76rem; font-weight: 820; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow { padding: 8px 13px; border: 1px solid var(--blue-200); border-radius: 999px; background: rgba(255,255,255,.78); letter-spacing: .07em; text-transform: none; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px rgba(18,128,92,.1); }
.hero h1 { max-width: 710px; margin-bottom: 24px; }
.hero h1::after { content: ""; display: block; width: 80px; height: 6px; margin-top: 23px; border-radius: 99px; background: linear-gradient(90deg,var(--blue-700),#77b9ff); }
.hero-lead { max-width: 660px; margin-bottom: 31px; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.72; }
.hero-actions { display: flex; align-items: center; gap: 26px; }
.trust-line { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 29px; color: #60728a; font-size: .85rem; font-weight: 570; }
.trust-icon { display: inline-grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: var(--success-bg); color: var(--success); font-weight: 900; }
.trust-separator { width: 4px; height: 4px; border-radius: 50%; background: #aab7c5; }

.hero-card { position: relative; padding: 30px; border: 1px solid rgba(182,211,243,.85); border-radius: var(--radius-lg); background: rgba(255,255,255,.9); box-shadow: var(--shadow-md); transform: rotate(1.2deg); }
.hero-card::before { content: ""; position: absolute; inset: -13px 18px 13px -18px; z-index: -1; border: 1px solid rgba(116,174,237,.22); border-radius: var(--radius-lg); transform: rotate(-3deg); }
.hero-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.mini-label { color: var(--blue-700); font-size: .75rem; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }
.mini-score { padding: 5px 9px; border-radius: 99px; background: var(--blue-100); color: var(--blue-800); font-size: .73rem; font-weight: 750; }
.hero-card h2 { margin-bottom: 26px; font-size: 1.55rem; }
.profile-preview { display: grid; gap: 15px; }
.profile-preview div { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; align-items: center; font-size: .84rem; }
.profile-preview span { color: #53677f; font-weight: 640; }
.profile-preview b { color: var(--blue-900); }
.profile-preview i { grid-column: 1 / -1; overflow: hidden; height: 8px; border-radius: 99px; background: #e8eff7; }
.profile-preview i::after { content: ""; display: block; width: var(--value); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue-500),var(--blue-700)); }
.match-preview { display: flex; align-items: center; gap: 12px; margin-top: 26px; padding: 14px 16px; border-radius: 14px; background: var(--success-bg); color: #26715a; font-size: .87rem; font-weight: 730; }
.match-badge { display: inline-flex; padding: 5px 8px; border-radius: 8px; background: #fff; color: var(--success); font-weight: 850; }
.demo-caption { margin: 16px 0 0; color: var(--soft); font-size: .72rem; text-align: center; }

.section { padding-block: 100px; }
.section-light { background: var(--surface-alt); }
.section-heading { max-width: 780px; margin: 0 auto 52px; }
.section-heading h2, .split-heading h2 { margin-bottom: 18px; }
.section-heading p, .split-heading p { font-size: 1.04rem; line-height: 1.75; }
.steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.step-card { position: relative; min-height: 295px; padding: 31px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.step-card.featured { border-color: #a8cffb; box-shadow: 0 16px 45px rgba(18,97,201,.12); }
.step-number { position: absolute; top: 23px; right: 26px; color: #c7d5e4; font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.step-icon { display: grid; width: 52px; height: 52px; margin-bottom: 27px; place-items: center; border-radius: 15px; background: var(--blue-100); color: var(--blue-700); font-size: 1.5rem; font-weight: 800; }
.step-card.featured .step-icon { background: linear-gradient(145deg,var(--blue-700),var(--blue-500)); color: #fff; }
.step-card h3 { margin-bottom: 13px; }
.step-card p { margin-bottom: 0; font-size: .94rem; line-height: 1.72; }

.split-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.split-heading p { margin-bottom: 5px; }
.dimension-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.dimension-grid article { min-height: 215px; padding: 28px 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; transition: background .2s ease, transform .2s ease; }
.dimension-grid article:hover { z-index: 1; background: var(--blue-50); transform: translateY(-3px); }
.dimension-grid article > span { display: block; margin-bottom: 29px; color: var(--blue-500); font-size: .73rem; font-weight: 850; letter-spacing: .12em; }
.dimension-grid h3 { margin-bottom: 9px; font-size: 1.08rem; }
.dimension-grid p { margin: 0; font-size: .86rem; line-height: 1.65; }

.research-section { padding-top: 20px; }
.research-card { display: grid; grid-template-columns: 110px 1fr; gap: 38px; padding: 53px 58px; border: 1px solid #bddafd; border-radius: var(--radius-lg); background: linear-gradient(135deg,#f5faff,#eaf5ff); }
.research-badge { display: grid; width: 92px; height: 92px; place-items: center; border: 1px solid #b6d7fb; border-radius: 25px; background: rgba(255,255,255,.8); color: var(--blue-700); font-family: Georgia, serif; font-size: 2.3rem; font-weight: bold; box-shadow: var(--shadow-sm); }
.research-card h2 { max-width: 760px; margin-bottom: 17px; font-size: clamp(1.8rem,3vw,2.7rem); }
.research-card p { max-width: 840px; margin-bottom: 22px; line-height: 1.75; }

.faq-section { padding-top: 80px; }
.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.faq-intro { position: sticky; top: 35px; align-self: start; }
.faq-intro h2 { margin-bottom: 16px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 2px; color: var(--blue-950); cursor: pointer; font-weight: 730; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--blue-100); color: var(--blue-700); font-size: 1.2rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { padding: 0 42px 24px 2px; margin: 0; line-height: 1.75; }

.final-cta { padding-block: 72px; background: linear-gradient(125deg,var(--blue-950),var(--blue-700)); }
.final-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 70px; }
.final-cta h2 { max-width: 760px; margin-bottom: 14px; color: #fff; }
.final-cta p { margin-bottom: 0; color: #cfe3fc; }
.section-kicker.light { color: #a8d4ff; }

.knowledge-section { padding-top: 75px; background: var(--surface-alt); }
.knowledge-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.knowledge-copy h2 { max-width: 680px; margin-bottom: 19px; }
.knowledge-copy > p { max-width: 690px; font-size: 1.02rem; line-height: 1.78; }
.knowledge-actions { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.knowledge-numbers { display: grid; gap: 13px; }
.knowledge-numbers article { display: grid; grid-template-columns: 95px 1fr; align-items: center; min-height: 105px; padding: 20px 25px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.knowledge-numbers strong { color: var(--blue-800); font-size: 2.45rem; line-height: 1; }
.knowledge-numbers span { color: #536a83; font-size: .9rem; font-weight: 650; line-height: 1.45; }

.site-footer { padding: 0 0 26px; background: #071c35; color: #d9e7f7; }
.book-promotion { padding: 54px 0 56px; border-bottom: 1px solid rgba(194,217,242,.1); }
.book-promotion-inner { position: relative; isolation: isolate; display: grid; grid-template-columns: 230px minmax(0,1fr) auto; align-items: center; gap: 38px; overflow: hidden; padding: 32px 34px 32px 22px; border: 1px solid rgba(255,216,69,.45); border-radius: 26px; background: radial-gradient(circle at 9% 18%,rgba(255,255,255,.62),transparent 25%),linear-gradient(118deg,#f7cf2f,#ffe78a); color: #171717; box-shadow: 0 24px 65px rgba(0,0,0,.24); }
.book-promotion-inner::after { position: absolute; z-index: -1; right: -90px; bottom: -145px; width: 330px; height: 330px; border: 1px solid rgba(88,73,0,.12); border-radius: 50%; content: ""; }
.book-cover { position: relative; width: 220px; height: 230px; overflow: hidden; justify-self: center; }
.book-cover img { display: block; width: auto; max-width: none; height: 100%; }
.book-promotion-label { display: inline-flex; margin-bottom: 10px; padding: 5px 9px; border-radius: 999px; background: rgba(17,17,17,.09); color: #493c00; font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.book-promotion-copy h2 { max-width: 680px; margin-bottom: 11px; color: #111; font-size: clamp(1.5rem,2.5vw,2.2rem); line-height: 1.14; }
.book-promotion-copy p { max-width: 720px; margin-bottom: 12px; color: #3c3514; font-size: .92rem; line-height: 1.68; }
.book-promotion-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.book-promotion-facts span { padding: 5px 9px; border: 1px solid rgba(64,51,0,.16); border-radius: 8px; color: #4e430f; font-size: .69rem; font-weight: 750; }
.book-promotion-copy > small { display: block; max-width: 750px; color: #655b2d; font-size: .68rem; line-height: 1.55; }
.book-promotion-cta { min-height: 50px; border-color: #111; background: #111; color: #fff; white-space: nowrap; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.book-promotion-cta:hover { border-color: #262626; background: #262626; transform: translateY(-2px); }
.footer-grid { display: grid; grid-template-columns: minmax(250px,1.35fr) minmax(155px,.78fr) minmax(165px,.82fr) minmax(220px,1fr); gap: 48px; align-items: start; padding: 56px 0 46px; }
.brand-footer { color: #fff; }
.brand-footer .brand-mark span { background: #071c35; }
.footer-intro h2 { max-width: 390px; margin: 22px 0 11px; color: #fff; font-size: 1.06rem; line-height: 1.45; }
.footer-note { max-width: 420px; margin: 0; color: #91a7c1; font-size: .83rem; line-height: 1.68; }
.footer-trust { display: inline-grid; grid-template-columns: 32px 1fr; align-items: center; gap: 10px; margin-top: 20px; padding: 10px 13px; border: 1px solid rgba(135,213,180,.25); border-radius: 12px; background: rgba(18,128,92,.1); color: #d9f8ea; text-decoration: none; }
.footer-trust > span:first-child { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #12805c; color: #fff; font-weight: 900; }
.footer-trust strong,.footer-trust small { display: block; }
.footer-trust strong { font-size: .79rem; }
.footer-trust small { margin-top: 1px; color: #8eb7aa; font-size: .65rem; }
.footer-nav-group { display: grid; align-content: start; gap: 11px; }
.footer-nav-group h2,.footer-company h2 { margin: 2px 0 8px; color: #fff; font-size: .73rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.footer-nav-group a { color: #aac0d9; font-size: .83rem; line-height: 1.4; text-decoration: none; transition: color .18s ease,transform .18s ease; }
.footer-nav-group a:hover { color: #fff; transform: translateX(3px); }
.footer-company address { display: grid; gap: 7px; color: #91a7c1; font-size: .81rem; font-style: normal; line-height: 1.48; }
.footer-company address strong { margin-bottom: 3px; color: #e7f1fb; font-size: .85rem; line-height: 1.45; }
.footer-company address a { width: fit-content; color: #bdd5ec; text-decoration: none; }
.footer-company address a:hover,.footer-company-link:hover { color: #fff; }
.footer-company-link { display: inline-flex; gap: 7px; margin-top: 17px; color: #8fc3f7; font-size: .78rem; font-weight: 750; text-decoration: none; }
.footer-disclaimer { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 18px 20px; border: 1px solid rgba(194,217,242,.12); border-radius: 15px; background: rgba(255,255,255,.035); }
.footer-disclaimer-icon { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(168,212,255,.3); border-radius: 50%; color: #a8d4ff; font-family: Georgia,serif; font-weight: 800; }
.footer-disclaimer strong { display: block; margin-bottom: 2px; color: #dceaf8; font-size: .78rem; }
.footer-disclaimer p { margin: 0; color: #7f9ab7; font-size: .72rem; line-height: 1.55; }
.footer-disclaimer a { color: #a8d4ff; font-size: .76rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.footer-disclaimer a:hover { color: #fff; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 25px; padding-top: 23px; border-top: 1px solid rgba(194,217,242,.1); color: #6f89a5; font-size: .7rem; }
.footer-bottom p { margin: 0; }
.footer-bottom-links { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-bottom-links a { color: #7f9ab7; text-decoration: none; }
.footer-bottom-links a:hover { color: #fff; }

/* Quiz */
body[data-page="teszt"] .site-header, body[data-page="teszt"] .site-footer { display: none; }
.quiz-shell { min-height: 100vh; padding: 28px 0 40px; background: radial-gradient(circle at 50% 0,#eaf5ff,transparent 42%), #f8fbff; }
.quiz-wrap { display: flex; min-height: calc(100vh - 68px); max-width: 900px; flex-direction: column; }
.quiz-topbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-bottom: 13px; }
.quiz-exit { color: var(--muted); font-size: 1.5rem; }
.quiz-exit span { margin-left: 3px; font-size: .83rem; font-weight: 650; vertical-align: 2px; }
.quiz-progress-meta { grid-column: 2; display: flex; gap: 16px; color: var(--muted); font-size: .78rem; }
.quiz-progress-meta strong { color: var(--blue-800); }
.progress-track { overflow: hidden; height: 6px; border-radius: 99px; background: #dde8f3; }
.progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue-500),var(--blue-700)); transition: width .35s ease; }
.quiz-stage { display: flex; flex: 1; align-items: center; justify-content: center; padding: 50px 0 35px; }
.quiz-loading { text-align: center; }
.loader { display: inline-block; width: 38px; height: 38px; border: 3px solid #cfe1f4; border-top-color: var(--blue-700); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.quiz-loading p { margin-top: 16px; }
#quiz-question { width: 100%; max-width: 760px; }
.question-card { animation: questionIn .3s ease both; }
@keyframes questionIn { from { opacity: 0; transform: translateY(12px); } }
.question-group { display: block; margin-bottom: 12px; color: var(--blue-600); font-size: .72rem; font-weight: 820; letter-spacing: .14em; text-transform: uppercase; }
.question-card h1 { max-width: 740px; margin-bottom: 14px; font-size: clamp(2rem,4.5vw,3.45rem); }
.question-explainer { max-width: 680px; margin-bottom: 27px; padding: 13px 15px; border-left: 3px solid var(--blue-200); border-radius: 0 10px 10px 0; background: rgba(232,243,255,.52); }
.question-help-label { display: block; margin-bottom: 3px; color: var(--blue-800); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.question-help { margin: 0; font-size: .9rem; line-height: 1.65; }
.question-selection-hint { margin: -13px 0 14px; color: var(--blue-700); font-size: .78rem; font-weight: 750; }
.answer-grid { display: grid; gap: 12px; }
.answer-option { position: relative; display: flex; min-height: 62px; align-items: center; gap: 15px; padding: 14px 18px; border: 1.5px solid #d5e2ef; border-radius: 15px; background: rgba(255,255,255,.92); box-shadow: 0 5px 18px rgba(13,62,115,.04); color: #314b68; cursor: pointer; font-weight: 660; transition: border-color .18s, background .18s, transform .18s, box-shadow .18s; }
.answer-option:hover { border-color: #8abbf0; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(13,62,115,.08); }
.answer-option:has(input:focus-visible) { border-color: var(--blue-700); outline: 3px solid rgba(33,118,223,.2); outline-offset: 2px; }
.answer-option input { position: absolute; opacity: 0; pointer-events: none; }
.answer-indicator { display: grid; flex: 0 0 25px; width: 25px; height: 25px; place-items: center; border: 1.5px solid #b7c9dc; border-radius: 50%; background: #fff; }
.answer-option.multi .answer-indicator { border-radius: 7px; }
.answer-option.selected { border-color: var(--blue-600); background: var(--blue-50); box-shadow: 0 8px 25px rgba(33,118,223,.1); color: var(--blue-900); }
.answer-option.selected .answer-indicator { border-color: var(--blue-700); background: var(--blue-700); box-shadow: inset 0 0 0 5px #fff; }
.answer-option.multi.selected .answer-indicator { box-shadow: none; color: #fff; }
.answer-option.multi.selected .answer-indicator::after { content: "✓"; font-size: .78rem; font-weight: 900; }
.quiz-bottom { display: flex; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid var(--line); }
.quiz-bottom button:disabled { opacity: .5; cursor: not-allowed; }
.quiz-bottom .button { min-width: 128px; }
.calculation-card { max-width: 650px; margin: auto; text-align: center; animation: questionIn .35s ease; }
.calculation-orbit { position: relative; width: 106px; height: 106px; margin: 0 auto 28px; border: 2px solid #c9e0fa; border-radius: 50%; animation: spin 2.3s linear infinite; }
.calculation-orbit::before, .calculation-orbit::after { content: ""; position: absolute; border-radius: 50%; background: var(--blue-600); }
.calculation-orbit::before { width: 15px; height: 15px; top: 7px; left: 17px; }
.calculation-orbit::after { width: 9px; height: 9px; right: 2px; bottom: 26px; background: #79baff; }
.calculation-card h1 { font-size: clamp(2rem,4vw,3rem); }

/* Results */
.result-hero { padding: 82px 0 70px; background: radial-gradient(circle at 50% 0,#deefff,transparent 65%), var(--blue-50); text-align: center; }
.result-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 21px; color: var(--success); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.result-eyebrow span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: var(--success-bg); }
.result-hero h1 { max-width: 850px; margin: 0 auto 20px; font-size: clamp(2.4rem,5vw,4.3rem); }
.result-lead { max-width: 800px; margin: 0 auto; font-size: 1.08rem; line-height: 1.78; }
.profile-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 25px; }
.profile-tags span { padding: 7px 12px; border: 1px solid #c7ddf6; border-radius: 99px; background: #fff; color: var(--blue-800); font-size: .78rem; font-weight: 700; }
.result-section { background: #fff; }
.result-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(270px,.5fr); gap: 28px; align-items: start; }
.result-main { display: grid; gap: 26px; }
.result-card, .sidebar-card { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.dimensions-card { padding: 31px; }
.card-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.card-heading h2 { margin: 0; font-size: 1.6rem; }
.card-heading .section-kicker { margin-bottom: 8px; }
.scale-note { padding: 5px 9px; border-radius: 8px; background: var(--blue-50); color: var(--blue-700); font-size: .72rem; font-weight: 700; white-space: nowrap; }
.result-scale-help { max-width: 680px; margin: -12px 0 26px; color: var(--muted); font-size: .78rem; line-height: 1.65; }
.result-dimensions { display: grid; grid-template-columns: repeat(2,1fr); gap: 25px 30px; }
.dimension-row { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 8px; font-size: .83rem; }
.dimension-row span { color: #445c77; font-weight: 650; }
.dimension-row strong { color: var(--blue-800); }
.result-bar { overflow: hidden; height: 9px; border-radius: 99px; background: #e9f0f7; }
.result-bar i { display: block; width: var(--value); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue-400,#67a8ee),var(--blue-700)); }
.scale-labels { display: flex; justify-content: space-between; margin-top: 5px; color: #9aa8b7; font-size: .64rem; }
.guidance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.guidance-card { padding: 26px; border-radius: var(--radius); }
.guidance-card h2 { margin-bottom: 17px; font-size: 1.25rem; }
.guidance-card ul { margin: 0; padding: 0; list-style: none; }
.guidance-card li { position: relative; margin: 10px 0; padding-left: 20px; color: #4e6177; font-size: .86rem; }
.guidance-card li::before { content: ""; position: absolute; top: .68em; left: 2px; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .48; }
.guidance-icon { display: grid; width: 35px; height: 35px; margin-bottom: 16px; place-items: center; border-radius: 11px; font-weight: 900; }
.guidance-positive { border: 1px solid #bce7d7; background: var(--success-bg); }
.guidance-positive .guidance-icon { background: #fff; color: var(--success); }
.guidance-caution { border: 1px solid #f0d7b6; background: var(--warning-bg); }
.guidance-caution .guidance-icon { background: #fff; color: var(--warning); }
.result-sidebar { display: grid; gap: 20px; }
.sidebar-card { padding: 26px; }
.sidebar-card h2 { margin-bottom: 14px; font-size: 1.28rem; }
.sidebar-card h3 { margin-bottom: 16px; font-size: 1.02rem; }
.sidebar-card p { font-size: .86rem; line-height: 1.72; }
.sidebar-card dl { margin: 0; }
.sidebar-card dl div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid #edf2f7; font-size: .78rem; }
.sidebar-card dl div:last-child { border-bottom: 0; }
.sidebar-card dt { color: var(--muted); }
.sidebar-card dd { margin: 0; color: var(--blue-950); font-weight: 700; text-align: right; }
.recommendations-section { padding-top: 80px; background: var(--surface-alt); }
.recommendations-heading { align-items: center; }
.recommendations-heading .section-intro { max-width: 760px; margin: 12px 0 0; }
.recommendations-heading .button span { display: inline-grid; min-width: 23px; height: 23px; place-items: center; border-radius: 50%; background: var(--blue-100); color: var(--blue-800); font-size: .75rem; }
.paired-policy-links { display: grid; gap: 8px; margin-top: 14px; }
.ranking-method { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; margin: 28px 0 14px; }
.ranking-method article { padding: 20px; border: 1px solid #cbdff3; border-radius: 15px; background: rgba(255,255,255,.82); }
.ranking-method span { display: block; margin-bottom: 10px; color: var(--blue-500); font-size: .68rem; font-weight: 850; }
.ranking-method strong { display: block; color: var(--blue-950); font-size: .9rem; }
.ranking-method p { margin: 7px 0 0; font-size: .73rem; line-height: 1.65; }
.method-policy-row { display: flex; flex-wrap: wrap; gap: 9px 25px; margin-bottom: 30px; }
.product-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 25px; }
.product-card { overflow: hidden; position: relative; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.product-card.over-budget { border-color: #edcf9f; }
.product-ribbon, .demo-product-label { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 5px 9px; border-radius: 8px; font-size: .66rem; font-weight: 820; letter-spacing: .04em; text-transform: uppercase; }
.product-ribbon { background: var(--warning-bg); color: var(--warning); }
.demo-product-label { background: rgba(8,37,74,.85); color: #fff; }
.product-card.over-budget .demo-product-label { top: 47px; }
.product-visual { display: grid; position: relative; height: 225px; place-items: center; background: radial-gradient(circle at 50% 40%,#fff,#e9f3ff); }
.product-visual img { width: 100%; height: 100%; object-fit: cover; }
.mattress-placeholder { position: relative; width: 230px; height: 95px; border: 2px solid #9bbfe6; border-radius: 18px 18px 24px 24px; background: linear-gradient(180deg,#fff,#dfeeff); box-shadow: 0 18px 25px rgba(20,78,140,.16); transform: perspective(500px) rotateX(10deg) rotateZ(-2deg); }
.mattress-placeholder span { position: absolute; left: 11px; right: 11px; height: 2px; border-radius: 99px; background: #b8d4f1; }
.mattress-placeholder span:nth-child(1) { top: 25px; }.mattress-placeholder span:nth-child(2) { top: 48px; }.mattress-placeholder span:nth-child(3) { top: 71px; }
.fit-score { position: absolute; right: 17px; bottom: 16px; display: flex; align-items: baseline; padding: 8px 11px; border: 1px solid #bde3d6; border-radius: 12px; background: rgba(255,255,255,.94); color: var(--success); box-shadow: var(--shadow-sm); }
.fit-score strong { font-size: 1.2rem; }.fit-score span { font-size: .7rem; font-weight: 700; }
.product-body { padding: 25px; }
.product-meta { margin-bottom: 8px; color: var(--blue-600); font-size: .71rem; font-weight: 790; letter-spacing: .07em; text-transform: uppercase; }
.product-body h3 { margin-bottom: 10px; font-size: 1.35rem; }
.product-body > p { min-height: 50px; margin-bottom: 14px; font-size: .84rem; line-height: 1.65; }
.reason-list { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 15px; }
.reason-list span { padding: 5px 8px; border-radius: 7px; background: var(--success-bg); color: #27725b; font-size: .66rem; font-weight: 700; }
.why-details { border-top: 1px solid #e8eef5; border-bottom: 1px solid #e8eef5; }
.why-details summary { padding: 11px 0; color: var(--blue-700); cursor: pointer; font-size: .77rem; font-weight: 720; }
.why-details p { padding-bottom: 11px; margin: 0; font-size: .75rem; }
.public-profile-facts { display: grid; grid-template-columns: repeat(2,1fr); margin: 14px 0 18px; }
.public-profile-facts div { display: grid; gap: 3px; padding: 9px 0; border-bottom: 1px solid #edf2f7; }
.public-profile-facts div:nth-child(odd) { padding-right: 12px; }
.public-profile-facts dt { color: var(--muted); font-size: .65rem; }
.public-profile-facts dd { margin: 0; color: var(--blue-950); font-size: .72rem; font-weight: 720; }
.product-price { display: flex; align-items: baseline; gap: 9px; margin: 18px 0; }
.product-price strong { color: var(--blue-950); font-size: 1.3rem; }
.product-price del { color: #98a5b4; font-size: .78rem; }
.product-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-actions { justify-content: flex-end; }
.compare-check { display: flex; align-items: center; gap: 6px; color: var(--muted); cursor: pointer; font-size: .72rem; font-weight: 650; }
.compare-check input { width: 17px; height: 17px; accent-color: var(--blue-700); }
.retailer-letter-card { overflow: hidden; margin-top: 48px; border: 1px solid #b8cfda; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(16,44,67,.11); }
.retailer-letter-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 31px 34px 27px; border-bottom: 1px solid #dce7eb; background: linear-gradient(135deg,#fbfdfd,#eef5f6); }
.retailer-letter-heading h2 { max-width: 760px; margin: 8px 0 0; color: var(--blue-950); font-size: clamp(1.65rem,3vw,2.35rem); }
.retailer-letter-badge { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #b7d9cf; border-radius: 99px; background: #f1fbf7; color: #236d58; font-size: .67rem; font-weight: 800; }
.retailer-letter-badge svg,.retailer-letter-privacy svg { width: 17px; height: 17px; }
.retailer-letter-grid { display: grid; grid-template-columns: minmax(260px,.78fr) minmax(0,1.22fr); }
.retailer-letter-guide { display: grid; align-content: start; gap: 24px; padding: 36px 34px; background: linear-gradient(155deg,#153d59,#102c43); color: #fff; }
.retailer-letter-guide > p { margin: 0; color: #d7e6ec; font-size: .82rem; line-height: 1.78; }
.retailer-letter-tip { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 15px; padding: 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.08); }
.retailer-letter-tip > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 13px; background: #fff; color: #17566f; font-size: .83rem; font-weight: 900; }
.retailer-letter-tip strong { display: block; color: #fff; font-size: .83rem; }
.retailer-letter-tip p { margin: 5px 0 0; color: #cbdde4; font-size: .72rem; line-height: 1.62; }
.retailer-letter-privacy { display: grid; grid-template-columns: 21px minmax(0,1fr); gap: 11px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.15); color: #bcd2dc; }
.retailer-letter-privacy svg { margin-top: 2px; }
.retailer-letter-privacy p { margin: 0; font-size: .67rem; line-height: 1.65; }
.retailer-letter-editor { min-width: 0; padding: 34px; }
.retailer-letter-editor > label { display: block; margin-bottom: 9px; color: var(--blue-950); font-size: .75rem; font-weight: 800; }
.retailer-letter-editor textarea { width: 100%; min-height: 610px; resize: vertical; padding: 19px; border: 1px solid #b9cbd4; border-radius: 14px; background: #fbfcfd; color: #263f4c; font: 500 .78rem/1.65 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace; tab-size: 4; }
.retailer-letter-editor textarea:focus { border-color: var(--blue-600); outline: 3px solid rgba(40,127,153,.14); background: #fff; }
.retailer-letter-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin-top: 17px; }
.retailer-letter-actions .text-link { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin-left: auto; padding-inline: 8px; border: 0; background: transparent; cursor: pointer; }
.retailer-letter-help { margin: 14px 0 0; color: var(--muted); font-size: .66rem; line-height: 1.55; }
.retailer-letter-status { min-height: 1.5em; margin: 7px 0 0; color: #216e58; font-size: .68rem; font-weight: 750; }
.retailer-letter-print { display: none; margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; word-break: break-word; font: 9.5pt/1.5 Arial,sans-serif; }
.result-actions-bottom { display: flex; align-items: center; justify-content: center; gap: 28px; margin-top: 47px; }
.empty-state { padding: 60px 30px; border: 1px dashed #b9cfe7; border-radius: var(--radius); background: #fff; text-align: center; }
.empty-state > span { display: block; color: var(--blue-600); font-size: 3rem; }.empty-state h3 { margin: 12px 0; }.empty-state p { max-width: 620px; margin: 0 auto 25px; }
.result-disclaimer { padding: 35px 0; border-top: 1px solid var(--line); background: #fff; }
.result-disclaimer .narrow-wide { display: grid; grid-template-columns: 180px 1fr; gap: 28px; }
.result-disclaimer strong { color: var(--blue-900); }.result-disclaimer p { margin: 0; font-size: .78rem; line-height: 1.7; }
.compare-dialog { width: min(900px,calc(100% - 30px)); max-height: 88vh; padding: 0; border: 0; border-radius: var(--radius); box-shadow: 0 30px 100px rgba(4,31,64,.35); }
.compare-dialog::backdrop { background: rgba(5,25,48,.65); backdrop-filter: blur(3px); }
.dialog-head { display: flex; position: sticky; z-index: 2; top: 0; align-items: start; justify-content: space-between; gap: 20px; padding: 25px; border-bottom: 1px solid var(--line); background: #fff; }
.dialog-head h2 { margin: 0; font-size: 1.55rem; }.dialog-head .section-kicker { margin-bottom: 4px; }.dialog-close { width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--blue-50); cursor: pointer; font-size: 1.45rem; }
#compare-table-wrap { overflow: auto; padding: 25px; }
.compare-table { width: 100%; border-collapse: collapse; font-size: .82rem; }.compare-table th,.compare-table td { padding: 13px; border-bottom: 1px solid var(--line); text-align: left; }.compare-table th { color: var(--blue-950); }.compare-table td { color: var(--muted); }

/* Programozott SEO-útmutatók */
.guide-hero, .guide-page-hero { background: radial-gradient(circle at 78% 12%,#dceeff,transparent 38%), linear-gradient(180deg,#f5faff,#fff); }
.guide-hero { padding: 88px 0 78px; }
.guide-page-hero { padding: 72px 0 68px; }
.guide-hero h1, .guide-page-hero h1 { max-width: 960px; margin-bottom: 22px; font-size: clamp(2.55rem,5.4vw,4.8rem); }
.guide-hero > .shell > p, .guide-page-hero > .shell > p { max-width: 880px; margin-bottom: 0; font-size: 1.08rem; line-height: 1.8; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 33px; color: #6f8195; font-size: .76rem; }
.breadcrumbs a { color: var(--blue-700); font-weight: 700; }
.breadcrumbs span[aria-hidden] { color: #b0bdca; }
.guide-stat-line { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 29px; color: #536a83; font-size: .84rem; font-weight: 650; }
.guide-stat-line strong { color: var(--blue-800); font-size: 1.35rem; }
.guide-stat-line i { width: 4px; height: 4px; border-radius: 50%; background: #a8b8c9; }
.guide-intro-section { padding-block: 55px; }
.guide-answer-card { display: grid; grid-template-columns: .85fr 1.15fr; gap: 65px; align-items: center; padding: 43px 48px; border: 1px solid #bddafd; border-radius: var(--radius-lg); background: linear-gradient(135deg,#f7fbff,#eaf5ff); }
.guide-answer-card .section-kicker { margin-bottom: 12px; }
.guide-answer-card h2 { margin: 0; font-size: clamp(1.7rem,3vw,2.5rem); }
.guide-answer-card p { margin: 0; color: #465f7b; font-size: 1rem; line-height: 1.8; }
.guide-directory-section { padding-top: 45px; background: var(--surface-alt); }
.directory-group { margin-bottom: 85px; scroll-margin-top: 30px; }
.directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.directory-heading .section-kicker { margin-bottom: 8px; }
.directory-heading h2 { margin: 0; font-size: clamp(1.85rem,3vw,2.7rem); }
.directory-count { flex: 0 0 auto; padding: 7px 11px; border: 1px solid var(--blue-200); border-radius: 99px; background: #fff; color: var(--blue-700); font-size: .75rem; font-weight: 750; }
.directory-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.directory-card { display: flex; min-height: 285px; flex-direction: column; padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 5px 20px rgba(10,53,107,.045); transition: border-color .18s, transform .18s, box-shadow .18s; }
.directory-card:hover { border-color: #9ac5f5; transform: translateY(-3px); box-shadow: 0 13px 35px rgba(10,53,107,.09); }
.directory-card > span, .related-guide-grid a > span { color: var(--blue-600); font-size: .68rem; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.directory-card h3 { margin: 12px 0 13px; font-size: 1.17rem; line-height: 1.28; }
.directory-card p { display: -webkit-box; overflow: hidden; margin-bottom: 19px; font-size: .82rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.directory-card b { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 15px; border-top: 1px solid #edf2f7; color: var(--blue-700); font-size: .76rem; }
.directory-card b i { font-style: normal; font-size: 1rem; }
.neutrality-note { padding: 36px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.neutrality-note .shell { display: grid; grid-template-columns: 210px 1fr; gap: 30px; }
.neutrality-note strong { color: var(--blue-900); }
.neutrality-note p { margin: 0; font-size: .82rem; line-height: 1.75; }
.guide-content-section { padding-top: 70px; }
.guide-content-layout { display: grid; grid-template-columns: 235px minmax(0,800px); gap: 80px; justify-content: center; align-items: start; }
.guide-toc { display: grid; position: sticky; top: 24px; gap: 8px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.guide-toc strong { margin-bottom: 6px; color: var(--blue-950); font-size: .8rem; }
.guide-toc a { color: #66798f; font-size: .75rem; line-height: 1.4; }
.guide-toc a:hover { color: var(--blue-700); }
.guide-toc .guide-toc-cta { margin-top: 8px; padding: 10px 11px; border-radius: 9px; background: var(--blue-100); color: var(--blue-800); font-weight: 800; }
.guide-prose > section { margin-bottom: 72px; scroll-margin-top: 28px; }
.guide-prose h2 { margin-bottom: 18px; font-size: clamp(1.7rem,3vw,2.35rem); }
.guide-prose > section > p { font-size: .99rem; line-height: 1.85; }
.answer-first { padding: 30px 32px; border: 1px solid #b8d8fa; border-radius: 18px; background: linear-gradient(135deg,#f7fbff,#eaf5ff); }
.answer-first > span { display: block; margin-bottom: 10px; color: var(--blue-700); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.answer-first p { margin: 0; color: #294a6d; font-size: 1.08rem; font-weight: 570; line-height: 1.8; }
.guide-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.guide-check { padding: 24px; border: 1px solid; border-radius: 17px; }
.guide-check.positive { border-color: #bce7d7; background: var(--success-bg); }
.guide-check.caution { border-color: #f0d7b6; background: var(--warning-bg); }
.guide-check h3 { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; font-size: 1.05rem; }
.guide-check h3 span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #fff; }
.guide-check.positive h3 span { color: var(--success); }
.guide-check.caution h3 span { color: var(--warning); }
.guide-check ul { margin: 0; padding-left: 19px; }
.guide-check li { margin: 9px 0; color: #496078; font-size: .82rem; line-height: 1.55; }
.section-intro { margin-bottom: 24px; }
.guide-empty { padding: 28px; border: 1px dashed #b5cce5; border-radius: 16px; background: var(--blue-50); }
.guide-empty strong { color: var(--blue-900); }
.guide-empty p { margin: 8px 0 0; font-size: .82rem; }
.profile-list-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.neutral-profile-card { padding: 21px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 4px 17px rgba(10,53,107,.04); }
.neutral-profile-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.neutral-profile-top span { padding: 4px 7px; border-radius: 6px; background: var(--blue-100); color: var(--blue-700); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.neutral-profile-top b { color: #66809a; font-size: .65rem; font-weight: 700; }
.neutral-profile-card h3 { margin-bottom: 14px; font-size: 1rem; }
.neutral-profile-card dl { margin: 0; }
.neutral-profile-card dl div { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; border-bottom: 1px solid #edf2f7; font-size: .7rem; }
.neutral-profile-card dt { color: var(--muted); }
.neutral-profile-card dd { margin: 0; color: var(--blue-950); font-weight: 700; text-align: right; }
.neutral-profile-card > p { margin: 13px 0 0; color: #34725e; font-size: .67rem; font-weight: 700; }
.reference-profile-boundary { margin: 0 0 18px; padding: 19px 21px; border: 1px solid #b9d5f1; border-left: 4px solid var(--blue-600); border-radius: 14px; background: #f3f8fe; }
.reference-profile-boundary strong { display: block; margin-bottom: 5px; color: var(--blue-900); font-size: .8rem; }
.reference-profile-boundary p { margin: 0; font-size: .78rem; line-height: 1.67; }
.reference-profile-grid { display: grid; gap: 17px; }
.reference-profile-card { overflow: hidden; border: 1px solid #cdddea; border-radius: 18px; background: #fff; box-shadow: 0 7px 24px rgba(10,53,107,.055); }
.reference-profile-card > header { padding: 22px 23px 19px; border-bottom: 1px solid #e5edf5; background: linear-gradient(135deg,#fbfdff,#f1f7fd); }
.reference-profile-card > header h3 { margin: 13px 0 8px; font-size: 1.15rem; }
.reference-profile-card > header p { max-width: 690px; margin: 0; font-size: .79rem; line-height: 1.65; }
.reference-profile-badges { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; }
.reference-profile-badges span { padding: 5px 8px; border-radius: 7px; background: var(--blue-100); color: var(--blue-700); font-size: .61rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.reference-profile-badges b { color: #59718a; font-size: .69rem; }
.reference-profile-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 0; padding: 8px 23px; }
.reference-profile-facts div { min-width: 0; padding: 14px 14px 14px 0; border-bottom: 1px solid #e8eef5; }
.reference-profile-facts div:nth-child(odd) { padding-right: 20px; }
.reference-profile-facts div:nth-child(even) { padding-left: 20px; border-left: 1px solid #e8eef5; }
.reference-profile-facts dt { margin-bottom: 5px; color: var(--blue-900); font-size: .68rem; font-weight: 800; }
.reference-profile-facts dd { margin: 0; color: #546a81; font-size: .72rem; line-height: 1.58; }
.reference-profile-source { padding: 19px 23px 21px; background: #fbfcfe; }
.reference-profile-source > p { margin: 0 0 12px; color: #63768b; font-size: .71rem; line-height: 1.6; }
.reference-profile-source > p strong { color: #3f5871; }
.reference-profile-source > a { display: inline-block; margin-top: 10px; color: var(--blue-700); font-size: .72rem; font-weight: 760; line-height: 1.45; }
.neutral-profile-card .profile-evidence-limit { margin-top: 12px; color: #6f5a22; font-weight: 650; }
.reference-source-missing { color: var(--danger); font-size: .7rem; }
.profile-test-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; padding: 22px; border-radius: 15px; background: #f1f7fe; }
.profile-test-cta div { display: grid; }
.profile-test-cta strong { color: var(--blue-950); font-size: .82rem; }
.profile-test-cta span { color: var(--muted); font-size: .72rem; }
.profile-test-cta .button { flex: 0 0 auto; }
.guide-faq { margin-top: 24px; }
.related-guides { padding: 78px 0 88px; background: var(--surface-alt); }
.related-guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.related-guide-grid a { display: grid; position: relative; min-height: 145px; align-content: start; gap: 10px; padding: 21px 46px 21px 21px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.related-guide-grid a:hover { border-color: #a5cdf8; }
.related-guide-grid strong { color: var(--blue-950); font-size: .88rem; line-height: 1.42; }
.related-guide-grid i { position: absolute; right: 19px; bottom: 17px; color: var(--blue-600); font-style: normal; }

/* Tudástári eszközök, keresés és szerkesztési réteg */
.tool-hero { padding: 78px 0 66px; background: radial-gradient(circle at 78% 0,#d9edff,transparent 42%),linear-gradient(180deg,#f5faff,#fff); }
.compact-tool-hero { padding-bottom: 54px; }
.tool-hero h1 { max-width: 900px; margin-bottom: 20px; font-size: clamp(2.45rem,5vw,4.5rem); }
.tool-hero > .shell > p { max-width: 880px; font-size: 1.04rem; line-height: 1.78; }
.hub-tools { padding: 25px 0; border-block: 1px solid #cfe2f6; background: #f3f9ff; }
.hub-tools .shell { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.hub-tools .shell > div { display: flex; flex-wrap: wrap; gap: 9px 22px; }
.hub-tools .shell > div:first-child { display: grid; gap: 5px; }
.hub-tools .section-kicker { margin: 0; }
.hub-tools strong { color: var(--blue-950); font-size: .9rem; }
.hub-tools a { color: var(--blue-700); font-size: .78rem; font-weight: 800; }
.knowledge-tool-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.knowledge-tool-links a { padding: 7px 10px; border: 1px solid #c8dcef; border-radius: 9px; color: var(--blue-700); font-size: .68rem; font-weight: 760; }
.editorial-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 22px; color: #61778e; font-size: .7rem; font-weight: 720; }
.editorial-meta span { padding: 6px 9px; border: 1px solid #cbdff3; border-radius: 99px; background: rgba(255,255,255,.75); }
.editorial-meta a { align-self: center; color: var(--blue-700); }
.compact-source-list { grid-template-columns: 1fr; margin: 22px 0; }
.compact-source-list article { padding: 21px 21px 20px 68px; }
.compact-source-list h3 { font-size: .92rem; }
.compact-source-list p { line-height: 1.65 !important; }
.source-list .evidence-source-card { padding: 21px 23px 22px; }
.source-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.source-card-meta > span { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 8px; border: 1px solid #d7e1ec; border-radius: 99px; background: #f7f9fc; color: #60738a; font-size: .59rem; font-weight: 790; line-height: 1.25; }
.source-list .source-card-meta { margin-bottom: 12px; }
.source-date-badge { font-variant-numeric: tabular-nums; }
.source-card-meta .source-type-badge { border-color: #c7dcef; background: var(--blue-50); color: var(--blue-800); }
.source-card-meta .evidence-direct { border-color: #b9dfd1; background: var(--success-bg); color: #176b4e; }
.source-card-meta .evidence-category { border-color: #c5d9ef; background: var(--blue-100); color: var(--blue-800); }
.source-card-meta .evidence-contextual { border-color: #ecd4b2; background: var(--warning-bg); color: #8b571b; }

.knowledge-search { position: relative; max-width: 850px; margin-top: 32px; }
.knowledge-search > label { display: block; margin-bottom: 9px; color: var(--blue-950); font-size: .78rem; font-weight: 800; }
.knowledge-search-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.knowledge-search-row input { min-height: 58px; padding: 13px 17px; border-color: #adc9e6; box-shadow: 0 8px 25px rgba(12,68,130,.07); font-size: .95rem; }
.knowledge-search-row input:focus { border-color: var(--blue-500); outline: 3px solid rgba(61,143,240,.15); }
.search-suggestions { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; left: 0; overflow: hidden; padding: 7px; border: 1px solid #c7d9eb; border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(12,55,103,.16); }
.search-suggestions a { display: grid; gap: 3px; padding: 11px 13px; border-radius: 9px; }
.search-suggestions a:hover,.search-suggestions a.active { background: var(--blue-50); }
.search-suggestions span { color: var(--blue-600); font-size: .61rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.search-suggestions strong { color: var(--blue-950); font-size: .79rem; }
.suggestion-empty { padding: 13px; color: var(--muted); font-size: .76rem; }
.search-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.search-chips a { padding: 6px 10px; border: 1px solid #cbdff2; border-radius: 99px; background: #fff; color: var(--blue-700); font-size: .69rem; font-weight: 750; }
.search-results-section { min-height: 390px; background: var(--surface-alt); }
.search-result-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.search-result-list > a { display: grid; min-height: 205px; align-content: start; padding: 23px; border: 1px solid var(--line); border-radius: 16px; background: #fff; transition: transform .18s,border-color .18s; }
.search-result-list > a:hover { border-color: #99c7f5; transform: translateY(-2px); }
.search-result-list span { color: var(--blue-600); font-size: .64rem; font-weight: 820; letter-spacing: .08em; text-transform: uppercase; }
.search-result-list h3 { margin: 8px 0; font-size: 1.05rem; }
.search-result-list p { display: -webkit-box; overflow: hidden; margin-bottom: 16px; font-size: .78rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.search-result-list b { margin-top: auto; color: var(--blue-700); font-size: .72rem; }
.search-result-list b i { font-style: normal; }
.tool-empty { padding: 35px; border: 1px dashed #b6cee6; border-radius: 17px; background: #fff; text-align: center; }
.tool-empty strong { color: var(--blue-950); }
.tool-empty p { margin: 8px 0 0; font-size: .84rem; }

.tool-workspace { padding-top: 55px; background: #f6f9fc; }
.compare-builder { padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.compare-select-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.compare-select-slot { display: grid; gap: 7px; }
.compare-select-slot > span { color: #425d78; font-size: .72rem; font-weight: 760; }
.compare-select-slot select { min-height: 48px; padding: 8px 10px; font-size: .76rem; }
.tool-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.tool-actions .text-link { margin-left: auto; }
.quick-comparisons { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin: 22px 0; color: var(--muted); font-size: .73rem; }
.quick-comparisons strong { color: var(--blue-950); }
.quick-comparisons a { padding: 6px 9px; border-radius: 8px; background: #eaf4ff; color: var(--blue-700); font-weight: 700; }
.comparison-selection-error { margin-bottom: 18px; }
.comparison-table-hint { margin: 0 0 10px; color: var(--muted); font-size: .73rem; line-height: 1.55; }
.comparison-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.comparison-table-wrap:focus-visible { border-color: var(--blue-500); outline: 3px solid rgba(33,118,223,.22); outline-offset: 3px; }
.technology-table { width: 100%; min-width: 840px; border-collapse: collapse; }
.technology-table caption { padding: 15px 18px; border-bottom: 1px solid #e3ebf3; background: #f9fbfd; color: var(--blue-950); font-size: .82rem; font-weight: 800; text-align: left; }
.technology-table th,.technology-table td { min-width: 190px; padding: 17px 18px; border-right: 1px solid #e3ebf3; border-bottom: 1px solid #e3ebf3; color: #4e647b; font-size: .76rem; line-height: 1.55; vertical-align: top; }
.technology-table tr:last-child th,.technology-table tr:last-child td { border-bottom: 0; }
.technology-table th:last-child,.technology-table td:last-child { border-right: 0; }
.technology-table thead th { background: #f1f7fd; color: var(--blue-950); text-align: left; }
.technology-table thead th:first-child { min-width: 160px; }
.technology-table thead a { color: var(--blue-800); font-size: .88rem; }
.technology-table thead small { display: block; margin-top: 6px; color: var(--blue-500); font-size: .62rem; }
.technology-table tbody th { min-width: 160px; background: #f9fbfd; color: var(--blue-950); }
.technology-table ul { margin: 0; padding-left: 16px; }
.technology-table li { margin-bottom: 6px; }
.tool-explainer { margin-top: 22px; padding: 23px 25px; border-left: 4px solid var(--blue-500); border-radius: 0 14px 14px 0; background: #eaf5ff; }
.tool-explainer strong { color: var(--blue-950); }
.tool-explainer p { margin: 7px 0 0; font-size: .82rem; line-height: 1.7; }
.tool-explainer a { color: var(--blue-700); font-weight: 760; }

.profile-connected { display: flex; max-width: 760px; gap: 13px; margin-top: 25px; padding: 15px 17px; border: 1px solid #a9dec9; border-radius: 13px; background: #ecfbf5; }
.profile-connected > span { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #fff; color: var(--success); font-weight: 900; }
.profile-connected strong { color: #175c46; font-size: .82rem; }
.profile-connected p { margin: 2px 0 0 !important; color: #42705f; font-size: .72rem !important; }
.checker-section { padding-top: 55px; background: #f5f8fc; }
.checker-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 24px; align-items: start; }
.datasheet-form { display: grid; gap: 17px; }
.form-panel { padding: 27px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 5px 22px rgba(10,53,107,.045); }
.form-panel-head { display: flex; gap: 14px; margin-bottom: 23px; }
.form-panel-head > span { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--blue-100); color: var(--blue-700); font-size: .72rem; font-weight: 850; }
.form-panel-head h2 { margin: 0 0 4px; font-size: 1.25rem; }
.form-panel-head p { margin: 0; font-size: .75rem; }
.field-grid { display: grid; gap: 14px; }
.field-grid.two { grid-template-columns: repeat(2,1fr); }.field-grid.three { grid-template-columns: repeat(3,1fr); }.field-grid.four { grid-template-columns: repeat(4,1fr); }
.field-grid label,.layer-row label { display: grid; gap: 6px; }
.field-grid label > span,.layer-row label > span { color: #435c75; font-size: .7rem; font-weight: 740; }
.field-grid input,.field-grid select,.field-grid textarea,.layer-row input { min-height: 44px; padding: 9px 11px; font-size: .78rem; }
.field-grid textarea { resize: vertical; }
.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus,.layer-row input:focus { border-color: var(--blue-500); outline: 3px solid rgba(61,143,240,.13); }
.field-grid .span-two { grid-column: span 2; }.field-grid .span-three { grid-column: span 3; }
.layer-editor { margin-top: 22px; padding-top: 20px; border-top: 1px solid #e4ebf2; }
.layer-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.layer-editor-head h3 { margin: 0; font-size: .94rem; }
.layer-row { display: grid; grid-template-columns: 30px 1.35fr .6fr .7fr 28px; gap: 9px; align-items: end; margin-bottom: 9px; }
.layer-number { display: grid; width: 26px; height: 26px; margin-bottom: 9px; place-items: center; border-radius: 8px; background: #eef4fa; color: #6a7e92; font-size: .66rem; font-weight: 800; }
.layer-remove { width: 28px; height: 44px; border: 0; background: none; color: #9b5660; cursor: pointer; font-size: 1.1rem; }
.layer-remove:disabled { opacity: .25; cursor: not-allowed; }
.perceived-fields { margin: 22px 0 0; padding: 18px; border: 1px solid #dce7f1; border-radius: 14px; }
.perceived-fields legend { padding: 0 6px; color: var(--blue-950); font-size: .76rem; font-weight: 800; }
.perceived-fields > p { margin: 0 0 13px; font-size: .7rem; }
.checker-submit { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 22px 24px; border-radius: 16px; background: var(--blue-900); }
.checker-submit > div { display: grid; gap: 3px; }
.checker-submit strong { color: #fff; font-size: .83rem; }
.checker-submit span { color: #bcd1ea; font-size: .7rem; }
.checker-submit .button { flex: 0 0 auto; background: #fff; color: var(--blue-800); }
.checker-aside { display: grid; position: sticky; top: 20px; gap: 14px; }
.plain-score-list { margin: 18px 0 0; padding: 0; list-style: none; }
.plain-score-list li { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-bottom: 1px solid #e9eff5; color: #5a6f84; font-size: .72rem; }
.plain-score-list b { color: var(--blue-800); }
.checker-result-section { padding-top: 45px; background: #eef4fa; }
.analysis-score-card { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; padding: 27px; border: 1px solid #bed4e9; border-radius: 19px; background: #fff; }
.analysis-score { display: flex; align-items: baseline; color: var(--blue-800); }
.analysis-score strong { font-size: 3.4rem; line-height: 1; }.analysis-score span { color: #72869b; font-size: .8rem; font-weight: 750; }
.analysis-score-card h2 { margin: 4px 0 6px; font-size: 1.5rem; }
.analysis-score-card p { margin: 0; font-size: .75rem; }
.analysis-score-card.tone-strong { border-color: #9fd8c3; }.analysis-score-card.tone-good { border-color: #b7d5ee; }.analysis-score-card.tone-caution,.analysis-score-card.tone-weak { border-color: #e6c596; }
.analysis-breakdown { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 18px 0; }
.analysis-breakdown-row { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.analysis-breakdown-row > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; color: #536b83; font-size: .71rem; }
.analysis-breakdown-row b { color: var(--blue-800); }
.analysis-breakdown-row > i { display: block; overflow: hidden; height: 5px; border-radius: 99px; background: #e8eef4; }
.analysis-breakdown-row > i > u { display: block; height: 100%; border-radius: inherit; background: var(--blue-500); text-decoration: none; }
.analysis-list-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.analysis-list-card { padding: 23px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.analysis-list-card h3 { margin-bottom: 13px; font-size: 1rem; }
.analysis-list-card ul { margin: 0; padding-left: 18px; }
.analysis-list-card li { margin: 8px 0; color: #53687d; font-size: .76rem; line-height: 1.55; }
.analysis-list-card.positive { border-top: 3px solid #4aa985; }.analysis-list-card.missing { border-top: 3px solid #7ba9d6; }.analysis-list-card.caution { border-top: 3px solid #d89a46; }.analysis-list-card.questions { border-top: 3px solid #775eb3; }
.marketing-flags,.profile-alignment { margin-top: 18px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.marketing-flags h2,.profile-alignment h2 { margin: 7px 0 17px; font-size: 1.45rem; }
.marketing-flags > div { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.marketing-flags article { padding: 16px; border-radius: 12px; background: #fff7ec; }
.marketing-flags strong { color: #9a5d14; font-size: .72rem; text-transform: uppercase; }
.marketing-flags p { margin: 6px 0 0; font-size: .74rem; line-height: 1.55; }
.profile-alignment { border-color: #abdcca; background: #f2fcf8; }
.profile-alignment p { font-size: .82rem; }.profile-alignment small { color: #5e766c; }.alignment-close { color: #267057; font-weight: 700; }.alignment-different { color: #a15f1a; font-weight: 700; }

.editorial-hero { padding-bottom: 65px; }
.editorial-principles { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.editorial-principles article { padding: 20px; border: 1px solid var(--line); border-radius: 15px; }
.editorial-principles span { color: var(--blue-500); font-size: .66rem; font-weight: 850; }
.editorial-principles h3 { margin: 8px 0; font-size: .95rem; }
.editorial-principles p { margin: 0; font-size: .75rem !important; line-height: 1.65 !important; }
.editorial-source-list article { padding-left: 75px; }
.coverage-breakdown { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 21px 0 0; padding: 0; list-style: none; }
.coverage-breakdown li { display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--line); border-top-width: 3px; border-radius: 12px; background: rgba(255,255,255,.78); }
.coverage-breakdown strong { color: var(--blue-950); font-size: 1.05rem; line-height: 1.2; }
.coverage-breakdown span { color: var(--muted); font-size: .65rem; font-weight: 720; }
.coverage-direct { border-top-color: var(--success) !important; }
.coverage-category { border-top-color: var(--blue-600) !important; }
.coverage-contextual { border-top-color: var(--warning) !important; }
.coverage-uncovered { border-top-color: var(--danger) !important; }
.evidence-level-guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; margin: 27px 0; }
.evidence-level-guide article { padding: 17px; border: 1px solid var(--line); border-top-width: 3px; border-radius: 13px; background: #fff; }
.evidence-level-guide strong { color: var(--blue-950); font-size: .78rem; }
.evidence-level-guide p { margin: 7px 0 0; font-size: .7rem !important; line-height: 1.55 !important; }

/* Methodology and content */
.page-hero { padding: 95px 0 80px; background: radial-gradient(circle at 20% 0,#e3f2ff,transparent 45%), var(--blue-50); }
.page-hero h1 { max-width: 840px; margin-bottom: 22px; font-size: clamp(2.5rem,5vw,4.5rem); }
.page-hero p { max-width: 820px; margin-bottom: 0; font-size: 1.1rem; line-height: 1.8; }
.compact-hero { padding-block: 72px; }
.article-section { padding-top: 80px; }
.article-layout { display: grid; grid-template-columns: 210px minmax(0,760px); gap: 80px; justify-content: center; }
.article-nav { display: grid; position: sticky; top: 30px; align-self: start; gap: 7px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.article-nav strong { margin-bottom: 7px; color: var(--blue-950); font-size: .8rem; }.article-nav a { color: var(--muted); font-size: .78rem; }.article-nav a:hover { color: var(--blue-700); }
.prose { max-width: 780px; }
.prose section { margin-bottom: 75px; scroll-margin-top: 30px; }
.prose h2 { margin-bottom: 22px; font-size: clamp(1.75rem,3vw,2.4rem); }
.prose h3 { margin-bottom: 10px; }
.prose p, .prose li { color: #52677e; line-height: 1.83; }
.prose a { color: var(--blue-700); text-decoration: underline; text-underline-offset: 3px; }
.method-note, .disclaimer-box { margin: 28px 0; padding: 20px 23px; border-left: 4px solid var(--blue-500); border-radius: 0 13px 13px 0; background: var(--blue-50); color: #48617c; font-size: .88rem; }
.numbered-list { padding-left: 22px; }.numbered-list li { margin: 13px 0; padding-left: 8px; }.numbered-list strong { color: var(--blue-950); }
.formula-card { margin: 30px 0; padding: 28px; border: 1px solid #bad8f8; border-radius: 18px; background: linear-gradient(135deg,#f7fbff,#eaf5ff); text-align: center; }.formula-card span { display: block; margin-bottom: 8px; color: var(--blue-600); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.formula-card strong { color: var(--blue-950); font-size: 1.1rem; }
.source-list { display: grid; gap: 14px; }.source-list article { position: relative; padding: 25px 25px 23px 75px; border: 1px solid var(--line); border-radius: 17px; }.source-list article > span { position: absolute; top: 28px; left: 22px; color: var(--blue-500); font-size: .7rem; font-weight: 850; }.source-list h3 { font-size: 1.03rem; }.source-list p { margin-bottom: 10px; font-size: .85rem; }.source-list a { font-size: .75rem; }
.privacy-prose { margin-inline: auto; }.privacy-prose h2 { margin-top: 48px; }
.error-page { min-height: 60vh; display: grid; place-items: center; }.error-code { display: grid; width: 70px; height: 70px; margin: 0 auto 25px; place-items: center; border-radius: 50%; background: var(--danger-bg); color: var(--danger); font-size: 2rem; font-weight: 900; }.error-page p { max-width: 600px; margin: 0 auto 28px; }

/* Forms, auth and admin */
.notice { margin: 18px 0; padding: 14px 17px; border: 1px solid; border-radius: 12px; font-size: .85rem; }
.notice-error { border-color: #efc2c7; background: var(--danger-bg); color: #9e2f39; }.notice-success { border-color: #bce3d5; background: var(--success-bg); color: #176a4d; }.notice-info { border-color: #c7dcf3; background: var(--blue-50); color: #375c84; }
.auth-page { display: grid; min-height: calc(100vh - 76px); padding: 50px 20px; place-items: center; background: radial-gradient(circle at 50% 0,#dceeff,transparent 55%),var(--surface-alt); }
.auth-card { width: min(100%,470px); padding: 39px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-md); }.install-card { width: min(100%,520px); }.auth-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 30px; }.auth-card h1 { margin-bottom: 13px; font-size: 2rem; }.auth-card > p { margin-bottom: 25px; }.auth-back { display: block; margin-top: 22px; color: var(--muted); font-size: .8rem; text-align: center; }
.stack-form { display: grid; gap: 17px; }.stack-form label, .admin-form label { display: grid; gap: 7px; }.stack-form label > span, .admin-form label > span { color: #405873; font-size: .79rem; font-weight: 700; }.stack-form small, .admin-form small { color: var(--soft); font-size: .68rem; }
input, select, textarea { width: 100%; border: 1px solid #cfdce9; border-radius: 11px; background: #fff; color: var(--ink); }.stack-form input, .admin-form input, .admin-form select, .admin-form textarea { min-height: 46px; padding: 10px 12px; }.admin-form textarea { resize: vertical; }.stack-form input:focus, .admin-form input:focus, .admin-form select:focus, .admin-form textarea:focus { border-color: var(--blue-500); outline: 3px solid rgba(61,143,240,.13); }
.admin-body { background: #f5f8fc; }.admin-shell { display: grid; grid-template-columns: 245px minmax(0,1fr); min-height: 100vh; }.admin-sidebar { display: flex; position: sticky; top: 0; height: 100vh; flex-direction: column; padding: 25px 18px 20px; border-right: 1px solid #dce5ef; background: #fff; }.admin-brand { margin: 0 8px 33px; font-size: .94rem; }.admin-sidebar nav { display: grid; gap: 4px; }.admin-sidebar nav a { padding: 10px 13px; border-radius: 10px; color: #556a82; font-size: .84rem; font-weight: 650; }.admin-sidebar nav a:hover { background: var(--blue-50); color: var(--blue-800); }.admin-sidebar nav a.active { background: var(--blue-100); color: var(--blue-800); }.admin-sidebar-bottom { display: grid; gap: 8px; margin-top: auto; padding: 15px 8px 0; border-top: 1px solid var(--line); }.admin-sidebar-bottom a,.admin-sidebar-bottom button { border: 0; background: none; color: var(--muted); cursor: pointer; font-size: .76rem; text-align: left; }.admin-main { min-width: 0; padding: 42px clamp(25px,4vw,58px) 70px; }.admin-header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }.admin-header .section-kicker { margin-bottom: 8px; }.admin-header h1 { margin-bottom: 7px; font-size: clamp(2rem,3vw,2.7rem); }.admin-header p { margin: 0; font-size: .88rem; }.back-link { display: inline-block; margin-bottom: 11px; color: var(--blue-700); font-size: .76rem; font-weight: 700; }
.stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 24px; }.stat-grid article { display: grid; padding: 21px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 4px 15px rgba(10,53,107,.04); }.stat-grid span { color: var(--muted); font-size: .75rem; font-weight: 650; }.stat-grid strong { margin: 8px 0 1px; color: var(--blue-950); font-size: 1.9rem; line-height: 1; }.stat-grid small { color: var(--soft); font-size: .65rem; }
.admin-coverage-section { margin: 4px 0 30px; padding: 24px 24px 1px; border: 1px solid var(--line); border-radius: 17px; background: #f9fbfe; }
.admin-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 18px; }
.admin-section-heading .section-kicker { margin-bottom: 6px; }
.admin-section-heading h2 { margin: 0; font-size: 1.25rem; }
.admin-section-heading > p { max-width: 500px; margin: 0; font-size: .74rem; line-height: 1.55; text-align: right; }
.source-coverage-grid article { border-top-width: 3px; box-shadow: none; }
.source-coverage-grid strong { font-variant-numeric: tabular-nums; }
.admin-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.admin-card { border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 4px 18px rgba(10,53,107,.04); }.admin-card-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 21px; }.admin-card-head > div { display: flex; align-items: center; gap: 12px; }.admin-card-head > div > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: var(--blue-100); color: var(--blue-700); font-size: .72rem; font-weight: 850; }.admin-card-head h2 { margin: 0; font-size: 1.15rem; }.admin-card-head small { color: var(--soft); font-size: .7rem; }.admin-columns .admin-card { padding: 24px; }
.check-list { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }.check-list li { display: flex; gap: 10px; color: #52667d; font-size: .8rem; }.check-list li span { display: grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border-radius: 7px; background: var(--blue-50); color: var(--blue-700); font-size: .65rem; font-weight: 800; }.audit-list { display: grid; gap: 12px; }.audit-list div { display: grid; padding-bottom: 10px; border-bottom: 1px solid #edf2f7; }.audit-list strong { color: var(--blue-950); font-size: .76rem; }.audit-list span { color: var(--muted); font-size: .71rem; }.audit-list small { color: var(--soft); font-size: .62rem; }
.admin-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; background: #fff; }.admin-table { width: 100%; border-collapse: collapse; font-size: .78rem; }.admin-table th { padding: 13px 16px; border-bottom: 1px solid var(--line); background: #f9fbfd; color: #6d7f93; font-size: .67rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }.admin-table td { padding: 15px 16px; border-bottom: 1px solid #edf2f7; color: #51677f; vertical-align: middle; }.admin-table tr:last-child td { border-bottom: 0; }.admin-table td strong { display: block; color: var(--blue-950); font-size: .81rem; }.admin-table td small { display: block; margin-top: 2px; color: var(--soft); font-size: .65rem; }.row-inactive { opacity: .58; }.score-pill { display: inline-flex; padding: 5px 8px; border-radius: 8px; background: var(--blue-50); color: var(--blue-700); font-weight: 750; }.status-dot { display: inline-flex; align-items: center; gap: 5px; }.status-dot::before { content: ""; width: 7px; height: 7px; border-radius: 50%; }.status-dot.on::before { background: var(--success); }.status-dot.off::before { background: #a6b0bb; }.table-actions { display: flex; align-items: center; gap: 10px; }.table-actions a { color: var(--blue-700); font-weight: 700; }.table-actions form { display: inline; }.table-actions button { padding: 0; border: 0; background: none; color: var(--muted); cursor: pointer; font-size: .72rem; }
.admin-form { display: grid; gap: 18px; }.form-section { padding: 25px; }.form-grid { display: grid; gap: 18px; }.form-grid.two { grid-template-columns: repeat(2,1fr); }.form-grid.three { grid-template-columns: repeat(3,1fr); }.span-2 { grid-column: span 2; }.span-3 { grid-column: span 3; }.checkbox-label { display: flex !important; align-items: center; align-self: end; min-height: 46px; flex-direction: row !important; gap: 9px !important; }.checkbox-label input { width: 18px; min-height: 18px; height: 18px; accent-color: var(--blue-700); }.score-form-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; }.score-form-grid input { font-weight: 750; text-align: center; }.form-footer-section { display: grid; gap: 20px; }.form-actions { display: flex; justify-content: flex-end; gap: 11px; }.code-field { min-height: 130px !important; background: #f8fafc !important; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important; font-size: .75rem !important; line-height: 1.6; }.code-field.tall { min-height: 300px !important; }.field-help { margin: -8px 0 17px; color: var(--muted); font-size: .76rem; }.field-help code { padding: 2px 5px; border-radius: 4px; background: var(--blue-50); color: var(--blue-800); }.metric-list { display: grid; }.metric-list div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid #edf2f7; }.metric-list div:last-child { border-bottom: 0; }.metric-list span { color: var(--muted); font-size: .79rem; }.metric-list strong { color: var(--blue-950); }

.admin-seo-link { display: block; margin: 3px 0; color: var(--blue-700); font-size: .7rem; font-weight: 700; }
.admin-seo-footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 18px; margin-top: 22px; }
.system-check-card { padding: 25px; }
.system-check-list { display: grid; gap: 10px; }
.system-check-item { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; }
.system-check-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; font-weight: 900; }
.system-check-item > div > strong { display: block; color: var(--blue-950); font-size: .82rem; }
.system-check-item p { margin: 2px 0 0; color: var(--muted); font-size: .72rem; }
.system-check-item > b { font-size: .68rem; text-transform: uppercase; }
.system-check-item.pass .system-check-icon { background: var(--success-bg); color: var(--success); }
.system-check-item.pass > b { color: var(--success); }
.system-check-item.warning .system-check-icon { background: var(--warning-bg); color: var(--warning); }
.system-check-item.warning > b { color: var(--warning); }
.system-check-item.fail .system-check-icon { background: var(--danger-bg); color: var(--danger); }
.system-check-item.fail > b { color: var(--danger); }

/* Forrásolt alvástippek */
.home-sleep-section { background: #fff; }
.sleep-tip-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.sleep-tip-list { margin: 0; padding: 0; list-style: none; }
.sleep-tip-list > li { display: flex; min-width: 0; }
.sleep-tip-list .sleep-tip-card { width: 100%; }
.sleep-tip-preview { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sleep-tip-card { display: flex; min-height: 310px; scroll-margin-top: 95px; flex-direction: column; padding: 27px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-sm); transition: border-color .18s,box-shadow .18s,background-color .18s; }
.sleep-tip-card.is-navigator-target,.sleep-tip-card:focus { border-color: var(--blue-500); outline: 3px solid rgba(42,127,216,.2); outline-offset: 4px; box-shadow: 0 15px 38px rgba(10,78,150,.14); }
.sleep-tip-card.personalized { border-color: #9dcef9; background: linear-gradient(145deg,#fff,#f0f8ff); }
.sleep-tip-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 25px; }
.tip-number { color: var(--blue-500); font-size: .73rem; font-weight: 880; letter-spacing: .13em; }
.tip-badge { padding: 5px 8px; border: 1px solid #c7def6; border-radius: 99px; background: var(--blue-50); color: var(--blue-700); font-size: .61rem; font-weight: 800; }
.personalized .tip-badge { border-color: #9bcaf6; background: var(--blue-100); }
.sleep-tip-card h3 { margin-bottom: 13px; font-size: 1.18rem; }
.sleep-tip-card > p { margin-bottom: 19px; font-size: .86rem; line-height: 1.72; }
.tip-action { display: grid; gap: 6px; margin-top: auto; padding: 15px; border-radius: 12px; background: #f5f9fd; }
.tip-action strong { color: var(--blue-900); font-size: .71rem; text-transform: uppercase; letter-spacing: .05em; }
.tip-action span { color: #536a83; font-size: .77rem; line-height: 1.6; }
.sleep-tip-links { display: grid; gap: 5px; margin-top: 15px; }
.sleep-tip-links > strong { color: var(--muted); font-size: .64rem; letter-spacing: .04em; text-transform: uppercase; }
.sleep-tip-links ul { display: flex; flex-wrap: wrap; gap: 5px 8px; margin: 0; padding: 0; list-style: none; }
.sleep-tip-links a { display: inline-flex; min-height: 40px; align-items: center; padding: 7px 9px; border-radius: 8px; color: var(--blue-700); font-size: .75rem; font-weight: 740; line-height: 1.3; text-decoration: underline; text-decoration-color: rgba(18,97,201,.25); text-underline-offset: 3px; }
.sleep-tip-links a:hover { background: var(--blue-50); }
.sleep-navigator-section { padding-top: 22px; background: linear-gradient(180deg,#fff,#f5faff); }
.sleep-navigator { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 28px 42px; padding: 31px; border: 1px solid #c7ddf3; border-radius: 21px; background: #fff; box-shadow: 0 14px 38px rgba(10,53,107,.07); }
.sleep-navigator-copy h2 { margin: 5px 0 12px; font-size: clamp(1.5rem,3vw,2.15rem); }
.sleep-navigator-copy p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.68; }
.sleep-navigator-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; align-content: start; }
.sleep-navigator-options a { display: flex; min-height: 48px; align-items: center; padding: 11px 13px; border: 1px solid var(--line); border-radius: 11px; background: #f9fbfe; color: #315270; font-size: .76rem; font-weight: 760; line-height: 1.35; text-decoration: none; }
.sleep-navigator-options a:hover { border-color: #9fc5eb; background: var(--blue-50); color: var(--blue-800); }
.sleep-navigator-options a[aria-current="location"] { border-color: var(--blue-500); background: var(--blue-100); color: var(--blue-900); box-shadow: inset 0 0 0 1px var(--blue-500); }
.sleep-navigator-options a:focus-visible,.sleep-navigator-feedback button:focus-visible,.sleep-tip-links a:focus-visible { outline: 3px solid rgba(22,105,199,.3); outline-offset: 2px; }
.sleep-navigator-feedback { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.sleep-navigator-feedback p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.sleep-navigator-feedback button { flex: 0 0 auto; border: 0; background: none; cursor: pointer; }
#segitseg { scroll-margin-top: 95px; }
#segitseg.is-navigator-target { outline: 3px solid rgba(42,127,216,.2); outline-offset: 8px; }
.home-sleep-action { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 28px; }
.home-sleep-action span { color: var(--muted); font-size: .77rem; }
.sleep-intro-section { padding-block: 56px; }
.sleep-intro-section .answer-first { margin-bottom: 18px; }
.sleep-boundary { display: grid; grid-template-columns: 190px 1fr; gap: 28px; padding: 23px 27px; border: 1px solid #efd4ac; border-radius: 16px; background: var(--warning-bg); }
.sleep-boundary strong { color: #7e531e; }
.sleep-boundary p { margin: 0; color: #745f43; font-size: .83rem; line-height: 1.72; }
.sleep-guide-layout { grid-template-columns: 235px minmax(0,850px); }
.sleep-factor-table-wrap { overflow-x: auto; margin: 25px 0; border: 1px solid var(--line); border-radius: 15px; }
.sleep-factor-table-wrap:focus-visible { outline: 3px solid rgba(22,105,199,.3); outline-offset: 3px; }
.sleep-table-hint { margin: 18px 0 -14px; color: var(--muted); font-size: .72rem; }
.sleep-factor-table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: .78rem; }
.sleep-factor-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.sleep-factor-table th,.sleep-factor-table td { padding: 15px 17px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.sleep-factor-table th { background: #f6f9fd; color: var(--blue-950); font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.sleep-factor-table td { color: #52677f; line-height: 1.55; }
.sleep-factor-table tr:last-child td { border-bottom: 0; }
.sleep-diary-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 25px 0; }
.sleep-diary-grid article { display: flex; align-items: center; gap: 13px; min-height: 72px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.sleep-diary-grid strong { color: var(--blue-500); font-size: .7rem; }
.sleep-diary-grid span { color: #455f7b; font-size: .79rem; font-weight: 670; }
.sleep-help-box { padding: 28px 30px; border: 1px solid #edcfd3; border-radius: 18px; background: #fff6f7; }
.sleep-help-box p { color: #674f55; line-height: 1.78; }
.sleep-help-box p:last-child { margin-bottom: 0; }
.result-sleep-section { padding-top: 80px; border-top: 1px solid var(--line); background: #fff; }
.result-sleep-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.result-sleep-grid .sleep-tip-card { min-height: 330px; }
.sleep-result-footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 28px; padding: 24px 27px; border-radius: 16px; background: var(--blue-50); }
.sleep-result-footer div { display: grid; gap: 4px; }
.sleep-result-footer strong { color: var(--blue-950); font-size: .88rem; }
.sleep-result-footer span { color: var(--muted); font-size: .75rem; }
.sleep-result-footer .button { flex: 0 0 auto; }
.sleep-seo-callout { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-bottom: 55px; padding: 28px; border: 1px solid #c8def5; border-radius: 18px; background: linear-gradient(135deg,#f7fbff,#edf6ff); }
.sleep-seo-callout .section-kicker { margin-bottom: 8px; }
.sleep-seo-callout h2 { margin-bottom: 10px; font-size: 1.45rem; }
.sleep-seo-callout p { max-width: 610px; margin: 0; font-size: .82rem; line-height: 1.7; }
.sleep-seo-callout .button { flex: 0 0 auto; }

/* Világosan jelölt, a szerkesztőségi tartalomtól elkülönített hirdetési helyek */
.commercial-ad { padding: 34px 0; border-top: 1px solid #d9e4ef; border-bottom: 1px solid #d9e4ef; background: #f4f7fa; }
.commercial-ad-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 28px; padding: 25px 28px; border: 1px solid #cbd7e4; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(26,51,79,.06); }
.commercial-ad-card.has-image { grid-template-columns: 260px minmax(0,1fr) auto; }
.commercial-ad-image { display: block; overflow: hidden; height: 108px; border-radius: 12px; background: #eaf0f5; }
.commercial-ad-image img { width: 100%; height: 100%; object-fit: cover; }
.commercial-ad-copy { min-width: 0; }
.commercial-ad-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 9px; }
.commercial-ad-meta span { display: inline-flex; padding: 4px 8px; border: 1px solid #9aa9b8; border-radius: 5px; color: #34485c; font-size: .62rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.commercial-ad-meta small { color: #65798d; font-size: .68rem; font-weight: 700; }
.commercial-ad-title { display: block; margin-bottom: 7px; color: #17324e; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.18rem,2vw,1.55rem); line-height: 1.22; }
.commercial-ad-copy > p { max-width: 760px; margin-bottom: 9px; color: #50657a; font-size: .82rem; line-height: 1.65; }
.commercial-ad-independence { display: block; color: #778a9c; font-size: .64rem; line-height: 1.5; }
.commercial-ad-cta { min-width: 145px; white-space: nowrap; }
.guide-prose > .commercial-ad { margin: 0 0 72px; padding: 0; border: 0; background: transparent; }
.guide-prose > .commercial-ad .shell { width: 100%; }
.guide-prose > .commercial-ad .commercial-ad-card { grid-template-columns: 1fr; align-items: start; padding: 23px; }
.guide-prose > .commercial-ad .commercial-ad-card.has-image { grid-template-columns: 160px minmax(0,1fr); }
.guide-prose > .commercial-ad .commercial-ad-cta { justify-self: start; }.guide-prose > .commercial-ad .commercial-ad-card.has-image .commercial-ad-cta { grid-column: 2; }

/* Hirdetési adminisztráció */
.independence-lock-card { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 15px; margin-bottom: 20px; padding: 19px 21px; border: 1px solid #b8dfd1; border-radius: 15px; background: #f1fbf7; }
.independence-lock-card > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #d7f2e7; color: #167555; font-weight: 900; }
.independence-lock-card strong { color: #155f49; }
.independence-lock-card p { margin: 4px 0 0; color: #477264; font-size: .76rem; line-height: 1.62; }
.ad-stat-grid { margin-bottom: 20px; }
.ad-empty-state { padding: 38px; text-align: center; }
.ad-empty-state h2 { margin: 8px 0 10px; }
.ad-empty-state p { max-width: 680px; margin: 0 auto 22px; }
.ad-admin-table { min-width: 980px; }
.admin-tag-list { display: grid; gap: 4px; }
.admin-tag-list span { display: block; max-width: 260px; padding: 4px 7px; border-radius: 6px; background: var(--blue-50); color: #466986; font-size: .62rem; }
.placement-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.placement-choice { display: flex !important; align-items: flex-start; flex-direction: row !important; gap: 12px !important; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f9fbfd; cursor: pointer; }
.placement-choice:has(input:checked) { border-color: #8cb9ec; background: var(--blue-50); box-shadow: inset 0 0 0 1px #8cb9ec; }
.placement-choice input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--blue-700); }
.placement-choice > span { display: grid; gap: 5px; }
.placement-choice strong { color: var(--blue-950); font-size: .79rem; }
.placement-choice small { color: var(--muted); font-size: .67rem; line-height: 1.5; }
.current-ad-image { display: grid; grid-template-columns: 150px minmax(0,1fr); align-items: center; gap: 15px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #f9fbfd; }
.current-ad-image img { width: 150px; height: 90px; border-radius: 8px; object-fit: cover; }
.current-ad-image .checkbox-label { align-self: center; }
.ad-image-placeholder { display: grid; min-height: 110px; place-items: center; padding: 18px; border: 1px dashed #bdcad8; border-radius: 12px; color: var(--muted); font-size: .72rem; text-align: center; }

@media print {
    .site-header,.site-footer,.commercial-ad,.recommendations-heading .button,.product-actions,.result-actions-bottom,.final-cta,.compare-builder,.quick-comparisons,.tool-explainer,.checker-section,.tool-hero,.sleep-navigator-section { display: none !important; }
    .result-hero,.section,.recommendations-section { padding: 25px 0; background: #fff; }
    .result-grid { grid-template-columns: 1fr; }.result-sidebar { display: none; }.product-grid { grid-template-columns: 1fr 1fr; }.product-card { break-inside: avoid; box-shadow: none; }
    .comparison-table-wrap { overflow: visible; border: 0; }.technology-table { min-width: 0; }.technology-table th,.technology-table td { min-width: 0; padding: 8px; font-size: 9pt; }
    .checker-result-section { display: block !important; padding: 0; background: #fff; }.analysis-score-card,.analysis-list-card,.marketing-flags,.profile-alignment,.sleep-tip-card { break-inside: avoid; box-shadow: none; }
    .retailer-letter-card { break-before: page; border: 0; border-radius: 0; box-shadow: none; }.retailer-letter-heading { padding: 0 0 7mm; background: #fff; }.retailer-letter-badge,.retailer-letter-grid { display: none !important; }.retailer-letter-print { display: block; padding-top: 7mm; }
}

@media (max-width: 980px) {
    .hero-grid { grid-template-columns: 1fr; gap: 50px; min-height: auto; }.hero-card { max-width: 620px; transform: none; }.dimension-grid { grid-template-columns: repeat(2,1fr); }.faq-layout { grid-template-columns: 1fr; gap: 45px; }.faq-intro { position: static; }.result-grid { grid-template-columns: 1fr; }.result-sidebar { grid-template-columns: 1fr 1fr; }.retailer-letter-grid { grid-template-columns: 1fr; }.retailer-letter-guide { grid-template-columns: 1fr 1fr; }.retailer-letter-guide > p,.retailer-letter-privacy { grid-column: 1 / -1; }.admin-shell { grid-template-columns: 200px minmax(0,1fr); }.stat-grid { grid-template-columns: repeat(2,1fr); }.form-grid.three { grid-template-columns: repeat(2,1fr); }.span-3 { grid-column: span 2; }.score-form-grid { grid-template-columns: repeat(2,1fr); }.compare-select-grid { grid-template-columns: repeat(2,1fr); }.checker-layout { grid-template-columns: 1fr; }.checker-aside { position: static; grid-template-columns: 1fr 1fr; }.editorial-principles,.ranking-method { grid-template-columns: 1fr; }.book-promotion-inner { grid-template-columns: 210px minmax(0,1fr); }.book-cover { width: 200px; height: 210px; }.book-promotion-cta { grid-column: 2; justify-self: start; }.footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 52px; }.commercial-ad-card.has-image { grid-template-columns: 170px minmax(0,1fr); }.commercial-ad-cta { grid-column: 2; justify-self: start; }.placement-choice-grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .sleep-tip-preview,.result-sleep-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
    .shell { width: min(calc(100% - 28px),var(--shell)); }.header-inner { min-height: 66px; }.main-nav { display: none; }.header-cta { margin-left: auto; }.brand { font-size: .89rem; }.brand-mark { width: 32px; transform: scale(.88); transform-origin: left center; }.hero-grid { padding-block: 60px; }.hero-actions { align-items: stretch; flex-direction: column; gap: 16px; }.hero-actions .button { width: 100%; }.hero-actions .text-link { justify-content: center; }.trust-line { align-items: flex-start; flex-direction: column; }.trust-separator { display: none; }.hero-card { padding: 23px; }.section { padding-block: 72px; }.steps-grid,.product-grid,.guidance-grid { grid-template-columns: 1fr; }.split-heading { grid-template-columns: 1fr; gap: 20px; }.dimension-grid { grid-template-columns: 1fr; border-left: 0; }.dimension-grid article { min-height: 175px; border-left: 1px solid var(--line); }.research-card { grid-template-columns: 1fr; padding: 32px 25px; }.research-badge { width: 68px; height: 68px; font-size: 1.8rem; }.final-cta-inner { align-items: stretch; flex-direction: column; gap: 28px; }.final-cta .button { width: 100%; }.footer-grid { grid-template-columns: 1fr; }.quiz-shell { padding: 12px 0 0; }.quiz-wrap { width: min(calc(100% - 24px),var(--shell)); min-height: 100dvh; }.quiz-stage { align-items: flex-start; padding: 34px 0 110px; }.question-card h1 { font-size: clamp(1.75rem,8vw,2.15rem); }.question-explainer { margin-bottom: 23px; }.answer-option { min-height: 64px; padding: 14px; font-size: .9rem; }.quiz-bottom { position: sticky; z-index: 5; bottom: 0; margin-inline: -12px; padding: 12px max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); border-top: 1px solid var(--line); background: rgba(248,251,255,.96); box-shadow: 0 -8px 24px rgba(10,53,107,.07); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }.quiz-bottom .button { min-width: 0; min-height: 50px; flex: 1; padding-inline: 12px; }.result-hero { padding: 60px 0 50px; }.result-section { padding-top: 58px; }.result-dimensions { grid-template-columns: 1fr; }.result-sidebar { grid-template-columns: 1fr; }.recommendations-heading { align-items: stretch; }.recommendations-heading .button { width: 100%; }.product-visual { height: 200px; }.retailer-letter-heading { align-items: flex-start; flex-direction: column; padding: 26px 21px; }.retailer-letter-guide { grid-template-columns: 1fr; padding: 27px 21px; }.retailer-letter-guide > p,.retailer-letter-privacy { grid-column: auto; }.retailer-letter-editor { padding: 25px 18px; }.retailer-letter-editor textarea { min-height: 680px; padding: 15px; font-size: 1rem; line-height: 1.55; }.retailer-letter-actions { align-items: stretch; flex-direction: column; }.retailer-letter-actions .button,.retailer-letter-actions .text-link { width: 100%; margin-left: 0; text-align: center; }.result-actions-bottom { align-items: stretch; flex-direction: column; }.result-actions-bottom .button { width: 100%; }.result-disclaimer .narrow-wide { grid-template-columns: 1fr; gap: 9px; }.article-layout { grid-template-columns: 1fr; }.article-nav { display: none; }.page-hero { padding: 65px 0 55px; }.source-list article { padding-left: 25px; padding-top: 54px; }.source-list article > span { top: 22px; }.admin-shell { display: block; }.admin-sidebar { position: static; width: 100%; height: auto; padding: 16px; }.admin-brand { margin-bottom: 15px; }.admin-sidebar nav { grid-template-columns: repeat(3,1fr); }.admin-sidebar nav a { padding: 8px; text-align: center; }.admin-sidebar-bottom { display: flex; justify-content: space-between; margin-top: 15px; }.admin-main { padding: 28px 14px 60px; }.admin-header { align-items: stretch; flex-direction: column; }.admin-header .button { width: 100%; }.admin-columns,.form-grid.two,.form-grid.three,.score-form-grid { grid-template-columns: 1fr; }.span-2,.span-3 { grid-column: span 1; }.stat-grid { gap: 10px; }.stat-grid article { padding: 16px; }.form-section { padding: 18px; }.admin-table th,.admin-table td { padding: 11px; }.auth-card { padding: 28px 22px; }.hub-tools .shell { align-items: flex-start; flex-direction: column; }.knowledge-search-row { grid-template-columns: 1fr; }.knowledge-search-row .button { width: 100%; }.search-result-list,.analysis-list-grid,.analysis-breakdown,.marketing-flags > div { grid-template-columns: 1fr; }.compare-select-grid { grid-template-columns: 1fr; }.tool-actions { align-items: stretch; flex-direction: column; }.tool-actions .button,.tool-actions .text-link { width: 100%; margin-left: 0; text-align: center; }.checker-aside { grid-template-columns: 1fr; }.form-panel { padding: 21px 17px; }.field-grid.two,.field-grid.three,.field-grid.four { grid-template-columns: 1fr; }.field-grid .span-two,.field-grid .span-three { grid-column: span 1; }.layer-row { grid-template-columns: 27px 1fr 1fr 28px; padding-bottom: 12px; border-bottom: 1px solid #e8eef4; }.layer-row label:nth-of-type(1) { grid-column: 2 / 4; }.checker-submit { align-items: stretch; flex-direction: column; }.checker-submit .button { width: 100%; }.analysis-score-card { grid-template-columns: 1fr; }.analysis-score-card .button { width: 100%; }.editorial-principles { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .sleep-tip-grid,.sleep-tip-preview,.result-sleep-grid,.sleep-diary-grid { grid-template-columns: 1fr; }
    .sleep-tip-card { min-height: auto; }
    .sleep-navigator-section { padding-top: 12px; }
    .sleep-navigator { grid-template-columns: 1fr; gap: 23px; padding: 23px 19px; }
    .sleep-navigator-options { grid-template-columns: 1fr; }
    .sleep-navigator-options a { min-height: 50px; }
    .sleep-navigator-feedback { grid-column: 1; align-items: flex-start; flex-direction: column; gap: 10px; }
    .sleep-tip-links ul { display: grid; grid-template-columns: 1fr; }
    .sleep-tip-links a { min-height: 44px; }
    .sleep-table-hint { margin-bottom: 10px; }
    .sleep-factor-table-wrap { overflow: visible; margin-top: 0; border: 0; }
    .sleep-factor-table { display: block; min-width: 0; }
    .sleep-factor-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
    .sleep-factor-table tbody { display: grid; gap: 12px; }
    .sleep-factor-table tr { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
    .sleep-factor-table td { display: grid; grid-template-columns: minmax(112px,.72fr) minmax(0,1fr); gap: 13px; padding: 13px 15px; border-bottom: 1px solid var(--line); }
    .sleep-factor-table td::before { color: var(--blue-900); content: attr(data-label); font-size: .68rem; font-weight: 800; line-height: 1.45; text-transform: uppercase; }
    .sleep-factor-table tr td:last-child { border-bottom: 0; }
    .home-sleep-action,.sleep-result-footer,.sleep-seo-callout { align-items: stretch; flex-direction: column; }
    .home-sleep-action .button,.sleep-result-footer .button,.sleep-seo-callout .button { width: 100%; }
    .sleep-boundary { grid-template-columns: 1fr; gap: 8px; }
    .book-promotion { padding: 38px 0 42px; }
    .book-promotion-inner { grid-template-columns: 1fr; gap: 22px; padding: 24px; }
    .book-cover { width: 210px; height: 220px; justify-self: start; }
    .book-promotion-cta { grid-column: 1; width: 100%; justify-self: stretch; }
    .footer-grid { gap: 34px; padding: 44px 0 38px; }
    .footer-nav-group,.footer-company { padding-top: 28px; border-top: 1px solid rgba(194,217,242,.1); }
    .footer-disclaimer { grid-template-columns: 34px minmax(0,1fr); align-items: start; }
    .footer-disclaimer a { grid-column: 2; white-space: normal; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: 15px; }
    .footer-bottom-links { gap: 14px 18px; }
    .system-check-item { grid-template-columns: 32px minmax(0,1fr); }
    .system-check-item > b { grid-column: 2; }
    .commercial-ad { padding: 24px 0; }
    .commercial-ad-card,.commercial-ad-card.has-image,.guide-prose > .commercial-ad .commercial-ad-card.has-image { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
    .commercial-ad-image { height: 170px; }
    .commercial-ad-cta { grid-column: 1; width: 100%; justify-self: stretch; }
    .current-ad-image { grid-template-columns: 1fr; }
    .current-ad-image img { width: 100%; height: 150px; }
}

@media (max-width: 460px) {
    .header-cta { display: none; }.hero h1 { font-size: 2.55rem; }.dimension-grid article { min-height: 150px; }.quiz-progress-meta { grid-column: 2 / 4; }.quiz-exit span { display: none; }.card-heading { flex-direction: column; }.mattress-placeholder { width: 190px; }.product-actions { align-items: stretch; flex-direction: column; }.compare-check { justify-content: center; }.admin-sidebar nav { grid-template-columns: repeat(2,1fr); }.stat-grid { grid-template-columns: 1fr 1fr; }.stat-grid strong { font-size: 1.55rem; }
}

@media (max-width: 1040px) {
    .main-nav { gap: 15px; }
    .header-inner { gap: 20px; }
}

@media (max-width: 900px) {
    .main-nav { display: none; }
    .header-cta { margin-left: auto; }
    .knowledge-grid { grid-template-columns: 1fr; gap: 40px; }
    .knowledge-numbers { grid-template-columns: repeat(3,1fr); }
    .knowledge-numbers article { grid-template-columns: 1fr; gap: 10px; }
    .directory-grid { grid-template-columns: repeat(2,1fr); }
    .guide-content-layout { grid-template-columns: 200px minmax(0,1fr); gap: 45px; }
    .related-guide-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 720px) {
    .knowledge-actions { align-items: stretch; flex-direction: column; }
    .knowledge-actions .button { width: 100%; }
    .knowledge-numbers { grid-template-columns: 1fr; }
    .knowledge-numbers article { grid-template-columns: 75px 1fr; }
    .guide-hero, .guide-page-hero { padding-block: 58px; }
    .guide-answer-card { grid-template-columns: 1fr; gap: 18px; padding: 29px 24px; }
    .directory-grid { grid-template-columns: 1fr; }
    .directory-card { min-height: 245px; }
    .directory-heading { align-items: start; flex-direction: column; gap: 12px; }
    .guide-content-layout { grid-template-columns: 1fr; }
    .guide-toc { display: none; }
    .guide-check-grid, .profile-list-grid, .related-guide-grid { grid-template-columns: 1fr; }
    .reference-profile-card > header,.reference-profile-source { padding-inline: 18px; }
    .reference-profile-facts { grid-template-columns: 1fr; padding-inline: 18px; }
    .reference-profile-facts div,.reference-profile-facts div:nth-child(odd),.reference-profile-facts div:nth-child(even) { padding: 13px 0; border-left: 0; }
    .coverage-breakdown { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .evidence-level-guide { grid-template-columns: 1fr; }
    .admin-coverage-section { padding: 20px 16px 1px; }
    .admin-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .admin-section-heading > p { max-width: none; text-align: left; }
    .profile-test-cta { align-items: stretch; flex-direction: column; }
    .profile-test-cta .button { width: 100%; }
    .neutrality-note .shell { grid-template-columns: 1fr; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Névtelen matracpróba és 30 napos utánmérés */
.trial-hero,.trial-sheet-hero,.transparency-hero { padding: 82px 0 76px; background: radial-gradient(circle at 82% 12%,#dbeeff,transparent 38%),linear-gradient(180deg,#f5faff,#fff); }
.trial-hero h1,.trial-sheet-hero h1,.transparency-hero h1 { max-width: 970px; margin-bottom: 22px; font-size: clamp(2.55rem,5.4vw,4.75rem); }
.trial-hero > .shell > p,.trial-sheet-hero > .shell > p,.transparency-hero > .shell > p { max-width: 880px; font-size: 1.05rem; line-height: 1.82; }
.trial-step-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.trial-step-grid article { min-height: 250px; padding: 28px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: var(--shadow-sm); }
.trial-step-grid article > span { display: inline-flex; margin-bottom: 30px; color: var(--blue-500); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.trial-step-grid h3 { margin-bottom: 11px; font-size: 1.22rem; }.trial-step-grid p { margin: 0; font-size: .83rem; line-height: 1.72; }
.trial-dimensions-section { background: var(--surface-alt); }.trial-dimension-directory { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-top: 35px; }
.trial-dimension-directory article { padding: 19px 21px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.trial-dimension-directory strong { display: block; margin-bottom: 12px; color: var(--blue-950); font-size: .85rem; }
.trial-dimension-directory article div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; color: var(--muted); font-size: .68rem; }
.trial-dimension-directory i { height: 3px; border-radius: 99px; background: linear-gradient(90deg,#c9ddf3,var(--blue-600)); }
.trial-privacy-section { background: #fff; }.trial-privacy-card { display: grid; grid-template-columns: .78fr 1.22fr; gap: 50px 70px; padding: 45px 50px; border: 1px solid #b9ddcf; border-radius: 22px; background: linear-gradient(135deg,#f8fffc,#eefaf6); }
.trial-privacy-card h2 { margin: 7px 0 0; font-size: clamp(1.75rem,3vw,2.45rem); }.trial-privacy-card ul { margin: 0; padding: 0; list-style: none; }
.trial-privacy-card li { position: relative; margin: 12px 0; padding-left: 24px; color: #41665a; font-size: .83rem; line-height: 1.62; }.trial-privacy-card li::before { content: "✓"; position: absolute; left: 0; color: var(--success); font-weight: 900; }
.trial-policy-links { display: flex; flex-wrap: wrap; grid-column: 1 / -1; gap: 12px 28px; padding-top: 20px; border-top: 1px solid rgba(34,124,92,.15); }

.trial-secret-badge { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 7px 11px; border: 1px solid #a7d9c6; border-radius: 99px; background: #f2fcf8; color: #1b7255; font-size: .71rem; font-weight: 800; }
.trial-sheet-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin-top: 28px; padding-top: 20px; border-top: 1px solid #d8e6f3; color: var(--muted); font-size: .74rem; }.trial-sheet-meta strong { color: var(--blue-950); }.trial-sheet-meta button { margin-left: auto; }
.trial-flash { margin-top: 25px; padding: 16px 19px; border: 1px solid #a8ddc9; border-radius: 13px; background: var(--success-bg); color: #2d6c58; font-size: .82rem; }
.trial-target-section { padding-top: 70px; }.trial-target-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.trial-target-grid article { padding: 19px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 4px 17px rgba(10,53,107,.04); }
.trial-target-grid article > div { display: flex; justify-content: space-between; gap: 13px; margin-bottom: 13px; }.trial-target-grid strong { color: #405a76; font-size: .76rem; }.trial-target-grid b { color: var(--blue-800); }
.trial-target-grid article > i { display: block; overflow: hidden; height: 7px; border-radius: 99px; background: #e8eff7; }.trial-target-grid article > i u { display: block; width: var(--value); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue-400,#67a8ee),var(--blue-700)); }
.trial-target-grid small { display: flex; justify-content: space-between; gap: 10px; margin-top: 7px; color: #91a0b0; font-size: .58rem; }
.trial-paper-key { display: grid; grid-template-columns: minmax(250px,.85fr) minmax(340px,1.15fr) auto; align-items: center; gap: 35px; margin-bottom: 30px; padding: 28px 31px; border: 1px dashed #9eb9d5; border-radius: 18px; background: #f9fcff; }
.trial-paper-key h2 { margin: 5px 0 7px; font-size: 1.35rem; }.trial-paper-key p { margin: 0; font-size: .72rem; line-height: 1.55; }.paper-key-lines { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 19px; }.paper-key-lines span { display: flex; align-items: center; gap: 10px; }.paper-key-lines strong { color: var(--blue-800); }.paper-key-lines i { flex: 1; height: 18px; border-bottom: 1px solid #92a9c1; }
.trial-form-section { padding-top: 65px; background: var(--surface-alt); }.trial-form { margin-top: 28px; }.trial-candidate-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.trial-candidate-card { min-width: 0; margin: 0; padding: 0 25px 25px; border: 1px solid #cbd9e7; border-radius: 19px; background: #fff; box-shadow: var(--shadow-sm); transition: opacity .2s,border-color .2s; }
.trial-candidate-card legend { display: flex; width: calc(100% + 2px); align-items: center; justify-content: space-between; gap: 20px; margin-left: -1px; padding: 19px 1px 16px; color: var(--blue-950); }.trial-candidate-card legend > span { font-family: Georgia,"Times New Roman",serif; font-size: 1.35rem; font-weight: 800; }.trial-candidate-card legend > small { color: var(--muted); font-size: .65rem; text-transform: uppercase; }
.candidate-include { display: flex; width: auto; align-items: center; gap: 7px; cursor: pointer; color: var(--blue-700); font-size: .71rem; font-weight: 750; }.candidate-include input { width: 17px; height: 17px; accent-color: var(--blue-700); }
.trial-candidate-card.optional { opacity: .58; background: #f8fafc; }.trial-candidate-card.included { border-color: #94bee9; opacity: 1; }.trial-candidate-card.optional > :not(legend) { filter: grayscale(.45); pointer-events: none; }
.trial-quick-fields { display: grid; grid-template-columns: 1fr 1.3fr; gap: 15px; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #e8eef4; }.trial-quick-fields label { display: grid; gap: 7px; }.trial-quick-fields label > span,.followup-basics label > span { color: #49627d; font-size: .7rem; font-weight: 750; }.trial-quick-fields select,.followup-basics select,.followup-basics input[type="number"] { min-height: 42px; padding: 8px 10px; }
.trial-quick-fields label:has(input[type="range"]),.followup-basics label:has(input[type="range"]) { grid-template-columns: 1fr auto; }.trial-quick-fields input[type="range"],.followup-basics input[type="range"] { grid-column: 1; }.trial-quick-fields output,.followup-basics output { color: var(--blue-800); font-size: .78rem; font-weight: 800; }
input[type="range"] { height: 20px; border: 0; border-radius: 0; background: transparent; accent-color: var(--blue-700); cursor: pointer; }
.trial-slider-list { display: grid; gap: 15px; }.trial-slider-list > label,.followup-slider-grid > label { display: grid; gap: 5px; }.trial-slider-list label > span,.followup-slider-grid label > span { display: flex; justify-content: space-between; gap: 15px; }.trial-slider-list strong,.followup-slider-grid strong { color: #405873; font-size: .72rem; }.trial-slider-list output,.followup-slider-grid output { color: var(--blue-800); font-size: .72rem; font-weight: 850; }.trial-slider-list small,.followup-slider-grid small { display: flex; justify-content: space-between; color: #91a0b0; font-size: .56rem; }.trial-slider-list small i,.followup-slider-grid small i { font-style: normal; }
.trial-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 27px; padding: 22px 24px; border: 1px solid #c2d9ef; border-radius: 16px; background: #fff; }.trial-submit-row > div { display: grid; gap: 3px; }.trial-submit-row strong { color: var(--blue-950); font-size: .84rem; }.trial-submit-row span { color: var(--muted); font-size: .7rem; }
.trial-comparison-section { padding-top: 65px; background: var(--surface-alt); }.trial-result-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }.trial-result-cards article { padding: 22px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }.trial-result-cards article.closest { border-color: #8ed1ba; background: linear-gradient(145deg,#fff,#f0fbf7); box-shadow: 0 8px 25px rgba(28,116,85,.09); }
.trial-result-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 18px; }.trial-result-label > strong { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--blue-100); color: var(--blue-800); font-size: 1.1rem; }.closest .trial-result-label > strong { background: #dff5ed; color: #1d7356; }.trial-result-label span { color: #27755d; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.trial-result-cards dl { margin: 0; }.trial-result-cards dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #edf2f7; font-size: .7rem; }.trial-result-cards dl div:last-child { border: 0; }.trial-result-cards dt { color: var(--muted); }.trial-result-cards dd { margin: 0; color: var(--blue-950); font-weight: 750; text-align: right; }.trial-action-line { display: flex; justify-content: flex-end; gap: 28px; margin-top: 22px; }.trial-action-line button { border: 0; background: transparent; cursor: pointer; }
.trial-start-form { display: inline-flex; }.trial-start-note { max-width: 760px; margin: 17px auto 0; color: var(--muted); font-size: .72rem; line-height: 1.6; text-align: center; }
.followup-section { background: #fff; }.followup-head { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 28px; }.followup-head h2 { margin: 7px 0 9px; font-size: clamp(1.9rem,3vw,2.7rem); }.followup-head p { max-width: 680px; margin: 0; }.followup-date { flex: 0 0 auto; padding: 15px 19px; border: 1px solid #bfd7ed; border-radius: 13px; background: var(--blue-50); }.followup-date span { display: block; margin-bottom: 3px; color: var(--muted); font-size: .62rem; text-transform: uppercase; }.followup-date strong { color: var(--blue-900); font-size: .9rem; }
.followup-locked { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 26px; border: 1px solid #c7dcef; border-radius: 18px; background: #f6faff; }.followup-locked > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--blue-100); color: var(--blue-700); font-size: 1.4rem; }.followup-locked strong { color: var(--blue-950); }.followup-locked p { margin: 5px 0 0; font-size: .76rem; line-height: 1.6; }
.followup-form { padding: 28px; border: 1px solid #bdd6ee; border-radius: 20px; background: #f8fbff; }.followup-basics { display: grid; grid-template-columns: 1fr 1fr 1.3fr 1.3fr; gap: 15px; padding-bottom: 24px; border-bottom: 1px solid #dce7f1; }.followup-basics label { display: grid; gap: 7px; }.followup-slider-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 17px 28px; padding-top: 25px; }
.followup-complete { display: grid; grid-template-columns: 55px 1fr; gap: 20px; padding: 28px; border: 1px solid #a9dcc9; border-radius: 18px; background: #f1fbf7; }.followup-complete-mark { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: #d9f2e8; color: var(--success); font-size: 1.25rem; font-weight: 900; }.followup-complete h3 { margin: 7px 0 9px; }.followup-complete p { max-width: 780px; margin-bottom: 11px; }
.trial-method-note { padding: 34px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f8fafc; }.trial-method-note .shell { display: grid; grid-template-columns: 185px 1fr auto; align-items: center; gap: 25px; }.trial-method-note strong { color: var(--blue-950); }.trial-method-note p { margin: 0; font-size: .75rem; line-height: 1.7; }

/* Hirdetési átláthatóság */
.transparency-summary { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 28px; }.transparency-summary div { min-width: 175px; padding: 15px 18px; border: 1px solid #c6dcef; border-radius: 13px; background: rgba(255,255,255,.8); }.transparency-summary strong { display: block; color: var(--blue-900); font-size: 1.45rem; }.transparency-summary span { color: var(--muted); font-size: .67rem; }
.campaign-register-section { background: var(--surface-alt); }.self-promotion-row { display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 25px; margin-bottom: 17px; padding: 20px 22px; border: 1px solid #e4cf8c; border-radius: 16px; background: #fffbea; }.self-promotion-row > span { color: #8b650e; font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.self-promotion-row strong { color: #4f3d16; }.self-promotion-row p { margin: 4px 0 0; color: #796838; font-size: .75rem; }.self-promotion-row small { color: #8b751e; font-weight: 750; }
.transparency-empty { padding: 42px 25px; }.campaign-register { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }.campaign-register article { position: relative; padding: 25px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }.campaign-register article > span { color: var(--muted); font-size: .62rem; text-transform: uppercase; }.campaign-register h3 { margin: 7px 0; }.campaign-register p { font-size: .8rem; }.campaign-status { position: absolute; top: 20px; right: 20px; padding: 5px 8px; border-radius: 99px; font-size: .62rem; font-weight: 800; }.campaign-status.active { background: var(--success-bg); color: var(--success); }.campaign-status.scheduled { background: var(--blue-50); color: var(--blue-700); }.campaign-register dl { margin: 18px 0 0; }.campaign-register dl div { display: grid; grid-template-columns: 90px 1fr; gap: 15px; padding: 9px 0; border-top: 1px solid #edf2f7; font-size: .7rem; }.campaign-register dt { color: var(--muted); }.campaign-register dd { margin: 0; color: #405873; }
.ad-boundaries-section { background: #fff; }.transparency-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }.boundary-card { position: relative; padding: 34px 35px 31px 85px; border: 1px solid; border-radius: 20px; }.boundary-card > span { display: grid; position: absolute; top: 32px; left: 28px; width: 39px; height: 39px; place-items: center; border-radius: 50%; font-size: 1.1rem; font-weight: 900; }.boundary-card h2 { margin-bottom: 20px; font-size: 1.55rem; }.boundary-card ul { padding-left: 18px; }.boundary-card li { margin: 9px 0; font-size: .8rem; line-height: 1.55; }.boundary-card p { margin: 18px 0 0; font-size: .74rem; }.boundary-card.allowed { border-color: #abdcca; background: #f5fcf9; }.boundary-card.allowed > span { background: #dcf3ea; color: var(--success); }.boundary-card.allowed li,.boundary-card.allowed p { color: #416b5d; }.boundary-card.forbidden { border-color: #edc6ca; background: #fff7f8; }.boundary-card.forbidden > span { background: #f9dfe2; color: var(--danger); }.boundary-card.forbidden li { color: #765158; }
.ad-audit-section { background: var(--surface-alt); }.ad-audit-card { padding: 39px 42px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }.ad-audit-card h2 { margin: 7px 0 25px; }.audit-fact-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; }.audit-fact-grid article { padding: 19px; border-radius: 13px; background: #f4f8fc; }.audit-fact-grid strong { color: var(--blue-900); font-size: .78rem; }.audit-fact-grid p { margin: 7px 0 0; font-size: .7rem; line-height: 1.6; }.conflict-report { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 27px; padding: 23px; border: 1px solid #d2deea; border-radius: 15px; }.conflict-report strong { color: var(--blue-950); }.conflict-report p { margin: 5px 0 0; font-size: .73rem; }
.commercial-ad-independence a,.commercial-ad-independence span { color: #526f8e; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }

/* Kalibrációs adminjelentés */
.calibration-table-card { margin-top: 20px; padding: 24px; }.calibration-table-card .admin-card-head { align-items: flex-start; }.calibration-table-card .admin-card-head > div { display: block; }.calibration-table-card .admin-card-head p { max-width: 830px; margin: 6px 0 0; font-size: .72rem; }.calibration-table { min-width: 1150px; }.calibration-bottom { margin-top: 20px; }.calibration-bottom p { font-size: .78rem; line-height: 1.65; }

@media (max-width: 980px) {
    .trial-step-grid { grid-template-columns: 1fr; }.trial-step-grid article { min-height: auto; }.trial-privacy-card { grid-template-columns: 1fr; gap: 25px; }.trial-target-grid { grid-template-columns: repeat(2,1fr); }.trial-paper-key { grid-template-columns: 1fr 1fr; }.trial-paper-key .button { grid-column: 1 / -1; justify-self: start; }.trial-result-cards { grid-template-columns: repeat(2,1fr); }.followup-basics { grid-template-columns: repeat(2,1fr); }.trial-method-note .shell { grid-template-columns: 150px 1fr; }.trial-method-note a { grid-column: 2; }.audit-fact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .trial-hero,.trial-sheet-hero,.transparency-hero { padding: 58px 0 52px; }.trial-dimension-directory,.trial-candidate-grid,.followup-slider-grid,.campaign-register,.transparency-columns { grid-template-columns: 1fr; }.trial-privacy-card,.ad-audit-card { padding: 28px 23px; }.trial-target-grid { grid-template-columns: 1fr; }.trial-paper-key { grid-template-columns: 1fr; gap: 22px; }.paper-key-lines { grid-template-columns: 1fr; }.trial-candidate-card { padding-inline: 17px; }.trial-quick-fields,.followup-basics { grid-template-columns: 1fr; }.trial-submit-row,.followup-head,.conflict-report { align-items: stretch; flex-direction: column; }.trial-submit-row .button,.conflict-report .button { width: 100%; }.trial-result-cards { grid-template-columns: 1fr; }.trial-action-line { align-items: flex-start; flex-direction: column; }.followup-locked { grid-template-columns: 45px 1fr; }.followup-locked .button { grid-column: 1 / -1; width: 100%; }.followup-form { padding: 20px 17px; }.followup-complete { grid-template-columns: 1fr; }.trial-method-note .shell { grid-template-columns: 1fr; }.trial-method-note a { grid-column: 1; }.transparency-summary { display: grid; grid-template-columns: 1fr; }.self-promotion-row { grid-template-columns: 1fr; gap: 8px; }.boundary-card { padding: 82px 24px 27px; }.boundary-card > span { top: 25px; left: 24px; }.campaign-register article { padding: 22px; }.campaign-status { position: static; display: inline-flex; margin-bottom: 14px; }.footer-bottom-links { row-gap: 10px; }
}

@media print {
    body[data-page^="matracproba/"] .site-header,body[data-page^="matracproba/"] .site-footer,body[data-page^="matracproba/"] .trial-flash,body[data-page^="matracproba/"] .trial-submit-row,body[data-page^="matracproba/"] .trial-action-line,body[data-page^="matracproba/"] .followup-section,body[data-page^="matracproba/"] .trial-method-note,body[data-page^="matracproba/"] .trial-paper-key .button { display: none !important; }
    body[data-page^="matracproba/"] .trial-sheet-hero,body[data-page^="matracproba/"] .trial-target-section,body[data-page^="matracproba/"] .trial-form-section,body[data-page^="matracproba/"] .trial-comparison-section { padding: 18px 0; background: #fff; }
    body[data-page^="matracproba/"] .trial-candidate-grid { grid-template-columns: 1fr 1fr; gap: 10px; }body[data-page^="matracproba/"] .trial-candidate-card { break-inside: avoid; box-shadow: none; }body[data-page^="matracproba/"] .trial-candidate-card.optional { display: none; }body[data-page^="matracproba/"] .trial-paper-key { margin-block: 15px; }
}

/* Prémium vizuális rendszer · 1.15.0 */
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; }
.public-site {
    --blue-950: #102c43;
    --blue-900: #153d59;
    --blue-800: #17566f;
    --blue-700: #1b6985;
    --blue-600: #287f99;
    --blue-500: #4596ad;
    --blue-200: #cbe1e5;
    --blue-100: #e7f1f2;
    --blue-50: #f3f7f6;
    --ink: #1c2b32;
    --muted: #617078;
    --soft: #879296;
    --line: #dde3df;
    --surface-alt: #f7f6f1;
    --premium-gold: #b98935;
    --premium-gold-soft: #f2e7cf;
    --shadow-sm: 0 8px 28px rgba(16,44,67,.065);
    --shadow-md: 0 28px 75px rgba(16,44,67,.14);
    background: #fcfbf8;
    font-family: "Aptos", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
}
.public-site :where(h1,h2) { font-family: "Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif; font-weight: 700; letter-spacing: -.042em; }
.public-site h3 { letter-spacing: -.022em; }
.public-site .button { border-radius: 12px; background: linear-gradient(135deg,#1a6c87,#123e5c); box-shadow: 0 10px 24px rgba(16,65,91,.18); }
.public-site .button:hover { box-shadow: 0 15px 32px rgba(16,65,91,.24); }
.public-site .button-secondary { border-color: #d1ddd9; background: rgba(255,255,255,.92); color: var(--blue-900); box-shadow: none; }
.public-site .button-white { border-color: #fff; background: #fff; color: var(--blue-950); }
.public-site .site-header { position: relative; top: auto; z-index: 60; border-bottom-color: rgba(194,207,203,.72); background: rgba(252,251,248,.9); box-shadow: 0 1px 0 rgba(255,255,255,.8); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.public-site .header-inner { min-height: 80px; }
.brand-symbol { width: 42px; height: 32px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; color: var(--blue-700); }
.public-site .brand { gap: 10px; font-weight: 780; }
.public-site .brand > span { color: var(--blue-950); }
.public-site .main-nav { gap: 24px; }
.public-site .main-nav > a { position: relative; display: inline-flex; align-items: center; gap: 8px; padding-block: 27px; color: #465d68; font-size: .86rem; font-weight: 690; }
.public-site .main-nav > a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; transform: scaleX(0); background: var(--premium-gold); content: ""; transition: transform .2s ease; }
.public-site .main-nav > a:hover::after,.public-site .main-nav > a[aria-current="page"]::after { transform: scaleX(1); }
.public-site .main-nav > a[aria-current="page"] { color: var(--blue-950); }
.public-site .main-nav > a > svg { display: none; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.header-actions { display: flex; align-items: center; gap: 9px; }
.nav-toggle { display: none; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid #d5dfdc; border-radius: 12px; background: rgba(255,255,255,.9); color: var(--blue-950); cursor: pointer; }
.nav-toggle svg { grid-area: 1/1; width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; transition: opacity .18s ease,transform .18s ease; }
.nav-toggle .nav-close-icon { opacity: 0; transform: rotate(-20deg) scale(.8); }
.nav-open .nav-toggle .nav-open-icon { opacity: 0; transform: rotate(20deg) scale(.8); }
.nav-open .nav-toggle .nav-close-icon { opacity: 1; transform: none; }
.mobile-nav-cta { display: none !important; }

.public-site .hero { background: radial-gradient(circle at 78% 25%,rgba(190,222,224,.66),transparent 32%),linear-gradient(155deg,#fbfaf6 0,#f3f7f5 58%,#edf4f4 100%); }
.public-site .hero::before { border-color: rgba(185,137,53,.13); box-shadow: 0 0 0 70px rgba(185,137,53,.025),0 0 0 140px rgba(27,105,133,.025); }
.public-site .hero::after { position: absolute; inset: 0; opacity: .16; pointer-events: none; background-image: repeating-linear-gradient(110deg,transparent 0 12px,rgba(16,44,67,.04) 12px 13px); content: ""; mask-image: linear-gradient(90deg,transparent 35%,#000); }
.public-site .hero-grid { position: relative; z-index: 1; min-height: 720px; }
.public-site .eyebrow { border-color: #d9ded2; background: rgba(255,255,255,.68); color: var(--blue-900); }
.public-site .hero h1::after { width: 92px; height: 4px; background: linear-gradient(90deg,var(--premium-gold),#ddbf7d); }
.public-site .hero-card { border-color: rgba(166,192,193,.75); background: rgba(255,255,255,.82); box-shadow: 0 30px 90px rgba(16,44,67,.16); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.public-site .hero-card::before { border-color: rgba(185,137,53,.3); }
.public-site .profile-preview i::after { background: linear-gradient(90deg,var(--premium-gold),var(--blue-600)); }
.public-site .section-kicker { color: var(--blue-700); }
.public-site .section-kicker::before { width: 19px; height: 1px; background: var(--premium-gold); content: ""; }
.public-site .quiz-shell { background: radial-gradient(circle at 50% 0,rgba(202,226,225,.7),transparent 42%),#f9f8f4; }
.quiz-brand { grid-column: 3; display: inline-flex; align-items: center; justify-self: end; gap: 7px; color: var(--blue-950); font-size: .68rem; font-weight: 780; }
.quiz-brand svg { width: 29px; height: 23px; fill: none; stroke: var(--blue-700); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.public-site .progress-track { background: #e2e7e2; }
.public-site .progress-track span { background: linear-gradient(90deg,var(--premium-gold),var(--blue-700)); }
.public-site .question-explainer { border-left-color: #d3bd86; background: rgba(248,243,232,.7); }
.public-site .answer-option { border-color: #d9e1de; border-radius: 16px; box-shadow: 0 6px 22px rgba(16,44,67,.045); }
.public-site .answer-option:hover { border-color: #92b8bd; }
.public-site .answer-option.selected { border-color: var(--blue-700); background: #eef5f3; box-shadow: 0 10px 30px rgba(27,105,133,.1); }
.public-site .answer-option.selected .answer-indicator { background: var(--blue-800); }
.public-site .step-card,.public-site .knowledge-numbers article,.public-site .sleep-tip-card,.public-site .trial-step-grid article { border-color: #dfe3dc; box-shadow: 0 10px 35px rgba(16,44,67,.055); }
.public-site .step-card { min-height: 310px; overflow: hidden; }
.public-site .step-card::after { position: absolute; right: -38px; bottom: -58px; width: 130px; height: 130px; border: 1px solid rgba(185,137,53,.16); border-radius: 50%; content: ""; }
.step-icon svg,.trial-step-icon svg,.guidance-icon svg,.footer-trust svg,.footer-disclaimer-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.public-site .step-icon { border: 1px solid #d7e4e2; background: #eef5f4; }
.public-site .step-card.featured .step-icon { border-color: transparent; background: linear-gradient(145deg,var(--blue-700),var(--blue-900)); }
.public-site .research-card { border-color: #d5ded9; background: linear-gradient(135deg,#fbfaf6,#edf5f3); }
.public-site .research-badge { border-color: #d4c39d; background: #fffdf7; color: var(--premium-gold); }
.public-site .final-cta { position: relative; overflow: hidden; background: linear-gradient(125deg,#0f2a41,#185b71); }
.public-site .final-cta::after { position: absolute; right: -100px; top: -220px; width: 480px; height: 480px; border: 1px solid rgba(230,203,143,.2); border-radius: 50%; box-shadow: 0 0 0 70px rgba(230,203,143,.025); content: ""; }
.public-site .final-cta-inner { position: relative; z-index: 1; }

.public-site .result-hero { overflow: hidden; position: relative; padding: 78px 0 82px; background: radial-gradient(circle at 82% 18%,rgba(181,217,219,.72),transparent 34%),linear-gradient(145deg,#fbfaf6,#eef5f3); text-align: left; }
.public-site .result-hero::after { position: absolute; inset: 0; opacity: .14; pointer-events: none; background: repeating-linear-gradient(115deg,transparent 0 14px,rgba(16,44,67,.045) 14px 15px); content: ""; mask-image: linear-gradient(90deg,transparent,#000); }
.result-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.72fr); align-items: center; gap: 70px; }
.result-hero-copy { min-width: 0; }
.public-site .result-eyebrow { gap: 9px; color: #2d735f; }
.public-site .result-eyebrow svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.public-site .result-hero h1 { max-width: 720px; margin: 0 0 20px; }
.public-site .result-lead { max-width: 720px; margin: 0; }
.public-site .profile-tags { justify-content: flex-start; }
.public-site .profile-tags span { border-color: #d7dfd9; background: rgba(255,255,255,.72); color: var(--blue-900); }
.result-passport { position: relative; overflow: hidden; min-height: 420px; padding: 26px; border: 1px solid rgba(255,255,255,.22); border-radius: 26px; background: radial-gradient(circle at 10% 4%,rgba(255,255,255,.13),transparent 25%),linear-gradient(145deg,#173f58,#0d263b); box-shadow: 0 35px 80px rgba(16,44,67,.27); color: #fff; transform: rotate(1deg); }
.result-passport::after { position: absolute; right: -95px; bottom: -95px; width: 260px; height: 260px; border: 1px solid rgba(218,190,128,.16); border-radius: 50%; box-shadow: 0 0 0 42px rgba(218,190,128,.025),0 0 0 84px rgba(218,190,128,.02); content: ""; }
.passport-head { display: flex; position: relative; z-index: 1; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.14); }
.passport-head div { display: grid; gap: 4px; }
.passport-head span { color: #dfc789; font-size: .63rem; font-weight: 850; letter-spacing: .16em; }
.passport-head strong { color: #fff; font-size: .78rem; font-weight: 680; }
.passport-head > svg { width: 34px; height: 34px; fill: none; stroke: #dfc789; stroke-width: 1.45; }
.passport-body { display: grid; position: relative; z-index: 1; grid-template-columns: 1fr .78fr; align-items: center; gap: 22px; padding: 22px 0; }
.passport-chart { display: grid; position: relative; width: 205px; height: 205px; place-items: center; }
.passport-chart > svg { grid-area: 1/1; width: 100%; height: 100%; overflow: visible; }
.passport-chart circle,.passport-chart line { fill: none; stroke: rgba(255,255,255,.17); stroke-width: .75; }
.passport-chart polygon { fill: rgba(223,199,137,.22); stroke: #dfc789; stroke-width: 2; stroke-linejoin: round; filter: drop-shadow(0 8px 13px rgba(0,0,0,.18)); }
.passport-chart .chart-center { fill: #dfc789; stroke: none; }
.passport-chart > span { grid-area: 1/1; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: #13374f; color: #f1dcaa; font-family: Georgia,serif; font-size: .76rem; font-weight: 800; }
.passport-metrics { margin: 0; }
.passport-metrics div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.passport-metrics div:last-child { border-bottom: 0; }
.passport-metrics dt { color: #aec3cf; font-size: .67rem; }
.passport-metrics dd { margin: 0; color: #fff; font-family: Georgia,serif; font-size: 1.25rem; font-weight: 700; }
.result-passport > footer { display: flex; position: relative; z-index: 1; align-items: center; justify-content: space-between; gap: 14px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.14); }
.result-passport > footer span { display: inline-flex; align-items: center; gap: 7px; color: #dfeaec; font-size: .66rem; font-weight: 750; text-transform: uppercase; }
.result-passport > footer i { width: 7px; height: 7px; border-radius: 50%; background: #71d1ad; box-shadow: 0 0 0 4px rgba(113,209,173,.1); }
.result-passport > footer small { max-width: 180px; color: #89a5b4; font-size: .56rem; line-height: 1.45; text-align: right; }
.passport-body.passport-plain { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); align-items: stretch; gap: 24px; }
.passport-summary { display: flex; flex-direction: column; justify-content: center; padding-right: 22px; border-right: 1px solid rgba(255,255,255,.13); }
.passport-summary > span { margin-bottom: 8px; color: #dfc789; font-size: .59rem; font-weight: 830; letter-spacing: .1em; text-transform: uppercase; }
.passport-summary > strong { color: #fff; font-family: "Iowan Old Style","Palatino Linotype",Georgia,serif; font-size: clamp(1.25rem,2vw,1.65rem); line-height: 1.15; letter-spacing: -.03em; }
.passport-summary p { margin: 13px 0 0; color: #b8cbd3; font-size: .7rem; line-height: 1.65; }
.passport-readout { display: grid; gap: 0; margin: 0; }
.passport-readout > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.passport-readout > div:last-child { border-bottom: 0; }
.passport-readout dt { display: grid; gap: 3px; }
.passport-readout dt strong { color: #f3f7f7; font-size: .7rem; }
.passport-readout dt span { color: #91aab5; font-size: .58rem; }
.passport-readout dd { display: flex; align-items: baseline; gap: 3px; margin: 0; color: #fff; font-family: Georgia,serif; font-size: 1.3rem; font-weight: 700; }
.passport-readout dd small { color: #93aeb9; font-family: "Aptos","Segoe UI",sans-serif; font-size: .53rem; font-weight: 650; }
.public-site .dimensions-card { border-color: #d9e0dc; box-shadow: 0 12px 40px rgba(16,44,67,.065); }
.public-site .result-bar i,.public-site .trial-target-grid article > i u { background: linear-gradient(90deg,var(--premium-gold),var(--blue-600)); }
.public-site .guidance-card { min-height: 100%; }
.public-site .guidance-icon { width: 42px; height: 42px; border-radius: 13px; }
.public-site .guidance-positive { border-color: #bcd9ce; background: linear-gradient(145deg,#f5fbf8,#edf7f3); }
.public-site .guidance-caution { border-color: #e1d2b5; background: linear-gradient(145deg,#fffaf1,#faf3e6); }

.personal-context-section { border-top: 1px solid #e2e7e3; background: #f9f8f4; }
.personal-context-heading { align-items: end; margin-bottom: 30px; }
.personal-context-heading h2 { margin-bottom: 0; }
.personal-context-heading > p { max-width: 520px; margin: 0; font-size: .87rem; line-height: 1.75; }
.personal-context-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.personal-context-grid.single { grid-template-columns: minmax(0,820px); }
.personal-context-grid.has-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.personal-context-card { padding: 28px; border: 1px solid #d9e1dd; border-radius: 21px; background: #fff; box-shadow: 0 13px 38px rgba(16,44,67,.06); }
.experience-context-card { border-top: 3px solid #2d7182; background: linear-gradient(160deg,#fff 0,#fff 63%,#f2f8f7 100%); }
.body-context-card { border-top: 3px solid #4f948b; }
.back-context-card { border-top: 3px solid #ba8b36; }
.context-card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 17px; }
.context-card-head > span { display: grid; flex: 0 0 43px; width: 43px; height: 43px; place-items: center; border-radius: 13px; background: #edf5f3; color: var(--blue-700); }
.experience-context-card .context-card-head > span { border: 1px solid #c9dfdf; background: #eaf4f4; color: #236779; }
.back-context-card .context-card-head > span { background: #fbf2df; color: #9b6a1b; }
.context-card-head svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.context-card-head small { display: block; margin-bottom: 3px; color: #76857f; font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.context-card-head h3 { margin: 0; color: var(--blue-950); font-family: "Iowan Old Style","Palatino Linotype",Georgia,serif; font-size: 1.35rem; }
.personal-context-card > p { margin: 0 0 20px; color: #586a70; font-size: .78rem; line-height: 1.7; }
.experience-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0 0 17px; }
.experience-facts > div { min-width: 0; padding: 12px 13px; border: 1px solid #dce7e4; border-radius: 12px; background: rgba(248,251,249,.92); }
.experience-facts dt { margin-bottom: 4px; color: #7b8988; font-size: .56rem; font-weight: 810; letter-spacing: .06em; text-transform: uppercase; }
.experience-facts dd { margin: 0; color: #274b55; font-size: .69rem; font-weight: 720; line-height: 1.5; overflow-wrap: anywhere; }
.experience-observations,.experience-checks { padding: 15px 16px; border: 1px solid #dce6e2; border-radius: 13px; background: rgba(255,255,255,.86); }
.experience-observations { margin-bottom: 10px; }
.experience-checks { border-color: #c9ded8; background: #f0f8f5; }
.experience-observations > strong,.experience-checks > strong { display: block; margin-bottom: 9px; color: #2a505a; font-size: .65rem; letter-spacing: .025em; }
.experience-observations ul,.experience-checks ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.experience-observations li,.experience-checks li { position: relative; padding-left: 16px; color: #5b6b6f; font-size: .67rem; line-height: 1.55; }
.experience-observations li::before,.experience-checks li::before { position: absolute; top: .58em; left: 1px; width: 5px; height: 5px; border-radius: 50%; background: #77928e; content: ""; }
.experience-checks li::before { background: #3e8a75; }
.context-person-list { display: grid; gap: 10px; }
.context-person-list > div { display: grid; gap: 5px; padding: 14px 15px; border: 1px solid #e2e8e4; border-radius: 13px; background: #f8faf8; }
.context-person-list strong { color: #294b55; font-size: .72rem; line-height: 1.45; }
.context-person-list span { color: #5d6d71; font-size: .69rem; line-height: 1.58; }
.context-safety { display: grid; grid-template-columns: 21px minmax(0,1fr); gap: 10px; margin-top: 15px; padding: 14px 15px; border: 1px solid #e8cfa0; border-radius: 13px; background: #fff9ed; color: #765c2e; }
.context-safety svg { width: 20px; height: 20px; fill: none; stroke: #a77528; stroke-width: 1.7; }
.context-safety span { font-size: .67rem; line-height: 1.58; }
.context-safety a { color: #7b5418; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }

.construction-guidance-section { position: relative; overflow: hidden; border-top: 1px solid #e2e6e1; border-bottom: 1px solid #e2e6e1; background: linear-gradient(160deg,#f8f6ef,#eef5f2); }
.construction-guidance-section::before { position: absolute; top: -210px; right: -150px; width: 520px; height: 520px; border: 1px solid rgba(185,137,53,.12); border-radius: 50%; box-shadow: 0 0 0 65px rgba(185,137,53,.02),0 0 0 130px rgba(27,105,133,.018); content: ""; }
.construction-guidance-section .shell { position: relative; z-index: 1; }
.construction-heading { align-items: end; margin-bottom: 34px; }
.construction-heading h2 { max-width: 720px; margin-bottom: 0; }
.construction-heading > p { max-width: 520px; margin: 0; color: #596a70; font-size: .9rem; line-height: 1.75; }
.construction-route-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.construction-route-card { display: flex; min-width: 0; flex-direction: column; padding: 27px; border: 1px solid #d7dfda; border-radius: 21px; background: rgba(255,255,255,.9); box-shadow: 0 14px 42px rgba(16,44,67,.065); }
.construction-route-card.is-primary { border-color: #a9c9c2; box-shadow: 0 20px 54px rgba(16,76,84,.11); }
.construction-route-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.route-number { color: #b89a5b; font-family: Georgia,serif; font-size: 1.35rem; font-weight: 700; }
.route-priority { padding: 6px 9px; border: 1px solid #d5e1dc; border-radius: 99px; background: #f2f7f4; color: #256d60; font-size: .59rem; font-weight: 810; letter-spacing: .06em; text-transform: uppercase; }
.construction-route-card h3 { min-height: 3.4em; margin-bottom: 14px; color: var(--blue-950); font-family: "Iowan Old Style","Palatino Linotype",Georgia,serif; font-size: 1.25rem; line-height: 1.28; }
.route-fit { min-height: 7.2em; margin: 0 0 18px; color: #55666d; font-size: .78rem; line-height: 1.7; }
.route-fit strong { color: #284c57; }
.route-checks { flex: 1; padding: 16px; border: 1px solid #e1e7e3; border-radius: 14px; background: #f8faf8; }
.route-checks > strong { display: block; margin-bottom: 9px; color: #284c57; font-size: .67rem; }
.route-checks ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.route-checks li { position: relative; padding-left: 16px; color: #5c6c70; font-size: .69rem; line-height: 1.52; }
.route-checks li::before { position: absolute; top: .57em; left: 1px; width: 5px; height: 5px; border-radius: 50%; background: #4f9884; content: ""; }
.route-caution { display: grid; grid-template-columns: 18px 1fr; gap: 8px; margin: 15px 0; color: #76613d; font-size: .66rem; line-height: 1.58; }
.route-caution svg { width: 17px; height: 17px; fill: none; stroke: #a2762e; stroke-width: 1.7; }
.construction-route-card > .text-link { align-self: flex-start; margin-top: auto; font-size: .7rem; }
.construction-principle { display: grid; grid-template-columns: 230px 1fr; gap: 28px; margin-top: 22px; padding: 22px 25px; border: 1px solid #d8e1dc; border-radius: 17px; background: rgba(255,255,255,.72); }
.construction-principle strong { color: var(--blue-950); font-family: Georgia,serif; font-size: 1.02rem; }
.construction-principle p { margin: 0; color: #5d6b70; font-size: .76rem; line-height: 1.7; }

.public-site .product-card { border-color: #dce2de; box-shadow: 0 12px 38px rgba(16,44,67,.065); transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.public-site .product-card:hover { border-color: #c6d6d2; box-shadow: 0 20px 48px rgba(16,44,67,.11); transform: translateY(-3px); }
.public-site .product-visual { overflow: hidden; height: 245px; background: radial-gradient(circle at 50% 35%,#fff,#eeeae0); }
.public-site .product-visual::before { position: absolute; inset: 0; opacity: .45; background-image: repeating-linear-gradient(115deg,transparent 0 13px,rgba(34,55,57,.028) 13px 14px); content: ""; }
.mattress-cutaway { position: relative; z-index: 1; width: 260px; height: 140px; filter: drop-shadow(0 20px 16px rgba(39,54,55,.19)); transform: perspective(680px) rotateX(8deg) rotateZ(-1.5deg); }
.mattress-cutaway > span { display: block; position: absolute; right: 0; left: 0; border-right: 2px solid #8fa5a3; border-left: 2px solid #8fa5a3; }
.cutaway-textile { top: 0; height: 31px; overflow: hidden; border: 2px solid #849d9c; border-radius: 20px 20px 6px 6px; background: linear-gradient(180deg,#fff,#f1eee5); }
.cutaway-textile i { position: absolute; top: 8px; width: 52px; height: 14px; border: 1px solid #c6d0c8; border-radius: 50%; }
.cutaway-textile i:nth-child(1) { left: 24px; }.cutaway-textile i:nth-child(2) { left: 104px; }.cutaway-textile i:nth-child(3) { right: 23px; }
.cutaway-comfort { top: 29px; height: 28px; border-top: 1px solid #b8c8c4; border-bottom: 1px solid #8aa8aa; background: repeating-linear-gradient(135deg,#d8e8e6 0 7px,#c5dcda 7px 14px); }
.cutaway-core { top: 57px; display: flex !important; height: 61px; align-items: center; justify-content: space-evenly; padding-inline: 10px; border-bottom: 1px solid #9caeaa; background: #fbfaf6; }
.cutaway-core i { width: 19px; height: 37px; border: 2px solid #8ca2a0; border-right-color: #667f80; border-left-color: #667f80; border-radius: 50%; transform: skewX(-7deg); }
.cutaway-base { top: 118px; height: 18px; border-bottom: 2px solid #6f8584; border-radius: 0 0 11px 11px; background: repeating-linear-gradient(90deg,#788e8c 0 12px,#9fb0aa 12px 24px); }
.cutaway-1 .cutaway-comfort { background: repeating-linear-gradient(135deg,#eadfc9 0 7px,#dfcfaf 7px 14px); }
.cutaway-1 .cutaway-core i { width: 24px; border-color: #9a8770; }
.cutaway-2 .cutaway-comfort { background: repeating-linear-gradient(135deg,#d9d9ce 0 6px,#c5c7ba 6px 12px); }
.cutaway-2 .cutaway-core { background: repeating-linear-gradient(0deg,#faf8f1 0 13px,#e7e1d3 13px 15px); }
.cutaway-2 .cutaway-core i { opacity: .35; }
.cutaway-caption { position: absolute; bottom: 16px; left: 18px; color: #74817e; font-size: .56rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.public-site .fit-score { border-color: #bdd9ce; border-radius: 14px; background: rgba(255,255,255,.94); }
.coverage-notice { display: grid; grid-template-columns: minmax(210px,.45fr) minmax(0,1.55fr); gap: 22px; margin: 24px 0; padding: 19px 22px; border: 1px solid #dec99e; border-radius: 15px; background: #fffaf0; }
.coverage-notice strong { color: #684f23; font-size: .82rem; }
.coverage-notice span { color: #746851; font-size: .76rem; line-height: 1.65; }
.requirement-coverage-notice { display: grid; grid-template-columns: minmax(0,1.28fr) minmax(270px,.72fr); gap: 28px; align-items: center; margin: 27px 0 21px; padding: 25px 27px; border: 1px solid; border-radius: 19px; box-shadow: 0 15px 42px rgba(16,44,67,.065); }
.requirement-coverage-notice.is-warning { border-color: #dfbd80; background: radial-gradient(circle at 100% 0,rgba(204,147,43,.11),transparent 38%),linear-gradient(145deg,#fffdf8,#fff7e7); }
.requirement-coverage-notice.is-confirmed { border-color: #a9d2c4; background: radial-gradient(circle at 100% 0,rgba(61,148,118,.1),transparent 38%),linear-gradient(145deg,#fbfefc,#eef8f4); }
.pair-conflict-note { display: flex; flex-wrap: wrap; gap: 7px 12px; max-width: 760px; margin-top: 18px; padding: 13px 15px; border: 1px solid #dfbd80; border-radius: 12px; background: #fff8e9; color: #665126; font-size: .78rem; line-height: 1.55; }
.pair-conflict-note strong { color: #4f3b16; }
.constraint-funnel { display: grid; grid-template-columns: minmax(190px,.34fr) minmax(0,1.66fr); gap: 20px; margin: -6px 0 25px; padding: 18px 21px; border: 1px solid #d9e4e8; border-radius: 15px; background: #f8fafb; }
.constraint-funnel > strong { color: var(--blue-950); font-size: .82rem; }
.constraint-funnel > div { display: flex; flex-wrap: wrap; gap: 8px; }
.constraint-funnel span { padding: 7px 10px; border: 1px solid #dbe5e9; border-radius: 999px; background: #fff; color: #516873; font-size: .7rem; line-height: 1.35; }
.constraint-funnel b { color: #274758; }
.requirement-coverage-copy { display: grid; grid-template-columns: 47px minmax(0,1fr); gap: 16px; align-items: start; }
.requirement-coverage-icon { display: grid; width: 47px; height: 47px; place-items: center; border: 1px solid; border-radius: 14px; }
.is-warning .requirement-coverage-icon { border-color: #e4c78f; background: #fff7e4; color: #9a6819; }
.is-confirmed .requirement-coverage-icon { border-color: #b8dbcf; background: #eef9f5; color: #26745e; }
.requirement-coverage-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.requirement-coverage-copy small { display: block; margin: 1px 0 5px; color: #81745c; font-size: .58rem; font-weight: 830; letter-spacing: .085em; text-transform: uppercase; }
.is-confirmed .requirement-coverage-copy small { color: #4f7c6d; }
.requirement-coverage-copy strong { display: block; color: #423821; font-family: "Iowan Old Style","Palatino Linotype",Georgia,serif; font-size: clamp(1.08rem,1.7vw,1.34rem); line-height: 1.28; }
.is-confirmed .requirement-coverage-copy strong { color: #184d41; }
.requirement-coverage-copy p { margin: 8px 0 0; color: #6f6758; font-size: .73rem; line-height: 1.66; }
.is-confirmed .requirement-coverage-copy p { color: #557169; }
.requirement-coverage-list { min-width: 0; padding-left: 25px; border-left: 1px solid rgba(123,105,67,.18); }
.is-confirmed .requirement-coverage-list { border-left-color: rgba(47,119,95,.17); }
.requirement-coverage-list > span { display: block; margin-bottom: 9px; color: #766950; font-size: .58rem; font-weight: 830; letter-spacing: .075em; text-transform: uppercase; }
.is-confirmed .requirement-coverage-list > span { color: #4c796b; }
.requirement-coverage-list ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.requirement-coverage-list li { padding: 6px 9px; border: 1px solid rgba(153,115,44,.2); border-radius: 99px; background: rgba(255,255,255,.72); color: #665a43; font-size: .62rem; font-weight: 690; line-height: 1.35; }
.is-confirmed .requirement-coverage-list li { border-color: rgba(47,119,95,.2); color: #3e695d; }
.product-grid.single-reference { grid-template-columns: minmax(0,780px); }
.reference-card-head { display: flex; min-height: 126px; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 30px 25px 23px; background: radial-gradient(circle at 90% 0,rgba(212,191,142,.18),transparent 34%),linear-gradient(145deg,#173f58,#0f2b41); color: #fff; }
.product-card.over-budget .reference-card-head { padding-top: 56px; }
.product-card.closest-alternative { border-color: #d6b477; }
.product-card.closest-alternative .reference-card-head { background: radial-gradient(circle at 90% 0,rgba(235,194,105,.2),transparent 37%),linear-gradient(145deg,#243d4e,#172e3d); }
.product-card.has-status-ribbon .reference-card-head { padding-top: 62px; }
.product-card.has-two-ribbons .reference-card-head { padding-top: 88px; }
.product-ribbon-stack { position: absolute; z-index: 3; top: 14px; right: 14px; left: 14px; display: flex; flex-wrap: wrap; gap: 7px; pointer-events: none; }
.product-ribbon-stack .product-ribbon { position: static; display: inline-flex; align-items: center; min-height: 26px; padding: 5px 9px; border: 1px solid transparent; border-radius: 8px; }
.product-ribbon-stack .closest-ribbon { border-color: rgba(255,222,155,.42); background: #fff2d5; color: #845912; }
.product-ribbon-stack .budget-ribbon { border-color: #edcf9f; background: #fff8e8; color: #8b5d19; }
.reference-card-head > div:first-child { display: grid; gap: 5px; }
.reference-card-head > div:first-child span { color: #aec3cd; font-size: .61rem; font-weight: 780; letter-spacing: .11em; text-transform: uppercase; }
.reference-card-head > div:first-child strong { color: #f0dca9; font-family: Georgia,serif; font-size: 1.65rem; }
.reference-card-head .fit-score { position: static; padding: 7px 10px; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); box-shadow: none; color: #fff; }
.reference-card-head .fit-score > strong { font-size: 1.35rem; }
.reference-card-head .fit-score > span { display: grid; margin-left: 3px; color: #c1d2d8; font-size: .6rem; line-height: 1.05; }
.reference-card-head .fit-score small { color: #8facb7; font-size: .45rem; font-weight: 650; }
.material-clarity { display: grid; gap: 6px; margin: 18px 0; padding: 15px 16px; border: 1px solid #cee0da; border-radius: 13px; background: #f1f8f5; }
.material-clarity.is-incomplete { border-color: #e2cca2; background: #fff9ed; }
.material-clarity > span { color: #327965; font-size: .57rem; font-weight: 830; letter-spacing: .08em; text-transform: uppercase; }
.material-clarity.is-incomplete > span { color: #9b6d24; }
.material-clarity > strong { color: #234453; font-size: .8rem; }
.material-clarity p { margin: 0; color: #667277; font-size: .7rem; line-height: 1.6; }
.requirement-status-panel { overflow: hidden; margin: 17px 0; border: 1px solid; border-radius: 15px; }
.requirement-status-panel.is-complete { border-color: #bad9cf; background: #f5fbf8; }
.requirement-status-panel.is-closest { border-color: #dfc28e; background: #fffaf0; }
.requirement-status-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; border-bottom: 1px solid rgba(48,98,85,.12); background: rgba(255,255,255,.6); }
.requirement-status-panel.is-closest > header { border-bottom-color: rgba(143,100,28,.14); }
.requirement-status-panel > header span { color: #647672; font-size: .57rem; font-weight: 830; letter-spacing: .075em; text-transform: uppercase; }
.requirement-status-panel > header strong { color: #28705c; font-size: .68rem; }
.requirement-status-panel.is-closest > header strong { color: #8b601c; }
.requirement-status-panel ul { display: grid; gap: 0; margin: 0; padding: 0 15px; list-style: none; }
.requirement-status-panel li { display: grid; grid-template-columns: 25px minmax(0,1fr) auto; gap: 9px; align-items: center; min-height: 49px; padding: 8px 0; border-bottom: 1px solid rgba(79,105,99,.11); }
.requirement-status-panel li:last-child { border-bottom: 0; }
.requirement-status-mark { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid; border-radius: 50%; font-size: .7rem; font-weight: 900; }
.status-met .requirement-status-mark { border-color: #a9d3c5; background: #e7f6f0; color: #217157; }
.status-missing .requirement-status-mark { border-color: #e1aaa0; background: #fff0ed; color: #a03f31; }
.status-unknown .requirement-status-mark { border-color: #d9bd84; background: #fff6df; color: #89601c; }
.requirement-status-name { color: #374f56; font-size: .78rem; font-weight: 690; line-height: 1.45; }
.requirement-status-panel li small { padding: 4px 7px; border-radius: 99px; font-size: .66rem; font-weight: 790; white-space: nowrap; }
.status-met small { background: #e2f3ed; color: #216d55; }
.status-missing small { background: #fce9e5; color: #993c31; }
.status-unknown small { background: #fff0cd; color: #805817; }
.requirement-status-panel > p { margin: 0; padding: 12px 15px 14px; border-top: 1px solid rgba(79,105,99,.1); color: #687570; font-size: .61rem; line-height: 1.56; }
.requirement-status-panel.is-closest > p { color: #776a52; }
.single-reference .product-body > p { min-height: 0; }
.single-reference .profile-actions { justify-content: flex-start; }

.trial-step-grid article { position: relative; overflow: hidden; }
.trial-step-icon { display: grid; width: 48px; height: 48px; margin-bottom: 24px; place-items: center; border: 1px solid #d8e4e1; border-radius: 14px; background: #eef5f3; color: var(--blue-700); }
.public-site .trial-step-grid article > span { position: absolute; top: 28px; right: 28px; color: #b5a57e; }
.public-site .trial-secret-badge svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.trial-mobile-stepper { margin-bottom: 16px; padding: 16px; border: 1px solid #d6e0dd; border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: var(--shadow-sm); }
.trial-stepper-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
.trial-stepper-head span { color: var(--blue-950); font-family: Georgia,serif; font-size: 1.03rem; font-weight: 700; }
.trial-stepper-head strong { color: var(--muted); font-size: .62rem; font-weight: 650; }
.trial-stepper-tabs { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; }
.trial-stepper-tabs button { display: grid; min-height: 48px; place-items: center; padding: 6px; border: 1px solid #dbe3e0; border-radius: 11px; background: #f8faf8; color: #7d898b; cursor: pointer; font-weight: 800; }
.trial-stepper-tabs button small { display: block; font-size: .48rem; font-weight: 650; }
.trial-stepper-tabs button.included { color: var(--blue-800); }
.trial-stepper-tabs button[aria-selected="true"] { border-color: var(--blue-700); background: var(--blue-900); box-shadow: 0 7px 18px rgba(16,44,67,.15); color: #fff; }
.trial-mobile-controls { position: sticky; z-index: 15; bottom: 8px; grid-template-columns: .72fr 1.28fr; gap: 9px; margin-top: 12px; padding: 10px; border: 1px solid rgba(204,216,212,.9); border-radius: 15px; background: rgba(252,251,248,.92); box-shadow: 0 12px 35px rgba(16,44,67,.16); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.trial-mobile-controls:not([hidden]) { display: grid; }
.trial-mobile-controls .button { min-width: 0; padding-inline: 10px; font-size: .78rem; }
.trial-mobile-mode .trial-candidate-grid { display: block; }
.trial-mobile-mode .trial-candidate-card { scroll-margin-top: 170px; }
.trial-mobile-mode .trial-submit-row { margin-top: 14px; }

.reveal-ready .step-card,.reveal-ready .knowledge-numbers article,.reveal-ready .sleep-tip-card,.reveal-ready .trial-step-grid article,.reveal-ready .directory-card { opacity: 0; transform: translateY(15px); transition: opacity .48s ease var(--reveal-delay,0ms),transform .48s ease var(--reveal-delay,0ms),box-shadow .2s ease,border-color .2s ease; }
.reveal-ready .step-card.is-visible,.reveal-ready .knowledge-numbers article.is-visible,.reveal-ready .sleep-tip-card.is-visible,.reveal-ready .trial-step-grid article.is-visible,.reveal-ready .directory-card.is-visible { opacity: 1; transform: none; }

.public-site .site-footer { background: radial-gradient(circle at 12% -10%,rgba(69,150,173,.14),transparent 28%),#0b2235; }
.public-site .brand-footer .brand-symbol { color: #d7c18d; }
.public-site .brand-footer > span { color: #fff; }
.public-site .footer-trust > span:first-child { background: #17674f; }
.public-site .footer-trust > span:first-child svg { width: 19px; height: 19px; }
.public-site .footer-disclaimer-icon { border-color: rgba(215,193,141,.3); color: #d7c18d; }
.public-site .book-promotion-inner { border-color: rgba(231,199,77,.5); background: radial-gradient(circle at 10% 15%,rgba(255,255,255,.6),transparent 25%),linear-gradient(118deg,#eabd21,#ffe37d); box-shadow: 0 30px 80px rgba(0,0,0,.28); }

@media (max-width: 1120px) {
    .public-site .main-nav { gap: 14px; }
    .public-site .main-nav > a { font-size: .79rem; }
    .result-hero-grid { gap: 38px; }
    .personal-context-grid.has-three { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .personal-context-grid.has-three .experience-context-card { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
    .result-hero-grid { grid-template-columns: 1fr; }
    .result-passport { width: min(100%,650px); min-height: 390px; transform: none; }
    .construction-route-grid { grid-template-columns: 1fr; }
    .construction-route-card h3,.route-fit { min-height: 0; }
}

@media (max-width: 900px) {
    .public-site .header-inner { position: relative; min-height: 72px; }
    .public-site .header-actions { margin-left: auto; }
    .public-site .nav-toggle { display: grid; }
    .public-site .site-header .main-nav { display: grid; position: absolute; top: calc(100% + 10px); right: 14px; left: 14px; gap: 5px; margin: 0; padding: 12px; border: 1px solid #d7e0dd; border-radius: 19px; background: rgba(252,251,248,.98); box-shadow: 0 24px 65px rgba(16,44,67,.18); transform-origin: top; transition: opacity .18s ease,transform .18s ease,visibility .18s; }
    .public-site .site-header:not(.nav-open) .main-nav { visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-8px) scale(.98); }
    .public-site .main-nav > a { min-height: 48px; padding: 10px 12px; border-radius: 11px; color: #334f5d; font-size: .86rem; }
    .public-site .main-nav > a:hover,.public-site .main-nav > a[aria-current="page"] { background: #eef4f2; }
    .public-site .main-nav > a::after { display: none; }
    .public-site .main-nav > a > svg { display: block; }
    .public-site .main-nav .mobile-nav-cta { display: flex !important; margin-top: 5px; background: var(--blue-950); color: #fff; }
    .public-site .main-nav .mobile-nav-cta > svg { margin-left: auto; }
}

@media (max-width: 720px) {
    .public-site .hero-grid { min-height: auto; }
    .public-site .result-hero { padding: 56px 0 60px; }
    .public-site .result-hero h1 { font-size: clamp(2.5rem,12vw,3.65rem); }
    .result-passport { min-height: 0; padding: 20px; border-radius: 21px; }
    .passport-body { grid-template-columns: 1fr .72fr; gap: 10px; }
    .passport-body.passport-plain { grid-template-columns: 1fr; gap: 0; }
    .passport-summary { padding: 0 0 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
    .passport-readout { padding-top: 8px; }
    .passport-chart { width: min(48vw,180px); height: min(48vw,180px); }
    .passport-head strong { max-width: 220px; }
    .public-site .product-visual { height: 225px; }
    .mattress-cutaway { width: min(75vw,250px); transform: perspective(680px) rotateX(7deg) rotateZ(-1deg) scale(.92); }
    .construction-principle,.coverage-notice { grid-template-columns: 1fr; gap: 8px; }
    .personal-context-grid,.personal-context-grid.has-three { grid-template-columns: 1fr; }
    .personal-context-grid.has-three .experience-context-card { grid-column: auto; }
    .personal-context-card { padding: 22px; }
    .requirement-coverage-notice { grid-template-columns: 1fr; gap: 18px; padding: 21px; }
    .requirement-coverage-list { padding: 17px 0 0; border-top: 1px solid rgba(123,105,67,.18); border-left: 0; }
    .is-confirmed .requirement-coverage-list { border-top-color: rgba(47,119,95,.17); border-left: 0; }
    .reference-card-head { min-height: 118px; }
    .trial-stepper-head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .trial-stepper-head strong { line-height: 1.4; }
    .trial-form-section { overflow: visible; }
    .trial-sheet-hero h1 { max-width: 100%; font-size: clamp(2.15rem,10.5vw,2.9rem); overflow-wrap: anywhere; hyphens: auto; }
    .trial-slider-list,.trial-slider-list > label { min-width: 0; }
    .trial-slider-list input[type="range"] { width: 100%; min-width: 0; }
}

@media (max-width: 460px) {
    .public-site .header-cta { display: none; }
    .public-site .brand-symbol { width: 37px; }
    .public-site .brand { font-size: .87rem; }
    .passport-body { grid-template-columns: 1fr; }
    .passport-chart { width: 190px; height: 190px; margin-inline: auto; }
    .passport-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
    .passport-metrics div { display: grid; justify-items: center; gap: 2px; padding: 9px 4px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; text-align: center; }
    .passport-metrics dt { font-size: .55rem; }
    .passport-metrics dd { font-size: 1.05rem; }
    .passport-readout dt span { max-width: 180px; }
    .result-passport > footer { align-items: flex-start; flex-direction: column; }
    .result-passport > footer small { max-width: none; text-align: left; }
    .experience-facts { grid-template-columns: 1fr; }
    .requirement-coverage-copy { grid-template-columns: 39px minmax(0,1fr); gap: 12px; }
    .requirement-coverage-icon { width: 39px; height: 39px; border-radius: 12px; }
    .requirement-status-panel li { grid-template-columns: 25px minmax(0,1fr); }
    .requirement-status-panel li small { grid-column: 2; justify-self: start; margin-top: -4px; }
    .product-card.has-two-ribbons .reference-card-head { padding-top: 112px; }
    .trial-mobile-controls { bottom: max(8px,env(safe-area-inset-bottom)); }
    .quiz-brand span { display: none; }
}

@media print {
    @page { size: A4; margin: 11mm; }
    html,body { background: #fff !important; }
    body { font-size: 9.5pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .public-site h1,.public-site h2 { color: #102c43; }
    .svg-sprite,.nav-toggle,.trial-mobile-stepper,.trial-mobile-controls { display: none !important; }
    .result-hero-grid { grid-template-columns: 1fr .72fr; gap: 10mm; }
    .result-passport { min-height: 0; padding: 5mm; border-radius: 4mm; box-shadow: none; transform: none; }
    .passport-body { gap: 3mm; padding-block: 3mm; }
    .passport-body.passport-plain { grid-template-columns: .8fr 1.2fr; }
    .passport-summary { padding-right: 3mm; }
    .passport-chart { width: 42mm; height: 42mm; }
    .result-hero-copy h1 { font-size: 27pt; }
    .result-lead { font-size: 9pt; }
    .dimensions-card,.guidance-card,.sidebar-card,.product-card,.construction-route-card { box-shadow: none !important; }
    .personal-context-grid,.personal-context-grid.has-three { grid-template-columns: 1fr; gap: 4mm; }
    .personal-context-grid.has-three .experience-context-card { grid-column: auto; }
    .personal-context-card,.requirement-coverage-notice,.requirement-status-panel { break-inside: avoid; box-shadow: none !important; }
    .personal-context-card { padding: 5mm; }
    .experience-facts { grid-template-columns: repeat(2,1fr); }
    .requirement-coverage-notice { grid-template-columns: 1fr; gap: 3mm; padding: 5mm; }
    .requirement-coverage-list { padding: 3mm 0 0; border-top: 1px solid #c9c9c9; border-left: 0; }
    .product-ribbon-stack { position: static; padding: 3mm 3mm 0; background: #fff; }
    .product-card.has-status-ribbon .reference-card-head,.product-card.has-two-ribbons .reference-card-head { padding-top: 5mm; }
    .requirement-status-panel li { min-height: 0; }
    .dimensions-card { padding: 6mm; }
    .construction-guidance-section { break-before: page; background: #fff; }
    .construction-route-grid { grid-template-columns: repeat(3,1fr); gap: 3mm; }
    .construction-route-card { padding: 4mm; }
    .route-checks { padding: 3mm; }
    .construction-principle { grid-template-columns: 1fr 2fr; }
    .recommendations-section { break-before: page; }
    .product-visual { height: 42mm !important; }
    .mattress-cutaway { transform: scale(.63); }
    .cutaway-caption { display: none; }
    body[data-page^="matracproba/"] .trial-mobile-mode .trial-candidate-grid { display: grid; }
    body[data-page^="matracproba/"] .trial-candidate-card[hidden] { display: block; }
    body[data-page="alvastippek"] .sleep-faq-list details > * { display: block !important; }
    body[data-page="alvastippek"] .sleep-diary-grid { break-inside: avoid; }
}

/* Hirdetési értékesítési és kreatívkezelési rendszer · 1.11.0 */
.commercial-ad-image { display: grid; width: 100%; height: auto; aspect-ratio: 16 / 5; place-items: center; }
.commercial-ad-image > a { display: block; width: 100%; height: 100%; }
.commercial-ad-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.commercial-ad-image.is-empty { border: 1px dashed #c6d1db; background: #f2f5f7; }
.commercial-ad-card.has-image { grid-template-columns: 290px minmax(0,1fr) auto; }
.preview-image-empty { padding: 15px; color: #718293; font-size: .68rem; text-align: center; }
.commercial-ad-card.is-preview { width: 100%; box-shadow: 0 14px 35px rgba(16,44,67,.1); }
.commercial-ad-card.is-preview .commercial-ad-cta { cursor: default; user-select: none; }

.home-learning-section { background: linear-gradient(150deg,#0f2d43,#173f55); color: #fff; }
.home-learning-section .section-kicker { color: #b8d9d6; }.home-learning-section .split-heading h2 { color: #fff; }.home-learning-section .split-heading > p { color: #c7d5dc; }
.home-learning-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 13px; }
.home-learning-grid article { display: flex; min-width: 0; min-height: 305px; flex-direction: column; padding: 23px 20px; border: 1px solid rgba(255,255,255,.15); border-radius: 17px; background: rgba(255,255,255,.06); }
.home-learning-grid article > span { color: #d5b56a; font-family: Georgia,serif; font-size: 1.05rem; font-weight: 800; }.home-learning-grid h3 { margin: 18px 0 12px; color: #fff; font-size: 1.05rem; line-height: 1.3; }.home-learning-grid p { margin: 0 0 18px; color: #c7d5dc; font-size: .72rem; line-height: 1.7; }.home-learning-grid a { margin-top: auto; color: #fff; font-size: .68rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.home-learning-route { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; padding: 17px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; color: #cad9df; font-size: .68rem; }.home-learning-route strong { color: #fff; }.home-learning-route i { color: #d5b56a; font-style: normal; }

.advertising-hero { overflow: hidden; padding: 88px 0 82px; background: radial-gradient(circle at 82% 20%,rgba(203,225,229,.68),transparent 32%),linear-gradient(145deg,#fbfaf6,#eff5f3); }
.advertising-hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); align-items: center; gap: 75px; }
.advertising-hero h1 { max-width: 850px; margin: 15px 0 24px; color: var(--blue-950); font-size: clamp(3rem,6vw,5.8rem); line-height: .99; }
.advertising-hero p { max-width: 770px; color: #526770; font-size: 1.02rem; line-height: 1.8; }
.advertising-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.advertising-trust-panel { overflow: hidden; border: 1px solid #cbdad6; border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: 0 28px 80px rgba(16,44,67,.13); backdrop-filter: blur(10px); }
.advertising-trust-panel div { display: grid; grid-template-columns: 75px 1fr; align-items: center; gap: 20px; min-height: 112px; padding: 24px 28px; border-bottom: 1px solid #e1e8e5; }
.advertising-trust-panel div:last-child { border-bottom: 0; }
.advertising-trust-panel strong { color: var(--premium-gold); font-family: Georgia,serif; font-size: 2.6rem; }
.advertising-trust-panel span { color: var(--blue-900); font-size: .82rem; font-weight: 760; line-height: 1.45; }

.advertising-placements-section { background: #fff; }
.advertising-placement-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.advertising-placement-card { position: relative; overflow: hidden; min-height: 520px; padding: 25px; border: 1px solid #dce4e1; border-radius: 22px; background: #fbfcfa; box-shadow: 0 13px 42px rgba(16,44,67,.055); }
.advertising-placement-number { display: block; margin-bottom: 18px; color: var(--premium-gold); font-family: Georgia,serif; font-size: 1.1rem; font-weight: 800; }
.placement-browser-mockup { overflow: hidden; margin-bottom: 26px; border: 1px solid #cbd6d3; border-radius: 13px; background: #fff; box-shadow: 0 13px 27px rgba(16,44,67,.08); }
.mockup-browser-bar { display: flex; gap: 5px; padding: 9px 11px; border-bottom: 1px solid #e4eae7; background: #f2f5f3; }
.mockup-browser-bar i { width: 6px; height: 6px; border-radius: 50%; background: #b7c4c1; }
.mockup-content-lines { display: grid; gap: 5px; padding: 12px 15px; }
.mockup-content-lines span { display: block; width: 88%; height: 4px; border-radius: 9px; background: #e5ebe8; }
.mockup-content-lines span:nth-child(2) { width: 72%; }.mockup-content-lines span:nth-child(3) { width: 80%; }
.mockup-content-lines.short { padding-block: 9px 13px; }.mockup-content-lines.short span { width: 63%; }
.mockup-banner { position: relative; display: grid; min-height: 78px; align-content: center; gap: 5px; padding: 13px 48px 13px 15px; border-block: 1px solid #cbd9de; background: #eef4f6; }
.mockup-banner small { color: #6d7d83; font-size: .42rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.mockup-banner b { color: #244555; font-size: .68rem; }.mockup-banner u { position: absolute; right: 14px; width: 25px; height: 15px; border-radius: 5px; background: var(--blue-800); }
.placement-location { display: block; min-height: 42px; color: var(--blue-700); font-size: .68rem; font-weight: 780; line-height: 1.5; }
.advertising-placement-card h3 { margin: 10px 0; color: var(--blue-950); font-size: 1.42rem; }
.advertising-placement-card p { color: #5b6d73; font-size: .79rem; line-height: 1.7; }
.advertising-placement-card > small { display: block; margin-top: 20px; padding-top: 15px; border-top: 1px solid #e2e8e5; color: #7a898d; font-size: .6rem; }

.advertising-specs-section { background: var(--surface-alt); }
.advertising-specs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.advertising-specs-grid > article { padding: 38px; border: 1px solid #dce3df; border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.advertising-specs-grid h2 { margin: 10px 0 30px; font-size: 2rem; }
.advertising-spec-list { margin: 0; }
.advertising-spec-list div { display: grid; grid-template-columns: 135px 1fr; gap: 25px; padding: 15px 0; border-top: 1px solid #e7ebe8; }
.advertising-spec-list dt { color: var(--blue-900); font-size: .72rem; font-weight: 800; }.advertising-spec-list dd { margin: 0; color: #64747a; font-size: .75rem; }
.advertising-process-card ol { display: grid; gap: 13px; margin: 25px 0 0; padding: 0; list-style: none; }
.advertising-process-card li { display: grid; grid-template-columns: 43px 1fr; gap: 15px; padding: 15px; border-radius: 13px; background: #f4f7f5; }
.advertising-process-card li > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--blue-900); color: #fff; font-size: .75rem; font-weight: 850; }
.advertising-process-card strong { color: var(--blue-950); font-size: .8rem; }.advertising-process-card p { margin: 4px 0 0; color: #65767b; font-size: .7rem; line-height: 1.55; }
.advertising-boundaries-public { background: #fff; }
.advertising-claim-school { background: #fff; }
.advertising-claim-school-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
.advertising-claim-school-grid article { padding: 25px 22px; border: 1px solid #dbe4e1; border-radius: 17px; background: #f8faf8; }
.advertising-claim-school-grid article > span { color: var(--premium-gold); font-family: Georgia,serif; font-size: .95rem; font-weight: 850; }.advertising-claim-school-grid h3 { margin: 17px 0 10px; color: var(--blue-950); font-size: 1rem; }.advertising-claim-school-grid p { margin: 0; color: #607278; font-size: .72rem; line-height: 1.7; }.advertising-claim-school-link { margin: 24px 0 0; text-align: right; }

.advertising-inquiry-section { background: radial-gradient(circle at 10% 10%,rgba(203,225,229,.46),transparent 28%),#eef3f1; }
.advertising-inquiry-grid { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); align-items: start; gap: 65px; }
.advertising-inquiry-intro { position: sticky; top: 115px; }
.advertising-inquiry-intro h2 { margin: 12px 0 20px; font-size: clamp(2rem,4vw,3.4rem); }
.advertising-inquiry-intro > p { color: #566b73; line-height: 1.8; }
.advertising-contact-direct { display: grid; gap: 7px; margin-top: 28px; padding: 23px; border: 1px solid #ccdad6; border-radius: 16px; background: rgba(255,255,255,.7); }
.advertising-contact-direct strong { color: var(--blue-950); font-size: .78rem; }.advertising-contact-direct a { color: var(--blue-700); font-size: .75rem; font-weight: 720; }
.advertising-inquiry-form-wrap { min-width: 0; padding: 34px; border: 1px solid #d4dfdb; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(16,44,67,.11); }
.advertising-inquiry-form { display: grid; gap: 26px; }
.advertising-inquiry-form label > span,.inquiry-placement-fieldset legend { display: block; margin-bottom: 7px; color: #274654; font-size: .72rem; font-weight: 760; }
.advertising-inquiry-form input:not([type="checkbox"]),.advertising-inquiry-form select,.advertising-inquiry-form textarea { width: 100%; min-height: 48px; padding: 12px 13px; border: 1px solid #ccd7d4; border-radius: 10px; background: #fff; color: #243b46; font: inherit; font-size: .8rem; }
.advertising-inquiry-form input[type="checkbox"] { width: 18px; height: 18px; min-height: 0; padding: 0; border: 0; border-radius: 0; }
.advertising-inquiry-form textarea { min-height: 135px; resize: vertical; }
.inquiry-placement-fieldset { margin: 0; padding: 0; border: 0; }
.inquiry-placement-options { display: grid; gap: 9px; }
.inquiry-placement-options label { display: grid; grid-template-columns: 20px 1fr; gap: 12px; padding: 14px; border: 1px solid #d8e0dd; border-radius: 12px; background: #f8faf8; cursor: pointer; }
.inquiry-placement-options label:has(input:checked) { border-color: #86afb2; background: #edf5f3; box-shadow: inset 0 0 0 1px #86afb2; }
.inquiry-placement-options input { margin-top: 2px; accent-color: var(--blue-700); }
.inquiry-placement-options span { margin: 0 !important; }.inquiry-placement-options strong { display: block; color: var(--blue-950); font-size: .75rem; }.inquiry-placement-options small { display: block; margin-top: 3px; color: #6d7d81; font-size: .65rem; line-height: 1.45; }
.inquiry-consent { align-items: flex-start; }.inquiry-consent span { margin: 0 !important; color: #5c6d73 !important; font-size: .68rem !important; font-weight: 600 !important; line-height: 1.55; }
.form-privacy-note { color: #79888c; font-size: .62rem; text-align: center; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.advertising-success { display: grid; grid-template-columns: 42px 1fr; gap: 14px; margin-bottom: 22px; padding: 18px; border: 1px solid #abdcca; border-radius: 14px; background: #f3fbf8; }
.advertising-success > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #d8f0e7; color: #167555; font-weight: 900; }.advertising-success strong { color: #155f49; }.advertising-success p { margin: 4px 0 0; color: #56776d; font-size: .72rem; }
.transparency-hero-actions { display: flex; align-items: center; gap: 20px; margin-top: 27px; }

.admin-header-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.ad-sales-admin-callout { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 20px; padding: 20px 22px; border: 1px solid #c8dce0; border-radius: 15px; background: #f2f8f9; }
.ad-sales-admin-callout strong { color: #1d566b; }.ad-sales-admin-callout p { margin: 4px 0 0; color: #5d7680; font-size: .72rem; }.ad-sales-admin-callout a { flex: 0 0 auto; color: #1b6985; font-size: .72rem; font-weight: 800; }
.admin-placement-stat-list { display: grid; gap: 2px; margin-top: 6px; }.admin-placement-stat-list span { color: #71818a; font-size: .58rem; }
.table-actions a { display: inline-block; }
.table-actions button:disabled { opacity: .45; cursor: not-allowed; }

.ad-claim-warning-panel { margin-bottom: 20px; padding: 20px 23px; border: 1px solid #e4bd79; border-radius: 15px; background: #fff8e9; }
.ad-claim-warning-panel > strong { color: #7b5418; }.ad-claim-warning-panel ul { margin: 12px 0; padding-left: 20px; }.ad-claim-warning-panel li { margin: 6px 0; color: #745c32; font-size: .72rem; line-height: 1.55; }.ad-claim-warning-panel p { margin: 0; color: #806d4d; font-size: .68rem; }
.ad-creative-tabs { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 20px; }
.ad-creative-tabs button { min-height: 48px; padding: 9px; border: 1px solid #d5dfdc; border-radius: 10px; background: #f8faf9; color: #5c7078; cursor: pointer; font-weight: 760; }
.ad-creative-tabs button[aria-selected="true"] { border-color: var(--blue-700); background: var(--blue-900); color: #fff; }
.ad-creative-panel { margin: 0 0 20px; padding: 22px; border: 1px solid #dce3e0; border-radius: 15px; background: #fbfcfb; }
.ad-creative-panel[hidden] { display: none; }.ad-creative-panel legend { padding: 0 8px; color: var(--blue-950); font-size: .76rem; font-weight: 800; }
.placement-enable { display: grid !important; grid-template-columns: 20px 1fr; align-items: start !important; gap: 12px !important; margin-bottom: 20px; padding: 15px; border: 1px solid #cbdad6; border-radius: 12px; background: #f0f7f5; cursor: pointer; }
.placement-enable input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--blue-700); }.placement-enable span { display: grid; gap: 3px; }.placement-enable strong { color: var(--blue-950); font-size: .76rem; }.placement-enable small { color: #637980; font-size: .65rem; line-height: 1.45; }
.ad-creative-panel.is-disabled [data-creative-fields] { opacity: .52; }
.ad-exclusive-choice { align-items: flex-start; padding: 11px; border: 1px solid #dce3e0; border-radius: 10px; background: #fff; }.ad-exclusive-choice span { display: grid; gap: 4px; }.ad-exclusive-choice small { color: #728086; font-size: .62rem; line-height: 1.4; }
.ad-preview-section { overflow: hidden; }
.ad-preview-device-switch { display: flex; gap: 5px; padding: 4px; border-radius: 10px; background: #edf2f0; }.ad-preview-device-switch button { min-height: 36px; padding: 7px 11px; border: 0; border-radius: 7px; background: transparent; color: #60737a; cursor: pointer; font-size: .68rem; font-weight: 760; }.ad-preview-device-switch button.active { background: #fff; box-shadow: 0 4px 12px rgba(16,44,67,.09); color: var(--blue-900); }
.admin-section-intro { margin: -4px 0 20px; color: #66777d; font-size: .7rem; line-height: 1.6; }
.ad-preview-stage { overflow: auto; padding: 22px; border: 1px solid #dbe3e0; border-radius: 15px; background: #eef2f0; }
.ad-preview-stage[data-device="mobile"] .ad-preview-placement { width: min(100%,390px); margin-inline: auto; }
.ad-preview-stage[data-device="mobile"] .commercial-ad-card { grid-template-columns: 1fr; gap: 17px; padding: 18px; }
.ad-preview-stage[data-device="mobile"] .commercial-ad-cta { width: 100%; }
.ad-preview-placement[hidden] { display: none; }
.ad-preview-placement.is-disabled-preview { opacity: .52; filter: grayscale(.35); }
.ad-claim-live { margin-top: 14px; padding: 14px 16px; border: 1px solid #d8e1de; border-radius: 11px; background: #f8faf9; }.ad-claim-live strong { color: #345460; font-size: .72rem; }.ad-claim-live p { margin: 4px 0 0; color: #718087; font-size: .65rem; }.ad-claim-live.has-warning { border-color: #e3bd7b; background: #fff8ea; }.ad-claim-live.has-warning strong { color: #7c551a; }

.ad-inquiry-stat-grid { margin-bottom: 20px; }
.ad-inquiry-admin-list { display: grid; gap: 16px; margin-top: 20px; }
.ad-inquiry-admin-card { padding: 24px; }.ad-inquiry-admin-card.is-new { border-left: 4px solid var(--premium-gold); }
.ad-inquiry-admin-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; padding-bottom: 18px; border-bottom: 1px solid #e4e9e7; }.ad-inquiry-admin-card h2 { margin: 8px 0 3px; font-size: 1.25rem; }.ad-inquiry-admin-card header small { color: #7b898e; font-size: .62rem; }
.inquiry-status-form { display: flex; align-items: flex-end; gap: 8px; }.inquiry-status-form label { display: grid; gap: 4px; }.inquiry-status-form label span { color: #728087; font-size: .58rem; }.inquiry-status-form select { min-height: 37px; border: 1px solid #ccd7d4; border-radius: 8px; background: #fff; }.inquiry-status-form button { min-height: 37px; border: 0; border-radius: 8px; background: var(--blue-900); color: #fff; cursor: pointer; font-weight: 760; }
.ad-inquiry-details-grid { display: grid; grid-template-columns: .75fr .9fr 1.35fr; gap: 30px; padding-top: 20px; }.ad-inquiry-details-grid section { min-width: 0; }.ad-inquiry-details-grid section > span { display: block; margin-bottom: 8px; color: #839096; font-size: .58rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }.ad-inquiry-details-grid strong { display: block; color: var(--blue-950); font-size: .78rem; }.ad-inquiry-details-grid a { display: block; margin-top: 5px; overflow-wrap: anywhere; color: var(--blue-700); font-size: .68rem; }.ad-inquiry-details-grid p { color: #607279; font-size: .7rem; line-height: 1.6; }.ad-inquiry-message p { margin: 0; white-space: normal; }

@media (max-width: 980px) {
    .home-learning-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.home-learning-grid article:last-child { grid-column: 1 / -1; min-height: 230px; }.advertising-claim-school-grid { grid-template-columns: 1fr 1fr; }
    .commercial-ad-card.has-image { grid-template-columns: 220px minmax(0,1fr); }
    .advertising-hero-grid { grid-template-columns: 1fr; gap: 45px; }.advertising-trust-panel { display: grid; grid-template-columns: repeat(3,1fr); }.advertising-trust-panel div { grid-template-columns: 1fr; align-content: center; min-height: 135px; border-right: 1px solid #e1e8e5; border-bottom: 0; text-align: center; }.advertising-trust-panel div:last-child { border-right: 0; }
    .advertising-placement-grid { grid-template-columns: 1fr 1fr; }.advertising-placement-card:last-child { grid-column: 1 / -1; min-height: 470px; }
    .advertising-inquiry-grid { grid-template-columns: 1fr; gap: 35px; }.advertising-inquiry-intro { position: static; }.ad-inquiry-details-grid { grid-template-columns: 1fr 1fr; }.ad-inquiry-message { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
    .home-learning-grid,.advertising-claim-school-grid { grid-template-columns: 1fr; }.home-learning-grid article,.home-learning-grid article:last-child { grid-column: auto; min-height: auto; }.home-learning-route { align-items: flex-start; flex-direction: column; }.home-learning-route i { transform: rotate(90deg); }.advertising-claim-school-link { text-align: left; }
    .commercial-ad-card,.commercial-ad-card.has-image,.guide-prose > .commercial-ad .commercial-ad-card.has-image { grid-template-columns: 1fr; }.commercial-ad-image { height: auto; aspect-ratio: 16 / 5; }.commercial-ad-cta,.guide-prose > .commercial-ad .commercial-ad-card.has-image .commercial-ad-cta { grid-column: 1; }
    .advertising-hero { padding: 58px 0 54px; }.advertising-hero h1 { font-size: clamp(2.55rem,13vw,4rem); }.advertising-hero-actions,.transparency-hero-actions { align-items: stretch; flex-direction: column; }.advertising-hero-actions .button,.transparency-hero-actions .button { width: 100%; }.advertising-trust-panel { grid-template-columns: 1fr; }.advertising-trust-panel div { grid-template-columns: 65px 1fr; min-height: 90px; border-right: 0; border-bottom: 1px solid #e1e8e5; text-align: left; }
    .advertising-placement-grid,.advertising-specs-grid { grid-template-columns: 1fr; }.advertising-placement-card,.advertising-placement-card:last-child { grid-column: auto; min-height: auto; }.advertising-specs-grid > article { padding: 27px 22px; }.advertising-spec-list div { grid-template-columns: 1fr; gap: 5px; }.advertising-inquiry-form-wrap { padding: 23px 18px; }.advertising-inquiry-form .field-grid { grid-template-columns: 1fr; }.advertising-inquiry-form .span-two { grid-column: 1; }
    .admin-header-actions,.ad-sales-admin-callout { align-items: stretch; flex-direction: column; }.admin-header-actions .button { width: 100%; }.ad-creative-tabs { grid-template-columns: 1fr; }.ad-creative-panel { padding: 17px; }.ad-preview-stage { padding: 12px; }.ad-preview-device-switch { width: 100%; }.ad-preview-device-switch button { flex: 1; min-height: 44px; }.ad-preview-stage .commercial-ad-card { padding: 17px; }
    .ad-inquiry-admin-card > header,.inquiry-status-form { align-items: stretch; flex-direction: column; }.inquiry-status-form select,.inquiry-status-form button { min-height: 44px; }.ad-inquiry-details-grid { grid-template-columns: 1fr; }.ad-inquiry-message { grid-column: auto; }
}

@media print {
    body[data-page="hirdetes"] .site-header,body[data-page="hirdetes"] .site-footer,body[data-page="hirdetes"] .advertising-inquiry-section { display: none !important; }
}
/* Google AdSense – elkülönített, reszponzív tartalékhely */
.adsense-ad { padding: 32px 0; background: #f5f8fa; }
.adsense-ad-frame { overflow: hidden; border: 1px solid #d7e1e8; border-radius: 18px; background: #fff; box-shadow: 0 12px 36px rgba(16, 44, 67, .07); }
.adsense-ad-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 16px; border-bottom: 1px solid #e7edf1; color: #5d6d79; }
.adsense-ad-label span { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.adsense-ad-label small { font-size: .72rem; }
.adsense-ad .adsbygoogle { min-height: 120px; margin: 32px; }
.adsense-ad-disclosure { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 16px; border-top: 1px solid #e7edf1; color: #52636f; font-size: .78rem; line-height: 1.5; }
.adsense-ad-disclosure a { flex: 0 0 auto; color: #0d6f66; font-weight: 750; }
.adsense-ad-disclosure > div { display: flex; align-items: center; flex: 0 0 auto; gap: 16px; }

.adsense-admin-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 22px; }
.adsense-admin-status-grid article { display: grid; gap: 5px; padding: 18px; border: 1px solid #d9e3e9; border-radius: 14px; background: #fff; }
.adsense-admin-status-grid article > span { color: #61717c; font-size: .76rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.adsense-admin-status-grid strong { color: #102c43; font-size: 1.22rem; }
.adsense-admin-status-grid small { color: #71808a; }
.adsense-result-firewall { margin-bottom: 22px; border-left: 4px solid #b42318; }
.adsense-admin-form { display: grid; gap: 24px; }
.adsense-admin-form > label:not(.checkbox-label), .adsense-slot-fields label { display: grid; gap: 8px; color: #203847; font-weight: 700; }
.adsense-admin-form input:not([type="checkbox"]), .adsense-admin-form textarea { width: 100%; border: 1px solid #cbd8df; border-radius: 10px; padding: 12px 14px; font: inherit; font-weight: 500; }
.adsense-admin-form label small { color: #657681; font-weight: 500; line-height: 1.45; }
.adsense-admin-checklist { padding: 20px; border: 1px solid #cfe0de; border-radius: 14px; background: #f4faf9; }
.adsense-admin-checklist h3 { margin: 0 0 12px; color: #102c43; }
.adsense-admin-checklist ul { margin: 0 0 18px; padding-left: 22px; color: #405662; line-height: 1.65; }
.adsense-main-switch { padding: 18px; border: 1px solid #cbd8df; border-radius: 12px; background: #f8fafb; }
.adsense-main-switch span { display: grid; gap: 3px; }
.privacy-settings-section { min-height: 430px; background: #f5f8fa; }
.privacy-settings-card { padding: 38px; border: 1px solid #d8e2e8; border-radius: 22px; background: #fff; box-shadow: 0 18px 60px rgba(16,44,67,.09); text-align: center; }
.privacy-settings-card h2 { max-width: 680px; margin: 15px auto 12px; color: var(--blue-950); font-size: clamp(1.75rem,3vw,2.45rem); }
.privacy-settings-card > p { max-width: 700px; margin: 0 auto 24px; color: #5c6f7a; line-height: 1.75; }
.privacy-settings-state { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #e8f3f1; color: #17665e; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.privacy-settings-state.is-off { background: #eef1f3; color: #66747d; }
.privacy-settings-state.is-ready { background: #e8f1fb; color: #245d8b; }
.privacy-settings-help { margin-top: 18px !important; font-size: .75rem; }
.privacy-settings-help a { color: #0d6f66; font-weight: 750; }
.network-ad-row { border-color: #c8d7e6; background: #f4f8fc; }
.network-ad-row > span { color: #396888; }
.network-ad-row strong { color: #183f5b; }
.network-ad-row p { color: #557082; }
.network-ad-row small { color: #426c88; }
.button.is-disabled { opacity: .5; cursor: not-allowed; pointer-events: none; }
.advertising-serving-order { background: #f6f9fb; }
.serving-order-card { padding: 34px; border: 1px solid #d7e2e9; border-radius: 22px; background: #fff; box-shadow: 0 18px 55px rgba(16,44,67,.08); }
.serving-order-card > div:first-child { display: grid; grid-template-columns: minmax(0,.85fr) minmax(280px,1.15fr); gap: 40px; align-items: end; }
.serving-order-card h2 { margin: 10px 0 0; color: var(--blue-950); font-size: clamp(1.8rem,3vw,2.6rem); }
.serving-order-card > div:first-child > p { margin: 0; color: #5b6f7a; line-height: 1.75; }
.serving-order-card ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 28px 0; padding: 0; list-style: none; }
.serving-order-card li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 19px; border: 1px solid #dce5ea; border-radius: 14px; background: #f9fbfc; }
.serving-order-card li > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--blue-900); color: #fff; font-weight: 850; }
.serving-order-card li strong { color: var(--blue-950); font-size: .82rem; }
.serving-order-card li p { margin: 5px 0 0; color: #61727c; font-size: .7rem; line-height: 1.55; }

@media (max-width: 900px) {
    .adsense-admin-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .serving-order-card > div:first-child, .serving-order-card ol { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .adsense-ad { padding: 22px 0; }
    .adsense-ad .adsbygoogle { min-height: 100px; margin: 32px 12px; }
    .adsense-ad-disclosure { align-items: flex-start; flex-direction: column; gap: 8px; }
    .adsense-ad-disclosure > div { align-items: flex-start; flex-direction: column; gap: 8px; }
    .adsense-admin-status-grid { grid-template-columns: 1fr; }
    .serving-order-card { padding: 24px 18px; }
    .privacy-settings-card { padding: 28px 18px; }
}
@media print {
    .adsense-ad { display: none !important; }
}

/* A hosszú eredményoldal meglévő részeinek gyors elérése. */
.result-jump-nav { position: static; border-bottom: 1px solid #d8e2e8; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(16,44,67,.06); }
.result-jump-inner { display: flex; align-items: center; gap: 22px; min-height: 62px; overflow-x: auto; scrollbar-width: thin; }
.result-jump-inner > strong { flex: 0 0 auto; color: var(--blue-950); font-size: .78rem; }
.result-jump-inner > div { display: flex; align-items: center; gap: 8px; }
.result-jump-inner a { display: inline-flex; align-items: center; min-height: 44px; flex: 0 0 auto; padding: 8px 12px; border: 1px solid #d9e4e8; border-radius: 999px; color: #365461; background: #f8fafb; font-size: .72rem; font-weight: 750; text-decoration: none; }
.result-jump-inner a:hover,.result-jump-inner a:focus-visible { border-color: #0d6f66; color: #0d6f66; background: #f0f8f6; }
#komfortprofil,#jelenlegi-tapasztalat,#szerkezeti-javaslatok,#referenciak,#kereskedoi-level { scroll-margin-top: 1.5rem; }
@media (max-width: 720px) {
    .result-jump-inner { align-items: flex-start; flex-direction: column; gap: 7px; padding-block: 10px; }
    .result-jump-inner > div { width: 100%; overflow-x: auto; padding-bottom: 3px; }
    .constraint-funnel { grid-template-columns: 1fr; gap: 10px; }
}
@media print { .result-jump-nav { display: none !important; } }

/* Szerkesztőségi fotók – 1.22.0 */
.editorial-photo { margin: 0; min-width: 0; }
.editorial-photo-frame { overflow: hidden; border: 1px solid #d8e2e8; border-radius: 18px; background: linear-gradient(145deg,#f3f6f7,#e8eef0); box-shadow: 0 14px 40px rgba(16,44,67,.09); }
.editorial-photo img { display: block; width: 100%; height: 300px; object-fit: cover; object-position: center; }
.editorial-photo--technical img { object-fit: contain; background: #f4f5f2; }
.editorial-photo figcaption { margin: 10px 4px 0; color: #62737c; font-size: .72rem; line-height: 1.58; }
.editorial-photo--feature { margin: -32px 0 62px; }
.editorial-photo--feature .editorial-photo-frame { border-radius: 24px; }
.editorial-photo--feature img { height: clamp(320px,46vw,500px); }
.editorial-collection { padding: 30px; border: 1px solid #dce5e8; border-radius: 24px; background: #f7f9f9; }
.editorial-collection > p { margin-bottom: 25px; color: #5f7079; font-size: .82rem !important; line-height: 1.7 !important; }
.editorial-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 18px; }
.editorial-gallery--wide { grid-template-columns: repeat(3,minmax(0,1fr)); }
.editorial-gallery .editorial-photo img { height: 240px; }
.editorial-gallery .editorial-photo--technical img { height: 240px; }
.editorial-photo--warning .editorial-photo-frame { border-color: #e4bd79; box-shadow: 0 14px 40px rgba(121,82,24,.1); }
.editorial-photo--warning figcaption { color: #805819; font-weight: 720; }
.sleep-hero-photo { width: min(880px,100%); margin: 34px 0 0; }
.sleep-editorial-stories { display: grid; gap: 70px; margin-top: 76px; }
.sleep-photo-topic { display: grid; gap: 25px; padding-top: 36px; border-top: 1px solid #dbe4e7; }
.sleep-photo-topic-head { max-width: 760px; }
.sleep-photo-topic-head h3 { margin: 7px 0 10px; color: var(--blue-950); font-size: clamp(1.45rem,2.5vw,2rem); }
.sleep-photo-topic-head p { margin: 0; color: #60717a; line-height: 1.75; }
.sleep-diary-gallery { margin: 25px 0 32px; }

@media (max-width: 900px) {
    .editorial-gallery--wide { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
    .editorial-photo--feature { margin: -30px 0 48px; }
    .editorial-photo--feature img { height: 270px; }
    .editorial-collection { padding: 23px 17px; }
    .editorial-gallery,.editorial-gallery--wide { grid-template-columns: 1fr; }
    .editorial-gallery .editorial-photo img,.editorial-gallery .editorial-photo--technical img { height: 235px; }
    .sleep-editorial-stories { gap: 54px; margin-top: 60px; }
}

@media print {
    .editorial-photo-frame { box-shadow: none; }
    .editorial-gallery,.editorial-gallery--wide { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .editorial-photo img,.editorial-photo--feature img,.editorial-gallery .editorial-photo img { height: 210px; }
}

/* Quiet luxury redesign · 1.24.0
   Vizuális inspiráció: Elegencia, Rotal, Royella, Sharan, Solinom és Hotella.
   A szabályok a saját komponensrendszert formálják tovább; sablonkódot nem vesznek át. */
.public-site {
    --blue-950: #142c29;
    --blue-900: #1a3a35;
    --blue-800: #245047;
    --blue-700: #34685c;
    --blue-600: #477d70;
    --blue-500: #6b988d;
    --blue-200: #cbdad4;
    --blue-100: #e8efeb;
    --blue-50: #f4f6f2;
    --ink: #1f2d2a;
    --muted: #65706b;
    --soft: #8a928e;
    --line: #dddcd3;
    --surface: #fffefb;
    --surface-alt: #f3f0e9;
    --premium-gold: #b88a4a;
    --premium-gold-soft: #efe3cf;
    --shadow-sm: 0 12px 35px rgba(20,44,41,.07);
    --shadow-md: 0 32px 90px rgba(7,25,22,.2);
    --radius-sm: 4px;
    --radius: 8px;
    --radius-lg: 12px;
    background: #faf8f3;
}
.public-site :where(h1,h2) {
    font-family: "Iowan Old Style","Baskerville","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
    font-weight: 600;
    letter-spacing: -.035em;
}
.public-site .shell { width: min(calc(100% - 48px),1220px); }

.brand-wordmark { display: grid; gap: 1px; line-height: 1; }
.brand-wordmark strong { font-size: .98rem; font-weight: 780; letter-spacing: -.025em; }
.brand-wordmark small { color: #8fa49d; font-size: .54rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.public-site .site-header {
    border-bottom: 1px solid rgba(214,189,146,.22);
    background: rgba(18,42,38,.97);
    box-shadow: 0 12px 40px rgba(3,18,15,.14);
}
.public-site .header-inner { min-height: 74px; }
.public-site .brand > span,
.public-site .brand-wordmark strong { color: #fffdf7; }
.public-site .brand-symbol { width: 39px; color: #d2ad73; }
.public-site .main-nav > a { padding-block: 24px; color: #bdc9c4; font-size: .83rem; }
.public-site .main-nav > a:hover,
.public-site .main-nav > a[aria-current="page"] { color: #fffdf8; }
.public-site .main-nav > a::after { background: #d2ad73; }
.public-site .header-cta {
    border-color: #cda66c;
    background: #cda66c;
    box-shadow: none;
    color: #122722;
}
.public-site .header-cta:hover { background: #dfbe8d; box-shadow: none; }
.public-site .button {
    border-color: #b98b4c;
    border-radius: 3px;
    background: #b98b4c;
    box-shadow: 0 10px 25px rgba(84,58,25,.18);
    color: #14231f;
    letter-spacing: .01em;
}
.public-site .button:hover { background: #c99d60; box-shadow: 0 14px 28px rgba(84,58,25,.22); }
.public-site .button-secondary {
    border-color: #cfcfc5;
    background: transparent;
    color: var(--blue-950);
}
.public-site .button-white { border-color: #f7f0e4; background: #f7f0e4; color: #18332e; }
.public-site .text-link { color: var(--blue-800); text-decoration-color: rgba(52,104,92,.25); }

.public-site .hero {
    isolation: isolate;
    background: #132c29;
}
.public-site .hero::before {
    top: auto;
    right: auto;
    bottom: -310px;
    left: -250px;
    width: 620px;
    height: 620px;
    border-color: rgba(210,173,115,.14);
    box-shadow: 0 0 0 80px rgba(210,173,115,.025),0 0 0 160px rgba(210,173,115,.02);
}
.public-site .hero::after {
    inset: 0 54% 0 0;
    opacity: .22;
    background-image: repeating-linear-gradient(105deg,transparent 0 18px,rgba(255,255,255,.028) 18px 19px);
    mask-image: none;
}
.public-site .hero-grid {
    grid-template-columns: minmax(0,.86fr) minmax(500px,1.14fr);
    gap: clamp(48px,6vw,92px);
    min-height: 690px;
    padding-block: 66px 78px;
}
.public-site .hero-copy { padding: 22px 0; }
.public-site .hero h1 { max-width: 620px; margin-bottom: 22px; color: #fffdf8; line-height: 1.02; }
.public-site .hero h1::after { width: 74px; height: 2px; margin-top: 26px; background: #d2ad73; }
.public-site .hero-lead { max-width: 600px; margin-bottom: 28px; color: #c5cfca; font-size: clamp(1rem,1.35vw,1.16rem); line-height: 1.72; }
.public-site .hero .eyebrow {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #dbc49f;
    font-size: .72rem;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.public-site .hero .eyebrow-dot { width: 22px; height: 1px; border-radius: 0; background: #d2ad73; box-shadow: none; }
.public-site .hero .text-link { color: #e2d4bd; text-decoration-color: rgba(226,212,189,.35); }
.public-site .hero .trust-line { color: #9fb0aa; }
.public-site .hero .trust-icon { border: 1px solid rgba(210,173,115,.38); border-radius: 50%; background: transparent; color: #d2ad73; }
.public-site .hero .trust-separator { background: #6f827b; }
.hero-visual { position: relative; min-height: 570px; }
.hero-photo { position: absolute; inset: 0 0 70px 42px; overflow: hidden; margin: 0; border: 1px solid rgba(226,205,169,.3); background: #0b201c; box-shadow: 0 30px 80px rgba(0,0,0,.34); }
.hero-photo::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 48%,rgba(7,22,19,.82)); content: ""; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.015); filter: saturate(.78) contrast(1.04); }
.hero-photo figcaption { position: absolute; z-index: 1; right: 28px; bottom: 28px; left: 48%; display: grid; gap: 4px; color: #fff; text-align: right; }
.hero-photo figcaption span { color: #d2ad73; font-size: .58rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-photo figcaption strong { font-family: "Iowan Old Style","Baskerville",Georgia,serif; font-size: 1.05rem; font-weight: 500; line-height: 1.35; }
.public-site .hero-card {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    width: min(69%,390px);
    padding: 22px 24px;
    border: 1px solid #e2ded2;
    border-radius: 2px;
    background: rgba(255,254,250,.97);
    box-shadow: 0 24px 55px rgba(0,0,0,.27);
    transform: none;
    backdrop-filter: blur(12px);
}
.public-site .hero-card::before { display: none; }
.public-site .hero-card h2 { margin-bottom: 19px; font-size: 1.28rem; line-height: 1.18; }
.public-site .hero-card-top { margin-bottom: 12px; }
.public-site .mini-label { color: #7d633f; }
.public-site .mini-score { border-radius: 2px; background: #eee6d8; color: #6a5230; }
.public-site .profile-preview { gap: 10px; }
.public-site .profile-preview i { height: 5px; background: #e5e3dc; }
.public-site .profile-preview i::after { background: linear-gradient(90deg,#b88a4a,#3f7468); }
.public-site .match-preview { margin-top: 18px; padding: 10px 12px; border-radius: 2px; background: #e9f0eb; }
.public-site .match-badge { border-radius: 2px; }
.public-site .demo-caption { margin-top: 11px; font-size: .65rem; }

.public-site .section { padding-block: 88px; }
.public-site .section-light { background: #f1eee7; }
.public-site .section-heading { margin-bottom: 44px; }
.public-site .section-kicker { color: #84663e; letter-spacing: .16em; }
.public-site .section-kicker::before { width: 27px; background: #b88a4a; }
.public-site .steps-grid { gap: 0; border: 1px solid #d8d5cb; background: #fffefb; }
.public-site .step-card,
.public-site .step-card.featured {
    min-height: 280px;
    padding: 34px 30px;
    border: 0;
    border-right: 1px solid #ddd9cf;
    border-radius: 0;
    background: #fffefb;
    box-shadow: none;
}
.public-site .step-card:last-child { border-right: 0; }
.public-site .step-card.featured { background: #ebe7de; }
.public-site .step-card::after { right: 23px; bottom: 22px; width: 45px; height: 45px; border-color: rgba(184,138,74,.24); }
.public-site .step-icon,
.public-site .step-card.featured .step-icon {
    width: 45px;
    height: 45px;
    border: 1px solid #c9c7bd;
    border-radius: 50%;
    background: transparent;
    color: #315f55;
}
.public-site .step-card.featured .step-icon { border-color: #b88a4a; color: #84663e; }
.public-site .step-number { color: #a98b60; }

.public-site .dimensions-section { background: #fffefb; }
.public-site .dimension-grid { border-color: #d8d5ca; }
.public-site .dimension-grid article { min-height: 205px; border-color: #ddd9cf; background: transparent; }
.public-site .dimension-grid article:nth-child(3n+2) { background: #f5f2ec; }
.public-site .dimension-grid article:hover { background: #ece8df; }
.public-site .dimension-grid article > span { color: #9a7443; }

.public-site .knowledge-section { overflow: hidden; padding-block: 92px; background: #e9e4da; }
.public-site .knowledge-grid { grid-template-columns: minmax(0,.82fr) minmax(520px,1.18fr); gap: clamp(45px,6vw,85px); }
.knowledge-visual { position: relative; padding: 0 0 70px 42px; }
.knowledge-visual > figure { position: relative; overflow: hidden; min-height: 450px; margin: 0; border: 1px solid #cdc6b8; background: #d4d0c7; box-shadow: 0 26px 60px rgba(43,49,44,.16); }
.knowledge-visual > figure::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 58%,rgba(16,35,31,.72)); content: ""; }
.knowledge-visual > figure img { width: 100%; height: 450px; object-fit: cover; filter: saturate(.78); }
.knowledge-visual > figure figcaption { position: absolute; z-index: 1; right: 24px; bottom: 20px; left: 28px; color: #f9f3e8; font-size: .75rem; line-height: 1.5; }
.public-site .knowledge-numbers {
    position: absolute;
    right: 36px;
    bottom: 0;
    left: 0;
    grid-template-columns: repeat(3,1fr);
    gap: 1px;
    border: 1px solid #d1c9bb;
    background: #d1c9bb;
    box-shadow: 0 20px 45px rgba(30,42,37,.16);
}
.public-site .knowledge-numbers article {
    display: grid;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 8px;
    min-height: 112px;
    padding: 18px;
    border: 0;
    border-radius: 0;
    background: #fffdf8;
    box-shadow: none;
}
.public-site .knowledge-numbers strong { color: #87663d; font-family: "Iowan Old Style","Baskerville",Georgia,serif; font-size: 2rem; font-weight: 600; }
.public-site .knowledge-numbers span { color: #59645f; font-size: .71rem; line-height: 1.45; }

.public-site .home-learning-section { background: #132c29; }
.public-site .home-learning-grid { gap: 1px; border: 1px solid rgba(219,196,159,.24); background: rgba(219,196,159,.2); }
.public-site .home-learning-grid article {
    min-height: 292px;
    padding: 26px 22px;
    border: 0;
    border-radius: 0;
    background: #183530;
}
.public-site .home-learning-grid article:nth-child(even) { background: #1c3c36; }
.public-site .home-learning-grid p { color: #b7c4bf; font-size: .75rem; }
.public-site .home-learning-route { border-radius: 2px; }
.public-site .home-sleep-section { background: #fffefb; }
.public-site .sleep-tip-card { border-radius: 4px; box-shadow: none; }
.public-site .research-card { border-color: #d4c9b6; border-radius: 2px; background: #f0ebe1; box-shadow: none; }
.public-site .research-badge { border-radius: 50%; }
.public-site .faq-list summary::after { border-radius: 50%; background: #eee7db; color: #7e613d; }
.public-site .final-cta { background: #193a34; }
.public-site .final-cta::after { border-color: rgba(210,173,115,.24); }
.public-site .section-kicker.light { color: #d5b982; }
.public-site .final-cta p { color: #b8c6c0; }

.public-site .result-hero { background: linear-gradient(145deg,#f3efe7,#e7eee9); }
.result-passport { border-radius: 5px; background: radial-gradient(circle at 10% 4%,rgba(255,255,255,.1),transparent 25%),linear-gradient(145deg,#1c4039,#112b27); }
.public-site .result-jump-nav { border-color: #d8d4ca; background: rgba(250,248,243,.96); }
.public-site .result-jump-inner a { border-radius: 2px; background: #fffdf8; }
.public-site .editorial-photo-frame,
.public-site .editorial-photo--feature .editorial-photo-frame,
.public-site .editorial-collection { border-radius: 4px; }

.public-site .site-footer { background: radial-gradient(circle at 12% -10%,rgba(184,138,74,.12),transparent 28%),#0d2420; }
.public-site .book-promotion-inner {
    border-color: rgba(202,167,112,.36);
    border-radius: 4px;
    background: linear-gradient(120deg,#e8e0d2,#d8c9b0);
    box-shadow: 0 26px 65px rgba(0,0,0,.22);
}
.public-site .book-promotion-label { border-radius: 2px; background: rgba(83,60,28,.1); }
.public-site .book-promotion-cta { border-color: #17342e; background: #17342e; color: #fff; }
.public-site .footer-trust,
.public-site .footer-disclaimer { border-radius: 3px; }

.admin-body {
    --blue-950: #17352f;
    --blue-900: #1d443c;
    --blue-800: #2b5b50;
    --blue-700: #397064;
    --blue-100: #e7eeea;
    --blue-50: #f2f5f1;
    --line: #d9ddd8;
    --muted: #68756f;
    background: #f1f0eb;
}
.admin-sidebar {
    border-right: 0;
    background: #15342e;
    box-shadow: 12px 0 35px rgba(12,34,29,.12);
}
.admin-sidebar .brand,
.admin-sidebar .brand span { color: #fff; }
.admin-sidebar .brand-mark span { border-color: #c79b5d; background: #15342e; }
.admin-sidebar nav a { border-radius: 4px; color: #b8c7c1; }
.admin-sidebar nav a:hover { background: rgba(255,255,255,.07); color: #fff; }
.admin-sidebar nav a.active { background: #c79b5d; color: #142923; }
.admin-sidebar-bottom { border-top-color: rgba(255,255,255,.12); }
.admin-sidebar-bottom a,
.admin-sidebar-bottom button { color: #aebfba; }
.admin-main { background: #f1f0eb; }
.admin-main h1,
.admin-main h2 { color: #17352f; }

@media (max-width: 1080px) {
    .public-site .hero-grid { grid-template-columns: minmax(0,.9fr) minmax(440px,1.1fr); gap: 42px; }
    .public-site .knowledge-grid { grid-template-columns: 1fr 1fr; gap: 42px; }
    .public-site .knowledge-numbers { right: 20px; }
}
@media (max-width: 900px) {
    .public-site .site-header { background: rgba(18,42,38,.98); }
    .public-site .nav-toggle { border-color: rgba(255,255,255,.22); border-radius: 3px; background: transparent; color: #fff; }
    .public-site .site-header .main-nav { border-color: #d3d0c6; border-radius: 4px; background: #fbf9f4; }
    .public-site .main-nav > a { color: #344b45; }
    .public-site .main-nav .mobile-nav-cta { border-radius: 2px; background: #b98b4c; color: #14231f; }
    .public-site .hero-grid,
    .public-site .knowledge-grid { grid-template-columns: 1fr; }
    .public-site .hero-grid { gap: 38px; padding-block: 60px 72px; }
    .public-site .hero-copy { max-width: 720px; }
    .hero-visual { width: min(100%,720px); min-height: 560px; }
    .public-site .steps-grid { grid-template-columns: 1fr; }
    .public-site .step-card,
    .public-site .step-card.featured { min-height: auto; border-right: 0; border-bottom: 1px solid #ddd9cf; }
    .public-site .step-card:last-child { border-bottom: 0; }
    .knowledge-visual { padding-left: 30px; }
}
@media (max-width: 620px) {
    .public-site .shell { width: min(calc(100% - 32px),1220px); }
    .public-site .section { padding-block: 68px; }
    .public-site .hero-grid { padding-block: 48px 58px; }
    .public-site .hero-actions { align-items: stretch; flex-direction: column; gap: 16px; }
    .public-site .hero-actions .button { width: 100%; }
    .public-site .hero-actions .text-link { justify-content: center; }
    .public-site .hero .trust-line { align-items: flex-start; flex-direction: column; }
    .public-site .hero .trust-separator { display: none; }
    .hero-visual { min-height: 485px; }
    .hero-photo { inset: 0 0 115px 18px; }
    .hero-photo figcaption { right: 18px; bottom: 18px; left: 28%; }
    .public-site .hero-card { width: calc(100% - 20px); padding: 20px; }
    .public-site .profile-preview > div:nth-child(n+4) { display: none; }
    .knowledge-visual { padding: 0 0 210px 16px; }
    .knowledge-visual > figure { min-height: 330px; }
    .knowledge-visual > figure img { height: 330px; }
    .public-site .knowledge-numbers { right: 14px; grid-template-columns: 1fr; }
    .public-site .knowledge-numbers article { grid-template-columns: 58px 1fr; min-height: 68px; padding: 11px 14px; }
    .public-site .knowledge-numbers strong { font-size: 1.6rem; }
    .public-site .dimension-grid { grid-template-columns: 1fr; border-left: 0; }
    .public-site .dimension-grid article { min-height: auto; border-left: 1px solid #ddd9cf; }
    .brand-wordmark small { display: none; }
    .public-site .book-promotion-inner { border-radius: 3px; }
}
@media (prefers-reduced-motion: reduce) {
    .public-site *,
    .public-site *::before,
    .public-site *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Quiet luxury polish · 1.24.1 */
.public-site { font-size: 1rem; line-height: 1.65; text-rendering: optimizeLegibility; }
.public-site h3 { line-height: 1.28; }
.public-site .hero h1 { font-size: clamp(2.65rem,4.45vw,4.2rem); line-height: 1.01; }
.public-site .section-heading h2,
.public-site .split-heading h2,
.public-site .knowledge-copy h2,
.public-site .faq-intro h2,
.public-site .final-cta h2 { font-size: clamp(1.95rem,3vw,2.85rem); line-height: 1.08; }
.public-site .page-hero h1,
.public-site .tool-hero h1,
.public-site .trial-hero h1,
.public-site .trial-sheet-hero h1,
.public-site .transparency-hero h1,
.public-site .advertising-hero h1 { font-size: clamp(2.55rem,4.6vw,4.25rem); line-height: 1.03; }
.public-site .result-hero h1 { font-size: clamp(2.45rem,4.4vw,4rem); line-height: 1.03; }
.public-site .question-card h1 { font-size: clamp(2rem,4vw,3.2rem); line-height: 1.08; }
.public-site .section-heading { max-width: 790px; margin-inline: auto; }
.public-site .section-heading > p { max-width: 690px; margin-inline: auto; font-size: 1rem; line-height: 1.75; }
.public-site .split-heading > p,
.public-site .knowledge-copy > p { font-size: 1rem; line-height: 1.75; }
.brand-wordmark small { font-size: .66rem; letter-spacing: .105em; }
.public-site .main-nav { gap: 18px; }
.public-site .main-nav > a { font-size: .875rem; }
.public-site .button,
.public-site .text-link { min-height: 44px; }
.public-site .text-link { display: inline-flex; align-items: center; }
.public-site a:focus-visible,
.public-site button:focus-visible,
.public-site summary:focus-visible,
.public-site input:focus-visible,
.public-site select:focus-visible,
.public-site textarea:focus-visible { outline: 3px solid #d2ad73; outline-offset: 3px; }
.public-site .hero-grid { min-height: 640px; padding-block: 58px 70px; }
.public-site .hero-copy { padding: 14px 0; }
.public-site .hero-lead { max-width: 570px; }
.hero-photo img { transition: transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease; }
.hero-visual:hover .hero-photo img { transform: scale(1.035); filter: saturate(.84) contrast(1.06); }
.hero-photo figcaption span { font-size: .7rem; }
.hero-photo figcaption strong { font-size: 1.08rem; }
.public-site .demo-caption { font-size: .75rem; line-height: 1.5; }
.public-site .step-card,
.public-site .dimension-grid article { transition: background-color .22s ease,color .22s ease; }
.public-site .step-card h3 { margin-top: 24px; font-size: 1.12rem; }
.public-site .step-card p,
.public-site .dimension-grid article p { font-size: .9rem; line-height: 1.68; }
.public-site .dimension-grid article { padding: 30px 27px; }
.public-site .knowledge-actions { row-gap: 12px; }
.public-site .knowledge-tool-links { gap: 8px 18px; }
.public-site .knowledge-tool-links a { min-height: 36px; font-size: .875rem; }
.public-site .knowledge-numbers span { font-size: .8rem; }
.public-site .home-learning-grid h3 { font-size: 1.08rem; }
.public-site .home-learning-grid p { font-size: .875rem; line-height: 1.68; }
.public-site .home-learning-grid a { font-size: .82rem; line-height: 1.45; }
.public-site .sleep-tip-card p,
.public-site .faq-list p,
.public-site .footer-note { font-size: .9rem; line-height: 1.7; }
.public-site .question-card { border-radius: 5px; box-shadow: 0 20px 55px rgba(20,44,41,.09); }
.public-site .answer-option { border-radius: 4px; font-size: .95rem; }
.public-site .answer-option:hover { border-color: #9f8154; background: #f5f0e7; }
.public-site .result-card,
.public-site .sidebar-card,
.public-site .product-card { border-radius: 5px; box-shadow: 0 14px 38px rgba(20,44,41,.07); }
.public-site .editorial-photo figcaption { font-size: .8rem; line-height: 1.55; }
.public-site .footer-grid { grid-template-columns: minmax(280px,1.25fr) repeat(2,minmax(165px,.72fr)) minmax(235px,.95fr); gap: 40px; }
.public-site .footer-grid > * { min-width: 0; }
.public-site .footer-intro h2 { margin: 22px 0 11px; font-size: 1.12rem; font-weight: 600; line-height: 1.42; letter-spacing: -.02em; }
.public-site .footer-nav-group h2,
.public-site .footer-company h2 { margin: 2px 0 8px; font-family: inherit; font-size: .78rem; font-weight: 820; line-height: 1.35; letter-spacing: .09em; text-transform: uppercase; }
.public-site .footer-note { color: #9aada6; }
.public-site .footer-disclaimer p,
.public-site .footer-bottom p { color: #879c95; }
.public-site .footer-company address { color: #9aada6; }
.admin-body { font-size: 1rem; line-height: 1.55; }
.admin-sidebar nav a { min-height: 42px; font-size: .875rem; }
.admin-sidebar-bottom a,
.admin-sidebar-bottom button,
.back-link { font-size: .82rem; }
.admin-table { font-size: .84rem; }
.admin-table th { font-size: .72rem; }
.admin-table td strong { font-size: .86rem; }
.admin-table td small { font-size: .75rem; }

@media (max-width: 1080px) {
    .public-site .hero-grid { min-height: 610px; }
    .public-site .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px 48px; }
}
@media (max-width: 900px) {
    .public-site .hero-grid { min-height: 0; }
    .public-site .hero-copy { padding-top: 4px; }
    .public-site .section-heading { margin-bottom: 36px; }
    .public-site .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px 42px; }
}
@media (max-width: 620px) {
    .public-site .shell { width: min(calc(100% - 36px),1220px); }
    .public-site .hero h1,
    .public-site .page-hero h1,
    .public-site .tool-hero h1,
    .public-site .trial-hero h1,
    .public-site .trial-sheet-hero h1,
    .public-site .transparency-hero h1,
    .public-site .advertising-hero h1,
    .public-site .result-hero h1 { font-size: clamp(2.3rem,10.8vw,3.1rem); }
    .public-site .section-heading h2,
    .public-site .split-heading h2,
    .public-site .knowledge-copy h2,
    .public-site .faq-intro h2,
    .public-site .final-cta h2 { font-size: clamp(1.72rem,8vw,2.2rem); }
    .public-site .question-card h1 { font-size: clamp(1.75rem,8vw,2.15rem); }
    .public-site .hero-grid { gap: 32px; padding-block: 42px 52px; }
    .public-site .hero-lead { font-size: 1rem; line-height: 1.65; }
    .hero-visual { display: grid; min-height: 0; padding-left: 14px; }
    .hero-photo { position: relative; inset: auto; height: 340px; }
    .hero-photo figcaption { top: 18px; right: 18px; bottom: auto; left: 42%; }
    .public-site .hero-card { position: relative; bottom: auto; left: auto; width: calc(100% - 14px); margin-top: -68px; margin-left: -14px; }
    .public-site .profile-preview > div:nth-child(n+4) { display: grid; }
    .knowledge-visual { padding-bottom: 218px; }
    .public-site .knowledge-numbers span { font-size: .78rem; }
    .public-site .step-card,
    .public-site .step-card.featured,
    .public-site .dimension-grid article { padding: 27px 24px; }
    .public-site .home-learning-grid p { font-size: .9rem; }
    .admin-sidebar nav a { min-height: 46px; }
    .public-site .footer-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* 1.25.0 – existing forest/ivory design, resilient interactive states. */
/* Component display:flex/grid must not override the HTML hidden state.
   Screen-only: the trial print stylesheet deliberately reveals all candidates. */
@media screen { [hidden] { display: none !important; } }
.public-site .quiz-stage { flex-direction: column; align-items: center; }
.public-site #quiz-error { width: 100%; max-width: 760px; margin-top: 22px; }
.public-site .quiz-intro { max-width: 760px; margin: 0 auto 28px; }
.public-site .quiz-intro h1 { font-size: clamp(1.9rem, 4vw, 3rem); }
.public-site .quiz-intro p { line-height: 1.7; }
.public-site .question-card h1:focus,
.public-site #tartalom:focus { outline: none; }
.public-site #quiz-retry { margin-top: 18px; }
.public-site .error-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.public-site .book-promotion-facts { flex-wrap: wrap; }
.public-site .quiz-bottom { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
@media (max-width: 900px) {
    .no-js .public-site .header-inner { flex-wrap: wrap; }
    .no-js .public-site .nav-toggle { display: none; }
    .no-js .public-site .site-header .main-nav {
        position: static; display: flex; flex-wrap: wrap; order: 3; flex: 0 0 100%;
        visibility: visible; opacity: 1; pointer-events: auto; transform: none;
        margin-top: 12px; box-shadow: none;
    }
}
@media print {
    .no-js .public-site .main-nav, .public-site #quiz-retry { display: none !important; }
}

/* Shared release footer: public pages, distraction-free quiz and admin. */
.release-version { display: inline-block; white-space: nowrap; font-variant-numeric: tabular-nums; }
.footer-copyright { min-width: 0; }
.public-site .footer-bottom { flex-wrap: wrap; }
.footer-release,
.quiz-footer,
.admin-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: .75rem; line-height: 1.6; }
.footer-release { margin-top: 8px; color: #9aada6; }
.footer-release a,
.quiz-footer a,
.admin-footer a { color: inherit; text-decoration: none; }
.footer-release a:hover,
.footer-release a:focus-visible,
.quiz-footer a:hover,
.quiz-footer a:focus-visible,
.admin-footer a:hover,
.admin-footer a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.quiz-footer { flex: 0 0 auto; justify-content: center; padding: 20px 0 4px; color: #5a7068; text-align: center; }
.admin-footer { justify-content: space-between; margin-top: 36px; padding: 18px 0 0; border-top: 1px solid #d6dfd8; color: #556b62; }
.admin-body > .admin-footer { max-width: 520px; margin: 0 auto; padding: 18px 24px 24px; }
.admin-body > .auth-page { min-height: calc(100vh - 72px); }
@media print { .quiz-footer, .admin-footer { display: none !important; } }

/* 1.26.0 – összefoglaló táblázat az összevont útmutatóoldalakon */
.guide-prose { min-width: 0; }
.guide-table { margin: 8px 0 34px; max-width: 100%; min-width: 0; }
.guide-table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.guide-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .95rem; line-height: 1.45; }
.guide-table th, .guide-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.guide-table thead th { background: var(--surface-alt); color: var(--ink); font-weight: 700; font-size: .85rem; letter-spacing: .01em; }
.guide-table tbody th { color: var(--ink); font-weight: 700; white-space: nowrap; }
.guide-table tbody tr:last-child th, .guide-table tbody tr:last-child td { border-bottom: 0; }
.guide-table td { color: var(--muted); }
.guide-table-note { margin-top: 10px; font-size: .88rem; color: var(--muted); }

/* 1.26.1 – matracválasztás lépései az útmutató-gyűjtőoldalon */
.selection-steps-section h2 { margin: 6px 0 22px; font-size: clamp(1.5rem,3vw,2rem); }
.selection-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.selection-steps li { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.selection-step-number { flex: 0 0 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-alt); color: var(--ink); font-weight: 800; }
.selection-steps h3 { margin: 4px 0 6px; font-size: 1.08rem; }
.selection-steps p { margin: 0 0 8px; color: var(--muted); }

/* 1.29.0: answer review and portable result */
.quiz-reassurance { margin: 16px 0; color: var(--muted, #52645e); font-size: .95rem; line-height: 1.6; }
.quiz-review-list { list-style: none; padding: 0; display: grid; gap: 12px; }
.quiz-review-list li { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; border: 1px solid #d8e3dd; border-radius: 14px; background: #fff; }
.quiz-review-list strong, .quiz-review-list span { display: block; }
.quiz-review-list span { margin-top: 6px; color: #52645e; }
.quiz-review-list button { flex-shrink: 0; }
.result-save-card { margin-top: 28px; margin-bottom: 20px; padding: 24px; background: #f0f6f2; border: 1px solid #d8e3dd; border-radius: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.result-save-card h2 { font-size: 1.45rem; margin: 8px 0 12px; }
.result-save-card input { width: 100%; min-width: 0; padding: 12px; border: 1px solid #a9bbb2; border-radius: 8px; background: #fff; }
.result-save-card .muted { color: #52645e; font-size: .9rem; }
.result-save-actions, .result-quick-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.result-quick-links a { padding: 10px 14px; border: 1px solid #d8e3dd; border-radius: 8px; }
@media (max-width: 640px) { .result-save-card { grid-template-columns: 1fr; padding: 18px; } .quiz-review-list li { align-items: stretch; flex-direction: column; gap: 12px; } }
@media print { .result-save-card, .result-quick-links { display: none !important; } }

.review-return { margin-top: 20px; }

/* 1.29.1 – olvashatóbb kérdések és egyértelműbb visszajelzés. */
.public-site #quiz-question h1 { font-size: clamp(1.65rem, 3.1vw, 2.35rem); line-height: 1.22; }
.public-site .quiz-stage { padding-block: 28px; }
.public-site #quiz-error { margin: 0 0 20px; }
.question-group { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.question-optional { padding: 4px 8px; border: 1px solid #ccd9d0; border-radius: 5px; color: #496359; font-size: .75rem; letter-spacing: 0; text-transform: none; }
.clear-answer { display: inline-flex; min-height: 44px; align-items: center; margin-top: 10px; }
.quiz-review-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin: 24px 0; padding: 18px; background: #eaf0e9; border-radius: 8px; }
.quiz-review-summary p { flex: 1 1 190px; margin: 0; color: #405b50; font-size: .9rem; }
.trial-candidate-panel { min-width: 0; }
.trial-candidate-panel > .trial-candidate-card { height: 100%; }
.trial-link-fallback { max-width: 680px; margin-top: 18px; }
.trial-link-fallback label { display: block; margin-bottom: 6px; font-weight: 650; }
.trial-link-fallback input { width: 100%; min-width: 0; padding: 12px; border: 1px solid #a9bbb2; border-radius: 8px; background: #fff; }
.trial-link-status { margin: 8px 0 0; color: #405b50; }
.trial-link-status:empty { display: none; }
@media (max-width: 640px) {
    .quiz-review-summary .button { width: 100%; }
    .public-site .question-card { padding: 20px 16px; }
}
@media print {
    .trial-link-fallback, .trial-link-status,
    .trial-candidate-panel:has(> .trial-candidate-card.optional) { display: none !important; }
}

/* A próbalap skáláinak magyarázata és mentés előtti áttekintése. */
.trial-scale-help { max-width: 850px; padding: 18px 22px; border-left: 3px solid #7d9c89; border-radius: 0 10px 10px 0; background: #edf3ef; color: #334d40; }
.trial-scale-help strong { font-size: .95rem; }
.trial-scale-help p { margin: 7px 0 0; font-size: .87rem; line-height: 1.6; }
.trial-review { margin-top: 28px; padding: 22px 24px; border: 1px solid #d4dfd7; border-radius: 16px; background: #f7faf7; scroll-margin-top: 24px; }
.trial-review h3 { margin: 0 0 8px; font-size: 1.2rem; }
.trial-review > p { margin: 8px 0; color: #465c50; font-size: .88rem; line-height: 1.6; }
.trial-review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; padding: 0; list-style: none; }
.trial-review-list li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid #d4dfd7; border-radius: 10px; background: #fff; }
.trial-review-list li[hidden] { display: none; }
.trial-review-list li > div { display: grid; gap: 4px; }
.trial-review-list strong { font-size: .91rem; }
.trial-review-list span { color: #465c50; font-size: .8rem; line-height: 1.5; }
.trial-review-list button { min-height: 44px; flex-shrink: 0; }
@media (max-width: 720px) {
    .trial-review { padding: 18px 16px; }
    .trial-review-list { grid-template-columns: 1fr; }
    .trial-review-list li { padding: 12px; }
}
@media print { .trial-review { display: none !important; } }

/* Practical guide navigation and an optional, local-only shopping checklist. */
.hub-start { padding: 24px 0 12px; }
.hub-start h2,.hub-topic-nav h2 { margin: 0 0 18px; font-size: clamp(1.4rem,2.5vw,1.8rem); }
.hub-start-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.hub-start-grid a { display: grid; gap: 7px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.hub-start-grid strong { color: var(--blue-950); font-size: 1rem; }
.hub-start-grid span { color: var(--muted); font-size: .85rem; line-height: 1.6; }
.hub-start-grid a:hover { border-color: var(--blue-700); background: var(--blue-50); }
.hub-topic-nav { margin-bottom: 42px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.hub-topic-nav > div { display: flex; flex-wrap: wrap; gap: 8px; }
.hub-topic-nav a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 9px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--blue-800); background: var(--surface); font-size: .85rem; }
.hub-topic-nav a:hover { background: var(--blue-100); }
.hub-topic-nav a span { color: var(--muted); }
.purchase-checklist-section { padding-top: 0; }
.purchase-checklist-card { padding: clamp(22px,4vw,38px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.purchase-checklist-card h2 { margin: 4px 0 14px; font-size: clamp(1.5rem,3vw,2rem); }
.purchase-checklist-note { color: var(--muted); font-size: .8rem; line-height: 1.6; }
.purchase-checklist-items { display: grid; gap: 10px; min-width: 0; margin: 24px 0; padding: 0; border: 0; }
.purchase-checklist-items label { display: grid; grid-template-columns: 22px minmax(0,1fr); align-items: start; gap: 13px; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-sm); cursor: pointer; }
.purchase-checklist-items input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--blue-800); }
.purchase-checklist-items strong,.purchase-checklist-items label > span > span { display: block; }
.purchase-checklist-items strong { margin-bottom: 4px; color: var(--ink); font-size: .94rem; }
.purchase-checklist-items label > span > span { color: var(--muted); font-size: .85rem; line-height: 1.6; }
.purchase-checklist-items label:has(input:checked) { border-color: var(--blue-700); background: var(--blue-50); }
.purchase-checklist-items input:focus-visible,.hub-start-grid a:focus-visible,.hub-topic-nav a:focus-visible,.guide-mobile-toc summary:focus-visible,.guide-mobile-toc a:focus-visible { outline: 3px solid var(--blue-700); outline-offset: 3px; }
.purchase-checklist-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.purchase-checklist-actions p { flex: 1 1 230px; margin: 0; color: var(--blue-800); font-size: .85rem; }
.purchase-checklist-next { margin: 22px 0 0; padding-top: 20px; border-top: 1px solid var(--line); font-size: .85rem; line-height: 1.8; }
.purchase-checklist-print-meta,.guide-mobile-toc { display: none; }
@media (max-width: 720px) {
    .guide-mobile-toc { display: block; margin-bottom: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
    .guide-mobile-toc summary { min-height: 48px; padding: 15px; color: var(--blue-800); font-weight: 700; font-size: .9rem; cursor: pointer; }
    .guide-mobile-toc nav { display: grid; padding: 0 15px 12px; }
    .guide-mobile-toc a { display: flex; align-items: center; min-height: 44px; padding: 10px 0; border-top: 1px solid var(--line); color: var(--blue-800); font-size: .9rem; line-height: 1.5; }
    .hub-start-grid { grid-template-columns: 1fr; }
    .hub-start-grid a { padding: 18px; }
    .purchase-checklist-actions .button { width: 100%; }
}
@media print {
    .guide-mobile-toc,.purchase-checklist-actions { display: none !important; }
    body.purchase-checklist-print > :not(main),
    body.purchase-checklist-print #tartalom > :not(#vasarlasi-ellenorzolista) { display: none !important; }
    body.purchase-checklist-print { background: #fff !important; color: #000; font-size: 11pt; }
    body.purchase-checklist-print #tartalom { margin: 0; padding: 0; }
    body.purchase-checklist-print .purchase-checklist-section { padding: 0; }
    body.purchase-checklist-print .purchase-checklist-card { width: 100%; max-width: none; margin: 0; padding: 0; border: 0; background: #fff; box-shadow: none; }
    body.purchase-checklist-print h2 { font-size: 18pt; }
    body.purchase-checklist-print .purchase-checklist-note,
    body.purchase-checklist-print .purchase-checklist-next { display: none; }
    body.purchase-checklist-print .purchase-checklist-items { gap: 6px; margin: 12px 0; }
    body.purchase-checklist-print .purchase-checklist-items label { break-inside: avoid; padding: 8px; border-color: #999; background: #fff; }
    body.purchase-checklist-print .purchase-checklist-items strong,
    body.purchase-checklist-print .purchase-checklist-items label > span > span { color: #000; font-size: 10pt; }
    body.purchase-checklist-print .purchase-checklist-print-meta { display: block; margin: 12px 0 0; font-size: 9pt; }
}

/* Resource labels stay readable in narrow admin cards. */
.resource-stat-grid article { min-width: 0; }
.resource-stat-grid strong { font-size: clamp(1.1rem, 2vw, 1.55rem); line-height: 1.25; overflow-wrap: anywhere; }

/* 1.34.0: readable headings for the longer, individually authored article titles. */
body.public-site .guide-page--article .guide-page-hero { padding-top: 2.5rem; padding-bottom: 2.5rem; }
body.public-site .guide-page--article .guide-page-hero h1 { font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.2; letter-spacing: -.02em; max-width: 28ch; overflow-wrap: anywhere; }
body.public-site .guide-page--article .guide-prose h2 { font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.35; }
body.public-site .guide-page--article .article-citation { white-space: nowrap; font-size: .85em; font-weight: 700; text-underline-offset: .15em; }
body.public-site .guide-page--article .evidence-source-card { scroll-margin-top: 1.5rem; }
body.public-site .guide-page--article .article-table-hint { display: none; }
@media (max-width: 700px) { body.public-site .guide-page--article .article-table-hint { display: block; font-size: .88rem; margin: -.2rem 0 .75rem; } }

/* 1.35.0: article-specific worksheets, usable without JavaScript as plain text. */
body.public-site .guide-page--article .article-workbook { padding: clamp(18px, 3vw, 30px); border: 1px solid #cbded8; border-radius: 14px; background: #f6faf8; min-width: 0; }
body.public-site .guide-page--article .article-workbook h2 { margin-top: 8px; font-size: clamp(1.35rem, 2.2vw, 1.8rem); line-height: 1.3; overflow-wrap: anywhere; }
body.public-site .guide-page--article .article-workbook h3 { font-size: 1.1rem; line-height: 1.4; overflow-wrap: anywhere; }
body.public-site .guide-page--article .article-workbook-steps { padding-left: 24px; }
body.public-site .guide-page--article .article-workbook-steps li { padding-left: 4px; margin: 18px 0; }
body.public-site .guide-page--article .article-workbook-steps li p { margin: 6px 0 0; }
body.public-site .guide-page--article .article-workbook-example { border-left: 3px solid #a7bfb5; padding: 4px 0 4px 18px; margin: 26px 0; }
body.public-site .guide-page--article .article-workbook-example h3 { margin-top: 0; }
body.public-site .guide-page--article .article-workbook-template { margin: 26px 0; }
body.public-site .guide-page--article .article-workbook pre { white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; font: inherit; font-size: .95rem; line-height: 1.7; color: #193f38; background: #fff; border: 1px solid #cad8d2; border-radius: 8px; padding: 16px; max-width: 100%; min-width: 0; tab-size: 2; }
body.public-site .guide-page--article .article-workbook-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
body.public-site .guide-page--article .article-workbook-actions .button { min-height: 44px; white-space: normal; text-align: center; }
body.public-site .guide-page--article .article-workbook-actions [hidden] { display: none !important; }
body.public-site .guide-page--article .article-workbook-status { min-height: 1.6em; margin: 8px 0 0; font-size: .92rem; }
body.public-site .guide-page--article .article-workbook-hint { font-size: .92rem; }
body.public-site .guide-page--article .article-workbook-export-preview { margin-top: 14px; border-top: 1px solid #cad8d2; }
body.public-site .guide-page--article .article-workbook-export-preview summary { min-height: 44px; padding-block: 12px; cursor: pointer; font-weight: 600; }
body.public-site .guide-page--article .article-workbook-export-preview > p { font-size: .92rem; }
body.public-site .guide-page--article .article-workbook-interpretation > :last-child { margin-bottom: 0; }
body.public-site .guide-page--article .article-workbook pre:focus-visible,
body.public-site .guide-page--article .article-workbook-export-preview summary:focus-visible,
body.public-site .guide-page--article .article-workbook .button:focus-visible { outline: 3px solid #287262; outline-offset: 3px; }
@media print {
    body.public-site .guide-page--article .article-workbook { padding: 12px; background: #fff; }
    body.public-site .guide-page--article .article-workbook-actions,
    body.public-site .guide-page--article .article-workbook-status,
    body.public-site .guide-page--article .article-workbook-export-preview,
    body.public-site .guide-page--article .article-workbook-hint { display: none; }
    body.public-site .guide-page--article .article-workbook pre { white-space: pre-wrap; }
}

/* Reviewed guide and comparison titles: compact and safe for long Hungarian words. */
body.public-site .guide-page:not(.guide-page--article) .guide-page-hero,
body.public-site .technology-compare-hero,
body.public-site .datasheet-hero {
    padding-block: 2.5rem;
}
body.public-site .guide-page:not(.guide-page--article) .guide-page-hero h1,
body.public-site .technology-compare-hero h1,
body.public-site .datasheet-hero h1 {
    font-size: clamp(1.7rem, 3vw, 2.7rem);
    line-height: 1.2;
    letter-spacing: -.02em;
    max-width: 30ch;
    overflow-wrap: anywhere;
    hyphens: auto;
}

/* 1.37.0: clear tasks, explicit optional choices, and saved-data controls. */
body.public-site .hero h1 { font-size: clamp(2rem, 3.6vw, 3.15rem); line-height: 1.15; max-width: 20ch; }
body.public-site .hero-visual { display: grid; gap: 18px; min-height: 0; padding-left: 0; }
body.public-site .hero-visual .hero-photo { position: relative; inset: auto; height: 290px; border-radius: 16px; }
body.public-site .hero-visual .purchase-preview { position: relative; inset: auto; width: 100%; max-width: none; margin: 0; transform: none; padding: 24px; border-radius: 16px; }
body.public-site .purchase-preview h2 { font-size: 1.4rem; margin-bottom: 18px; }
body.public-site .hero .purchase-preview .text-link { color: #214f40; text-decoration-color: currentColor; }
.purchase-preview-list { margin: 0 0 18px; padding-left: 24px; }
.purchase-preview-list li { padding-left: 4px; margin: 0 0 14px; }
.purchase-preview-list strong, .purchase-preview-list span { display: block; }
.purchase-preview-list strong { font-size: .98rem; }
.purchase-preview-list span { font-size: .9rem; line-height: 1.55; margin-top: 3px; color: #48645c; }
.home-task-section { padding-block: 44px; background: #f7f9f5; border-block: 1px solid #dbe4dd; }
.home-task-section h2 { font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.3; }
.home-task-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.home-task-grid > a { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 22px; background: #fff; border: 1px solid #d4dfd8; border-radius: 12px; color: #153e32; }
.home-task-grid > a:hover { border-color: #3e7562; }
.home-task-grid strong { font-size: 1.05rem; line-height: 1.4; }
.home-task-grid span { font-size: .94rem; line-height: 1.6; color: #4b6259; }
body.public-site .quiz-intro h1, body.public-site .result-hero h1 { font-size: clamp(1.8rem, 3.1vw, 2.65rem); line-height: 1.2; }
body.public-site .quiz-stage { flex: 0 1 auto; }
.quiz-health-options { width: 100%; max-width: 760px; margin: 0 auto 24px; padding: 16px 20px; background: #f4f8f5; border: 1px solid #cbdacf; border-radius: 12px; color: #244638; }
.quiz-health-options summary, .saved-data-controls summary { font-weight: 700; cursor: pointer; line-height: 1.5; }
.quiz-health-options[open] summary, .saved-data-controls details[open] summary { margin-bottom: 16px; }
.quiz-health-options p, .saved-data-controls p { font-size: .94rem; line-height: 1.7; }
.quiz-health-options a, .saved-data-controls a, .quiz-intro .small a { text-decoration: underline; text-underline-offset: 3px; }
.consent-choice { display: flex; align-items: flex-start; gap: 12px; margin: 16px 0; font-size: .94rem; line-height: 1.6; }
.consent-choice input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; margin: 3px 0 0; accent-color: #28654d; }
.quiz-health-options [hidden] { display: none !important; }
.quiz-review-privacy { font-size: .94rem; flex-basis: 100%; }
.saved-data-controls { margin-block: 32px 48px; padding: 22px; border: 1px solid #ccd9d1; border-radius: 12px; background: #f7faf7; }
.saved-data-controls form { max-width: 780px; }
.delete-saved-button { color: #81332c; border-color: #b3887f; }
body.public-site .quiz-health-options p:last-child, .saved-data-controls p:last-child { margin-bottom: 0; }
@media (max-width: 900px) { .home-task-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) {
    .home-task-grid { grid-template-columns: 1fr; }
    .home-task-section { padding-block: 32px; }
    body.public-site .hero-visual .hero-photo { height: 240px; }
    body.public-site .hero-visual .purchase-preview { padding: 20px; }
    .quiz-health-options { padding: 14px; }
    .saved-data-controls { padding: 18px; }
}
@media print { .saved-data-controls, .quiz-health-options { display: none !important; } }

body.public-site .trial-sheet-hero h1 { font-size: clamp(1.8rem, 3.2vw, 2.7rem); line-height: 1.2; max-width: 26ch; overflow-wrap: normal; hyphens: auto; }
body.public-site .trial-target-section h2, body.public-site .trial-form-section h2, body.public-site .trial-comparison-section h2, body.public-site .followup-section h2 { font-size: clamp(1.5rem, 2.5vw, 2.05rem); line-height: 1.3; }
.editorial-source-group { margin-block: 16px; border-bottom: 1px solid #d7dfd8; padding-bottom: 14px; }
.editorial-source-group > summary { padding-block: 8px; cursor: pointer; font-weight: 700; }
.editorial-source-group[open] > summary { margin-bottom: 16px; }

/* 1.39.0: complete search states, visible provenance, and help after purchase. */
body.public-site .guide-hero h1,body.public-site .tool-hero h1 { font-size: clamp(1.8rem, 3.2vw, 2.7rem); line-height: 1.2; overflow-wrap: break-word; hyphens: auto; }
.hub-jump-link { margin: 18px 0 0; }
.hub-jump-link a { display: inline-flex; align-items: center; min-height: 44px; }
.post-purchase-help { margin-top: 28px; padding-top: 24px; border-top: 1px solid #cbdacf; }
.post-purchase-help h3 { margin: 0 0 8px; font-size: 1.2rem; line-height: 1.4; }
.post-purchase-help > p { margin: 0 0 16px; font-size: .94rem; line-height: 1.65; color: #486054; }
.post-purchase-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
.post-purchase-links a { display: grid; align-content: start; gap: 5px; padding: 13px 15px; border: 1px solid #d4dfd8; border-radius: 10px; background: #fff; }
.post-purchase-links strong { color: #214f40; font-size: .97rem; line-height: 1.5; }
.post-purchase-links span { color: #486054; font-size: .9rem; line-height: 1.55; }
.post-purchase-links a:hover { border-color: #3e7562; background: #f3f8f4; }
.knowledge-search .search-query-help { margin: 12px 0 0; font-size: .9rem; line-height: 1.65; color: #486054; }
.search-query-notice { padding: 16px 18px; border: 1px solid #abbbad; border-radius: 10px; background: #fff; }
.search-result-range { margin: 0 0 24px; font-size: .94rem; }
.search-result-list .search-match-note { display: block; margin: 0 0 16px; color: #486054; font-size: .9rem; line-height: 1.6; }
.search-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 18px; margin-top: 30px; }
.search-pagination-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.search-pagination-pages a,.search-pagination-pages strong { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #c5d5ca; border-radius: 8px; color: #214f40; background: #fff; font-size: 1rem; }
.search-pagination-pages strong { background: #214f40; border-color: #214f40; color: #fff; }
.search-pagination-pages a:hover { border-color: #214f40; background: #eef5ef; }
.search-recovery-links { display: grid; justify-items: start; gap: 12px; margin-top: 22px; }
.search-recovery-links a { display: inline-flex; align-items: center; min-height: 44px; }
.compare-dialog .dialog-close { flex: 0 0 44px; width: 44px; height: 44px; }
.compare-dialog-note { margin: 0; padding: 20px 25px 0; color: #344d43; font-size: .94rem; line-height: 1.7; }
.compare-dialog-note a { text-decoration: underline; text-underline-offset: 3px; }
#compare-table-wrap:focus-visible { outline: 3px solid #28654d; outline-offset: -4px; }
.compare-table { min-width: 620px; font-size: .94rem; }
.compare-table caption { padding: 0 0 16px; text-align: left; color: #244638; font-weight: 700; line-height: 1.6; }
.compare-table th,.compare-table td { vertical-align: top; line-height: 1.6; }
.compare-table thead th { min-width: 150px; }
.compare-table .compare-evidence td { color: #214f40; font-weight: 700; background: #f0f6f1; }
.compare-model-label { display: block; color: #486054; font-size: .85rem; line-height: 1.5; }
.trial-comparison-section .comparison-table-wrap > table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .94rem; }
.trial-comparison-section .comparison-table-wrap caption { padding: 16px; text-align: left; font-weight: 700; line-height: 1.6; }
.trial-comparison-section .comparison-table-wrap th,.trial-comparison-section .comparison-table-wrap td { padding: 13px 16px; border-bottom: 1px solid #d4dfd8; text-align: left; vertical-align: top; line-height: 1.6; }
.trial-comparison-section .comparison-table-wrap thead th { background: #f0f6f1; color: #214f40; }
.trial-comparison-section .comparison-table-wrap:focus-visible { outline: 3px solid #28654d; outline-offset: 3px; }
@media (max-width: 580px) {
    .post-purchase-links { grid-template-columns: 1fr; }
    .post-purchase-help { margin-top: 22px; padding-top: 20px; }
    .search-pagination-pages { flex-basis: 100%; order: -1; }
    .compare-dialog .dialog-head { gap: 12px; padding: 18px; }
    .compare-dialog .dialog-head h2 { font-size: 1.25rem; }
    .compare-dialog-note { padding: 18px 18px 0; }
    #compare-table-wrap { padding: 18px; }
}

/* 1.41.0: the article's next step opens its own authored worksheet. */
body.public-site .reading-check-workbook a { display: flex; align-items: center; min-height: 44px; padding-block: 8px; line-height: 1.6; }
body.public-site .guide-page .article-table-hint { display: none; }
body.public-site .guide-page .guide-table-scroll:focus-visible { outline: 3px solid #287262; outline-offset: 3px; }
@media (max-width: 700px) {
    body.public-site .guide-page .article-table-hint { display: block; font-size: .88rem; margin: -.2rem 0 .75rem; }
}

/* 1.42.0: locally editable worksheets with complete, current exports. */
body.public-site .guide-page--article .article-workbook-label { display: block; margin: 18px 0 8px; font-weight: 700; }
body.public-site .guide-page--article .article-workbook textarea { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 16rem; box-sizing: border-box; resize: vertical; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 1rem; line-height: 1.7; color: #193f38; background: #fff; border: 1px solid #9ab5a9; border-radius: 8px; padding: 16px; tab-size: 2; }
body.public-site .guide-page--article .article-workbook textarea:focus-visible { outline: 3px solid #287262; outline-offset: 3px; }
body.public-site .guide-page--article .article-workbook [hidden] { display: none !important; }
body.public-site .guide-page--article .article-workbook:not([data-workbook-ready]) .article-workbook-actions,
body.public-site .guide-page--article .article-workbook-status:empty { display: none; }
body.public-site .guide-page--article .article-workbook [data-reset-workbook] { font-size: .9rem; }
body.public-site .guide-page--article .article-workbook-download-check { margin-top: 16px; padding: 16px; border: 1px solid #b7cfc2; border-radius: 8px; background: #fff; }
body.public-site .guide-page--article .article-workbook-download-check p { margin: 0 0 12px; font-size: .92rem; }
body.public-site .guide-page--article .article-workbook-download-check .button { min-height: 44px; white-space: normal; text-align: center; }
@media (max-width: 580px) {
    body.public-site .guide-page--article .article-workbook textarea { padding: 12px; }
    body.public-site .guide-page--article .article-workbook-actions .button { width: 100%; }
}
@media print {
    body.public-site .guide-page--article .article-workbook[data-workbook-ready] textarea,
    body.public-site .guide-page--article .article-workbook-download-check { display: none !important; }
    body.public-site .guide-page--article .article-workbook[data-workbook-ready] [data-workbook-print] { display: block !important; overflow: visible; }
}

/* 1.42.0: native return links from sources to the cited article sections. */
body.public-site .guide-page .article-citation { scroll-margin-top: clamp(6rem, 30vh, 18rem); }
body.public-site .guide-page .evidence-source-card { scroll-margin-top: 1.5rem; }
body.public-site .guide-page .article-citation:target { border-radius: 2px; background: #e8f3ee; outline: 2px solid #287262; outline-offset: 3px; }
body.public-site .guide-page .evidence-source-card:target { border-color: #287262; }
body.public-site .guide-page .evidence-source-card:focus-visible { outline: 3px solid #287262; outline-offset: 3px; }
body.public-site .guide-page .source-backlinks { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #d5e2dc; }
body.public-site .guide-page .source-backlinks p { margin-bottom: .5rem; font-weight: 700; }
body.public-site .guide-page .source-backlinks ul { margin: 0; padding-left: 1.2rem; }
body.public-site .guide-page .source-backlinks li { margin: .4rem 0; line-height: 1.5; }
body.public-site .guide-page .source-backlinks a { display: inline-block; font-size: .82rem; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: .16em; }

/* Authored dimensional illustration; no external resources or scripts. */
.article-measurement-figure { margin: 26px 0; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.article-measurement-figure > svg { margin: 0 auto; }
.article-measurement-figure figcaption { margin-top: 12px; color: var(--muted); font-size: .85rem; line-height: 1.65; }
@media print { .article-measurement-figure { break-inside: avoid; } .article-measurement-figure > svg { max-height: 150mm; width: auto !important; max-width: 100% !important; } }

/* Keep pending selections clear and provide a standalone, copyable result. */
.compare-selection-status { padding: 14px 16px; border-left: 3px solid #287262; background: #edf5f0; color: #193f38; font-size: .9rem; line-height: 1.6; }
.comparison-print-selection-status { display: none; }
.compare-builder select[aria-invalid="true"] { border-color: #962c25; outline: 2px solid #962c25; outline-offset: 2px; }
.result-summary-preview { margin-top: 18px; padding-top: 12px; border-top: 1px solid #c9d4cf; }
.result-summary-preview summary { min-height: 44px; padding-block: 10px; cursor: pointer; font-weight: 700; color: #193f38; font-size: .9rem; }
.result-summary-preview label { display: block; margin: 10px 0 8px; font-weight: 700; }
.result-summary-preview textarea { display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; padding: 12px; border: 1px solid #9eafa9; border-radius: 8px; color: #193f38; background: #fff; font: inherit; font-size: 1rem; line-height: 1.6; resize: vertical; }
.result-summary-preview textarea:focus-visible,.result-summary-preview summary:focus-visible { outline: 3px solid #287262; outline-offset: 3px; }
.result-summary-preview p { font-size: .85rem; line-height: 1.6; }
@media print {
    .compare-selection-status,.result-summary-preview,.skip-link { display: none !important; }
    .comparison-print-selection-status:not([hidden]) { display: block !important; padding: 3mm; border: 1px solid #777; color: #111; font-size: 9pt; line-height: 1.4; }
}

/* Print the persisted follow-up while keeping unfinished form values off the copy. */
.followup-print-only { display: none; }
@media print {
    body[data-page^="matracproba/"] .followup-section.has-saved-followup { display: block !important; padding: 18px 0; background: #fff; }
    body[data-page^="matracproba/"] .followup-print-only { display: grid !important; }
    body[data-page^="matracproba/"] .followup-form,
    body[data-page^="matracproba/"] .followup-locked,
    body[data-page^="matracproba/"] .followup-date,
    body[data-page^="matracproba/"] .followup-head p,
    body[data-page^="matracproba/"] .followup-complete-mark,
    body[data-page^="matracproba/"] .followup-complete .text-link,
    body[data-page^="matracproba/"] .trial-delete-section,
    body[data-page^="matracproba/"] [data-trial-server-error],
    body[data-page^="matracproba/"] button { display: none !important; }
    body[data-page^="matracproba/"] .followup-head { display: block; margin-bottom: 12px; }
    body[data-page^="matracproba/"] .followup-complete { grid-template-columns: minmax(0, 1fr); gap: 0; background: #fff; }
    body[data-page^="matracproba/"] .followup-complete dl > div { break-inside: avoid; }
}

/* 1.49.0 - Matracutmutato decision gates */
.decision-gates-section{padding-top:0}.decision-gates-card{padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--surface),var(--blue-50))}.decision-gates-card>h2{margin:4px 0 12px;font-size:clamp(1.5rem,3vw,2rem)}.decision-gates-card>p{color:var(--muted);line-height:1.75}.decision-gates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.decision-gate{display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.decision-gate-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.decision-gate-head>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:999px;background:var(--blue-900);color:#fff;font-weight:800}.decision-gate h3{margin:4px 0 0;font-size:1.04rem;line-height:1.35}.decision-gate label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--line);cursor:pointer}.decision-gate input{width:18px;height:18px;margin-top:3px;accent-color:var(--blue-800)}.decision-gate label span,.decision-gate label strong,.decision-gate label small{display:block}.decision-gate label strong{font-size:.9rem;line-height:1.45}.decision-gate label small{margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.5}.decision-gate label:has(input:checked) strong{text-decoration:line-through;text-decoration-thickness:1px;color:var(--muted)}.decision-gate-next{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:.78rem;line-height:1.65}.decision-gate-next a{font-weight:700}.decision-gates-summary{display:flex;gap:14px;align-items:flex-start;margin-top:16px;padding:16px 18px;border-radius:var(--radius-sm);background:var(--blue-950);color:#fff}.decision-gates-summary strong{flex:0 0 auto}.decision-gates-summary span{opacity:.88;font-size:.82rem;line-height:1.6}.decision-gates-noscript{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.decision-gate input:focus-visible{outline:3px solid var(--blue-700);outline-offset:3px}@media(max-width:900px){.decision-gates-grid{grid-template-columns:1fr}.decision-gates-summary{display:grid}}@media print{.decision-gates-section{break-before:page}.decision-gates-grid{grid-template-columns:1fr}.decision-gates-card{padding:0;border:0;background:#fff}.decision-gate{break-inside:avoid}.decision-gates-summary{background:#fff;color:#000;border:1px solid #aaa}}

/* 1.52.0: bring the answer closer to the title on small screens. */
.home-start-guides { margin-top: 28px; padding-top: 24px; border-top: 1px solid #cbdacf; }
.home-start-guides h3 { margin: 0 0 16px; font-size: 1.2rem; line-height: 1.4; }
@media (max-width: 700px) {
    body.public-site .guide-page:not(.guide-page--article) .guide-page-hero { padding-block: 24px; }
    body.public-site .guide-page:not(.guide-page--article) .guide-page-hero h1 { hyphens: none; overflow-wrap: normal; }
    body.public-site .guide-page:not(.guide-page--article) .guide-content-section { padding-top: 28px; }
}
