:root{--ink:#17354a;--ink-2:#536f80;--blue:#2c87b6;--blue-dark:#176489;--sky:#e9f7ff;--mint:#dff4e9;--peach:#ffe4d3;--cream:#fffaf4;--white:#fff;--line:rgba(23,53,74,.14);--shadow:0 28px 80px rgba(23,53,74,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.concept-note{padding:9px 16px;background:var(--ink);color:#fff;text-align:center;font-size:11px}.concept-note a{text-decoration:underline;text-underline-offset:3px}.soft-header{height:84px;display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 48px));margin:auto}.soft-logo{display:inline-flex;align-items:center;gap:9px;font-size:24px;font-weight:900;letter-spacing:-.05em}.soft-logo span{display:grid;place-items:center;width:36px;height:36px;border-radius:50% 50% 50% 12px;background:var(--blue);color:#fff}.soft-header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:750}.nav-pill,.primary-pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800}.soft-hero{position:relative;display:grid;grid-template-columns:1.05fr .78fr;gap:78px;align-items:center;width:min(1180px,calc(100% - 48px));min-height:690px;margin:auto;padding:65px 0 95px}.soft-hero:before,.soft-hero:after{content:"";position:absolute;z-index:-1;border-radius:50%}.soft-hero:before{width:340px;height:340px;left:-190px;top:15px;background:#e4f6ff}.soft-hero:after{width:280px;height:280px;right:-170px;bottom:20px;background:#e5f6ec}.soft-kicker{margin:0 0 16px;color:var(--blue-dark);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero-copy h1{margin:0;font-size:clamp(60px,7vw,104px);line-height:.91;letter-spacing:-.07em}.hero-copy h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.hero-copy>p:not(.soft-kicker){max-width:650px;margin:28px 0;color:var(--ink-2);font-size:18px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.primary-pill{background:var(--blue)}.text-link{font-size:13px;font-weight:800}.trust-row{display:flex;gap:18px;margin-top:54px}.trust-row div{min-width:132px;padding-top:14px;border-top:1px solid var(--line)}.trust-row strong,.trust-row span{display:block}.trust-row strong{font-size:18px}.trust-row span{margin-top:3px;color:#708696;font-size:10px}.quote-widget{align-self:center;padding:28px;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow);transform:rotate(1deg)}.widget-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.widget-head span{font-weight:900}.widget-head small{display:block;margin-top:2px;color:#7b909e;font-size:10px}.live-dot{width:10px;height:10px;border-radius:50%;background:#46bf8a;box-shadow:0 0 0 6px rgba(70,191,138,.15)}fieldset{padding:0;border:0;margin:0}.quote-widget legend,.extras legend{display:block;width:100%;margin:19px 0 9px;color:#718695;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.service-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.service-choice button{padding:12px 7px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:11px;font-weight:750;cursor:pointer}.service-choice button:hover{border-color:#8ac9e6}.service-choice .active{background:var(--sky);border-color:#82c8e8;color:#155f83}.range-label{display:flex;justify-content:space-between;margin:22px 0 7px;color:#718695;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.range-label output{color:var(--ink);font-size:13px}.quote-widget input[type="range"]{width:100%;accent-color:var(--blue);cursor:grab}.range-scale{display:flex;justify-content:space-between;color:#91a2ad;font-size:9px}.extras label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);cursor:pointer}.extras label:last-child{border-bottom:1px solid var(--line)}.extras input{accent-color:var(--blue)}.extras span{font-size:12px}.extras strong{font-size:10px;color:#6d8290}.estimate{display:flex;justify-content:space-between;align-items:flex-end;margin:23px 0 15px}.estimate>div span,.estimate>div strong{display:block}.estimate>div span{color:#718695;font-size:10px}.estimate strong{font-size:31px;letter-spacing:-.04em}.estimate small{max-width:126px;color:#879aa5;font-size:9px;text-align:right}.widget-submit{display:flex;width:100%;justify-content:space-between;padding:15px 16px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-weight:850;cursor:pointer}.widget-submit:hover{background:var(--blue-dark)}.proof-ribbon{display:flex;justify-content:center;align-items:center;gap:24px;padding:19px;background:var(--ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.proof-ribbon i{width:5px;height:5px;border-radius:50%;background:#6dd3bd}.soft-services{display:grid;grid-template-columns:.72fr 1.28fr;gap:76px;width:min(1180px,calc(100% - 48px));margin:auto;padding:120px 0}.services-intro{position:sticky;top:30px;align-self:start}.services-intro h2,.quality h2,.steps h2,.booking h2{margin:0;font-size:clamp(38px,4.8vw,66px);line-height:1;letter-spacing:-.055em}.services-intro>p:last-child{max-width:400px;color:var(--ink-2)}.service-stack{border-top:1px solid var(--line)}.service-panel{border-bottom:1px solid var(--line);transition:background .2s}.service-panel>button{display:grid;width:100%;grid-template-columns:46px 1fr auto 22px;gap:20px;align-items:center;padding:27px 18px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.service-panel>button>span{color:#6f8492;font-size:11px;font-weight:850}.service-panel h3{margin:0 0 4px;font-size:25px;letter-spacing:-.03em}.service-panel p{margin:0;color:var(--ink-2);font-size:13px}.service-panel b{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.6);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.service-panel button i{font-size:22px;font-style:normal}.service-panel--blue.is-open{background:var(--sky)}.service-panel--mint.is-open{background:var(--mint)}.service-panel--peach.is-open{background:var(--peach)}.service-detail{padding:0 18px 28px 84px}.service-detail ul{margin:0 0 17px;padding-left:18px;color:var(--ink-2);font-size:13px}.service-detail li+li{margin-top:7px}.service-detail a{font-size:12px;font-weight:900;color:var(--blue-dark)}.quality{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:center;padding:120px max(24px,calc((100vw - 1180px)/2));background:#eef8fb}.quality-copy>p:not(.soft-kicker){color:var(--ink-2);font-size:16px}.quality-copy ul{padding:0;list-style:none;margin:30px 0 0}.quality-copy li{padding:11px 0;border-top:1px solid var(--line);font-size:13px}.quality-copy li:before{content:"✓";margin-right:10px;color:var(--blue);font-weight:900}.comparison{position:relative;height:480px;border:10px solid #fff;border-radius:34px;background:#dce7eb;box-shadow:var(--shadow);overflow:hidden}.room{position:absolute;inset:0;overflow:hidden}.room--before{background:linear-gradient(#aebdc2 0 66%,#7e8587 66%);filter:saturate(.7)}.room--after{background:linear-gradient(#dff6ff 0 66%,#d7b58c 66%);clip-path:inset(0 0 0 var(--split))}.window{position:absolute;left:11%;top:9%;display:grid;grid-template-columns:1fr 1fr;width:34%;height:38%;border:10px solid #f6f2ea;background:#bddbea}.window span{border:1px solid rgba(23,53,74,.14)}.counter{position:absolute;right:8%;bottom:20%;display:flex;gap:6px;width:43%;height:34%;padding:16px;background:#f2eee6;border-top:13px solid #526b72}.counter i{flex:1;background:#ccd2d1}.room--after .counter{background:#f7f5ef;border-top-color:#2d6872}.room--after .counter i{background:#e7e6df}.dust{position:absolute;border-radius:50%;background:rgba(255,255,255,.25);filter:blur(8px)}.dust--one{width:170px;height:90px;left:22%;bottom:10%}.dust--two{width:110px;height:60px;right:8%;top:15%}.box{position:absolute;bottom:9%;background:#8e765f;border:4px solid #765f4d}.box--one{left:10%;width:84px;height:72px}.box--two{left:26%;width:64px;height:52px}.plant{position:absolute;left:15%;bottom:18%;width:52px;height:78px;border-radius:8px 8px 22px 22px;background:#d7a77b}.plant:before,.plant:after,.plant i{content:"";position:absolute;bottom:57px;width:35px;height:55px;border-radius:60% 10% 60% 10%;background:#5e9e79}.plant:before{left:-17px;transform:rotate(-25deg)}.plant:after{right:-17px;transform:scaleX(-1) rotate(-25deg)}.plant i{left:8px;bottom:64px;transform:rotate(13deg)}.shine{position:absolute;color:#fff;font-size:30px;text-shadow:0 0 16px #fff}.shine--one{left:52%;top:13%}.shine--two{right:9%;bottom:24%}.room b{position:absolute;left:20px;top:20px;padding:8px 12px;border-radius:999px;background:rgba(23,53,74,.82);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.room--after b{left:auto;right:20px;background:rgba(44,135,182,.88)}.comparison-handle{position:absolute;left:var(--split);top:0;bottom:0;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none}.comparison-handle span{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--blue);box-shadow:0 8px 24px rgba(23,53,74,.2);transform:translate(-50%,-50%)}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.steps{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;width:min(1180px,calc(100% - 48px));margin:auto;padding:120px 0}.steps ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.steps li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sky);color:var(--blue-dark);font-weight:900}.steps strong{font-size:17px}.steps p{margin:4px 0 0;color:var(--ink-2);font-size:13px}.booking{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;padding:120px max(24px,calc((100vw - 1180px)/2));background:var(--ink);color:#fff}.booking-copy>p:not(.soft-kicker){color:#b7c7d0}.booking-summary{margin-top:34px;padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.05)}.booking-summary span,.booking-summary strong,.booking-summary p{display:block}.booking-summary span{color:#7dd1f0;font-size:9px;font-weight:900;letter-spacing:.1em}.booking-summary strong{margin-top:6px;font-size:18px}.booking-summary p{margin:4px 0 0;color:#b7c7d0;font-size:12px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field--wide{grid-column:1/-1}.field label{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#bbccd5}.field input,.field textarea{width:100%;padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:#fff;color:var(--ink)}.booking-form button{grid-column:1/-1;display:flex;justify-content:space-between;padding:16px;border:0;border-radius:12px;background:#6ecdeb;color:#103245;font-weight:900;cursor:pointer}.booking-form>small,.booking-status{grid-column:1/-1;margin:0;color:#a9beca;font-size:10px}.booking-status[data-state="success"]{padding:12px;border-radius:10px;background:#dff4e9;color:#184f3d;font-size:12px}.booking-status[data-state="error"]{color:#ffd0c2}.soft-kicker{color:#2b91bf}footer{display:flex;align-items:center;justify-content:space-between;padding:30px max(24px,calc((100vw - 1180px)/2));border-top:1px solid var(--line);color:#728797;font-size:11px}
:focus-visible{outline:3px solid #f79a6a;outline-offset:3px}
@media(max-width:920px){.soft-hero,.soft-services,.quality,.steps,.booking{grid-template-columns:1fr}.quote-widget{transform:none}.services-intro{position:static}.comparison{height:430px}.booking-form{grid-template-columns:1fr}.field--wide,.booking-form button,.booking-form>small,.booking-status{grid-column:auto}}
@media(max-width:640px){.concept-note{font-size:10px}.soft-header{width:calc(100% - 28px);height:72px}.soft-header nav a:not(.nav-pill){display:none}.soft-hero,.soft-services,.steps{width:calc(100% - 28px)}.soft-hero{padding:45px 0 70px}.hero-copy h1{font-size:57px}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{display:grid;grid-template-columns:1fr 1fr}.quote-widget{padding:20px;border-radius:22px}.service-choice{grid-template-columns:1fr}.proof-ribbon{overflow:hidden;justify-content:flex-start;white-space:nowrap}.soft-services,.quality,.steps,.booking{padding-top:80px;padding-bottom:80px}.service-panel>button{grid-template-columns:36px 1fr 22px}.service-panel b{display:none}.service-detail{padding-left:56px}.quality{padding-left:16px;padding-right:16px}.comparison{height:330px;border-width:6px}.window{border-width:6px}.steps{gap:38px}.booking{padding-left:16px;padding-right:16px}.booking h2{font-size:50px}footer{padding:26px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V10 — robust interactive estimator and comparison controls */
#beregn,
#bestill {
  scroll-margin-top: 28px;
}

.quote-widget {
  transform: none;
  overflow: hidden;
}

.service-choice {
  gap: 8px;
}

.service-option {
  position: relative;
  display: block;
  min-width: 0;
  cursor: pointer;
}

.service-option input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.service-option > span {
  display: flex;
  min-height: 68px;
  flex-direction: column;
  justify-content: center;
  padding: 10px 9px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  text-align: center;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.service-option strong,
.service-option small {
  display: block;
}

.service-option strong {
  color: var(--ink);
  font-size: 11px;
  line-height: 1.25;
}

.service-option small {
  margin-top: 4px;
  color: #8194a1;
  font-size: 9px;
  line-height: 1.25;
}

.service-option:hover > span {
  border-color: #83c9e8;
  transform: translateY(-1px);
}

.service-option input:checked + span {
  border-color: #55b3df;
  background: var(--sky);
  box-shadow: inset 0 0 0 1px rgba(44,135,182,.18), 0 7px 18px rgba(44,135,182,.08);
}

.service-option input:focus-visible + span {
  outline: 3px solid #f79a6a;
  outline-offset: 3px;
}

.range-block {
  margin-top: 22px;
}

.range-block .range-label {
  margin-top: 0;
}

.area-range {
  --range-progress: 28.26%;
  width: 100%;
  height: 28px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  cursor: pointer;
  touch-action: pan-y;
}

.area-range::-webkit-slider-runnable-track {
  height: 8px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(to right, var(--blue) 0 var(--range-progress), #d8e1e6 var(--range-progress) 100%);
}

.area-range::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  margin-top: -8px;
  border: 4px solid #fff;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  background: var(--blue);
  box-shadow: 0 3px 12px rgba(23,53,74,.28);
}

.area-range::-moz-range-track {
  height: 8px;
  border: 0;
  border-radius: 999px;
  background: #d8e1e6;
}

.area-range::-moz-range-progress {
  height: 8px;
  border-radius: 999px;
  background: var(--blue);
}

.area-range::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 3px 12px rgba(23,53,74,.28);
}

.extras {
  display: grid;
  gap: 8px;
}

.extras legend {
  margin-bottom: 1px;
}

.extras .extra-option {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) auto;
  gap: 11px;
  align-items: center;
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.extras .extra-option:last-child {
  border-bottom: 1px solid var(--line);
}

.extra-option:hover {
  border-color: #8ac9e6;
  transform: translateY(-1px);
}

.extra-option > input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.extra-check {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 2px solid #a9bac4;
  border-radius: 8px;
  background: #fff;
  color: transparent;
  font-size: 14px;
  font-weight: 900;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.extra-copy,
.extra-copy strong,
.extra-copy small {
  display: block;
}

.extras .extra-copy strong {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
}

.extra-copy small {
  margin-top: 2px;
  color: #8295a1;
  font-size: 9px;
  line-height: 1.3;
}

.extras .extra-price {
  color: #607988;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.extra-option:has(input:checked) {
  border-color: #65bbdf;
  background: #f1faff;
}

.extra-option input:checked ~ .extra-check {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
  transform: scale(1.04);
}

.extra-option input:focus-visible ~ .extra-check {
  outline: 3px solid #f79a6a;
  outline-offset: 3px;
}

.estimate {
  margin-bottom: 10px;
}

.estimate-breakdown {
  display: grid;
  margin: 0 0 14px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #f5f9fb;
}

.estimate-breakdown span {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #6e8492;
  font-size: 9px;
  font-style: normal;
}

.estimate-breakdown span + span {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid var(--line);
}

.estimate-breakdown b,
.estimate-breakdown em {
  font-style: normal;
  font-weight: 700;
}

.widget-submit {
  min-height: 52px;
  align-items: center;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.widget-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(23,53,74,.16);
}

.widget-submit.is-added {
  background: #207b5e;
}

.estimate-status {
  min-height: 18px;
  margin: 7px 2px 0;
  color: #276f5a;
  font-size: 10px;
  font-weight: 700;
}

.comparison-shell {
  min-width: 0;
}

.comparison-shell .comparison {
  cursor: ew-resize;
  touch-action: none;
  user-select: none;
}

.comparison-shell .room--after {
  clip-path: inset(0 calc(100% - var(--split)) 0 0);
}

.comparison-shell .room--before b {
  right: 20px;
  left: auto;
}

.comparison-shell .room--after b {
  right: auto;
  left: 20px;
}

.comparison-hint {
  position: absolute;
  right: 20px;
  bottom: 18px;
  z-index: 4;
  margin: 0;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  box-shadow: 0 5px 18px rgba(23,53,74,.12);
  pointer-events: none;
}

.comparison-control {
  display: grid;
  grid-template-columns: auto minmax(120px,1fr) auto;
  gap: 14px;
  align-items: center;
  margin-top: 14px;
  padding: 12px 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: #66808f;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.comparison-range {
  --comparison-progress: 60%;
  width: 100%;
  height: 30px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  cursor: ew-resize;
}

.comparison-range::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(to right, #66c6e8 0 var(--comparison-progress), #d5e0e5 var(--comparison-progress) 100%);
}

.comparison-range::-webkit-slider-thumb {
  width: 22px;
  height: 22px;
  margin-top: -8px;
  border: 4px solid #fff;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  background: var(--blue);
  box-shadow: 0 3px 12px rgba(23,53,74,.25);
}

.comparison-range::-moz-range-track {
  height: 6px;
  border-radius: 999px;
  background: #d5e0e5;
}

.comparison-range::-moz-range-progress {
  height: 6px;
  border-radius: 999px;
  background: #66c6e8;
}

.comparison-range::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 3px 12px rgba(23,53,74,.25);
}

.booking-summary.is-updated {
  border-color: rgba(110,205,235,.72);
  background: rgba(110,205,235,.11);
  animation: summaryPulse .55s ease;
}

@keyframes summaryPulse {
  0% { transform: scale(.985); }
  100% { transform: scale(1); }
}

@media (max-width: 640px) {
  .service-choice {
    grid-template-columns: 1fr;
  }

  .service-option > span {
    min-height: 58px;
    align-items: flex-start;
    padding: 10px 13px;
    text-align: left;
  }

  .extras .extra-option {
    grid-template-columns: 28px minmax(0,1fr);
  }

  .extras .extra-price {
    grid-column: 2;
    margin-top: -5px;
  }

  .comparison-control {
    gap: 9px;
    padding: 10px;
    font-size: 8px;
  }

  .comparison-hint {
    right: 12px;
    bottom: 12px;
  }
}
.service-option input,
.extra-option > input {
  z-index: 2;
}
