/* Keep the existing KubrDom palette and typography. Focus on house selection. */
[hidden] { display: none !important; }
.conversion-page .section { padding: 64px 0; }
.conversion-page .section-head { margin-bottom: 30px; }
.conversion-page .section-head .lead { max-width: 70ch; }
.hero__area { color: var(--hero-text); font-size: 16px; max-width: 650px; margin: 18px 0; }
.hero__terms { color: var(--hero-text); font-size: 14px; max-width: 620px; margin-top: 20px; line-height: 1.6; }
.conversion-page .hero { padding-top: 140px; padding-bottom: 48px; }
.conversion-page .hero h1 { max-width: 850px; font-size: clamp(32px, 4.2vw, 60px); line-height: 1.16; margin: 20px 0; }
.conversion-page .hero__sub { font-size: 19px; margin-bottom: 20px; }
.conversion-page .hero__area { margin: 14px 0; }
.conversion-page .hero__spec { margin-bottom: 24px; }
.audience-links { display: flex; flex-wrap: wrap; gap: 14px 26px; margin-top: 32px; }
.audience-links a { color: var(--hero-text); text-underline-offset: 5px; }
#packages { scroll-margin-top: 100px; }
.package-photo { width: 100%; aspect-ratio: 4/3; object-fit: contain; border-radius: 10px; margin-bottom: 24px; }
.conversion-page .package { display: flex; flex-direction: column; }
.conversion-page .package>p:not(.package__note) { color: var(--card-muted); font-size: 15px; }
.conversion-page .package--hit>p:not(.package__note) { color: var(--hit-muted); }
.conversion-page .package .btn { margin-top: auto; }
.conversion-page .package__price { margin: 18px 0; font-size: clamp(23px,2.4vw,30px); }
.package-exclusions { color: var(--card-muted); margin: 24px 0 0; line-height: 1.65; max-width: 95ch; }
.disclosure { margin-top: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--text); }
.disclosure>summary { cursor: pointer; padding: 22px 24px; font-weight: 700; font-size: 19px; }
.disclosure>summary span { display: block; font-size: 14px; font-weight: 400; color: var(--muted); margin-top: 6px; }
.disclosure[open]>summary { margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.disclosure>.smeta__legend,.disclosure>.smeta__fine { margin-left: 20px; margin-right: 20px; }
.disclosure>.smeta__fine { padding-bottom: 14px; }
.disclosure .custom-layout { margin: 0; border-top: 0; padding: 0 24px 24px; }
.trust-links { margin: 22px 0; text-underline-offset: 4px; }
.conversion-page .finish { margin-top: 0; }
.finish__nav a[aria-current] { background: var(--green-deep); color: var(--on-green); border-color: var(--green); }
.finish-options { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 22px; }
.finish-options button { font: inherit; font-size: 13px; width: 102px; padding: 5px; border: 2px solid transparent; border-radius: 9px; background: var(--surface); color: var(--text); cursor: pointer; text-align: left; }
.finish-options button[aria-pressed="true"] { border-color: var(--green); }
.finish-options img { width: 100%; aspect-ratio: 2/1; object-fit: cover; border-radius: 5px; display: block; }
.finish-options span { display: block; margin: 6px 2px; }
.finish--packages .finish-stage { display: block; max-width: 610px; margin: 0 auto; }
.finish--packages .finish-stage img { width: 100%; }
.finish--packages .finish__group { padding-top: 12px; }
.finish--packages .finish__head { margin-top: 12px; }
.finish__choice { max-width: 75ch; }
.conversion-page .calc__result { position: static; }
.conversion-page .field>span { display: block; font-size: 14px; margin-bottom: 6px; }
.mobile-actions { display: none; }
.conversion-page .reviews-widget { height: 420px; }
.lead-success { padding: 16px; margin-top: 16px; border: 1px solid var(--green); border-radius: 10px; }
.lead-success a { margin-right: 16px; }
.lead-consent { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; margin: 16px 0; color: var(--muted); }
.lead-consent input { margin-top: 4px; flex-shrink: 0; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media(max-width:700px) {
 .conversion-page .section { padding: 44px 0; }
 .conversion-page .hero { padding-bottom: 36px; }
 .conversion-page .hero h1 { font-size: clamp(28px,7.5vw,44px); }
 .conversion-page .hero { padding-top: 116px; }
 .hero__area { font-size: 14px; }
 .conversion-page .hero__cta { flex-direction: column; align-items: stretch; }
 .conversion-page .hero__cta .btn { white-space: normal; text-align: center; }
 .conversion-page .finish__nav { gap: 8px; flex-wrap: wrap; }
 .conversion-page .finish__nav a { font-size: 13px; padding: 10px 12px; }
 .finish-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
 .finish-options button { width: auto; min-width: 0; font-size: 12px; }
 .disclosure>summary { padding: 18px; font-size: 17px; }
 .disclosure .custom-layout { padding: 0 16px 16px; }
 .conversion-page .package { padding: 22px; }
 .mobile-actions { position: fixed; bottom: 0; left: 0; right: 0; display: flex; gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); z-index: 90; background: var(--bg); border-top: 1px solid var(--line); }
 .mobile-actions .btn { flex: 1; font-size: 14px; padding: 12px; }
 .conversion-page .footer { padding-bottom: 90px; }
 .conversion-page .reviews-widget { height: 360px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

.hero h1 { hyphens: none; overflow-wrap: normal; }
.process-compact { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; padding:0; margin:0; counter-reset:step; }
.process-compact>li { border-top:2px solid var(--green); padding-top:16px; counter-increment:step; }
.process-compact>li:before { content:"Шаг " counter(step); font-size:13px; color:var(--muted); }
.process-compact h3 { font-family:var(--font-body); font-size:20px; margin:10px 0; }
.process-compact p { color:var(--muted); line-height:1.6; margin:0; }
#production .disclosure .checklist { padding:0 24px 20px; }
@media(max-width:800px){.process-compact {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){.process-compact {grid-template-columns:1fr;gap:22px;}}

/* Individual layout gift offer. */
.custom-layout__price { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
.custom-layout__price s { font-size:clamp(24px,3vw,32px); font-weight:500; color:var(--muted); text-decoration-thickness:2px; }
.custom-layout__price strong { font-weight:700; line-height:1.1; }
.custom-layout__promo { font-size:18px; line-height:1.6; color:var(--text); }

#layout-tour { white-space:normal; text-align:center; max-width:100%; }

.calc-plan-preview { margin:16px 0; }
.calc-plan-preview figcaption { font-size:14px; font-weight:600; margin-bottom:10px; }
.calc-plan-preview button { display:block; width:100%; padding:10px; border:1px solid var(--line); border-radius:10px; background:#f4f0e8; color:#141616; cursor:zoom-in; font:inherit; }
.calc-plan-preview img { display:block; width:100%; height:auto; }
.calc-plan-preview button span { display:block; margin-top:10px; font-size:13px; text-align:center; }
.calc-plan-preview button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }

/* Product selection, site budget and visits share the existing brand palette. */
.site-budget { border-top:1px solid var(--line); margin-top:28px; padding-top:24px; }
.site-budget h3,.budget-result h3 { font-family:var(--font-body); font-size:21px; margin:0 0 12px; }
.site-budget label,.chosen-interior label { display:block; font-size:14px; margin:14px 0 8px; }
.site-budget input,.site-budget select,.chosen-interior select,.viewing input:not([type=radio]):not([type=checkbox]) { width:100%; min-width:0; padding:12px; font:inherit; font-size:16px; border:1px solid var(--field-line); border-radius:8px; background:var(--field-bg); color:var(--text); }
.site-budget select { font-size:14px; }
.distance-field { display:flex; align-items:center; gap:12px; max-width:230px; }
.distance-field span { color:var(--muted); }
.site-budget__fields { display:grid; gap:12px; }
.budget-explainer { margin-top:22px; font-size:14px; line-height:1.6; color:var(--muted); }
.budget-explainer summary { cursor:pointer; color:var(--text); }
.budget-result { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; margin:20px 0; }
.budget-result .calc__breakdown { margin-bottom:22px; }
.budget-result .calc__breakdown li { font-size:14px; gap:16px; }
.budget-result .calc__breakdown b { white-space:normal; text-align:right; flex-shrink:0; max-width:50%; }
.budget-result__label { margin:0 0 8px; font-size:14px; color:var(--muted); }
#budget-total { display:block; font:700 clamp(22px,2.3vw,32px)/1.3 var(--font-head); color:var(--gold); overflow-wrap:normal; }
.chosen-interior { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; margin:22px 0; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.chosen-interior img { width:100%; height:100px; object-fit:cover; border-radius:8px; }
.chosen-interior p { font-weight:600; margin:0; font-size:14px; }
.chosen-interior label { margin:10px 0 6px; font-size:12px; }
.chosen-interior a { display:inline-block; font-size:13px; margin-top:10px; text-underline-offset:3px; }
.finish-to-quote { margin:24px 0 8px; white-space:normal; text-align:center; }
.viewing { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; padding:32px; margin-bottom:40px; border:1px solid var(--line); border-radius:16px; background:var(--bg-2); color:var(--text); scroll-margin-top:100px; }
.viewing h3 { font-size:28px; line-height:1.3; margin:0 0 18px; }
.viewing__intro>p { font-size:16px; line-height:1.65; }
.viewing__intro>.layout-note { font-size:14px; }
.viewing fieldset { border:0; padding:0; margin:0 0 20px; }
.viewing legend { font-size:14px; margin-bottom:12px; }
.viewing-types { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.viewing-types label { display:flex; gap:8px; padding:12px; border:1px solid var(--line); border-radius:8px; cursor:pointer; align-items:flex-start; font-size:14px; }
.viewing-types label:has(input:checked) { border-color:var(--green); }
.viewing-types input { accent-color:var(--green); margin-top:3px; }
.viewing .field { display:block; margin:0 0 14px; }
.viewing-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.site-budget :focus-visible,.chosen-interior select:focus-visible,.viewing :focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
@media(max-width:800px){.viewing{grid-template-columns:1fr;gap:22px;padding:22px}.viewing h3{font-size:24px}}
@media(max-width:480px){.viewing-fields,.viewing-types{grid-template-columns:1fr}.chosen-interior{grid-template-columns:76px minmax(0,1fr);gap:12px}.chosen-interior img{height:80px}.viewing .btn{white-space:normal}.budget-result .calc__breakdown li{font-size:13px}#budget-total{font-size:23px}}

#site-budget{scroll-margin-top:100px}.quote-budget{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-budget span,.quote-budget strong,.quote-budget a{display:block}.quote-budget span{font-size:13px;color:var(--muted)}.quote-budget strong{font-size:20px;margin:6px 0;color:var(--gold)}.quote-budget a{font-size:13px;text-underline-offset:3px}

.budget-guide.section{padding-top:0}.budget-guide .disclosure{margin-top:0}.budget-guide .site-budget{margin:0;padding:4px 24px 24px;border:0}.budget-guide .site-budget__fields{grid-template-columns:1fr 1fr}.budget-guide .budget-result{max-width:780px;border-bottom:0;margin-bottom:0;padding-bottom:0}.budget-responsibility{max-width:85ch;line-height:1.65;color:var(--muted)}.budget-guide h3{margin-top:22px}@media(max-width:700px){.budget-guide .site-budget{padding:0 16px 20px}.budget-guide .site-budget__fields{grid-template-columns:1fr}}

/* Keep configuration together and let each column follow its content. */
.conversion-page .calc { align-items:start; }
.calc-house-choice { border-top:1px solid var(--line); padding-top:24px; }
.calc-house-choice>label { display:block; font-weight:700; margin-bottom:12px; }
.calc-house-choice .chosen-interior { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.calc-house-choice .chosen-interior label { display:block; }
.calc-house-choice select { width:100%; min-width:0; padding:12px; border:1px solid var(--field-line); border-radius:8px; background:var(--field-bg); color:var(--text); font:inherit; font-size:16px; }
.calc-house-choice select option { background:var(--bg); color:var(--text); }
.calc-house-choice select:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.calc__form,.calc__result { min-width:0; }
@media(min-width:1081px) and (min-height:850px) { .conversion-page .calc__result { position:sticky; top:96px; } }
