/*
 * Liso® VPS-staging: pagina-specifieke stijlbron.
 * Pas uitsluitend deze file aan voor deze pagina. De gedeelde basis staat in /shared/css/.
 * Deze export is noindex en verandert www.liso.nl niet.
 */


/* Bron: remaining-public-routes.css */
/* Resterende publieke Liso-routes: afgeleid van de aangeleverde Contact-hiërarchie en de gedeelde gereconstrueerde Liso-vormtaal. */
.liso-rebuilt-contact-lines small { color: oklch(.65 .2 40); font: 700 .67rem/1.1 "Inter", sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.liso-rebuilt-contact-lines > div { align-items: flex-start; }
.liso-contact-layout .liso-rebuilt-contact-lines b,
.liso-contact-layout .liso-rebuilt-contact-lines a {
  color: #737a75 !important;
  font-size: .875rem !important;
  font-weight: 400 !important;
  line-height: 1.25rem !important;
}
.liso-contact-layout .liso-rebuilt-contact-lines .liso-rebuilt-orange-link { color: #737a75 !important; }
.liso-contact-layout .liso-rebuilt-contact-lines .liso-rebuilt-orange-link svg { color: currentColor; }
.liso-contact-layout .liso-rebuilt-contact-lines a:hover,
.liso-contact-layout .liso-rebuilt-contact-lines a:focus-visible { color: oklch(.65 .2 40) !important; }
.liso-contact-layout aside > .liso-rebuilt-eyebrow { margin-bottom: .75rem; }
.liso-contact-layout aside > h2 { max-width: 18rem; margin-bottom: 2rem; font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.08; letter-spacing: -.04em; }
.liso-contact-form-heading { max-width: 36rem; padding-bottom: 1.75rem; margin-bottom: 1.75rem; border-bottom: 1px solid oklch(.91 .005 80); }
.liso-contact-form-heading .liso-rebuilt-eyebrow { margin-bottom: .75rem; }
.liso-contact-form-heading h2 { margin: 0; color: oklch(.22 .02 80); font: 700 clamp(1.7rem, 3vw, 2.25rem)/1.1 "DM Sans", sans-serif; letter-spacing: -.04em; }
.liso-contact-form-heading p { max-width: 34rem; margin: .75rem 0 0; color: #737a75; font: 400 .9375rem/1.6 "Inter", sans-serif; }
.liso-contact-field-label { display: inline-flex; gap: .22rem; align-items: baseline; }
.liso-contact-booking-route { margin: 25px 0 1.25rem !important; }
.liso-contact-booking-route .liso-contact-booking-open { display: inline-flex; min-height: auto; gap: .35rem; align-items: center; padding: 0; margin: 0; color: oklch(.65 .2 40); background: transparent; border: 0; border-radius: 0; box-shadow: none; font: 700 .875rem/1.25 "Inter", sans-serif; cursor: pointer; }
.liso-contact-booking-route .liso-contact-booking-open:hover, .liso-contact-booking-route .liso-contact-booking-open:focus-visible { color: oklch(.53 .18 40); background: transparent; outline: 2px solid color-mix(in oklab, oklch(.65 .2 40) 35%, transparent); outline-offset: 3px; }
.liso-sample-request { display: grid; gap: 1rem; padding: 1.25rem; margin: 1.5rem 0 0; background: #fff8f3; border: 1px solid #f0ded0; border-radius: .75rem; }
.liso-sample-request legend { padding: 0 .4rem; color: oklch(.22 .02 80); font: 700 1.05rem/1.2 "DM Sans", sans-serif; }
.liso-sample-request > p { margin: 0; color: #737a75; font-size: .8125rem; line-height: 1.55; }
.liso-sample-type-grid, .liso-sample-models > div, .liso-sample-selections > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.liso-sample-models, .liso-sample-selections, .liso-sample-address { display: grid; gap: .625rem; padding-top: 1rem; border-top: 1px solid #f0ded0; }
.liso-sample-models > span, .liso-sample-selections > span, .liso-sample-address > span { color: oklch(.22 .02 80); font: 600 .8125rem/1.35 "Inter", sans-serif; }
.liso-contact-form .liso-sample-choice { display: inline-flex; min-height: 2.3rem; gap: .35rem; align-items: center; justify-content: center; padding: .45rem .7rem; margin: 0; color: #555752; background: #fff; border: 1px solid oklch(.87 .007 80); border-radius: .45rem; box-shadow: none; font: 600 .75rem/1.2 "Inter", sans-serif; cursor: pointer; }
.liso-contact-form .liso-sample-choice:hover, .liso-contact-form .liso-sample-choice:focus-visible, .liso-contact-form .liso-sample-choice[aria-pressed="true"] { color: oklch(.59 .19 40); background: #fff0e8; border-color: oklch(.65 .2 40); outline: none; }
.liso-contact-form .liso-sample-choice:focus-visible { box-shadow: 0 0 0 3px color-mix(in oklab, oklch(.65 .2 40) 24%, transparent); }
.liso-sample-address > div { display: grid; gap: .75rem; }
.liso-sample-address label { display: grid; gap: .4rem; }
.liso-appointment-dialog-backdrop { position: fixed; z-index: 90; inset: 0; display: grid; overflow-y: auto; place-items: start center; padding: max(1rem, 4vh) 1rem; background: rgb(27 23 18 / 58%); }
.liso-appointment-dialog { width: min(100%, 56rem); margin: auto; padding: clamp(1.25rem, 3vw, 2rem); color: oklch(.22 .02 80); background: #fff; border: 1px solid #e8e4dd; border-radius: 1rem; box-shadow: 0 24px 70px rgb(28 20 12 / 30%); }
.liso-appointment-dialog-heading { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid oklch(.91 .005 80); }
.liso-appointment-dialog-heading .liso-rebuilt-eyebrow { margin-bottom: .5rem; }
.liso-appointment-dialog-heading h2 { margin: 0; color: oklch(.22 .02 80); font: 700 clamp(1.55rem, 3vw, 2.1rem)/1.08 "DM Sans", sans-serif; letter-spacing: -.04em; }
.liso-appointment-dialog-heading p { margin: .5rem 0 0; color: #737a75; font-size: .875rem; line-height: 1.5; }
.liso-appointment-dialog-heading > button { flex: 0 0 auto; min-height: 2.5rem; padding: 0 .8rem; color: #494a45; background: #fff; border: 1px solid oklch(.82 .01 80); border-radius: .45rem; font: 600 .75rem/1 "Inter", sans-serif; cursor: pointer; }
.liso-appointment-dialog-heading > button:hover, .liso-appointment-dialog-heading > button:focus-visible { color: oklch(.59 .19 40); border-color: oklch(.65 .2 40); outline: 2px solid color-mix(in oklab, oklch(.65 .2 40) 25%, transparent); outline-offset: 2px; }
.liso-appointment-dialog .liso-appointment-form { max-width: none; }
.liso-legal-section { padding: clamp(3.5rem, 7vw, 6rem) 0; background: #fff; }
.liso-legal-section .liso-rebuilt-shell { display: grid; justify-items: center; }
.liso-legal-document { width: min(100%, 48rem); box-sizing: border-box; padding: clamp(1.5rem, 4vw, 3.25rem); background: #fff; border: 1px solid oklch(.9 .006 80); border-radius: .75rem; box-shadow: 0 .65rem 2.6rem rgb(35 28 20 / 6%); }
.liso-legal-document section + section { padding-top: 1.75rem; margin-top: 1.75rem; border-top: 1px solid oklch(.91 .005 80); }
.liso-legal-document h2 { margin: 0; color: oklch(.22 .02 80); font: 700 clamp(1.2rem, 2.5vw, 1.5rem)/1.2 "DM Sans", sans-serif; letter-spacing: -.025em; }
.liso-legal-document p, .liso-legal-document address { margin: .7rem 0 0; color: #64655f; font: 400 .95rem/1.7 "Inter", sans-serif; font-style: normal; }
.liso-legal-document a { display: inline-flex; gap: .25rem; align-items: center; color: oklch(.59 .19 40); font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.liso-legal-document a:hover, .liso-legal-document a:focus-visible { color: oklch(.48 .16 40); outline: 2px solid color-mix(in oklab, oklch(.65 .2 40) 26%, transparent); outline-offset: 3px; }
.liso-legal-document button { padding: 0; color: oklch(.59 .19 40); background: transparent; border: 0; font: inherit; font-weight: 650; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; cursor: pointer; }
.liso-legal-document button:hover, .liso-legal-document button:focus-visible { color: oklch(.48 .16 40); outline: 2px solid color-mix(in oklab, oklch(.65 .2 40) 26%, transparent); outline-offset: 3px; }
@media (min-width: 640px) { .liso-sample-address > div { grid-template-columns: 1.25fr .75fr; } .liso-sample-address label:first-child { grid-column: span 1; } .liso-sample-address label:last-child { grid-column: span 2; } }
@media (max-width: 639px) { .liso-appointment-dialog-backdrop { align-items: start; padding: .75rem; } .liso-appointment-dialog { border-radius: .75rem; } }

.liso-service-section { padding: 5rem 0; background: #fff; }
.liso-service-heading { max-width: 42rem; padding-bottom: 2.25rem; margin-bottom: 2rem; border-bottom: 1px solid oklch(.91 .005 80); }
.liso-service-heading .liso-rebuilt-eyebrow { margin-bottom: .75rem; }
.liso-service-heading h2, .liso-dealer-heading h2, .liso-dealer-contact h2 { margin: 0; color: oklch(.22 .02 80); font: 600 clamp(2rem, 3.5vw, 3.3rem)/1.04 "DM Sans", sans-serif; letter-spacing: -.05em; }
.liso-service-layout { display: grid; gap: clamp(1.25rem, 3vw, 2rem); align-items: start; }
.liso-service-faq, .liso-service-help { min-width: 0; }
.liso-service-faq { padding: clamp(1.35rem, 3vw, 2rem); background: #fff8f3; border: 1px solid #f0ded0; border-radius: .75rem; }
.liso-service-panel-heading { padding-bottom: 1.25rem; margin-bottom: 1.15rem; border-bottom: 1px solid oklch(.88 .01 80); }
.liso-service-panel-heading .liso-rebuilt-eyebrow { margin-bottom: .55rem; }
.liso-service-panel-heading h3 { max-width: 25rem; margin: 0; color: oklch(.22 .02 80); font: 600 clamp(1.45rem, 2.5vw, 2rem)/1.12 "DM Sans", sans-serif; letter-spacing: -.04em; }
.liso-service-faq-list { display: grid; }
.liso-service-faq-list details { border-bottom: 1px solid oklch(.88 .01 80); }
.liso-service-faq-list summary { display: flex; gap: .75rem; align-items: flex-start; justify-content: space-between; padding: 1rem 0; color: oklch(.22 .02 80); font: 650 .9375rem/1.4 "Inter", sans-serif; cursor: pointer; }
.liso-service-faq-list summary::after { flex: 0 0 auto; content: "+"; color: oklch(.65 .2 40); font: 500 1.35rem/1 "DM Sans", sans-serif; }
.liso-service-faq-list details[open] summary::after { content: "−"; }
.liso-service-faq-list summary:focus-visible { outline: 3px solid color-mix(in oklab, oklch(.65 .2 40) 26%, transparent); outline-offset: 3px; }
.liso-service-faq-list p { max-width: 38rem; padding: 0 0 1rem; margin: -.15rem 0 0; color: #64655f; font: 400 .9rem/1.65 "Inter", sans-serif; }
.liso-service-contact-note { margin: 1.25rem 0 0; color: #64655f; font: 400 .875rem/1.55 "Inter", sans-serif; }
.liso-service-contact-note a { color: oklch(.59 .19 40); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.liso-service-contact-note a:hover, .liso-service-contact-note a:focus-visible { color: oklch(.48 .16 40); outline: 2px solid color-mix(in oklab, oklch(.65 .2 40) 26%, transparent); outline-offset: 3px; }
.liso-service-help-grid { display: grid; gap: 1rem; }
.liso-service-help-grid > a { display: flex; min-height: 13.5rem; flex-direction: column; align-items: flex-start; padding: 1.35rem; color: oklch(.22 .02 80); background: #fff; border: 1px solid oklch(.91 .005 80); border-radius: .75rem; text-decoration: none; transition: border-color .18s cubic-bezier(.23, 1, .32, 1), box-shadow .18s cubic-bezier(.23, 1, .32, 1), transform .18s cubic-bezier(.23, 1, .32, 1); }
.liso-service-card-icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; color: oklch(.65 .2 40); background: #fff0e8; border-radius: .5rem; }
.liso-service-help-grid h4 { margin: 1.15rem 0 0; color: oklch(.22 .02 80); font: 600 1.25rem/1.18 "DM Sans", sans-serif; letter-spacing: -.03em; }
.liso-service-help-grid p { margin: .55rem 0 0; color: #737a75; font: 400 .875rem/1.55 "Inter", sans-serif; }
.liso-service-card-action { display: inline-flex; gap: .4rem; align-items: center; margin-top: auto; padding-top: 1.25rem; color: oklch(.59 .19 40); font: 700 .8125rem/1.2 "Inter", sans-serif; }
.liso-service-help-grid > a:hover, .liso-service-help-grid > a:focus-visible { border-color: oklch(.65 .2 40); box-shadow: 0 16px 36px rgb(49 42 29 / 8%); outline: 3px solid color-mix(in oklab, oklch(.65 .2 40) 24%, transparent); outline-offset: 3px; transform: translateY(-3px); }
@media (min-width: 640px) { .liso-service-help-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .liso-service-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }

.liso-service-guide-section { padding: clamp(3.5rem, 7vw, 6rem) 0; background: #fff; }
.liso-service-guide-crumb { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; padding-bottom: 1.5rem; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); color: #777771; border-bottom: 1px solid oklch(.91 .005 80); font: 500 .8125rem/1.3 "Inter", sans-serif; }
.liso-service-guide-crumb a { display: inline-flex; gap: .35rem; align-items: center; color: oklch(.59 .19 40); font-weight: 700; text-decoration: none; }
.liso-service-guide-crumb a:hover, .liso-service-guide-crumb a:focus-visible { color: oklch(.48 .16 40); text-decoration: underline; text-underline-offset: .2em; outline: 2px solid color-mix(in oklab, oklch(.65 .2 40) 26%, transparent); outline-offset: 3px; }
.liso-service-guide-layout { display: grid; gap: clamp(1.25rem, 3vw, 2rem); align-items: start; }
.liso-service-guide-content { min-width: 0; }
.liso-service-guide-content > .liso-rebuilt-eyebrow, .liso-service-guide-contact > .liso-rebuilt-eyebrow, .liso-service-guide-more .liso-rebuilt-eyebrow { margin-bottom: .7rem; }
.liso-service-guide-content > h2, .liso-service-guide-contact h2, .liso-service-guide-more h2 { max-width: 36rem; margin: 0; color: oklch(.22 .02 80); font: 600 clamp(1.85rem, 3vw, 2.65rem)/1.08 "DM Sans", sans-serif; letter-spacing: -.045em; }
.liso-service-guide-steps { display: grid; gap: 1rem; margin-top: 2rem; }
.liso-service-guide-steps > section { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; padding: clamp(1.1rem, 2vw, 1.45rem); background: #fff; border: 1px solid oklch(.91 .005 80); border-radius: .75rem; }
.liso-service-guide-steps > section > span { display: grid; width: 2.1rem; height: 2.1rem; place-items: center; color: oklch(.59 .19 40); background: #fff0e8; border-radius: .5rem; font: 700 .875rem/1 "Inter", sans-serif; }
.liso-service-guide-steps h3 { margin: .08rem 0 0; color: oklch(.22 .02 80); font: 600 1.2rem/1.2 "DM Sans", sans-serif; letter-spacing: -.025em; }
.liso-service-guide-steps p { max-width: 42rem; margin: .5rem 0 0; color: #64655f; font: 400 .9375rem/1.65 "Inter", sans-serif; }
.liso-service-guide-contact { padding: clamp(1.5rem, 3vw, 2rem); background: #fff8f3; border: 1px solid #f0ded0; border-radius: .75rem; }
.liso-service-guide-contact h2 { font-size: clamp(1.55rem, 2.5vw, 2rem); }
.liso-service-guide-contact p { margin: .8rem 0 0; color: #64655f; font: 400 .9375rem/1.65 "Inter", sans-serif; }
.liso-service-guide-contact .liso-rebuilt-action { margin-top: 1.5rem; }
.liso-service-guide-more { padding: clamp(3.5rem, 7vw, 5rem) 0; background: #fff8f3; }
.liso-service-guide-more-grid { display: grid; gap: 1rem; margin-top: 2rem; }
.liso-service-guide-more-grid > a { display: flex; min-height: 7rem; gap: 1rem; align-items: center; padding: 1.15rem; color: oklch(.22 .02 80); background: #fff; border: 1px solid #f0ded0; border-radius: .75rem; text-decoration: none; transition: border-color .18s cubic-bezier(.23, 1, .32, 1), box-shadow .18s cubic-bezier(.23, 1, .32, 1), transform .18s cubic-bezier(.23, 1, .32, 1); }
.liso-service-guide-more-grid > a > span { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; color: oklch(.65 .2 40); background: #fff0e8; border-radius: .5rem; }
.liso-service-guide-more-grid h3 { margin: 0; font: 600 1.1rem/1.2 "DM Sans", sans-serif; letter-spacing: -.025em; }
.liso-service-guide-more-grid > a > svg { margin-left: auto; color: oklch(.59 .19 40); }
.liso-service-guide-more-grid > a:hover, .liso-service-guide-more-grid > a:focus-visible { border-color: oklch(.65 .2 40); box-shadow: 0 16px 36px rgb(49 42 29 / 8%); outline: 3px solid color-mix(in oklab, oklch(.65 .2 40) 24%, transparent); outline-offset: 3px; transform: translateY(-3px); }
@media (min-width: 640px) { .liso-service-guide-more-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .liso-service-guide-more-grid > a { min-height: 8.5rem; flex-direction: column; align-items: flex-start; } .liso-service-guide-more-grid > a > svg { margin: auto 0 0; } }
@media (min-width: 960px) { .liso-service-guide-layout { grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .65fr); } }

.liso-measurement-guide { width: min(100%, 64rem); margin-inline: auto; }
.liso-measurement-intro { display: grid; width: min(100%, 58rem); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; margin-inline: auto; }
.liso-measurement-intro h2 { max-width: 32rem; margin: 0; color: oklch(.22 .02 80); font: 600 clamp(1.85rem, 3vw, 2.65rem)/1.08 "DM Sans", sans-serif; letter-spacing: -.045em; }
.liso-measurement-intro p { max-width: 36rem; margin: .85rem 0 0; color: #64655f; font: 400 1rem/1.68 "Inter", sans-serif; }
.liso-measurement-intro figure { margin: 0; overflow: hidden; background: #f5f1ec; border-radius: .75rem; }
.liso-measurement-intro figure img { display: block; width: 100%; aspect-ratio: 3 / 5; object-fit: cover; object-position: center; }
.liso-measurement-intro figcaption, .liso-measurement-diagram figcaption { padding: .75rem 1rem; color: #737a75; font: 400 .75rem/1.45 "Inter", sans-serif; }
.liso-measurement-diagram { padding: clamp(.6rem, 1.5vw, 1rem); margin: clamp(2rem, 4vw, 3.5rem) auto 0; background: #f5f1ec; border: 1px solid oklch(.91 .005 80); border-radius: .75rem; }
.liso-measurement-diagram img { display: block; width: 100%; height: auto; border-radius: .4rem; }
.liso-measurement-diagram figcaption { padding: .8rem .25rem .1rem; }
.liso-measurement-options { display: grid; gap: 1rem; margin-top: 1rem; }
.liso-measurement-option { padding: clamp(1.2rem, 2.5vw, 1.75rem); background: #fff; border: 1px solid oklch(.91 .005 80); border-radius: .75rem; }
.liso-measurement-option-topline { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.liso-measurement-option-number { display: grid; flex: 0 0 auto; width: 2.25rem; height: 2.25rem; place-items: center; color: #fff; border-radius: .5rem; font: 700 1rem/1 "Inter", sans-serif; }
.liso-measurement-option--red .liso-measurement-option-number { background: #c9433b; }
.liso-measurement-option--green .liso-measurement-option-number { background: #4e8b3b; }
.liso-measurement-option--orange .liso-measurement-option-number { background: #df762d; }
.liso-measurement-option-lead { flex: 1 1 12rem; margin: 0; color: #64655f !important; font: 700 .75rem/1.25 "Inter", sans-serif !important; letter-spacing: .06em; text-transform: uppercase; }
.liso-measurement-option-tag { padding: .4rem .55rem; color: #2f6330; background: #edf6e9; border: 1px solid #cde2c5; border-radius: .4rem; font: 700 .6875rem/1 "Inter", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.liso-measurement-option h3 { margin: 1rem 0 0; color: oklch(.22 .02 80); font: 600 clamp(1.25rem, 2.5vw, 1.6rem)/1.15 "DM Sans", sans-serif; letter-spacing: -.035em; }
.liso-measurement-option > p { max-width: 48rem; margin: .65rem 0 0; color: #64655f; font: 400 .9375rem/1.65 "Inter", sans-serif; }
.liso-measurement-option dl { display: grid; gap: .75rem; padding-top: 1rem; margin: 1rem 0 0; border-top: 1px solid oklch(.91 .005 80); }
.liso-measurement-option dl > div { display: grid; gap: .3rem; }
.liso-measurement-option dt { color: oklch(.22 .02 80); font: 700 .75rem/1.2 "Inter", sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.liso-measurement-option dd { margin: 0; color: #64655f; font: 400 .875rem/1.6 "Inter", sans-serif; }
.liso-measurement-removal { padding: clamp(1.5rem, 3vw, 2rem); margin-top: clamp(2rem, 4vw, 3.5rem); background: #fff8f3; border: 1px solid #f0ded0; border-radius: .75rem; }
.liso-measurement-removal > .liso-rebuilt-eyebrow { margin-bottom: .65rem; }
.liso-measurement-removal h3 { margin: 0; color: oklch(.22 .02 80); font: 600 clamp(1.45rem, 2.5vw, 2rem)/1.12 "DM Sans", sans-serif; letter-spacing: -.04em; }
.liso-measurement-removal > div { display: grid; gap: 1rem; margin-top: 1.5rem; }
.liso-measurement-removal section { padding-top: 1rem; border-top: 1px solid #f0ded0; }
.liso-measurement-removal h4 { margin: 0; color: oklch(.22 .02 80); font: 700 .9rem/1.3 "Inter", sans-serif; }
.liso-measurement-removal p { margin: .5rem 0 0; color: #64655f; font: 400 .875rem/1.6 "Inter", sans-serif; }
.liso-narrow-rail-guide { padding-top: clamp(3.5rem, 7vw, 6rem); margin-top: clamp(3.5rem, 7vw, 6rem); border-top: 1px solid oklch(.91 .005 80); }
.liso-narrow-rail-guide--accent { box-sizing: border-box; width: 100vw; padding: clamp(3.5rem, 7vw, 6rem) max(1rem, calc((100vw - 64rem) / 2)); margin-left: calc(50% - 50vw); background: #fff8f3; border-top-color: #f0ded0; }
.liso-narrow-rail-heading { max-width: 40rem; margin-inline: auto; text-align: center; }
.liso-narrow-rail-heading .liso-rebuilt-eyebrow { margin-bottom: .7rem; }
.liso-narrow-rail-heading h2 { margin: 0; color: oklch(.22 .02 80); font: 600 clamp(1.85rem, 3vw, 2.65rem)/1.08 "DM Sans", sans-serif; letter-spacing: -.045em; }
.liso-narrow-rail-heading p { margin: .85rem auto 0; color: #64655f; font: 400 1rem/1.68 "Inter", sans-serif; }
.liso-rail-presentation { display: grid; gap: 1rem; margin-top: clamp(1.5rem, 3vw, 2rem); }
.liso-narrow-rail-colours { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.liso-narrow-rail-colours figure { min-width: 0; margin: 0; overflow: hidden; background: #f5f1ec; border: 1px solid oklch(.91 .005 80); border-radius: .75rem; }
.liso-narrow-rail-colours figure > div { display: grid; min-height: clamp(7rem, 15vw, 10rem); place-items: center; padding: clamp(.5rem, 1.5vw, 1rem); }
.liso-narrow-rail-colours img { display: block; width: 100%; max-height: 10rem; object-fit: contain; }
.liso-narrow-rail-colours .liso-narrow-rail-colour--blend img { mix-blend-mode: darken; }
.liso-narrow-rail-colours figcaption { padding: .85rem 1rem; color: oklch(.22 .02 80); background: #fff; border-top: 1px solid oklch(.91 .005 80); font: 700 .8125rem/1.2 "Inter", sans-serif; text-align: center; }
.liso-narrow-rail-technical { padding: clamp(.75rem, 2vw, 1.25rem); margin: 0; overflow: hidden; background: #fff; border: 1px solid oklch(.91 .005 80); border-radius: .75rem; }
.liso-narrow-rail-technical img { display: block; width: 100%; max-width: 54rem; height: auto; margin-inline: auto; }
.liso-narrow-rail-technical figcaption { padding: .85rem .25rem .05rem; color: #737a75; font: 400 .75rem/1.45 "Inter", sans-serif; text-align: center; }
@media (min-width: 720px) { .liso-measurement-intro { grid-template-columns: minmax(0, 1.2fr) minmax(15rem, .8fr); } .liso-measurement-options { grid-template-columns: repeat(3, minmax(0, 1fr)); } .liso-measurement-option { grid-template-columns: 1fr; } .liso-measurement-removal > div { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 720px) { .liso-rail-presentation { grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); align-items: stretch; } .liso-narrow-rail-colours { grid-template-columns: 1fr; gap: .7rem; } .liso-narrow-rail-colours figure { display: grid; grid-template-columns: minmax(5.5rem, .8fr) minmax(0, 1fr); align-items: stretch; } .liso-narrow-rail-colours figure > div { min-height: 4.5rem; padding: .45rem .65rem; } .liso-narrow-rail-colours figcaption { display: grid; place-items: center start; padding: .75rem; border-top: 0; border-left: 1px solid oklch(.91 .005 80); text-align: left; } }

.liso-news-section { padding: 5rem 0; background: #fff; }
.liso-news-empty { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem; align-items: start; max-width: 52rem; padding: clamp(2rem, 5vw, 3.5rem); background: #fff8f3; border: 1px solid #f0ded0; border-radius: 1rem; }
.liso-news-empty-icon { display: grid; width: 3rem; height: 3rem; place-items: center; color: oklch(.65 .2 40); background: #fff; border-radius: .625rem; }
.liso-news-empty h2 { margin: 0; color: oklch(.22 .02 80); font: 600 clamp(1.65rem, 3vw, 2.25rem)/1.12 "DM Sans", sans-serif; letter-spacing: -.04em; }
.liso-news-empty p { max-width: 34rem; margin: .75rem 0 0; color: #737a75; line-height: 1.6; }
.liso-news-empty .liso-rebuilt-action { margin-top: 1.5rem; }

.liso-dealer-programmes { padding: 5rem 0; background: #fff; }
.liso-dealer-heading { max-width: 48rem; }
.liso-dealer-heading .liso-rebuilt-eyebrow { margin-bottom: .75rem; }
.liso-dealer-heading p { max-width: 42rem; margin: 1rem 0 0; color: #737a75; font-size: 1rem; line-height: 1.65; }
.liso-dealer-programme-grid { display: grid; gap: 1.25rem; margin-top: 3rem; }
.liso-dealer-programme-card { display: flex; min-height: 18rem; flex-direction: column; align-items: flex-start; padding: 1.75rem; color: oklch(.22 .02 80); background: #fff; border: 1px solid oklch(.91 .005 80); border-radius: .75rem; text-decoration: none; transition: border-color .18s cubic-bezier(.23, 1, .32, 1), box-shadow .18s cubic-bezier(.23, 1, .32, 1), transform .18s cubic-bezier(.23, 1, .32, 1); }
.liso-dealer-programme-card:hover, .liso-dealer-programme-card:focus-visible { border-color: oklch(.65 .2 40); box-shadow: 0 16px 36px rgb(49 42 29 / 9%); outline: 3px solid color-mix(in oklab, oklch(.65 .2 40) 25%, transparent); outline-offset: 3px; transform: translateY(-3px); }
.liso-dealer-programme-icon { display: grid; width: 3rem; height: 3rem; place-items: center; margin-bottom: 1.5rem; color: oklch(.65 .2 40); background: #fff0e8; border-radius: .5rem; }
.liso-dealer-programme-card .liso-rebuilt-eyebrow { margin-bottom: .75rem; }
.liso-dealer-programme-card h3 { margin: 0; font: 600 1.65rem/1.12 "DM Sans", sans-serif; letter-spacing: -.04em; }
.liso-dealer-programme-card p { max-width: 30rem; margin: .75rem 0 0; color: #737a75; font-size: .9375rem; line-height: 1.6; }
.liso-dealer-programme-card b { display: inline-flex; gap: .5rem; align-items: center; margin-top: auto; padding-top: 2rem; color: oklch(.65 .2 40); font: 700 .875rem/1.2 "Inter", sans-serif; }
.liso-dealer-contact { display: flex; flex-direction: column; gap: 1.5rem; align-items: flex-start; justify-content: space-between; padding: clamp(1.75rem, 4vw, 3rem); margin-top: 4rem; background: #fff8f3; border: 1px solid #f0ded0; border-radius: 1rem; }
.liso-dealer-contact .liso-rebuilt-eyebrow { margin-bottom: .75rem; }
.liso-dealer-contact h2 { max-width: 34rem; font-size: clamp(1.75rem, 3vw, 2.4rem); }
.liso-dealer-contact p { max-width: 36rem; margin: .8rem 0 0; color: #737a75; line-height: 1.6; }
.liso-dealer-registration { padding: clamp(3.5rem, 7vw, 6rem) 0; background: #fff; }
.liso-dealer-registration-form { width: min(100%, 54rem); box-sizing: border-box; padding: clamp(1.5rem, 4vw, 3rem); margin: 0 auto; color: oklch(.22 .02 80); background: #fff; border: 1px solid oklch(.9 .006 80); border-radius: .75rem; box-shadow: 0 .65rem 2.6rem rgb(35 28 20 / 6%); }
.liso-dealer-registration-heading { padding-bottom: 1.75rem; margin-bottom: 1.75rem; border-bottom: 1px solid oklch(.91 .005 80); }
.liso-dealer-registration-heading .liso-rebuilt-eyebrow { margin-bottom: .7rem; }
.liso-dealer-registration-heading h2 { margin: 0; color: oklch(.22 .02 80); font: 700 clamp(1.7rem, 3vw, 2.3rem)/1.1 "DM Sans", sans-serif; letter-spacing: -.04em; }
.liso-dealer-registration-heading p { max-width: 39rem; margin: .75rem 0 0; color: #737a75; font: 400 .9375rem/1.6 "Inter", sans-serif; }
.liso-dealer-registration-form fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.liso-dealer-registration-form fieldset + fieldset, .liso-dealer-registration-form > .liso-dealer-full-field { display: block; padding-top: 1.5rem; margin-top: 1.5rem; border-top: 1px solid oklch(.91 .005 80); }
.liso-dealer-registration-form legend { padding: 0; margin-bottom: .85rem; color: oklch(.22 .02 80); font: 600 .875rem/1.2 "Inter", sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.liso-dealer-form-grid { display: grid; gap: 1rem; }
.liso-dealer-registration-form label { display: grid; gap: .4rem; }
.liso-dealer-registration-form label > span { color: #4f504b; font: 600 .8125rem/1.35 "Inter", sans-serif; }
.liso-dealer-registration-form em { color: oklch(.59 .19 40); font-style: normal; }
.liso-dealer-registration-form input, .liso-dealer-registration-form select, .liso-dealer-registration-form textarea { width: 100%; min-height: 2.8rem; box-sizing: border-box; padding: .65rem .75rem; color: oklch(.22 .02 80); background: #fff; border: 1px solid oklch(.84 .008 80); border-radius: .45rem; font: 400 .9375rem/1.4 "Inter", sans-serif; }
.liso-dealer-registration-form textarea { min-height: 7rem; resize: vertical; }
.liso-dealer-registration-form input:focus-visible, .liso-dealer-registration-form select:focus-visible, .liso-dealer-registration-form textarea:focus-visible { border-color: oklch(.65 .2 40); outline: 3px solid color-mix(in oklab, oklch(.65 .2 40) 22%, transparent); outline-offset: 1px; }
.liso-dealer-registration-privacy { margin: 1rem 0 0; color: #737a75; font: 400 .8125rem/1.55 "Inter", sans-serif; }
.liso-dealer-registration-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; padding-top: 1.5rem; margin-top: 1.5rem; border-top: 1px solid oklch(.91 .005 80); }
.liso-dealer-registration-actions button { display: inline-flex; min-height: 2.75rem; gap: .5rem; align-items: center; justify-content: center; padding: .7rem 1rem; color: #fff; background: oklch(.65 .2 40); border: 1px solid oklch(.65 .2 40); border-radius: .45rem; font: 700 .875rem/1.15 "Inter", sans-serif; cursor: pointer; }
.liso-dealer-registration-actions button:hover:not(:disabled), .liso-dealer-registration-actions button:focus-visible { background: oklch(.58 .19 40); outline: 3px solid color-mix(in oklab, oklch(.65 .2 40) 25%, transparent); outline-offset: 2px; }
.liso-dealer-registration-actions button:disabled { cursor: wait; opacity: .6; }
.liso-dealer-registration-routes { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; }
.liso-dealer-registration-back { display: inline-flex; gap: .25rem; align-items: center; color: #999891; font: 400 .875rem/1.3 "Inter", sans-serif; text-decoration: none; }
.liso-dealer-registration-back:hover, .liso-dealer-registration-back:focus-visible { color: #56564f; text-decoration: underline; text-underline-offset: .2em; }
.liso-dealer-registration-programmes { color: oklch(.59 .19 40); font: 700 .875rem/1.3 "Inter", sans-serif; text-decoration: underline; text-underline-offset: .2em; }
@media (min-width: 640px) { .liso-dealer-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .liso-dealer-field-wide { grid-column: span 2; } }
@media (min-width: 768px) { .liso-dealer-programme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .liso-dealer-contact { flex-direction: row; align-items: center; } .liso-dealer-contact .liso-rebuilt-action { flex: 0 0 auto; } }
@media (max-width: 639px) { .liso-service-section, .liso-news-section, .liso-dealer-programmes { padding: 3.5rem 0; } .liso-service-heading { padding-bottom: 1.5rem; margin-bottom: 1.5rem; } .liso-service-help-grid > a { min-height: 0; } .liso-service-guide-section { padding: 3.5rem 0; } .liso-service-guide-steps > section { grid-template-columns: 2.25rem minmax(0, 1fr); gap: .75rem; } .liso-measurement-option { grid-template-columns: 2.4rem minmax(0, 1fr); gap: .7rem; } .liso-news-empty { grid-template-columns: 1fr; } .liso-contact-form-heading { padding-bottom: 1.5rem; margin-bottom: 1.5rem; } }

