:root { --calc-wine:#741127; --calc-ink:#151719; --calc-paper:#f5f2ec; --calc-line:#d8d3cb; --calc-green:#2c6b49; }
.ku-calc-hero { min-height: 530px; display:grid; grid-template-columns:52% 48%; background:#efece5; overflow:hidden; }
.ku-calc-hero__copy { padding:48px clamp(30px,5vw,76px) 54px; align-self:center; }
.ku-calc-back { display:inline-block; margin-bottom:46px; color:#706d68; font-size:11px; }
.ku-calc-hero h1 { margin:0 0 24px; font-size:clamp(51px,6vw,84px); line-height:.86; letter-spacing:-.075em; font-weight:500; }
.ku-calc-hero h1 em { color:var(--calc-wine); font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; }
.ku-calc-hero__copy>p:not(.ku-eyebrow) { max-width:600px; margin:0; color:#575651; font-size:15px; line-height:1.65; }
.ku-calc-hero__facts { display:flex; gap:25px; margin-top:30px; padding-top:20px; border-top:1px solid #cbc6bd; }
.ku-calc-hero__facts span { position:relative; padding-left:17px; font-size:11px; }
.ku-calc-hero__facts span::before { content:''; position:absolute; left:0; top:4px; width:7px; height:7px; border-radius:50%; background:var(--calc-wine); }
.ku-calc-hero__image { position:relative; min-height:530px; background-position:center; background-size:cover; }
.ku-calc-hero__image::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,20,20,.04),rgba(20,20,20,.28)); }
.ku-calc-hero__image span { position:absolute; right:28px; bottom:28px; padding:17px 20px; border-radius:8px; background:rgba(255,255,255,.94); color:#595652; font-size:10px; text-transform:uppercase; letter-spacing:.09em; }
.ku-calc-hero__image b { display:block; margin-top:4px; color:#171717; font-size:17px; letter-spacing:-.03em; text-transform:none; }

.ku-estimator { padding:80px 4vw 96px; background:#fff; }
.ku-estimator__head { max-width:1280px; margin:0 auto 40px; display:grid; grid-template-columns:1fr 390px; gap:60px; align-items:end; }
.ku-estimator__head h2 { margin:0; font-size:clamp(38px,4.4vw,62px); line-height:.95; letter-spacing:-.065em; }
.ku-estimator__head>p { margin:0; color:#66635f; font-size:13px; line-height:1.6; }
.ku-estimator__progress { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--calc-line); border-bottom:0; }
.ku-estimator__progress button { position:relative; display:flex; align-items:center; gap:12px; min-height:61px; padding:0 18px; border:0; border-right:1px solid var(--calc-line); background:#f7f5f1; color:#8b8882; text-align:left; cursor:pointer; }
.ku-estimator__progress button:last-child { border-right:0; }
.ku-estimator__progress button::after { content:''; position:absolute; right:0; bottom:-1px; left:0; height:3px; background:transparent; }
.ku-estimator__progress button.is-current { background:#fff; color:#151719; }
.ku-estimator__progress button.is-current::after { background:var(--calc-wine); }
.ku-estimator__progress button.is-done { color:var(--calc-green); }
.ku-estimator__progress button:disabled { cursor:default; opacity:.58; }
.ku-estimator__progress b { font:500 12px 'Manrope',Arial,sans-serif; }
.ku-estimator__progress span { font-size:12px; }
.ku-estimator__shell { max-width:1280px; min-height:655px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 375px; border:1px solid var(--calc-line); background:#fff; }
.ku-estimator__form { min-width:0; padding:46px 48px 32px; display:flex; flex-direction:column; }
.ku-calc-step { flex:1; animation:ku-calc-enter .28s ease both; }
@keyframes ku-calc-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.ku-calc-step[hidden] { display:none; }
.ku-calc-step__number { margin:0 0 14px; color:var(--calc-wine); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.ku-calc-step fieldset { margin:0; padding:0; border:0; }
.ku-calc-step legend,.ku-calc-result h2 { max-width:750px; margin:0; padding:0; color:var(--calc-ink); font-size:clamp(30px,3vw,43px); line-height:1.03; letter-spacing:-.055em; font-weight:600; }
.ku-calc-step__hint,.ku-calc-result>p:not(.ku-calc-step__number) { max-width:650px; margin:13px 0 31px; color:#6a6762; font-size:13px; line-height:1.55; }
.ku-choice-grid { display:grid; gap:12px; }
.ku-choice-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ku-choice-card { position:relative; min-height:220px; display:flex; flex-direction:column; padding:25px 24px; border:1px solid var(--calc-line); border-radius:7px; background:#fff; cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }
.ku-choice-card:hover { border-color:#8f8981; transform:translateY(-2px); }
.ku-choice-card input { position:absolute; opacity:0; pointer-events:none; }
.ku-choice-card:has(input:checked) { border-color:var(--calc-wine); background:#fbf6f6; box-shadow:inset 0 0 0 1px var(--calc-wine); }
.ku-choice-card__icon { width:45px; height:45px; margin-bottom:36px; display:grid; place-items:center; border:1px solid #cbc6be; border-radius:50%; font-family:Georgia,serif; font-size:21px; }
.ku-choice-card strong { margin-bottom:9px; font-size:16px; line-height:1.2; }
.ku-choice-card small { color:#706d68; font-size:11px; line-height:1.45; }
.ku-choice-card i { position:absolute; top:18px; right:18px; width:19px; height:19px; border:1px solid #bbb5ad; border-radius:50%; }
.ku-choice-card input:checked~i { border-color:var(--calc-wine); box-shadow:inset 0 0 0 5px #fff; background:var(--calc-wine); }
.ku-area-control { display:flex; justify-content:space-between; align-items:center; margin:33px 0 17px; padding-bottom:16px; border-bottom:1px solid var(--calc-line); }
.ku-area-control>label { color:#6a6762; font-size:12px; }
.ku-area-control>div { display:flex; align-items:baseline; }
.ku-area-control input { width:105px; padding:0; border:0; outline:0; background:transparent; color:var(--calc-ink); font:600 43px/1 'Manrope',Arial,sans-serif; text-align:right; }
.ku-area-control span { margin-left:8px; font-size:17px; }
.ku-area-range { --fill:14%; width:100%; height:4px; margin:10px 0 0; appearance:none; border-radius:3px; outline:0; background:linear-gradient(90deg,var(--calc-wine) 0 var(--fill),#dedad3 var(--fill) 100%); }
.ku-area-range::-webkit-slider-thumb { width:23px; height:23px; appearance:none; border:6px solid #fff; border-radius:50%; background:var(--calc-wine); box-shadow:0 0 0 1px var(--calc-wine),0 3px 8px rgba(0,0,0,.18); cursor:grab; }
.ku-area-range::-moz-range-thumb { width:13px; height:13px; border:5px solid #fff; border-radius:50%; background:var(--calc-wine); box-shadow:0 0 0 1px var(--calc-wine); cursor:grab; }
.ku-range-labels { display:flex; justify-content:space-between; margin:9px 0 38px; color:#8a8782; font-size:10px; }
.ku-segmented { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--calc-line); border-radius:6px; overflow:hidden; }
.ku-segmented label { border-right:1px solid var(--calc-line); cursor:pointer; }
.ku-segmented label:last-child { border-right:0; }
.ku-segmented input { position:absolute; opacity:0; }
.ku-segmented span { min-height:59px; display:grid; place-items:center; padding:8px; color:#595752; font-size:12px; text-align:center; }
.ku-segmented input:checked+span { background:var(--calc-ink); color:#fff; }
.ku-package-list { display:grid; gap:8px; }
.ku-package-list label { min-height:79px; display:grid; grid-template-columns:22px 1fr auto; gap:15px; align-items:center; padding:13px 17px; border:1px solid var(--calc-line); border-radius:6px; cursor:pointer; }
.ku-package-list label:has(input:checked) { border-color:var(--calc-wine); background:#fbf6f6; box-shadow:inset 0 0 0 1px var(--calc-wine); }
.ku-package-list input { width:18px; height:18px; accent-color:var(--calc-wine); }
.ku-package-list b { display:block; margin-bottom:4px; font-size:14px; }
.ku-package-list small { display:block; color:#74716c; font-size:10px; }
.ku-package-list em { color:var(--calc-ink); font-size:12px; font-style:normal; white-space:nowrap; }
.ku-extras-title { margin:24px 0 10px; font-size:12px; font-weight:600; }
.ku-check-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ku-check-grid label { display:flex; gap:11px; align-items:center; min-height:54px; padding:9px 12px; border:1px solid var(--calc-line); border-radius:5px; cursor:pointer; }
.ku-check-grid label:has(input:checked) { border-color:var(--calc-wine); background:#fbf6f6; }
.ku-check-grid input { width:17px; height:17px; accent-color:var(--calc-wine); }
.ku-check-grid span { font-size:11px; }
.ku-check-grid small { display:block; margin-top:2px; color:#807d78; font-size:9px; }
.ku-calc-actions { display:flex; justify-content:space-between; align-items:center; margin-top:31px; padding-top:23px; border-top:1px solid var(--calc-line); }
.ku-calc-actions button { min-height:48px; border:0; border-radius:5px; font:500 13px 'Manrope',Arial,sans-serif; cursor:pointer; }
.ku-calc-prev { padding:0; background:transparent; color:#605d58; }
.ku-calc-next { margin-left:auto; padding:0 22px; background:var(--calc-wine); color:#fff; }
.ku-calc-next span { margin-left:24px; font-size:20px; }

.ku-live-result { padding:41px 31px; background:var(--calc-ink); color:#fff; }
.ku-live-result__eyebrow { display:flex; justify-content:space-between; margin:0 0 43px; color:#aaa9a6; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.ku-live-result__eyebrow span { color:#d7b8c0; }
.ku-live-result__price { padding-bottom:29px; border-bottom:1px solid #ffffff2c; }
.ku-live-result__price small { display:block; margin-bottom:8px; color:#aaa9a6; font-size:10px; }
.ku-live-result__price strong { display:block; font:500 29px/1.1 'Manrope',Arial,sans-serif; letter-spacing:-.05em; }
.ku-live-result__price em { display:block; margin-top:10px; color:#d8c0c6; font-size:11px; font-style:normal; }
.ku-live-result dl { margin:27px 0; }
.ku-live-result dl div { display:grid; grid-template-columns:85px 1fr; gap:14px; margin-bottom:16px; }
.ku-live-result dt { color:#918f8b; font-size:10px; }
.ku-live-result dd { margin:0; font-size:11px; line-height:1.4; }
.ku-live-result__term { display:flex; justify-content:space-between; align-items:end; padding:20px 0; border-top:1px solid #ffffff2c; border-bottom:1px solid #ffffff2c; }
.ku-live-result__term span { max-width:120px; color:#a3a19d; font-size:9px; line-height:1.4; text-transform:uppercase; letter-spacing:.06em; }
.ku-live-result__term b { font-size:15px; font-weight:500; }
.ku-live-result__note { margin:25px 0 0; color:#858581; font-size:9px; line-height:1.5; }

.ku-calc-result h2 { font-size:38px; }
.ku-result-breakdown { margin:26px 0 18px; border-top:1px solid var(--calc-line); }
.ku-result-breakdown div { display:flex; justify-content:space-between; gap:25px; padding:12px 0; border-bottom:1px solid var(--calc-line); }
.ku-result-breakdown span { color:#6f6c67; font-size:11px; }
.ku-result-breakdown b { font-size:12px; font-weight:600; white-space:nowrap; }
.ku-result-total { display:grid; grid-template-columns:1fr auto; gap:5px 25px; align-items:end; padding:19px 20px; border-radius:7px; background:#f1ece7; }
.ku-result-total>span { font-size:11px; }
.ku-result-total>b { color:var(--calc-wine); font-size:25px; letter-spacing:-.04em; }
.ku-result-total small { grid-column:1/-1; max-width:630px; color:#797570; font-size:9px; line-height:1.4; }
.ku-estimator-lead { margin-top:18px; display:grid; grid-template-columns:1fr auto; gap:8px; }
.ku-estimator-lead label { color:#6e6a65; font-size:10px; }
.ku-estimator-lead input[type="tel"] { width:100%; height:49px; margin-top:5px; padding:0 14px; border:1px solid var(--calc-line); border-radius:5px; outline:0; font:14px 'Manrope',Arial,sans-serif; }
.ku-estimator-lead input[type="tel"]:focus { border-color:var(--calc-wine); }
.ku-estimator-lead button { align-self:end; height:49px; padding:0 17px; border:0; border-radius:5px; background:var(--calc-wine); color:#fff; font:500 12px 'Manrope',Arial,sans-serif; cursor:pointer; }
.ku-estimator-lead button span { margin-left:15px; font-size:18px; }
.ku-estimator-lead button:disabled { opacity:.58; }
.ku-estimator-lead__note,.ku-estimator-lead .ku-form-success { grid-column:1/-1; margin:2px 0 0; color:#7d7974; font-size:9px; line-height:1.4; }
.ku-estimator-lead .ku-form-success { padding:9px 11px; border-radius:4px; background:#edf6ef; color:#27633f; font-size:11px; }
.ku-calc-result:not([hidden])+.ku-calc-actions { display:none; }

.ku-calc-trust { padding:80px 7vw 90px; display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; background:#eeeae2; }
.ku-calc-trust h2 { margin:0; font-size:clamp(37px,4vw,56px); line-height:.95; letter-spacing:-.065em; }
.ku-calc-trust ol { margin:0; padding:0; list-style:none; border-top:1px solid #c9c4bc; }
.ku-calc-trust li { display:grid; grid-template-columns:45px 1fr; gap:16px; padding:22px 0; border-bottom:1px solid #c9c4bc; }
.ku-calc-trust li b { color:var(--calc-wine); font-size:11px; }
.ku-calc-trust li span { font-size:14px; }

@media (max-width:1100px) {
  .ku-calc-hero { grid-template-columns:55% 45%; }
  .ku-calc-hero__facts { display:grid; gap:10px; }
  .ku-estimator__shell { grid-template-columns:minmax(0,1fr) 320px; }
  .ku-choice-card { padding:20px 17px; }
  .ku-estimator__form { padding:38px 32px 28px; }
}

@media (max-width:800px) {
  .ku-calc-hero { display:block; min-height:0; }
  .ku-calc-hero__copy { padding:35px 20px 38px; }
  .ku-calc-back { margin-bottom:35px; }
  .ku-calc-hero h1 { font-size:clamp(46px,14vw,65px); }
  .ku-calc-hero__facts { gap:9px; margin-top:25px; }
  .ku-calc-hero__image { min-height:300px; }
  .ku-estimator { padding:58px 20px 65px; }
  .ku-estimator__head { display:block; margin-bottom:28px; }
  .ku-estimator__head>p { margin-top:19px; }
  .ku-estimator__progress { display:flex; overflow:auto; scrollbar-width:none; }
  .ku-estimator__progress button { min-width:116px; min-height:55px; padding:0 12px; }
  .ku-estimator__progress span { font-size:10px; }
  .ku-estimator__shell { display:flex; min-height:0; flex-direction:column; }
  .ku-estimator__form { min-height:630px; padding:30px 20px 22px; }
  .ku-choice-grid--three { grid-template-columns:1fr; }
  .ku-choice-card { min-height:125px; padding:18px 52px 18px 75px; justify-content:center; }
  .ku-choice-card__icon { position:absolute; left:17px; top:22px; width:39px; height:39px; margin:0; }
  .ku-choice-card i { top:18px; right:17px; }
  .ku-segmented { grid-template-columns:repeat(2,1fr); border-bottom:0; }
  .ku-segmented label { border-bottom:1px solid var(--calc-line); }
  .ku-segmented label:nth-child(even) { border-right:0; }
  .ku-segmented label:last-child { border-right:1px solid var(--calc-line); }
  .ku-package-list label { grid-template-columns:20px 1fr; }
  .ku-package-list em { grid-column:2; margin-top:-9px; }
  .ku-check-grid { grid-template-columns:1fr; }
  .ku-live-result { padding:31px 23px; }
  .ku-live-result__eyebrow { margin-bottom:28px; }
  .ku-live-result__price strong { font-size:27px; }
  .ku-calc-result h2 { font-size:32px; }
  .ku-result-total { display:block; }
  .ku-result-total>b { display:block; margin:5px 0; font-size:23px; }
  .ku-estimator-lead { grid-template-columns:1fr; }
  .ku-estimator-lead button { width:100%; }
  .ku-estimator-lead__note,.ku-estimator-lead .ku-form-success { grid-column:1; }
  .ku-calc-trust { display:block; padding:58px 20px 65px; }
  .ku-calc-trust ol { margin-top:35px; }
}

@media (prefers-reduced-motion:reduce) { .ku-calc-step { animation:none; } html { scroll-behavior:auto; } }
