:root {
  --laesser-ink: #14181a;
  --laesser-blue: #115ca2;
  --laesser-blue-deep: #0b2f54;
  --laesser-blue-mid: #0d4677;
  --laesser-green: #349d71;
  --laesser-green-light: #63b884;
  --laesser-green-pale: #bfe8c8;
  --laesser-cream: #f4efe6;
  --laesser-slate: #586472;
  --laesser-muted: #7a8794;
  --laesser-border: rgba(20, 24, 26, .14);
  --laesser-white-border: rgba(255, 255, 255, .16);
  --laesser-serif: "Spectral", Georgia, serif;
  --laesser-sans: "Hanken Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --laesser-mono: "Space Mono", ui-monospace, monospace;
  --laesser-shadow: 0 30px 70px -36px rgba(20, 24, 26, .48);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: var(--laesser-ink);
  font-family: var(--laesser-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-is-open { overflow: hidden; }
::selection { background: var(--laesser-blue); color: #fff; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  width: auto; height: auto; margin: 0; padding: 12px 18px;
  left: 20px; top: 20px; z-index: 9999;
  background: #fff; color: var(--laesser-ink); clip: auto;
}
:focus-visible { outline: 3px solid var(--laesser-green-light); outline-offset: 3px; }

.laesser-container { width: min(100% - 56px, 1280px); margin-inline: auto; }
.laesser-narrow { width: min(100% - 56px, 880px); margin-inline: auto; }
.section-space { padding-top: 96px; }
.section-space--topless { padding-top: 0; }

.laesser-eyebrow {
  display: inline-flex; align-items: center; gap: 11px;
  color: var(--laesser-green);
  font-family: var(--laesser-mono);
  font-size: 11px; font-weight: 700; line-height: 1.3;
  letter-spacing: .2em; text-transform: uppercase;
}
.laesser-eyebrow > span, .laesser-eyebrow::before {
  content: ""; width: 7px; height: 7px; flex: 0 0 auto;
  background: var(--laesser-green); transform: rotate(45deg);
}
.laesser-eyebrow > span + * { margin-left: 0; }
.laesser-eyebrow--light { color: var(--laesser-green-pale); }
.laesser-eyebrow--light::before, .laesser-eyebrow--light > span { background: var(--laesser-green-light); }

.laesser-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 11px;
  min-height: 52px; padding: 14px 25px;
  border: 1.5px solid transparent; border-radius: 4px;
  font-size: 15px; font-weight: 700; line-height: 1.2; text-decoration: none;
  cursor: pointer; transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.laesser-btn:hover { transform: translateY(-2px); }
.laesser-btn i { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-style: normal; }
.laesser-btn--dark { background: var(--laesser-ink); color: #fff; }
.laesser-btn--dark:hover { background: var(--laesser-blue); }
.laesser-btn--dark i { background: #fff; color: var(--laesser-ink); }
.laesser-btn--light { background: #fff; color: var(--laesser-ink); }
.laesser-btn--light i { background: var(--laesser-blue); color: #fff; }
.laesser-btn--outline { background: transparent; color: var(--laesser-ink); border-color: rgba(20, 24, 26, .22); }
.laesser-btn--outline:hover { border-color: var(--laesser-ink); }
.laesser-btn--wide { width: 100%; }
.laesser-link {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--laesser-blue); font-size: 15px; font-weight: 700; text-decoration: none;
  transition: gap .2s ease;
}
.laesser-link:hover { gap: 13px; }
.laesser-link--light { color: var(--laesser-green-pale); }
.laesser-pill {
  display: inline-flex; align-items: center; gap: 11px; padding: 13px 13px 13px 24px;
  border-radius: 999px; text-decoration: none; font-weight: 700;
}
.laesser-pill i { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-style: normal; }
.laesser-pill--light { background: #fff; color: var(--laesser-blue-deep); }
.laesser-pill--light i { background: var(--laesser-blue); color: #fff; }

.section-heading { margin-bottom: 36px; }
.section-heading h2 {
  max-width: 720px; margin: 16px 0 0;
  font: 400 clamp(30px, 4vw, 52px)/1.05 var(--laesser-serif);
  letter-spacing: -.012em;
}
.section-heading--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.section-heading--split p { max-width: 350px; margin: 0; color: var(--laesser-slate); }
.section-heading--light h2 { color: #fff; }
.section-heading--light p { color: rgba(255, 255, 255, .64); }

.laesser-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.laesser-chips span {
  display: inline-flex; align-items: center; min-height: 34px; padding: 7px 12px;
  border: 1px solid rgba(20, 24, 26, .14); border-radius: 999px;
  color: var(--laesser-slate); font-size: 13px; font-weight: 600;
  background: rgba(255, 255, 255, .6);
}
.laesser-chips--light span { border-color: rgba(255,255,255,.22); color: rgba(255,255,255,.78); background: rgba(255,255,255,.05); }
.laesser-chips--large { gap: 10px; }
.laesser-chips--large span { min-height: 44px; padding: 10px 17px; font-size: 14.5px; background: var(--laesser-cream); }

/* Brand */
.laesser-brand { display: inline-flex; align-items: center; gap: 13px; line-height: 1; }
.laesser-brand__mark {
  position: relative; width: 40px; height: 40px; flex: 0 0 auto;
  display: grid; place-items: center; overflow: hidden; border-radius: 50%;
  background: var(--laesser-blue); box-shadow: 0 4px 12px -3px rgba(17, 92, 162, .5);
}
.laesser-brand__mark::before {
  content: ""; position: absolute; inset: 0;
  background: repeating-radial-gradient(circle at 50% 50%, transparent 0 2.5px, rgba(255,255,255,.34) 2.5px 4px);
}
.laesser-brand__mark span { position: relative; width: 12px; height: 12px; border-radius: 50% 50% 50% 0; background: var(--laesser-green-light); transform: rotate(45deg); box-shadow: 0 0 0 3px var(--laesser-blue); }
.laesser-brand__text { display: flex; flex-direction: column; }
.laesser-brand__text strong { color: var(--laesser-ink); font: 500 24px/1 var(--laesser-serif); letter-spacing: .17em; }
.laesser-brand__text small { margin-top: 5px; color: var(--laesser-muted); font: 700 8.5px/1 var(--laesser-mono); letter-spacing: .2em; text-transform: uppercase; }
.laesser-brand__uploaded { width: auto; max-width: 230px; max-height: 52px; object-fit: contain; }
.laesser-brand--inverse .laesser-brand__mark { background: #fff; box-shadow: none; }
.laesser-brand--inverse .laesser-brand__mark::before { background: repeating-radial-gradient(circle at 50% 50%, transparent 0 2.5px, rgba(17,92,162,.3) 2.5px 4px); }
.laesser-brand--inverse .laesser-brand__mark span { box-shadow: 0 0 0 3px #fff; }
.laesser-brand--inverse .laesser-brand__text strong { color: #fff; }
.laesser-brand--inverse .laesser-brand__text small { color: rgba(255,255,255,.62); }

/* Header */
.site-header {
  position: sticky; z-index: 90; top: 0;
  background: rgba(255, 255, 255, 0);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  transition: background-color .3s ease, border-color .3s ease;
}
.site-header.is-scrolled { background: rgba(255,255,255,.88); border-color: rgba(17,17,17,.1); }
.site-header__inner {
  width: min(100% - 52px, 1320px); height: 82px; margin-inline: auto;
  display: flex; align-items: center; justify-content: space-between;
  transition: height .3s ease;
}
.site-header.is-scrolled .site-header__inner { height: 66px; }
.site-header__brand { text-decoration: none; }
.site-header__actions { display: flex; align-items: center; gap: 14px; }
.site-header__phone { display: inline-flex; align-items: center; gap: 9px; color: #111; text-decoration: none; font-size: 14.5px; font-weight: 700; }
.opening-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #bd4b4b; }
.opening-dot.is-open { background: var(--laesser-green-light); animation: navblink 1.8s ease-in-out infinite; }
.menu-toggle {
  display: inline-flex; align-items: center; gap: 13px;
  padding: 10px 10px 10px 20px; border: 0; border-radius: 999px;
  background: #111; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer;
  transition: background-color .2s ease;
}
.menu-toggle:hover { background: var(--laesser-blue); }
.menu-toggle__disc { width: 32px; height: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: 50%; background: #fff; }
.menu-toggle__disc i { width: 14px; height: 2px; border-radius: 2px; background: #111; }

.menu-overlay {
  position: fixed; z-index: 200; inset: 0; visibility: hidden;
  color: #fff; clip-path: circle(0 at calc(100% - 70px) 46px);
  transition: clip-path .62s cubic-bezier(.76,0,.24,1), visibility 0s linear .62s;
}
.menu-overlay.is-open { visibility: visible; clip-path: circle(150% at calc(100% - 70px) 46px); transition-delay: 0s; }
.menu-overlay__backdrop { position: absolute; inset: 0; background: radial-gradient(120% 90% at 88% 0%, #11497f, #0b2f54 55%, #071f38); }
.menu-overlay__backdrop::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 30px); }
.menu-overlay__inner { position: relative; width: min(100% - 52px, 1320px); height: 100%; margin-inline: auto; padding: 26px 0 40px; display: flex; flex-direction: column; overflow-y: auto; }
.menu-overlay__top { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; }
.menu-overlay__brand { text-decoration: none; }
.menu-overlay__close { display: inline-flex; align-items: center; gap: 11px; padding: 8px 8px 8px 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font-size: 13.5px; font-weight: 600; }
.menu-overlay__close:hover { background: rgba(255,255,255,.16); }
.menu-overlay__close i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--laesser-blue-deep); font: 400 20px/1 var(--laesser-sans); }
.menu-overlay__body { flex: 1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 56px; align-items: center; padding: 30px 0; }
.menu-overlay__primary { display: flex; flex-direction: column; }
.menu-overlay__primary a { display: flex; align-items: baseline; gap: 18px; padding: 5px 0; color: rgba(255,255,255,.96); text-decoration: none; transition: color .18s ease, transform .18s ease; }
.menu-overlay__primary a:hover, .menu-overlay__primary a[aria-current="page"] { color: var(--laesser-green-light); transform: translateX(6px); }
.menu-overlay__primary a > span { width: 38px; flex: 0 0 auto; color: var(--laesser-green-light); font: 700 12px/1 var(--laesser-mono); letter-spacing: .04em; }
.menu-overlay__primary a > strong { font: 400 clamp(30px, 4.4vw, 58px)/1.04 var(--laesser-serif); letter-spacing: -.012em; }
.menu-overlay__aside { opacity: 0; transform: translateY(16px); transition: opacity .4s .34s ease, transform .4s .34s ease; }
.menu-overlay.is-open .menu-overlay__aside { opacity: 1; transform: none; }
.menu-overlay__aside-label { display: inline-flex; align-items: center; gap: 10px; color: #7ea8cf; font: 700 10.5px/1.3 var(--laesser-mono); letter-spacing: .16em; text-transform: uppercase; }
.menu-overlay__aside-label span { width: 6px; height: 6px; background: var(--laesser-green-light); transform: rotate(45deg); }
.menu-overlay__services { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 18px; margin-top: 16px; }
.menu-overlay__services a { padding: 6px 0; color: rgba(255,255,255,.78); font-size: 14px; font-weight: 500; text-decoration: none; transition: color .15s ease; }
.menu-overlay__services a:hover { color: var(--laesser-green-light); }
.menu-overlay__line { height: 1px; margin: 26px 0; background: rgba(255,255,255,.16); }
.menu-overlay__status { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.menu-overlay__status strong { color: #fff; }
.menu-overlay__status small { color: rgba(255,255,255,.55); }
.menu-overlay__big-phone { display: block; margin-top: 14px; color: #fff; font: 400 32px/1.2 var(--laesser-serif); letter-spacing: .01em; text-decoration: none; }
.menu-overlay__email { display: block; margin-top: 6px; color: var(--laesser-green-light); font-size: 15px; text-decoration: none; }
.menu-overlay__address { margin-top: 12px; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.5; }
.menu-overlay__aside .laesser-pill { margin-top: 24px; }
.menu-overlay__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.55); font-size: 12.5px; }
.menu-overlay__eco { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.7); font-size: 12px; font-weight: 600; }
.menu-overlay__eco i { width: 13px; height: 13px; border-radius: 50% 50% 50% 0; background: var(--laesser-green-light); transform: rotate(45deg); }

/* Footer */
.site-footer { position: relative; overflow: hidden; margin-top: 96px; background: var(--laesser-ink); color: rgba(255,255,255,.72); }
.site-footer__fringe { height: 14px; background: var(--laesser-ink); -webkit-mask: repeating-linear-gradient(90deg, #000 0 1.5px, transparent 1.5px 8px); mask: repeating-linear-gradient(90deg, #000 0 1.5px, transparent 1.5px 8px); }
.site-footer__threads { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 28px); pointer-events: none; }
.site-footer__inner { position: relative; width: min(100% - 56px, 1280px); margin-inline: auto; padding-top: 72px; }
.site-footer__columns { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 54px; border-bottom: 1px solid rgba(255,255,255,.12); }
.site-footer__identity { display: flex; align-items: center; gap: 16px; }
.site-footer__identity .laesser-eco-seal { width: 62px; height: 62px; flex: 0 0 auto; }
.site-footer__identity strong { display: block; color: #fff; font: 500 30px/1 var(--laesser-serif); letter-spacing: .16em; }
.site-footer__identity small { display: block; margin-top: 6px; color: var(--laesser-green-light); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .14em; text-transform: uppercase; }
.site-footer__statement p { max-width: 340px; margin: 26px 0 0; color: rgba(255,255,255,.82); font: 300 21px/1.4 var(--laesser-serif); }
.site-footer__statement .laesser-btn { margin-top: 26px; }
.site-footer__nav { display: flex; flex-direction: column; gap: 10px; }
.site-footer__nav h2, .site-footer__contact h2 { margin: 0 0 9px; color: rgba(255,255,255,.4); font: 700 10.5px/1.3 var(--laesser-mono); letter-spacing: .16em; text-transform: uppercase; }
.site-footer__nav a { color: rgba(255,255,255,.74); font-size: 15px; text-decoration: none; transition: color .15s ease, padding-left .15s ease; }
.site-footer__nav a:hover { padding-left: 4px; color: var(--laesser-green-light); }
.site-footer__contact { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; padding: 36px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.site-footer__contact p { margin: 9px 0 0; color: #fff; font: 400 17px/1.5 var(--laesser-serif); }
.site-footer__contact a { color: #fff; text-decoration: none; }
.site-footer__contact .site-footer__mail { color: var(--laesser-green-light); font: 400 15px/1.5 var(--laesser-sans); }
.site-footer__bottom { position: relative; }
.site-footer__bottom > div { width: min(100% - 56px, 1280px); margin-inline: auto; padding: 22px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.site-footer__bottom span { color: rgba(255,255,255,.42); font: 400 11.5px/1.4 var(--laesser-mono); letter-spacing: .04em; }
.site-footer__bottom nav { display: flex; gap: 22px; }
.site-footer__bottom a { color: rgba(255,255,255,.55); font-size: 13.5px; text-decoration: none; }
.site-footer__bottom a:hover { color: var(--laesser-green-light); }
.laesser-eco-seal { width: 100%; height: 100%; }
.laesser-eco-seal__text { transform-origin: 60px 60px; animation: spinSlow 34s linear infinite; }

/* Breadcrumbs and generic pages */
.laesser-breadcrumbs { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; color: var(--laesser-muted); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .09em; text-transform: uppercase; }
.laesser-breadcrumbs a { color: var(--laesser-blue); text-decoration: none; }
.page-intro { padding: 30px 0 0; }
.page-intro__inner { max-width: 1280px; }
.page-intro__title { max-width: 1040px; margin: 14px 0 0; color: var(--laesser-ink); font: 500 clamp(40px, 5.4vw, 76px)/.98 var(--laesser-serif); letter-spacing: -.02em; }
.page-intro__title span { color: var(--laesser-blue); font-style: italic; }
.page-intro__lead { max-width: 760px; margin: 24px 0 0; color: var(--laesser-slate); font-size: clamp(16px, 1.35vw, 19px); line-height: 1.65; }
.page-intro__layout { display: grid; gap: 34px; }
.page-intro__media { position: relative; margin: 10px 0 0; overflow: hidden; aspect-ratio: 2 / 1; border-radius: 7px; background: var(--laesser-blue-deep); box-shadow: 0 34px 72px -42px rgba(20,24,26,.55); }
.page-intro__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 58%, rgba(7,31,56,.46)); }
.page-intro__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.page-intro__media figcaption { position: absolute; z-index: 2; right: 20px; bottom: 16px; left: 20px; color: rgba(255,255,255,.9); font: italic 14px/1.35 var(--laesser-serif); text-shadow: 0 2px 16px rgba(0,0,0,.45); }
.page-intro--has-image { padding-bottom: 18px; }

.laesser-generic-main { padding: 70px 0; }
.laesser-prose { max-width: 880px; }
.laesser-prose h1 { font: 500 clamp(38px, 5vw, 68px)/1 var(--laesser-serif); }
.laesser-prose h2 { margin-top: 2em; font: 500 34px/1.1 var(--laesser-serif); }
.laesser-prose p, .laesser-prose li { color: #3f484e; }
.laesser-prose a { color: var(--laesser-blue); }
.laesser-archive-card { padding: 25px 0; border-top: 1px solid var(--laesser-border); }
.laesser-archive-card h2 { margin: 0; }
.laesser-not-found { min-height: 50vh; }

/* Home hero */
.home-hero { position: relative; overflow: hidden; padding: 26px 0 0; }
.home-hero__threads { position: absolute; inset: 0 max(28px, calc((100vw - 1340px) / 2)); background-image: repeating-linear-gradient(90deg, rgba(20,24,26,.05) 0 1px, transparent 1px 30px); mask-image: linear-gradient(180deg, #000, transparent 78%); pointer-events: none; }
.home-hero__grid { position: relative; display: grid; grid-template-columns: 1.04fr .96fr; gap: 54px; align-items: center; }
.home-hero__eyebrow { display: inline-flex; align-items: center; gap: 11px; margin-bottom: 26px; color: var(--laesser-green); font: 700 11px/1.3 var(--laesser-mono); letter-spacing: .2em; text-transform: uppercase; }
.home-hero__eyebrow > span { width: 7px; height: 7px; background: var(--laesser-green); transform: rotate(45deg); }
.home-hero__eyebrow > i { width: 30px; height: 1px; background: rgba(20,24,26,.25); }
.home-hero__eyebrow small { color: var(--laesser-muted); font: inherit; }
.home-hero h1 { margin: 0; color: var(--laesser-ink); font: 400 clamp(42px, 5.7vw, 82px)/.99 var(--laesser-serif); letter-spacing: -.018em; }
.home-hero h1 > span { display: block; }
.home-hero__rotator { height: 1.14em; overflow: hidden; }
.home-hero__rotator em { display: block; height: 1.14em; color: var(--laesser-green); font-style: italic; transition: transform .65s cubic-bezier(.76,0,.24,1); }
.home-hero__last { position: relative; width: fit-content; }
.home-hero__last > i { color: var(--laesser-blue); font-style: italic; }
.home-hero__last svg { position: absolute; right: 0; bottom: -2px; width: 46%; height: 11px; overflow: visible; }
.home-hero__last path { fill: none; stroke: var(--laesser-green-light); stroke-width: 3px; stroke-linecap: round; }
.home-hero__lead { max-width: 440px; margin: 28px 0 0; color: #454f56; font-size: clamp(16px, 1.3vw, 18.5px); line-height: 1.62; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.home-hero__stats { display: flex; align-items: stretch; margin-top: 42px; border-top: 1px solid var(--laesser-border); }
.home-hero__stats > div { display: flex; flex-direction: column; padding: 18px 26px 0 0; margin-right: 26px; border-right: 1px solid rgba(20,24,26,.12); }
.home-hero__stats > div:last-child { margin-right: 0; border-right: 0; }
.home-hero__stats strong { color: var(--laesser-blue); font: 400 36px/1 var(--laesser-serif); }
.home-hero__stats span { max-width: 120px; margin-top: 8px; color: var(--laesser-muted); font: 400 10.5px/1.4 var(--laesser-mono); letter-spacing: .08em; text-transform: uppercase; }
.home-hero__visual { position: relative; }
.home-hero__seal { position: absolute; z-index: 7; top: -30px; left: -34px; width: 104px; height: 104px; }
.home-hero__instruction { position: absolute; z-index: 3; top: -17px; right: 6px; color: var(--laesser-muted); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .16em; text-transform: uppercase; }
.home-hero__fringe { height: 13px; margin: 0 13px; background: repeating-linear-gradient(90deg, var(--laesser-blue-mid) 0 1.5px, transparent 1.5px 7px); }
.home-hero__eco-chip { position: absolute; z-index: 6; right: -26px; bottom: 30px; display: flex; align-items: center; gap: 11px; padding: 12px 16px; border: 1px solid rgba(20,24,26,.1); border-radius: 5px; background: #fff; box-shadow: 0 18px 40px -16px rgba(20,24,26,.4); animation: floaty 7s ease-in-out .8s infinite; }
.home-hero__eco-chip > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #e4f3ea; }
.home-hero__eco-chip > span i { width: 14px; height: 14px; border-radius: 50% 50% 50% 0; background: var(--laesser-green); transform: rotate(45deg); }
.home-hero__eco-chip strong { display: block; color: var(--laesser-ink); font: 500 14px/1.1 var(--laesser-serif); }
.home-hero__eco-chip small { display: block; margin-top: 3px; color: var(--laesser-muted); font: 400 9.5px/1 var(--laesser-mono); letter-spacing: .04em; }
.home-hero__visual-note { max-width: 520px; margin: 14px 8px 0; color: var(--laesser-muted); font: 500 10.5px/1.5 var(--laesser-mono); letter-spacing: .02em; }

.before-after { position: relative; overflow: hidden; aspect-ratio: 5/6; border-radius: 6px; background: var(--laesser-blue-mid); box-shadow: 0 44px 84px -36px rgba(20,24,26,.5); user-select: none; }
.before-after__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.before-after__image--after { filter: saturate(1.02) contrast(1.015); }
.before-after__before { position: absolute; z-index: 2; inset: 0; width: 100%; overflow: hidden; clip-path: inset(0 calc(100% - var(--ba-position)) 0 0); -webkit-clip-path: inset(0 calc(100% - var(--ba-position)) 0 0); }
.before-after__before .before-after__image { width: 100%; max-width: 100%; filter: saturate(.92) sepia(.025) brightness(.95) contrast(1.02); }
.before-after::after { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.16) 50%, transparent 62%); background-size: 240% 100%; animation: sheen 5.5s ease-in-out infinite; }
.before-after__frame { position: absolute; z-index: 4; inset: 13px; border: 1px solid rgba(255,255,255,.24); border-radius: 3px; pointer-events: none; }
.before-after__frame::after { content: ""; position: absolute; inset: 7px; border: 1px dashed rgba(255,255,255,.16); }
.before-after__label { position: absolute; z-index: 5; bottom: 16px; font-family: var(--laesser-sans); }
.before-after__label--before { left: 18px; }
.before-after__label--after { right: 18px; text-align: right; }
.before-after__label strong { display: block; color: rgba(255,255,255,.72); font: 700 9.5px/1.2 var(--laesser-mono); letter-spacing: .16em; text-transform: uppercase; }
.before-after__label--after strong { color: var(--laesser-green-pale); }
.before-after__label em { display: block; margin-top: 3px; color: rgba(255,255,255,.86); font: italic 12.5px/1.2 var(--laesser-serif); }
.before-after__divider { position: absolute; z-index: 6; top: 0; bottom: 0; left: var(--ba-position); width: 2px; background: #fff; transform: translateX(-1px); pointer-events: none; }
.before-after__divider span { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--laesser-blue); box-shadow: 0 6px 18px rgba(0,0,0,.32); font-weight: 800; transform: translate(-50%, -50%); }
.before-after input[type="range"] { position: absolute; z-index: 8; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.before-after--landscape { aspect-ratio: 1.2/1; }
.before-after--service { aspect-ratio: 16 / 10; min-height: 430px; }
.before-after--service .before-after__frame { inset: 16px; }

.woven-marquee { margin-top: 66px; padding: 16px 0; overflow: hidden; border-block: 1px solid var(--laesser-border); background: var(--laesser-cream); }
.woven-marquee__track { width: max-content; display: flex; align-items: center; animation: marquee 40s linear infinite; }
.woven-marquee__track span { display: inline-flex; align-items: center; gap: 26px; margin-right: 26px; color: var(--laesser-ink); font: italic 20px/1.2 var(--laesser-serif); white-space: nowrap; }
.woven-marquee__track i { width: 7px; height: 7px; background: var(--laesser-green); transform: rotate(45deg); }

.home-services { padding-bottom: 96px; }
.service-index { border-top: 1px solid var(--laesser-border); }
.service-index a { display: grid; grid-template-columns: 64px 1.05fr 1.45fr auto; gap: 24px; align-items: center; padding: 24px 16px; border-bottom: 1px solid rgba(20,24,26,.13); text-decoration: none; transition: background .25s ease, padding-left .25s ease; }
.service-index a:hover { padding-left: 28px; background: var(--laesser-cream); }
.service-index a > span { color: var(--laesser-green); font: 700 12.5px/1 var(--laesser-mono); }
.service-index a > strong { color: var(--laesser-ink); font: 400 clamp(22px,2.2vw,30px)/1.05 var(--laesser-serif); }
.service-index a > p { margin: 0; color: var(--laesser-slate); font-size: 15px; line-height: 1.45; }
.service-index a > i { width: 42px; height: 42px; display: grid; place-items: center; border: 1.5px solid rgba(20,24,26,.18); border-radius: 50%; font-style: normal; transition: all .2s ease; }
.service-index a:hover > i { border-color: var(--laesser-blue); background: var(--laesser-blue); color: #fff; }

.process-band { position: relative; overflow: hidden; background: var(--laesser-blue); color: #fff; }
.process-band__fringe { height: 14px; background: var(--laesser-blue); -webkit-mask: repeating-linear-gradient(90deg,#000 0 1.5px,transparent 1.5px 8px); mask: repeating-linear-gradient(90deg,#000 0 1.5px,transparent 1.5px 8px); }
.process-band__threads { position: absolute; inset: 14px 0 0; background: repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 26px); }
.process-band__inner { position: relative; padding-block: 78px; }
.process-grid { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid rgba(255,255,255,.22); }
.process-grid > div { min-height: 186px; padding: 24px 18px 0; border-right: 1px solid rgba(255,255,255,.14); }
.process-grid > div:last-child { border-right: 0; }
.process-grid span { color: #9fd6b4; font: 300 48px/1 var(--laesser-serif); }
.process-grid strong { display: block; margin-top: 16px; color: #fff; font-size: 16.5px; }
.process-grid p { margin: 8px 0 0; color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.45; }

.eco-comparison { padding-bottom: 96px; }
.eco-comparison__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 82px; align-items: center; }
.eco-comparison__visual { position: relative; }
.eco-comparison__caption { margin-bottom: 12px; color: var(--laesser-muted); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .15em; text-transform: uppercase; }
.eco-comparison__copy h2 { margin: 18px 0 0; font: 400 clamp(34px,4vw,56px)/1.02 var(--laesser-serif); letter-spacing: -.015em; }
.eco-comparison__copy p { max-width: 500px; margin: 24px 0 0; color: var(--laesser-slate); font-size: 17px; line-height: 1.68; }
.eco-comparison__copy ul { list-style: none; margin: 28px 0 26px; padding: 0; }
.eco-comparison__copy li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--laesser-border); color: #374047; font-weight: 600; }
.eco-comparison__copy li span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: #e4f3ea; color: var(--laesser-green); font-size: 12px; }

.customer-paths { padding-bottom: 96px; }
.customer-paths__grid { display: grid; grid-template-columns: 1fr 1fr; }
.customer-card { position: relative; min-height: 470px; display: flex; padding: 54px; overflow: hidden; text-decoration: none; }
.customer-card::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,rgba(20,24,26,.035) 0 1px,transparent 1px 28px); }
.customer-card > div { position: relative; z-index: 2; align-self: flex-end; }
.customer-card--private { background: var(--laesser-cream); }
.customer-card--business { background: var(--laesser-blue-deep); color: #fff; }
.customer-card__number { position: absolute; z-index: 1; top: 15px; right: 30px; color: rgba(20,24,26,.08); font: 300 140px/1 var(--laesser-serif); }
.customer-card--business .customer-card__number { color: rgba(255,255,255,.07); }
.customer-card h2 { max-width: 490px; margin: 20px 0 26px; font: 400 clamp(32px,3.5vw,49px)/1.03 var(--laesser-serif); }
.customer-card--business h2 { color: #fff; }
.customer-card > div > strong { display: inline-flex; align-items: center; gap: 9px; margin-top: 30px; color: var(--laesser-blue); font-size: 15px; }
.customer-card--business > div > strong { color: var(--laesser-green-pale); }
.customer-card > div > strong i { font-style: normal; transition: transform .2s ease; }
.customer-card:hover > div > strong i { transform: translateX(5px); }

.home-calculator { padding-bottom: 0; }
.home-calculator__panel { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 70px; padding: 60px 70px; overflow: hidden; background: var(--laesser-cream); }
.home-calculator__panel::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,rgba(20,24,26,.04) 0 1px,transparent 1px 28px); pointer-events: none; }
.home-calculator__copy, .home-calculator__figure { position: relative; z-index: 1; }
.home-calculator__copy h2 { margin: 18px 0 0; font: 400 clamp(30px,3.6vw,48px)/1.05 var(--laesser-serif); }
.home-calculator__copy p { max-width: 590px; margin: 20px 0 27px; color: var(--laesser-slate); }
.home-calculator__figure { padding: 38px; background: #fff; box-shadow: var(--laesser-shadow); }
.home-calculator__figure > div { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding: 19px 0; border-bottom: 1px solid var(--laesser-border); }
.home-calculator__figure > div:last-child { border-bottom: 0; }
.home-calculator__figure span, .home-calculator__figure small { color: var(--laesser-muted); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .1em; text-transform: uppercase; }
.home-calculator__figure strong { color: var(--laesser-blue); font: 400 28px/1 var(--laesser-serif); }

.woven-cta-section { padding-top: 90px; }
.woven-cta { position: relative; min-height: 370px; display: grid; place-items: center; overflow: hidden; padding: 65px 40px; background: radial-gradient(100% 120% at 90% 0%, #164f82, #0b2f54 60%, #071f38); color: #fff; text-align: center; }
.woven-cta__threads { position: absolute; inset: 0; background: repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 28px); }
.woven-cta__seal { position: absolute; top: -24px; left: 25px; width: 130px; height: 130px; opacity: .65; }
.woven-cta__content { position: relative; z-index: 1; }
.woven-cta h2 { max-width: 760px; margin: 0 auto; color: #fff; font: 400 clamp(28px,4.2vw,54px)/1.03 var(--laesser-serif); letter-spacing: -.018em; }
.woven-cta p { max-width: 610px; margin: 20px auto 0; color: rgba(255,255,255,.66); font-size: 16.5px; }
.woven-cta__actions { display: flex; justify-content: center; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 30px; }
.mobile-sticky-cta { display: none; }

/* Service pages */
.service-hero { padding-top: 30px; }
.service-hero__grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 64px; align-items: center; }
.service-hero__title { margin: 16px 0 0; font: 400 clamp(38px,5.2vw,72px)/1 var(--laesser-serif); letter-spacing: -.018em; }
.service-hero__title span { color: var(--laesser-blue); font-style: italic; }
.service-hero__copy > p { max-width: 590px; margin: 24px 0 0; color: var(--laesser-slate); font-size: 17px; line-height: 1.65; }
.service-hero__actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 30px; }
.service-hero__copy .laesser-chips { margin-top: 34px; }
.service-hero__media { position: relative; min-height: 570px; overflow: hidden; background: var(--laesser-blue-deep); box-shadow: var(--laesser-shadow); }
.service-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(7,31,56,.82)); }
.service-hero__media img { width: 100%; height: 570px; object-fit: cover; }
.service-hero__media-label { position: absolute; z-index: 2; top: 20px; right: 20px; padding: 8px 11px; background: rgba(255,255,255,.88); color: var(--laesser-blue-deep); font: 700 9.5px/1.2 var(--laesser-mono); letter-spacing: .13em; text-transform: uppercase; }
.service-hero__icon { position: absolute; z-index: 3; left: 25px; bottom: 50px; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--laesser-blue); font-size: 22px; }
.service-hero__media > p { position: absolute; z-index: 3; right: 24px; bottom: 26px; left: 94px; margin: 0; color: #fff; font: italic 16px/1.35 var(--laesser-serif); }
.trust-strip { margin-top: 60px; }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--laesser-border); }
.trust-strip__grid > div { padding: 26px 25px; border-right: 1px solid var(--laesser-border); }
.trust-strip__grid > div:last-child { border-right: 0; }
.trust-strip strong { display: block; color: var(--laesser-blue); font: 400 30px/1 var(--laesser-serif); }
.trust-strip span { display: block; margin-top: 7px; color: var(--laesser-muted); font: 700 10px/1.4 var(--laesser-mono); letter-spacing: .07em; text-transform: uppercase; }
.service-comparison { padding-bottom: 90px; }
.service-comparison__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(42px,6vw,86px); align-items: center; }
.service-comparison__copy h2 { max-width: 520px; margin: 15px 0 0; color: var(--laesser-ink); font: 500 clamp(34px,4vw,56px)/1.04 var(--laesser-serif); letter-spacing: -.018em; }
.service-comparison__copy > p { max-width: 540px; margin: 23px 0 0; color: var(--laesser-slate); font-size: 16.5px; line-height: 1.68; }
.service-comparison__note { display: block; max-width: 540px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--laesser-border); color: var(--laesser-muted); font: 500 10.5px/1.55 var(--laesser-mono); letter-spacing: .025em; }
.service-comparison__media { min-width: 0; }

.service-steps { padding-bottom: 90px; }
.service-step-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--laesser-border); }
.service-step-grid article { min-height: 210px; padding: 24px 22px; border-right: 1px solid var(--laesser-border); border-bottom: 1px solid var(--laesser-border); }
.service-step-grid article:nth-child(4n) { border-right: 0; }
.service-step-grid span { color: var(--laesser-green); font: 300 44px/1 var(--laesser-serif); }
.service-step-grid h3 { margin: 18px 0 0; font: 500 20px/1.2 var(--laesser-serif); }
.service-step-grid p { margin: 9px 0 0; color: var(--laesser-slate); font-size: 14px; line-height: 1.5; }
.service-options { padding-bottom: 90px; }
.service-options__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 80px; align-items: start; }
.service-options__intro { position: sticky; top: 100px; }
.service-options__intro h2 { margin: 16px 0 0; font: 400 clamp(26px,3.2vw,42px)/1.06 var(--laesser-serif); }
.service-options__intro p { margin: 20px 0 0; color: var(--laesser-slate); }
.laesser-accordion { border-top: 1px solid var(--laesser-border); }
.laesser-accordion__item { border-bottom: 1px solid var(--laesser-border); }
.laesser-accordion__item h3 { margin: 0; }
.laesser-accordion__item button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.laesser-accordion__item button span { font: 500 20px/1.3 var(--laesser-serif); }
.laesser-accordion__item button i { position: relative; width: 32px; height: 32px; flex: 0 0 auto; border: 1px solid var(--laesser-border); border-radius: 50%; }
.laesser-accordion__item button i::before, .laesser-accordion__item button i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 1.5px; background: var(--laesser-blue); transform: translate(-50%,-50%); transition: transform .2s ease; }
.laesser-accordion__item button i::after { transform: translate(-50%,-50%) rotate(90deg); }
.laesser-accordion__item.is-open button i::after { transform: translate(-50%,-50%) rotate(0); }
.laesser-accordion__panel > div { padding: 0 60px 23px 0; color: var(--laesser-slate); }
.laesser-accordion__panel p { margin: 0; }
.price-band__inner { position: relative; display: grid; grid-template-columns: 1.2fr .9fr auto; gap: 50px; align-items: center; padding: 48px 52px; overflow: hidden; background: var(--laesser-blue); color: #fff; }
.price-band__inner::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 26px); pointer-events: none; }
.price-band__inner > * { position: relative; z-index: 1; }
.price-band__eyebrow { color: var(--laesser-green-pale); font: 700 10.5px/1.3 var(--laesser-mono); letter-spacing: .16em; text-transform: uppercase; }
.price-band h2 { max-width: 520px; margin: 14px 0 0; color: #fff; font: 400 clamp(26px,3vw,40px)/1.06 var(--laesser-serif); }
.price-band__rows div { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.price-band__rows span { color: rgba(255,255,255,.65); font-size: 13px; }
.price-band__rows strong { color: #fff; font-size: 13px; white-space: nowrap; }
.service-faq { padding-bottom: 0; }

/* Private and business cards */
.image-card-section, .business-segments, .calculator-section, .faq-content, .contact-layout { padding-top: 48px; }
.image-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.image-service-card { display: block; border: 1px solid var(--laesser-border); background: #fff; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease; }
.image-service-card:hover { transform: translateY(-5px); box-shadow: var(--laesser-shadow); }
.image-service-card__image { position: relative; height: 245px; overflow: hidden; background: var(--laesser-cream); }
.image-service-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.image-service-card:hover img { transform: scale(1.035); }
.image-service-card__image span { position: absolute; right: 16px; bottom: 16px; width: 45px; height: 45px; display: grid; place-items: center; border-radius: 50%; background: #fff; box-shadow: 0 8px 24px rgba(20,24,26,.18); }
.image-service-card > div:last-child { position: relative; min-height: 172px; padding: 23px 55px 24px 24px; }
.image-service-card h2 { margin: 0; font: 500 24px/1.1 var(--laesser-serif); }
.image-service-card p { margin: 10px 0 0; color: var(--laesser-slate); font-size: 14px; line-height: 1.5; }
.image-service-card > div:last-child > i { position: absolute; right: 24px; bottom: 26px; color: var(--laesser-blue); font-style: normal; }
.pickup-band__inner { display: grid; grid-template-columns: auto 1fr auto; gap: 35px; align-items: center; padding: 46px 52px; background: var(--laesser-blue); color: #fff; }
.pickup-band__icon { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: var(--laesser-green-pale); font: 400 27px/1 var(--laesser-serif); }
.pickup-band h2 { margin: 14px 0 0; color: var(--laesser-cream); font: 500 clamp(26px,3.2vw,42px)/1.06 var(--laesser-serif); }
.pickup-band p { max-width: 680px; margin: 14px 0 0; color: rgba(255,255,255,.66); }
.business-segment-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--laesser-border); border-left: 1px solid var(--laesser-border); }
.business-segment-grid a { position: relative; min-height: 300px; padding: 30px; border-right: 1px solid var(--laesser-border); border-bottom: 1px solid var(--laesser-border); text-decoration: none; transition: background .2s ease; }
.business-segment-grid a:hover { background: var(--laesser-cream); }
.business-segment-grid a > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: #e4f3ea; font-size: 22px; }
.business-segment-grid small { position: absolute; top: 30px; right: 30px; color: var(--laesser-green); font: 700 11px/1 var(--laesser-mono); }
.business-segment-grid h2 { margin: 50px 0 0; font: 500 25px/1.1 var(--laesser-serif); }
.business-segment-grid p { margin: 12px 0 0; color: var(--laesser-slate); font-size: 14.5px; }
.business-segment-grid a > i { position: absolute; right: 30px; bottom: 24px; color: var(--laesser-blue); font-style: normal; }
.industry-band { padding-bottom: 80px; }
.business-why { padding-bottom: 0; }
.business-why__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; padding: 65px; background: var(--laesser-cream); }
.business-why__number { color: var(--laesser-blue); font: 700 12px/1 var(--laesser-mono); letter-spacing: .13em; }
.business-why h2 { max-width: 420px; margin: 20px 0 0; font: 400 clamp(31px,3.5vw,47px)/1.05 var(--laesser-serif); }
.business-why__items { display: grid; grid-template-columns: 1fr 1fr; }
.business-why__items article { display: flex; gap: 14px; padding: 20px; border-left: 1px solid var(--laesser-border); border-bottom: 1px solid var(--laesser-border); }
.business-why__items article > span { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #e4f3ea; color: var(--laesser-green); font-size: 12px; }
.business-why__items h3 { margin: 0; font: 500 19px/1.2 var(--laesser-serif); }
.business-why__items p { margin: 7px 0 0; color: var(--laesser-slate); font-size: 13.5px; }

/* Price calculator */
.price-calculator { display: grid; grid-template-columns: 1.35fr .65fr; border: 1px solid var(--laesser-border); box-shadow: 0 28px 70px -48px rgba(20,24,26,.5); }
.price-calculator__form { padding: 42px 48px; }
.price-calculator__heading { display: flex; gap: 18px; align-items: flex-start; padding-bottom: 25px; border-bottom: 1px solid var(--laesser-border); }
.price-calculator__heading > span { color: var(--laesser-green); font: 700 11px/1 var(--laesser-mono); }
.price-calculator__heading h2 { margin: 0; font: 500 28px/1.1 var(--laesser-serif); }
.price-calculator__heading p { margin: 7px 0 0; color: var(--laesser-muted); font-size: 14px; }
.calculator-fieldset { margin: 28px 0 0; padding: 0; border: 0; }
.calculator-fieldset legend, .calculator-measures label > span { margin-bottom: 11px; color: #3c454b; font-size: 13px; font-weight: 700; }
.calculator-options { display: grid; gap: 10px; }
.calculator-options--types { grid-template-columns: repeat(2,1fr); }
.calculator-options--checks { grid-template-columns: repeat(3,1fr); }
.calculator-options label, .calculator-pickup { position: relative; display: block; cursor: pointer; }
.calculator-options input, .calculator-pickup input { position: absolute; opacity: 0; }
.calculator-options label > span, .calculator-pickup > span { min-height: 66px; display: flex; flex-direction: column; justify-content: center; padding: 12px 15px; border: 1.5px solid var(--laesser-border); background: #fff; transition: border-color .18s ease, background .18s ease; }
.calculator-options input:checked + span, .calculator-pickup input:checked + span { border-color: var(--laesser-blue); background: rgba(17,92,162,.045); box-shadow: inset 0 0 0 1px var(--laesser-blue); }
.calculator-options span, .calculator-pickup strong { font-size: 14px; font-weight: 700; }
.calculator-options small, .calculator-pickup small { margin-top: 3px; color: var(--laesser-muted); font-size: 11.5px; font-weight: 500; }
.calculator-measures { display: grid; grid-template-columns: 1fr auto 1fr; gap: 15px; align-items: end; margin-top: 28px; }
.calculator-measures label { display: block; }
.calculator-measures label > span { display: block; }
.calculator-measures label > div { display: flex; align-items: center; border: 1.5px solid var(--laesser-border); }
.calculator-measures input { width: 100%; min-width: 0; padding: 13px 14px; border: 0; outline: 0; }
.calculator-measures em { padding: 0 13px; color: var(--laesser-muted); font-style: normal; font-size: 13px; }
.calculator-measures__times { padding-bottom: 14px; color: var(--laesser-muted); }
.calculator-pickup { margin-top: 22px; }
.calculator-pickup > span { min-height: 56px; flex-direction: row; align-items: center; justify-content: space-between; }
.price-calculator__result { position: relative; overflow: hidden; padding: 45px 38px; background: radial-gradient(110% 90% at 90% 0%, #174f83, var(--laesser-blue-deep) 60%, #071f38); color: #fff; }
.price-calculator__result::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 26px); pointer-events: none; }
.price-calculator__result > * { position: relative; z-index: 1; }
.price-calculator__seal { position: absolute; top: -38px; right: -34px; width: 145px; height: 145px; opacity: .35; }
.price-calculator__eyebrow { margin: 0; color: var(--laesser-green-pale); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .15em; text-transform: uppercase; }
.price-calculator__area { display: flex; align-items: baseline; gap: 7px; margin-top: 50px; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.18); }
.price-calculator__area strong { font: 300 52px/1 var(--laesser-serif); }
.price-calculator__area span { color: rgba(255,255,255,.58); }
.price-calculator__amount { display: flex; align-items: baseline; gap: 8px; margin-top: 28px; }
.price-calculator__amount small { color: rgba(255,255,255,.58); font-size: 14px; }
.price-calculator__amount strong { color: #fff; font: 400 62px/.9 var(--laesser-serif); }
.price-calculator__amount span { color: var(--laesser-green-pale); font: 700 12px/1 var(--laesser-mono); }
.price-calculator__result ul { list-style: none; margin: 28px 0 0; padding: 0; }
.price-calculator__result li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.68); font-size: 12.5px; }
.price-calculator__disclaimer { margin: 24px 0; color: rgba(255,255,255,.5); font-size: 11.5px; line-height: 1.45; }
.price-overview { padding-bottom: 0; }
.price-tabs__nav, .faq-tabs__nav { display: flex; overflow-x: auto; border-bottom: 1px solid var(--laesser-border); }
.price-tabs__nav button, .faq-tabs__nav button { flex: 0 0 auto; padding: 15px 18px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--laesser-muted); font-size: 14px; font-weight: 700; cursor: pointer; }
.price-tabs__nav button.is-active, .faq-tabs__nav button.is-active { border-color: var(--laesser-blue); color: var(--laesser-blue); }
.price-tabs__panel { padding-top: 10px; }
.price-row { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 20px 12px; border-bottom: 1px solid var(--laesser-border); }
.price-row strong { display: block; font: 500 19px/1.2 var(--laesser-serif); }
.price-row span { display: block; margin-top: 5px; color: var(--laesser-muted); font-size: 13.5px; }
.price-row em { color: var(--laesser-blue); font-style: normal; font-weight: 700; text-align: right; }

/* About */
.about-hero-image { padding-top: 48px; }
.about-hero-image figure { position: relative; margin: 0; height: min(64vw, 630px); overflow: hidden; }
.about-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.about-hero-image figure::after { content: ""; position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(transparent,rgba(7,31,56,.62)); }
.about-hero-image figcaption { position: absolute; z-index: 2; right: 25px; bottom: 21px; color: #fff; font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .13em; text-transform: uppercase; }
.timeline-section { padding-bottom: 90px; }
.heritage-timeline { position: relative; max-width: 1080px; margin-left: auto; }
.heritage-timeline::before { content: ""; position: absolute; top: 0; bottom: 0; left: 39px; width: 1px; background: var(--laesser-border); }
.heritage-timeline article { position: relative; display: grid; grid-template-columns: 80px 1fr; gap: 30px; padding-bottom: 46px; }
.heritage-timeline__marker { position: relative; z-index: 1; }
.heritage-timeline__marker span { width: 80px; height: 80px; display: grid; place-items: center; border: 1px solid var(--laesser-border); border-radius: 50%; background: #fff; color: var(--laesser-green); font: 700 11px/1 var(--laesser-mono); }
.heritage-timeline article small { color: var(--laesser-green); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .12em; text-transform: uppercase; }
.heritage-timeline h3 { margin: 10px 0 0; font: 500 28px/1.1 var(--laesser-serif); }
.heritage-timeline p { max-width: 730px; margin: 12px 0 0; color: var(--laesser-slate); }
.values-section { padding-bottom: 90px; }
.values-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--laesser-border); border-left: 1px solid var(--laesser-border); }
.values-grid article { min-height: 230px; padding: 26px; border-right: 1px solid var(--laesser-border); border-bottom: 1px solid var(--laesser-border); }
.values-grid span { color: var(--laesser-green); font: 700 11px/1 var(--laesser-mono); }
.values-grid h3 { margin: 45px 0 0; font: 500 23px/1.15 var(--laesser-serif); }
.values-grid p { margin: 10px 0 0; color: var(--laesser-slate); font-size: 14px; }
.about-eco { position: relative; overflow: hidden; background: var(--laesser-blue); color: var(--laesser-cream); }
.about-eco__threads { position: absolute; inset: 0; background: repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 26px); }
.about-eco__grid { position: relative; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; padding-block: 75px; }
.about-eco h2 { max-width: 700px; margin: 20px 0 0; color: var(--laesser-cream); font: 500 clamp(28px,3.4vw,46px)/1.05 var(--laesser-serif); }
.about-eco p { max-width: 660px; margin: 20px 0 0; color: rgba(255,255,255,.68); }
.about-eco__stats { display: grid; grid-template-columns: 1fr 1fr; }
.about-eco__stats div { padding: 22px; border-left: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.about-eco__stats strong { display: block; color: var(--laesser-green-pale); font: 300 42px/1 var(--laesser-serif); }
.about-eco__stats span { display: block; margin-top: 7px; color: rgba(255,255,255,.58); font: 700 9.5px/1.3 var(--laesser-mono); letter-spacing: .08em; text-transform: uppercase; }
.team-section { padding-bottom: 0; }
.team-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.team-grid article > div { position: relative; height: 350px; overflow: hidden; background: var(--laesser-cream); }
.team-grid img { width: 100%; height: 100%; object-fit: cover; }
.team-grid article > div span { position: absolute; top: 14px; right: 14px; padding: 7px 8px; background: #fff; color: var(--laesser-green); font: 700 10px/1 var(--laesser-mono); }
.team-grid h3 { margin: 16px 0 0; font: 500 21px/1.2 var(--laesser-serif); }
.team-grid p { margin: 5px 0 0; color: var(--laesser-muted); font-size: 13.5px; }

/* Advice */
.advice-featured { padding-top: 44px; }
.advice-featured__card { display: grid; grid-template-columns: 1fr 1fr; min-height: 440px; background: var(--laesser-blue-deep); color: #fff; text-decoration: none; }
.advice-featured__card > div { display: flex; flex-direction: column; justify-content: center; padding: 55px; }
.advice-featured__card > div > span { color: var(--laesser-green-pale); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .15em; text-transform: uppercase; }
.advice-featured h2 { margin: 14px 0 0; color: var(--laesser-cream); font: 500 clamp(26px,3vw,40px)/1.08 var(--laesser-serif); }
.advice-featured p { margin: 18px 0 0; color: rgba(255,255,255,.62); }
.advice-featured strong { margin-top: 28px; color: var(--laesser-green-pale); }
.advice-featured strong i { font-style: normal; margin-left: 6px; }
.advice-featured img { width: 100%; height: 100%; object-fit: cover; }
.advice-articles { padding-bottom: 0; }
.advice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 50px 24px; }
.advice-card__image { position: relative; height: 245px; overflow: hidden; background: var(--laesser-cream); }
.advice-card__image img { width: 100%; height: 100%; object-fit: cover; }
.advice-card__image span { position: absolute; top: 14px; right: 14px; padding: 7px 8px; background: #fff; color: var(--laesser-green); font: 700 10px/1 var(--laesser-mono); }
.advice-grid article > small { display: block; margin-top: 17px; color: var(--laesser-green); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .12em; text-transform: uppercase; }
.advice-grid h2 { margin: 9px 0 0; font: 500 24px/1.15 var(--laesser-serif); }
.advice-grid p { margin: 10px 0 0; color: var(--laesser-slate); font-size: 14.5px; }
.advice-card__coming { display: inline-block; margin-top: 14px; color: var(--laesser-muted); font-size: 12px; font-style: italic; }
.advice-note { margin: 42px 0 0; padding: 16px 20px; border-left: 3px solid var(--laesser-green); background: var(--laesser-cream); color: var(--laesser-slate); font-size: 13.5px; }
.advice-direct { padding-top: 80px; }
.advice-direct > div > div { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 38px 45px; border: 1px solid var(--laesser-border); }
.advice-direct h2 { max-width: 630px; margin: 0; font: 500 clamp(24px,2.8vw,36px)/1.08 var(--laesser-serif); }

/* FAQ */
.faq-content { padding-bottom: 0; }
.faq-tabs { display: grid; grid-template-columns: 260px 1fr; gap: 60px; align-items: start; }
.faq-tabs__nav { display: flex; flex-direction: column; border: 0; }
.faq-tabs__nav button { width: 100%; padding: 16px 12px; border: 0; border-bottom: 1px solid var(--laesser-border); text-align: left; }
.faq-tabs__nav button.is-active { padding-left: 20px; border-bottom-color: var(--laesser-blue); background: var(--laesser-cream); }

/* Contact / quote form */
.emergency-banner { margin-top: 24px; }
.emergency-banner > div > div { display: flex; align-items: center; gap: 14px; padding: 13px 18px; background: var(--laesser-cream); border-left: 4px solid var(--laesser-green); }
.emergency-banner span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--laesser-blue); color: #fff; font-weight: 800; }
.emergency-banner p { flex: 1; margin: 0; color: #374047; font-size: 14px; }
.emergency-banner a { color: var(--laesser-blue); font-size: 14px; text-decoration: none; }
.contact-layout__grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 40px; align-items: start; }
.contact-layout__form-card { padding: 40px; border: 1px solid var(--laesser-border); background: #fff; box-shadow: 0 25px 65px -48px rgba(20,24,26,.5); }
.quote-form__progress { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 37px; }
.quote-form__progress div { position: relative; display: flex; align-items: center; gap: 10px; color: var(--laesser-muted); }
.quote-form__progress div::after { content: ""; position: absolute; top: 15px; right: 10px; left: 45px; height: 1px; background: var(--laesser-border); }
.quote-form__progress div:last-child::after { display: none; }
.quote-form__progress span { position: relative; z-index: 1; width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--laesser-border); border-radius: 50%; background: #fff; font: 700 10px/1 var(--laesser-mono); }
.quote-form__progress strong { font-size: 12px; }
.quote-form__progress div.is-active, .quote-form__progress div.is-done { color: var(--laesser-blue); }
.quote-form__progress div.is-active span, .quote-form__progress div.is-done span { border-color: var(--laesser-blue); background: var(--laesser-blue); color: #fff; }
.quote-form__step h2 { margin: 0 0 25px; font: 500 28px/1.1 var(--laesser-serif); }
.quote-form__service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.quote-form__service-grid label { position: relative; cursor: pointer; }
.quote-form__service-grid input { position: absolute; opacity: 0; }
.quote-form__service-grid label > span { min-height: 115px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 14px; border: 1.5px solid var(--laesser-border); text-align: center; transition: border-color .18s ease, background .18s ease; }
.quote-form__service-grid input:checked + span { border-color: var(--laesser-blue); background: rgba(17,92,162,.05); box-shadow: inset 0 0 0 1px var(--laesser-blue); }
.quote-form__service-grid i { font-style: normal; font-size: 25px; }
.quote-form__service-grid strong { font-size: 13px; line-height: 1.25; }
.quote-form__pickup { margin: 25px 0 0; padding: 0; border: 0; }
.quote-form__pickup legend { margin-bottom: 10px; font-size: 13px; font-weight: 700; }
.quote-form__pickup label { position: relative; display: inline-block; margin: 0 8px 8px 0; cursor: pointer; }
.quote-form__pickup input { position: absolute; opacity: 0; }
.quote-form__pickup label span { display: inline-flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid var(--laesser-border); font-size: 13px; }
.quote-form__pickup input:checked + span { border-color: var(--laesser-blue); background: var(--laesser-cream); color: var(--laesser-blue); }
.quote-form__pickup small { color: var(--laesser-muted); }
.quote-form__fields { display: grid; gap: 17px; }
.quote-form__fields--two { grid-template-columns: 1fr 1fr; }
.quote-form label > span:not(.quote-form__privacy span) { display: block; margin-bottom: 7px; color: #3b444a; font-size: 12.5px; font-weight: 700; }
.quote-form input[type="text"], .quote-form input[type="number"], .quote-form input[type="email"], .quote-form input[type="tel"], .quote-form textarea { width: 100%; padding: 13px 14px; border: 1.5px solid var(--laesser-border); border-radius: 0; background: #fff; color: var(--laesser-ink); outline: none; }
.quote-form input:focus, .quote-form textarea:focus { border-color: var(--laesser-blue); box-shadow: 0 0 0 2px rgba(17,92,162,.08); }
.quote-form__textarea { display: block; margin-top: 17px; }
.quote-form textarea { resize: vertical; }
.quote-form__upload { position: relative; display: block; margin-top: 17px; cursor: pointer; }
.quote-form__upload input { position: absolute; opacity: 0; }
.quote-form__upload > span { min-height: 115px; display: flex !important; flex-direction: column; align-items: center; justify-content: center; margin: 0 !important; border: 1.5px dashed rgba(20,24,26,.26); background: var(--laesser-cream); text-align: center; }
.quote-form__upload i { color: var(--laesser-blue); font-style: normal; font-size: 24px; }
.quote-form__upload strong { margin-top: 3px; font-size: 13px; }
.quote-form__upload small { color: var(--laesser-muted); font-size: 11px; }
.quote-form__files { margin-top: 8px; color: var(--laesser-muted); font-size: 12px; }
.quote-form__privacy { display: flex; align-items: flex-start; gap: 10px; margin-top: 19px; cursor: pointer; }
.quote-form__privacy input { margin-top: 4px; }
.quote-form__privacy span { color: var(--laesser-slate); font-size: 12px; line-height: 1.45; }
.quote-form__estimate { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 20px; padding: 15px; background: var(--laesser-cream); }
.quote-form__estimate > span { font-size: 12px; font-weight: 700; }
.quote-form__estimate strong { color: var(--laesser-blue); font: 500 23px/1 var(--laesser-serif); }
.quote-form__estimate em { font-style: normal; }
.quote-form__estimate small { width: 100%; color: var(--laesser-muted); font-size: 11px; }
.quote-form__navigation { display: flex; justify-content: space-between; gap: 13px; margin-top: 28px; padding-top: 23px; border-top: 1px solid var(--laesser-border); }
.quote-form__messages { display: none; margin-bottom: 20px; padding: 12px 14px; background: #fce9e9; color: #8b2f2f; font-size: 13px; }
.quote-form__messages.is-visible { display: block; }
.quote-form__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; }
.quote-form.is-loading { opacity: .68; pointer-events: none; }
.quote-success { padding: 60px 20px; text-align: center; }
.quote-success > span { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; background: #e4f3ea; color: var(--laesser-green); font-size: 25px; }
.quote-success h2 { margin: 22px 0 0; font: 500 36px/1.1 var(--laesser-serif); }
.quote-success p { max-width: 520px; margin: 14px auto 0; color: var(--laesser-slate); }
.contact-sidebar { display: flex; flex-direction: column; }
.contact-sidebar__block { padding: 24px 0; border-bottom: 1px solid var(--laesser-border); }
.contact-sidebar__block:first-child { padding-top: 0; }
.contact-sidebar__block > span { color: var(--laesser-muted); font: 700 10px/1.3 var(--laesser-mono); letter-spacing: .13em; text-transform: uppercase; }
.contact-sidebar__phone { display: block; margin-top: 11px; color: var(--laesser-ink); font: 400 29px/1.2 var(--laesser-serif); text-decoration: none; }
.contact-sidebar__mail { display: block; margin-top: 5px; color: var(--laesser-blue); font-size: 14px; text-decoration: none; }
.contact-sidebar__block p { margin: 10px 0 0; color: var(--laesser-slate); }
.contact-sidebar figure { margin: 25px 0 0; }
.contact-sidebar figure img { width: 100%; height: 210px; object-fit: cover; }
.contact-sidebar figcaption { padding: 10px 0; color: var(--laesser-muted); font: 700 9.5px/1.3 var(--laesser-mono); letter-spacing: .08em; text-transform: uppercase; }
.contact-sidebar__trust { display: flex; align-items: center; gap: 15px; margin-top: 20px; padding: 16px; background: var(--laesser-cream); }
.contact-sidebar__trust .laesser-eco-seal { width: 72px; height: 72px; flex: 0 0 auto; }
.contact-sidebar__trust p { margin: 0; color: var(--laesser-slate); font-size: 12.5px; }

/* Legal */
.legal-content { padding-top: 48px; }


/* Redesign fidelity refinements */
.laesser-btn--cream { background: var(--laesser-cream); color: var(--laesser-ink); }
.laesser-btn--cream:hover { background: #fff; }
.laesser-btn--outline-light { border-color: rgba(255,255,255,.5); background: transparent; color: #fff; }
.laesser-btn--outline-light:hover { border-color: #fff; }

.customer-paths__heading { margin-bottom: 32px; }
.customer-paths__grid { gap: 22px; }
.customer-card { min-height: 340px; padding: 42px; border: 1px solid var(--laesser-border); border-radius: 6px; }
.customer-card--business { border-color: var(--laesser-blue); background: var(--laesser-blue); }
.customer-card__number { display: none; }
.customer-card h2 { margin: 14px 0 22px; font-size: clamp(26px,2.6vw,36px); }
.customer-card > div > strong { padding-bottom: 3px; border-bottom: 1.5px solid var(--laesser-green); }
.customer-card--business > div > strong { border-bottom-color: var(--laesser-green-light); color: #fff; }

.home-calculator__panel { grid-template-columns: 1fr auto; gap: 40px; padding: clamp(30px,4vw,54px); border: 1px solid var(--laesser-border); border-radius: 6px; }
.home-calculator__actions { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.home-calculator__actions .laesser-link { justify-content: center; color: var(--laesser-ink); }

.woven-cta { min-height: 0; border-radius: 6px; background: var(--laesser-blue); }
.woven-cta--ink { background: var(--laesser-ink); }
.woven-cta .laesser-eyebrow + h2 { margin-top: 18px; }

.service-hero__suitable { margin-top: 34px; }
.service-hero__suitable > small { display: block; margin-bottom: 12px; color: var(--laesser-slate); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.service-hero__copy .service-hero__suitable .laesser-chips { margin-top: 0; }

.image-service-card { overflow: hidden; border-radius: 6px; background: var(--laesser-cream); }
.image-service-card > div:last-child { min-height: 188px; padding: 23px 24px 24px; }
.image-service-card__link { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; color: var(--laesser-blue); font-size: 14px; }
.image-service-card__link i { font-style: normal; }
.pickup-band__inner { border-radius: 6px; }
.pickup-band__actions { display: flex; flex-direction: column; gap: 12px; }

.business-segment-grid { gap: 18px; border: 0; }
.business-segment-grid a { min-height: 300px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--laesser-border); border-radius: 6px; background: var(--laesser-cream); }
.business-segment-grid a:hover { background: var(--laesser-cream); box-shadow: var(--laesser-shadow); transform: translateY(-5px); }
.business-segment-grid h2 { margin: 18px 0 0; font-size: 22px; }
.business-segment-grid p { flex: 1; }
.business-segment__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; color: var(--laesser-blue); font-size: 14px; }
.business-segment__link i { font-style: normal; }
.business-why__items { grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--laesser-border); }
.business-why__items article { display: block; padding: 30px 24px; border: 0; border-right: 1px solid var(--laesser-border); }
.business-why__items article:last-child { border-right: 0; }
.business-why__items h3 { font-size: 21px; }

.about-hero-image__label { position: absolute; z-index: 2; top: 16px; left: 16px; color: rgba(255,255,255,.7); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.values-grid { grid-template-columns: repeat(3,1fr); gap: 18px; border: 0; }
.values-grid article { min-height: 0; padding: 28px; border: 1px solid var(--laesser-border); border-radius: 6px; background: var(--laesser-cream); }
.values-grid__icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: #e4f3ea; }
.values-grid__icon i { width: 18px; height: 18px; border-radius: 50% 50% 50% 0; background: var(--laesser-green); transform: rotate(45deg); }
.values-grid h3 { margin-top: 18px; }
.team-section__note { margin: 18px 0 0; color: #8a8170; font-size: 13.5px; font-style: italic; }

.price-overview__notes { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 24px 0 0; padding: 0; list-style: none; color: var(--laesser-muted); font-size: 13px; }
.price-overview__notes li::before { content: "•"; margin-right: 8px; color: var(--laesser-green); }

.faq-tabs { grid-template-columns: .55fr 1.45fr; gap: 48px; }
.faq-tabs > aside { position: sticky; top: 100px; }
.faq-tabs__label { margin-bottom: 14px; color: var(--laesser-slate); font: 700 11px/1.3 var(--laesser-mono); letter-spacing: .18em; text-transform: uppercase; }
.faq-contact-card { margin-top: 28px; padding: 24px; border-radius: 6px; background: var(--laesser-blue); color: var(--laesser-cream); }
.faq-contact-card h2 { margin: 0; color: var(--laesser-cream); font: 500 19px/1.2 var(--laesser-serif); }
.faq-contact-card p { margin: 8px 0 16px; color: rgba(255,255,255,.66); font-size: 14px; }
.faq-contact-card a { display: block; padding: 12px; border-radius: 4px; background: var(--laesser-cream); color: var(--laesser-ink); font-size: 14.5px; font-weight: 700; text-align: center; text-decoration: none; }
.faq-tabs__panel > h2 { margin: 0 0 8px; font: 500 26px/1.2 var(--laesser-serif); }

.quote-success .laesser-btn { margin-top: 24px; }
.contact-sidebar__card { padding: 30px; border-radius: 6px; background: var(--laesser-blue); color: var(--laesser-cream); }
.contact-sidebar__card > h2 { margin: 0; color: var(--laesser-cream); font: 500 22px/1.2 var(--laesser-serif); }
.contact-sidebar__card .contact-sidebar__block { padding: 18px 0 0; border: 0; }
.contact-sidebar__card .contact-sidebar__block > span { color: rgba(255,255,255,.45); }
.contact-sidebar__card .contact-sidebar__phone { margin-top: 5px; color: var(--laesser-cream); font: 600 18px/1.4 var(--laesser-sans); }
.contact-sidebar__card .contact-sidebar__mail { margin-top: 5px; color: var(--laesser-green-light); font-size: 16px; }
.contact-sidebar__card .contact-sidebar__block p { margin-top: 5px; color: var(--laesser-cream); font-size: 16px; line-height: 1.5; }
.contact-sidebar figure { overflow: hidden; border: 1px solid var(--laesser-border); border-radius: 6px; }
.contact-sidebar figcaption { padding: 10px 12px; }

/* Animations */
.reveal-up { animation: fadeUp .8s both; }
.reveal-up--delay { animation-delay: .12s; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes spinSlow { to { transform: rotate(360deg); } }
@keyframes sheen { 0% { background-position: -140% 0; } 100% { background-position: 240% 0; } }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes navblink { 0%,100% { opacity: .4; } 50% { opacity: 1; } }

@media (max-width: 1100px) {
  .home-hero__grid, .service-hero__grid { gap: 38px; }
  .home-hero__stats > div { padding-right: 16px; margin-right: 16px; }
  .menu-overlay__body { grid-template-columns: 1fr .82fr; gap: 35px; }
  .price-band__inner { grid-template-columns: 1fr 1fr; }
  .price-band__inner .laesser-btn { grid-column: 1 / -1; justify-self: start; }
  .site-footer__columns { grid-template-columns: 1.35fr repeat(3, .8fr); gap: 30px; }
  .home-calculator__panel { padding: 50px; gap: 45px; }
  .contact-layout__grid { grid-template-columns: 1.2fr .8fr; }
}

@media (max-width: 900px) {
  .section-space { padding-top: 76px; }
  .home-hero__grid, .service-hero__grid, .eco-comparison__grid, .home-calculator__panel, .service-options__grid, .about-eco__grid, .contact-layout__grid, .service-comparison__grid { grid-template-columns: 1fr; }
  .home-hero__copy { padding-right: 8vw; }
  .home-hero__visual { max-width: 650px; margin: 45px auto 0; }
  .home-hero__stats { max-width: 620px; }
  .menu-overlay__body { display: block; padding: 48px 0; }
  .menu-overlay__primary a > strong { font-size: clamp(30px,7vw,48px); }
  .menu-overlay__aside { margin-top: 40px; }
  .menu-overlay__services { grid-template-columns: repeat(3,1fr); }
  .process-grid { grid-template-columns: repeat(3,1fr); }
  .process-grid > div:nth-child(3n) { border-right: 0; }
  .customer-paths__grid { grid-template-columns: 1fr; }
  .customer-card { min-height: 390px; }
  .service-index a { grid-template-columns: 52px 1fr auto; }
  .service-index a > p { grid-column: 2 / 3; }
  .service-index a > i { grid-row: 1 / span 2; grid-column: 3; }
  .service-hero__media { min-height: 520px; }
  .service-hero__media img { height: 520px; }
  .trust-strip__grid { grid-template-columns: repeat(2,1fr); }
  .trust-strip__grid > div:nth-child(2) { border-right: 0; }
  .trust-strip__grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--laesser-border); }
  .service-step-grid { grid-template-columns: repeat(2,1fr); }
  .service-step-grid article:nth-child(odd) { border-right: 1px solid var(--laesser-border); }
  .service-step-grid article:nth-child(even) { border-right: 0; }
  .service-options__intro { position: static; }
  .service-comparison__copy { max-width: 720px; }
  .service-comparison__media { max-width: 860px; }
  .page-intro__media { aspect-ratio: 16 / 9; }
  .price-calculator { grid-template-columns: 1fr; }
  .price-calculator__result { min-height: 480px; }
  .image-card-grid, .business-segment-grid, .values-grid, .advice-grid { grid-template-columns: repeat(2,1fr); }
  .business-segment-grid a { min-height: 270px; }
  .business-why__grid { grid-template-columns: 1fr; gap: 40px; padding: 50px; }
  .team-grid { grid-template-columns: repeat(2,1fr); }
  .advice-featured__card { grid-template-columns: 1fr; }
  .advice-featured img { height: 350px; }
  .faq-tabs { grid-template-columns: 1fr; gap: 35px; }
  .faq-tabs__nav { flex-direction: row; overflow-x: auto; border-bottom: 1px solid var(--laesser-border); }
  .faq-tabs__nav button { width: auto; white-space: nowrap; }
  .faq-tabs > aside { position: static; }
  .business-why__items { grid-template-columns: repeat(2,1fr); }
  .business-why__items article:nth-child(2) { border-right: 0; }
  .business-why__items article:nth-child(-n+2) { border-bottom: 1px solid var(--laesser-border); }
  .site-footer__columns { grid-template-columns: 1fr 1fr; gap: 36px; }
  .site-footer__contact { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 680px) {
  .laesser-container, .laesser-narrow { width: min(100% - 36px, 1280px); }
  .site-header__inner, .menu-overlay__inner { width: min(100% - 32px, 1320px); }
  .site-header__phone { display: none; }
  .menu-toggle > span:first-child { display: none; }
  .menu-toggle { padding: 7px; }
  .laesser-brand__text strong { font-size: 20px; }
  .laesser-brand__text small { font-size: 7px; }
  .laesser-brand__mark { width: 36px; height: 36px; }
  .menu-overlay__brand .laesser-brand__text small { display: none; }
  .menu-overlay__services { grid-template-columns: 1fr 1fr; }
  .menu-overlay__footer { display: none; }
  .home-hero { padding-top: 12px; }
  .home-hero__copy { padding-right: 0; }
  .home-hero h1 { font-size: clamp(40px,14vw,64px); }
  .home-hero__eyebrow { flex-wrap: wrap; letter-spacing: .12em; }
  .home-hero__stats { overflow-x: auto; }
  .home-hero__stats > div { flex: 0 0 112px; }
  .home-hero__seal { top: -20px; left: -12px; width: 84px; height: 84px; }
  .home-hero__eco-chip { right: -8px; bottom: 18px; }
  .home-hero__visual-note { margin-inline: 0; }
  .page-intro__layout { gap: 25px; }
  .page-intro__media { aspect-ratio: 4 / 3; }
  .page-intro__media figcaption { right: 14px; bottom: 12px; left: 14px; font-size: 12px; }
  .before-after--service { min-height: 0; aspect-ratio: 4 / 3; }
  .service-comparison__copy h2 { font-size: clamp(32px,10vw,46px); }
  .woven-marquee { margin-top: 48px; }
  .service-index a { grid-template-columns: 40px 1fr auto; gap: 12px; padding: 20px 6px; }
  .service-index a:hover { padding-left: 10px; }
  .service-index a > strong { font-size: 22px; }
  .service-index a > p { font-size: 13px; }
  .service-index a > i { width: 36px; height: 36px; }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .process-grid > div { min-height: 165px; }
  .process-grid > div:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.14); }
  .process-grid > div:nth-child(even) { border-right: 0; }
  .customer-card { min-height: 410px; padding: 35px 28px; }
  .customer-card__number { font-size: 100px; }
  .home-calculator__panel { width: min(100% - 36px, 1280px); padding: 36px 25px; }
  .woven-cta-section > .laesser-container { width: 100%; }
  .woven-cta { padding: 65px 22px; }
  .mobile-sticky-cta { position: fixed; z-index: 80; right: 12px; bottom: 12px; left: 12px; display: flex; gap: 8px; padding: 8px; border-radius: 6px; background: #fff; box-shadow: 0 15px 35px rgba(20,24,26,.28); }
  .mobile-sticky-cta a { display: flex; flex: 1; align-items: center; justify-content: center; min-height: 48px; border: 1.5px solid var(--laesser-ink); border-radius: 4px; color: var(--laesser-ink); font-size: 15px; font-weight: 700; text-decoration: none; }
  .mobile-sticky-cta a:last-child { flex: 1.4; background: var(--laesser-ink); color: #fff; }
  .service-hero__media { min-height: 430px; }
  .service-hero__media img { height: 430px; }
  .service-hero__copy .laesser-chips { margin-top: 25px; }
  .trust-strip__grid { grid-template-columns: 1fr 1fr; }
  .trust-strip__grid > div { padding: 20px 14px; }
  .service-step-grid { grid-template-columns: 1fr; }
  .service-step-grid article, .service-step-grid article:nth-child(odd) { border-right: 0; }
  .price-band__inner { grid-template-columns: 1fr; padding: 38px 25px; }
  .price-band__inner .laesser-btn { grid-column: auto; }
  .image-card-grid, .business-segment-grid, .values-grid, .advice-grid, .team-grid { grid-template-columns: 1fr; }
  .image-service-card__image { height: 230px; }
  .pickup-band__inner { grid-template-columns: 1fr; padding: 38px 25px; }
  .pickup-band__actions { align-items: stretch; }
  .home-calculator__actions { align-items: stretch; }
  .business-why__items { grid-template-columns: 1fr; }
  .business-why__items article, .business-why__items article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--laesser-border); }
  .business-why__items article:last-child { border-bottom: 0; }
  .business-why__grid { padding: 38px 25px; }
  .business-why__items { grid-template-columns: 1fr; }
  .business-why__items article { border-left: 0; }
  .calculator-options--types, .calculator-options--checks { grid-template-columns: 1fr; }
  .price-calculator__form { padding: 31px 22px; }
  .price-calculator__result { padding: 40px 25px; }
  .price-row { align-items: flex-start; }
  .about-hero-image figure { height: 420px; }
  .heritage-timeline article { grid-template-columns: 58px 1fr; gap: 22px; }
  .heritage-timeline::before { left: 28px; }
  .heritage-timeline__marker span { width: 58px; height: 58px; }
  .about-eco__stats { margin-top: 20px; }
  .advice-featured__card > div { padding: 38px 25px; }
  .advice-featured img { height: 280px; }
  .advice-direct > div > div { align-items: flex-start; flex-direction: column; padding: 30px 25px; }
  .emergency-banner > div > div { align-items: flex-start; flex-wrap: wrap; }
  .emergency-banner p { flex: 1 1 calc(100% - 50px); }
  .emergency-banner a { margin-left: 40px; }
  .contact-layout__form-card { padding: 27px 20px; }
  .quote-form__service-grid { grid-template-columns: repeat(2,1fr); }
  .quote-form__fields--two { grid-template-columns: 1fr; }
  .quote-form__progress strong { display: none; }
  .quote-form__progress div::after { left: 37px; right: 6px; }
  .site-footer { padding-bottom: 66px; }
  .site-footer__inner, .site-footer__bottom > div { width: min(100% - 36px,1280px); }
  .site-footer__columns { grid-template-columns: 1fr; }
  .site-footer__bottom > div { align-items: flex-start; flex-direction: column; }
  .site-footer__bottom nav { flex-wrap: wrap; gap: 12px 20px; }
}

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

/* Configurable brand assets. */
.laesser-brand--menu .laesser-brand__uploaded { max-width: min(280px, 48vw); max-height: 72px; }
.site-footer__logo { display: block; width: auto; max-width: min(320px, 100%); max-height: 96px; object-fit: contain; object-position: left center; }

/* Editable contact map: image or allow-listed embed. */
.contact-sidebar .contact-map { margin-top: 25px; overflow: hidden; border: 1px solid var(--laesser-border); border-radius: 6px; background: #fff; }
.contact-sidebar .contact-map a { display: block; }
.contact-sidebar .contact-map .contact-map__media { display: block; width: 100%; height: var(--laesser-map-height, 360px); border: 0; object-fit: cover; }
.contact-sidebar .contact-map figcaption { padding: 11px 14px; color: var(--laesser-muted); font: 600 11px/1.45 var(--laesser-mono); letter-spacing: .04em; }

/* About page branch maps in the hero (v1.0.7). */
.about-page-intro .page-intro__inner { max-width: 820px; }
.about-locations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 42px; }
.about-location-card { overflow: hidden; border: 1px solid rgba(20,24,26,.1); border-radius: 8px; background: #fff; box-shadow: 0 24px 60px -42px rgba(20,24,26,.42); }
.about-location-card__map { position: relative; aspect-ratio: 16 / 9; min-height: 280px; background: #e8e8e8; }
.about-location-card__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.about-location-card__content { padding: 28px 30px 30px; }
.about-location-card__content h2 { margin: 0 0 20px; font: 600 clamp(24px,2.25vw,34px)/1.1 var(--laesser-serif); color: var(--laesser-ink); }
.about-location-card__content h3 { margin: 0 0 10px; font: 700 11px/1.3 var(--laesser-mono); letter-spacing: .13em; text-transform: uppercase; color: var(--laesser-blue); }
.about-location-card__content p { margin: 0 0 9px; }
.about-location-card__hours { margin-bottom: 20px !important; line-height: 1.75; }
.about-location-card__content a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.about-location-card__content a:hover { color: var(--laesser-blue); }
@media (max-width: 820px) { .about-locations { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .about-location-card__map { min-height: 235px; } .about-location-card__content { padding: 22px 20px 24px; } }
