@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/assets/fonts/montserrat-latin-300-800.woff2') format('woff2');
}

@font-face {
  font-family: 'Trirong';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/trirong-latin-300.woff2') format('woff2');
}

@font-face {
  font-family: 'Trirong';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/trirong-latin-400.woff2') format('woff2');
}

@font-face {
  font-family: 'Trirong';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/trirong-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Trirong';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/trirong-latin-600.woff2') format('woff2');
}

:root {
  --web-black: #080b0c;
  --web-charcoal: #24292b;
  --web-navy: #174c61;
  --web-petrol: #006879;
  --web-petrol-bright: #0b8a98;
  --web-white: #fff;
  --web-paper: #f2f2f2;
  --web-line: #d4d9da;
  --web-ink: #131819;
  --web-muted: #5c666a;
  --web-max: 1380px;
}

* { box-sizing: border-box; }
#ks-public-configurator { scroll-margin-top: 96px; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
section[id], main[id], div[id] { scroll-margin-top: 112px; }
body {
  margin: 0;
  color: var(--web-ink);
  background: var(--web-white);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
button, input, select, textarea { font: inherit; }
h1, h2 { font-family: Trirong, Georgia, serif !important; }
h3 { font-family: Montserrat, Arial, sans-serif !important; }
img { display: block; max-width: 100%; }
a { color: inherit; }

.web-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 86px;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 14px max(28px, calc((100vw - var(--web-max)) / 2));
  background: linear-gradient(110deg, rgba(247, 250, 250, .94), rgba(226, 240, 242, .92) 52%, rgba(247, 250, 250, .94));
  border-bottom: 3px solid rgba(11, 138, 152, .72);
  box-shadow: 0 10px 28px rgba(11, 44, 55, .08);
  backdrop-filter: blur(18px) saturate(125%);
  transition: transform .34s cubic-bezier(.22, .72, .25, 1), background-color .2s ease, box-shadow .2s ease;
  will-change: transform;
}
.web-header.is-scrolled { box-shadow: 0 15px 38px rgba(6, 28, 37, .14); }
.web-header.is-hidden { transform: translateY(calc(-100% + 5px)); }
.web-header:focus-within { transform: translateY(0); }
.web-header-stack {
  position: sticky;
  top: 0;
  z-index: 50;
  transition: transform .34s cubic-bezier(.22, .72, .25, 1);
  will-change: transform;
}
.web-header-stack .web-header { position: relative; top: auto; }
.web-header-stack.is-hidden { transform: translateY(calc(-100% + 5px)); }
.web-header-stack:focus-within { transform: translateY(0); }
.web-header-stack.is-scrolled .web-header { box-shadow: 0 15px 38px rgba(6, 28, 37, .14); }
body.web-homepage section[id] { scroll-margin-top: 190px; }

.web-logo img { width: 184px; height: auto; }
.web-nav { display: flex; justify-content: center; align-items: center; gap: clamp(16px, 2vw, 31px); }
.web-nav > a,
.web-nav summary {
  padding: 9px 0;
  border-bottom: 2px solid transparent;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .045em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}
.web-nav > a:hover,
.web-nav summary:hover { border-bottom-color: var(--web-petrol-bright); }
.web-nav > a.is-active { color: var(--web-petrol); border-bottom-color: var(--web-petrol); }
.web-nav details { position: relative; }
.web-nav summary { list-style: none; }
.web-nav summary::-webkit-details-marker { display: none; }
.web-more-menu {
  position: absolute;
  top: calc(100% + 12px);
  right: -20px;
  width: 245px;
  padding: 12px 0;
  color: #fff;
  background: var(--web-black);
  border-top: 3px solid var(--web-petrol-bright);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
}
.web-more-menu a { display: block; padding: 10px 18px; color: #dce5e7; font-size: 13px; text-decoration: none; }
.web-more-menu a:hover { color: #fff; background: var(--web-charcoal); }
.web-header-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  color: #fff;
  background: var(--web-black);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 7px;
}
.web-header-cta:hover { background: var(--web-petrol); }
.web-mobile-menu { display: none; }

.web-autumn-offer {
  position: relative;
  z-index: 8;
  color: #fff;
  background:
    radial-gradient(circle at 7% 145%, rgba(246, 185, 117, .4), transparent 31%),
    linear-gradient(105deg, #39251d 0%, #855135 30%, #244c58 71%, #097482 100%);
  border-bottom: 1px solid rgba(255, 255, 255, .15);
}
.web-autumn-offer-inner {
  appearance: none;
  width: min(calc(100% - 56px), var(--web-max));
  min-height: 82px;
  display: grid;
  grid-template-columns: 44px auto minmax(280px, 1.35fr) minmax(260px, 1fr) auto;
  gap: clamp(14px, 1.7vw, 28px);
  align-items: center;
  margin-inline: auto;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
}
.web-autumn-offer-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #f4c899;
  background: rgba(255, 235, 211, .1);
  border: 1px solid rgba(255, 222, 188, .25);
  border-radius: 50%;
}
.web-autumn-offer-mark svg,
.web-autumn-dialog-leaf svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.web-autumn-offer-mark svg { width: 25px; }
.web-autumn-offer-label {
  display: grid;
  gap: 1px;
  color: #fff5e8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
}
.web-autumn-offer-label small { color: #f2cfad; font-size: 9px; letter-spacing: .08em; }
.web-autumn-offer-main,
.web-autumn-offer-bonus { font-size: 14px; line-height: 1.4; }
.web-autumn-offer-main strong,
.web-autumn-offer-bonus strong { color: #fff; font-weight: 800; }
.web-autumn-offer-bonus { padding-left: clamp(18px, 2vw, 34px); border-left: 1px solid rgba(255, 255, 255, .2); }
.web-autumn-offer-link {
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(255, 255, 255, .7);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.web-autumn-offer-link b { display: inline-block; margin-left: 6px; transition: transform .2s ease; }
.web-autumn-offer-inner:hover .web-autumn-offer-link b { transform: translateX(4px); }

.web-container { width: min(calc(100% - 56px), var(--web-max)); margin-inline: auto; }
.web-kicker {
  margin: 0 0 14px;
  color: #70c0c8;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.web-kicker-dark { color: var(--web-petrol); }

.web-hero {
  position: relative;
  min-height: min(720px, calc(100svh - 118px));
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--web-black);
}
.web-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 56%; }
.web-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 8, 10, .83) 0%, rgba(2, 8, 10, .52) 44%, rgba(2, 8, 10, .08) 77%); }
.web-hero-content {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 56px), var(--web-max));
  margin: -12px auto 68px;
}
.web-hero-content h1,
.web-section h2,
.web-statement h2,
.web-showroom h2,
.web-project h2 {
  font-family: Trirong, Georgia, serif;
  font-weight: 300;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.web-hero-content h1 { max-width: 790px; margin: 0 0 22px; font-size: clamp(48px, 5.35vw, 78px); }
.web-hero-content > p:not(.web-kicker) { max-width: 620px; margin: 0; color: #e8edee; font-size: 17px; line-height: 1.7; }
.web-hero-offer-card {
  appearance: none;
  position: absolute;
  z-index: 3;
  right: max(28px, calc((100vw - var(--web-max)) / 2));
  bottom: 112px;
  width: min(330px, 28vw);
  padding: 25px 27px 23px;
  color: #fff;
  background: linear-gradient(145deg, rgba(10, 38, 50, .92), rgba(3, 19, 26, .88));
  border: 1px solid rgba(126, 205, 214, .38);
  border-top: 3px solid #bd7948;
  border-radius: 13px;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .28);
  backdrop-filter: blur(12px);
  font-family: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease;
}
.web-hero-offer-card:hover { transform: translateY(-4px); border-color: rgba(126, 205, 214, .72); }
.web-hero-offer-card > span {
  display: block;
  margin-bottom: 8px;
  color: #e4b689;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.web-hero-offer-card > strong {
  display: block;
  font-family: Trirong, Georgia, serif;
  font-size: 34px;
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.1;
}
.web-hero-offer-card > p { margin: 5px 0 18px; color: #e5ecee; font-size: 13px; line-height: 1.5; }
.web-hero-offer-card > em {
  display: block;
  padding-top: 13px;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .17);
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.web-hero-offer-card > em b { float: right; font-size: 14px; }

.web-autumn-dialog {
  width: min(680px, calc(100% - 32px));
  max-height: calc(100svh - 32px);
  margin: auto;
  padding: 0;
  overflow: auto;
  color: var(--web-ink);
  background: #f6f2eb;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 32px 100px rgba(0, 0, 0, .42);
}
.web-autumn-dialog::backdrop { background: rgba(3, 11, 14, .72); backdrop-filter: blur(5px); }
.web-autumn-dialog-shell { position: relative; padding: 36px 38px 38px; }
.web-autumn-dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 50%;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.web-autumn-dialog-head {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 17px;
  align-items: start;
  margin: -36px -38px 25px;
  padding: 36px 60px 29px 38px;
  color: #fff;
  background:
    radial-gradient(circle at 0 110%, rgba(222, 148, 82, .32), transparent 40%),
    linear-gradient(120deg, #3c2921, #70472f 44%, #174c61 100%);
}
.web-autumn-dialog-leaf { width: 48px; height: 48px; display: grid; place-items: center; color: #efc398; border: 1px solid rgba(255, 230, 206, .27); border-radius: 50%; }
.web-autumn-dialog-leaf svg { width: 28px; }
.web-autumn-dialog-head p { margin: 1px 0 5px; color: #f0c69f; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.web-autumn-dialog-head h2 { max-width: 510px; margin: 0; font-size: clamp(29px, 4.2vw, 40px); font-weight: 400; line-height: 1.08; }
.web-autumn-dialog-intro { margin: 0 0 19px; color: #4d5557; font-size: 14px; }
.web-autumn-dialog-value { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 12px; border: 1px solid #d9cec0; border-radius: 10px; }
.web-autumn-dialog-value span { padding: 14px 16px; font-size: 12px; }
.web-autumn-dialog-value span + span { border-left: 1px solid #d9cec0; }
.web-autumn-dialog-value strong { display: block; color: #805134; font-size: 15px; }
.web-autumn-dialog-note { margin: 0 0 22px; padding-left: 12px; color: #6d533f; border-left: 3px solid #b87645; font-size: 11px; line-height: 1.5; }
.web-autumn-choice { margin: 0 0 19px; padding: 0; border: 0; }
.web-autumn-choice legend,
.web-autumn-fields label > span { margin-bottom: 7px; color: #43494b; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.web-autumn-choice > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.web-autumn-choice label { position: relative; }
.web-autumn-choice input { position: absolute; opacity: 0; }
.web-autumn-choice label span { min-height: 46px; display: grid; place-items: center; padding: 8px; background: #fff; border: 1px solid #d5ccc0; border-radius: 8px; font-size: 11px; font-weight: 700; text-align: center; cursor: pointer; }
.web-autumn-choice input:checked + span { color: #fff; background: #174c61; border-color: #174c61; box-shadow: 0 0 0 3px rgba(23, 76, 97, .12); }
.web-autumn-choice input:focus-visible + span { outline: 2px solid #0b8a98; outline-offset: 2px; }
.web-autumn-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.web-autumn-fields label { display: grid; }
.web-autumn-field-wide { grid-column: 1 / -1; }
.web-autumn-fields input,
.web-autumn-fields select { width: 100%; min-height: 48px; padding: 0 13px; background: #fff; border: 1px solid #cbc4ba; border-radius: 7px; }
.web-autumn-consent { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; margin: 18px 0; color: #5d6263; font-size: 11px; line-height: 1.5; }
.web-autumn-consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #174c61; }
.web-autumn-submit { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; color: #fff; background: #132f3c; border: 0; border-radius: 8px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.web-autumn-submit:hover { background: #0b6e7b; }
.web-autumn-submit:disabled { opacity: .6; cursor: wait; }
.web-actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 34px; }
.web-button {
  min-height: 51px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 25px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 8px;
  transition: color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.web-button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(3, 13, 16, .16); }
.web-button-light { color: var(--web-black); background: #fff; }
.web-button-light:hover { color: #fff; background: var(--web-petrol); }
.web-button-dark { color: #fff; background: var(--web-black); }
.web-button-dark:hover { background: var(--web-petrol); }
.web-text-link { display: inline-block; padding: 7px 0; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 750; letter-spacing: .045em; text-decoration: none; text-transform: uppercase; }
.web-text-link span { display: inline-block; margin-left: 9px; transition: transform .15s ease; }
.web-text-link:hover span { transform: translateX(4px); }
.web-hero-facts {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 max(28px, calc((100vw - var(--web-max)) / 2));
  background: rgba(8, 11, 12, .88);
  border-top: 1px solid rgba(255, 255, 255, .22);
  backdrop-filter: blur(8px);
}
.web-hero-facts span { padding: 18px 24px; color: #e3e9ea; border-left: 1px solid rgba(255, 255, 255, .16); font-size: 13px; text-align: center; }
.web-hero-facts span:last-child { border-right: 1px solid rgba(255, 255, 255, .16); }

.web-partner {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 0;
  padding-block: 42px;
}
.web-partner > div { display: grid; align-content: center; gap: 5px; padding: 4px 30px; border-left: 1px solid var(--web-line); }
.web-partner > div:first-child { padding-left: 0; border-left: 0; }
.web-partner strong { font-family: Trirong, Georgia, serif; font-size: 20px; font-weight: 500; line-height: 1.35; }
.web-partner span { color: var(--web-muted); font-size: 13px; line-height: 1.55; }
.web-partner-lead > span { color: var(--web-petrol); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.web-finder { padding: 88px 0; background: #e8edef; }
.web-finder-layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(45px, 7vw, 105px); align-items: start; }
.web-finder-intro { position: sticky; top: 125px; }
.web-finder-intro h2 { max-width: 520px; margin: 0 0 20px; font-family: Trirong, Georgia, serif; font-size: clamp(42px, 4vw, 60px); font-weight: 300; letter-spacing: -.035em; line-height: 1.08; }
.web-finder-intro > p:last-child { max-width: 500px; margin: 0; color: var(--web-muted); }
.web-finder-panel { overflow: hidden; background: #fff; border-radius: 16px; box-shadow: 0 24px 60px rgba(16, 31, 51, .09); }
.web-finder-choices { display: grid; grid-template-columns: 1fr 1fr; }
.web-finder-choices button { min-height: 154px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 2px 17px; align-content: center; padding: 26px 28px; color: var(--web-ink); background: #fff; border: 0; border-right: 1px solid var(--web-line); border-bottom: 1px solid var(--web-line); text-align: left; cursor: pointer; transition: color .2s ease, background-color .2s ease; }
.web-finder-choices button:nth-child(2n) { border-right: 0; }
.web-finder-choices button span { grid-row: 1 / span 2; align-self: center; color: var(--web-petrol); font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.web-finder-choices button strong { font-size: 17px; font-weight: 750; }
.web-finder-choices button small { color: var(--web-muted); font-size: 12px; }
.web-finder-choices button:hover,
.web-finder-choices button.is-selected { color: #fff; background: var(--web-navy); }
.web-finder-choices button:hover span,
.web-finder-choices button.is-selected span { color: #79cbd2; }
.web-finder-choices button:hover small,
.web-finder-choices button.is-selected small { color: #c7d3d6; }
.web-finder-result { min-height: 175px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 30px 32px; border-top: 3px solid var(--web-petrol); }
.web-finder-result > span { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
.web-finder-result h3 { margin: 0 0 6px; font-size: 18px; font-weight: 750; }
.web-finder-result p { max-width: 570px; margin: 0; color: var(--web-muted); font-size: 13px; }
.web-finder-result .web-button { white-space: nowrap; }
.web-finder-result .web-button[hidden] { display: none; }

.web-section { padding: 110px 0; }
.web-worlds { background: #f5f6f6; }
.web-section-intro { max-width: 820px; margin-bottom: 50px; }
.web-section-intro h2,
.web-statement h2,
.web-showroom h2,
.web-project h2 { margin: 0 0 22px; font-size: clamp(42px, 5vw, 68px); }
.web-section-intro > p:last-child { max-width: 720px; margin: 0; color: var(--web-muted); font-size: 17px; }
.web-world-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
.web-world {
  position: relative;
  min-height: 410px;
  grid-column: span 4;
  overflow: hidden;
  color: #fff;
  background: var(--web-charcoal);
  border-radius: 17px;
  box-shadow: 0 18px 48px rgba(10, 20, 24, .12);
  text-decoration: none;
  transform: translateY(0);
  transition: transform .35s ease, box-shadow .35s ease;
}
.web-world-wide { min-height: 510px; grid-column: span 6; }
.web-world:hover { transform: translateY(-7px); box-shadow: 0 28px 66px rgba(10, 20, 24, .2); }
.web-world > img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.web-world:hover > img { transform: scale(1.055); }
.web-world-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 8, 9, .03) 15%, rgba(5, 8, 9, .22) 48%, rgba(5, 8, 9, .9) 100%); transition: background .35s ease; }
.web-world:hover .web-world-shade { background: linear-gradient(180deg, rgba(5, 8, 9, .02) 12%, rgba(5, 8, 9, .16) 42%, rgba(5, 8, 9, .94) 100%); }
.web-world-index { position: absolute; top: 22px; right: 22px; min-width: 38px; height: 38px; display: grid; place-items: center; color: #fff; background: rgba(8, 11, 12, .56); border: 1px solid rgba(255, 255, 255, .34); border-radius: 50%; backdrop-filter: blur(8px); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.web-world-copy { position: absolute; right: 30px; bottom: 28px; left: 30px; }
.web-world-copy small { display: block; margin-bottom: 7px; color: #74c3ca; font-size: 12px; font-style: normal; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.web-world-copy h3 { display: block; margin: 0; color: #fff; font-size: clamp(25px, 2.35vw, 36px); font-weight: 650; letter-spacing: -.025em; line-height: 1.2; }
.web-world-copy em { display: inline-flex; gap: 10px; align-items: center; margin-top: 17px; padding-bottom: 4px; border-bottom: 1px solid rgba(255, 255, 255, .62); font-size: 11px; font-style: normal; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.web-world-copy em b { font-size: 17px; font-weight: 400; transition: transform .2s ease; }
.web-world:hover .web-world-copy em b { transform: translateX(4px); }

.web-statement { padding: 120px 0; color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-statement .web-container { max-width: 930px; margin-left: max(28px, calc((100vw - var(--web-max)) / 2)); }
.web-statement p:not(.web-kicker) { max-width: 720px; margin: 0 0 28px; color: #c9d4d7; font-size: 18px; }

.web-projects { background: #fff; }
.web-projects-intro { max-width: none; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(45px, 8vw, 120px); align-items: end; }
.web-projects-intro > div:last-child { padding-bottom: 10px; }
.web-projects-intro > div:last-child p { margin: 0 0 23px; color: var(--web-muted); }
.web-project-gallery { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 18px; }
.web-project-card { position: relative; min-height: 500px; display: block; overflow: hidden; color: #fff; background: var(--web-navy); border-radius: 17px; box-shadow: 0 18px 45px rgba(10, 20, 24, .12); text-decoration: none; }
.web-project-card > img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.web-project-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 9, 12, .02) 30%, rgba(4, 9, 12, .85) 100%); }
.web-project-card > span { position: absolute; z-index: 1; right: 27px; bottom: 26px; left: 27px; }
.web-project-card small { display: block; margin-bottom: 9px; color: #80ced5; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.web-project-card h3 { margin: 0; color: #fff; font-size: clamp(20px, 2vw, 29px); font-weight: 650; line-height: 1.28; }
.web-project-card:hover > img { transform: scale(1.045); }
.web-trust-row { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 28px; padding: 28px 0; border-top: 1px solid var(--web-line); border-bottom: 1px solid var(--web-line); }
.web-trust-row > div { padding: 0 32px; border-left: 1px solid var(--web-line); }
.web-trust-row > div:first-child { padding-left: 0; border-left: 0; }
.web-trust-row strong { display: block; margin-bottom: 5px; font-size: 15px; }
.web-trust-row span { display: block; color: var(--web-muted); font-size: 12px; }

.web-section-intro-row { max-width: none; display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: end; }
.web-section-intro-row > p { padding-bottom: 12px; }
.web-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--web-line); list-style: none; }
.web-steps li { min-height: 260px; padding: 30px 26px 24px; border-right: 1px solid var(--web-line); }
.web-steps li:last-child { border-right: 0; }
.web-steps span { color: var(--web-petrol); font-size: 13px; font-weight: 900; letter-spacing: .1em; }
.web-steps h3 { margin: 43px 0 13px; font-family: Trirong, Georgia, serif; font-size: 28px; font-weight: 500; }
.web-steps p { margin: 0; color: var(--web-muted); font-size: 14px; }

.web-showroom { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); min-height: 760px; background: var(--web-paper); }
.web-showroom-image { min-height: 650px; overflow: hidden; }
.web-showroom-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.web-showroom-copy { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(45px, 7vw, 120px); }
.web-showroom-copy > p:not(.web-kicker) { color: var(--web-muted); font-size: 17px; }
.web-showroom-copy ul { display: grid; gap: 9px; margin: 20px 0 32px; padding: 22px 0; border-top: 1px solid var(--web-line); border-bottom: 1px solid var(--web-line); list-style: none; }
.web-showroom-copy li::before { content: '—'; margin-right: 11px; color: var(--web-petrol); }
.web-showroom-copy .web-button { align-self: flex-start; }

.web-faq { background: #fff; }
.web-faq-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.web-faq-list { border-top: 1px solid var(--web-ink); }
.web-faq-list details { border-bottom: 1px solid var(--web-line); }
.web-faq-list summary { position: relative; padding: 23px 52px 23px 0; font-family: Trirong, Georgia, serif; font-size: 22px; font-weight: 500; line-height: 1.35; cursor: pointer; list-style: none; }
.web-faq-list summary::-webkit-details-marker { display: none; }
.web-faq-list summary::after { content: '+'; position: absolute; top: 19px; right: 7px; color: var(--web-petrol); font-family: Montserrat, Arial, sans-serif; font-size: 27px; font-weight: 300; }
.web-faq-list details[open] summary::after { content: '−'; }
.web-faq-list p { margin: -5px 50px 24px 0; color: var(--web-muted); }

.web-project { padding: 105px 0; color: #fff; background: var(--web-black); border-bottom: 1px solid #334044; }
.web-project-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 90px; align-items: center; }
.web-project-layout > div:first-child > p:last-child { max-width: 720px; color: #c4cfd1; font-size: 17px; }
.web-project-action { display: grid; gap: 8px; padding-left: 50px; border-left: 1px solid #3b4b4f; }
.web-project-action > span { color: #dce4e6; font-size: 14px; }
.web-project-action > span::before { content: '✓'; margin-right: 9px; color: #67c1ca; }
.web-project-action .web-button { margin-top: 18px; }
.web-project-action small { margin-top: 6px; color: #8fa1a6; font-size: 12px; line-height: 1.5; }

.web-product-inquiry { padding: 100px 0; color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-product-inquiry-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(540px, 1.18fr); gap: clamp(55px, 7vw, 110px); align-items: start; }
.web-product-inquiry-intro { position: sticky; top: 125px; padding-top: 22px; }
.web-product-inquiry-intro h2 { max-width: 650px; margin: 0 0 25px; font-family: Trirong, Georgia, serif; font-size: clamp(47px, 5.5vw, 75px); font-weight: 300; letter-spacing: -.04em; line-height: 1.07; }
.web-product-inquiry-intro > p:not(.web-kicker) { max-width: 620px; margin: 0; color: #bdc9cc; font-size: 17px; line-height: 1.75; }
.web-product-inquiry-intro ul { display: grid; gap: 15px; margin: 38px 0 0; padding: 0; list-style: none; color: #d9e1e3; font-size: 14px; }
.web-product-inquiry-intro li::before { content: '✓'; margin-right: 10px; color: #72cbd3; font-weight: 900; }
.web-product-inquiry-form { padding: clamp(28px, 4vw, 48px); color: var(--web-ink); background: #fff; border-radius: 17px; box-shadow: 0 24px 65px rgba(0, 0, 0, .24); }
.web-product-selected { display: grid; grid-template-columns: minmax(120px, .65fr) minmax(0, 1.35fr); gap: 13px 24px; align-items: center; margin-bottom: 30px; padding-bottom: 25px; border-bottom: 1px solid var(--web-line); }
.web-product-selected span { color: #758084; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.web-product-selected strong { text-align: right; font-size: 14px; }
.web-product-inquiry-form .web-product-timeframe { grid-column: 1 / -1; }
.web-product-inquiry-form .web-contact-wishes { margin-top: 22px; }
.web-product-inquiry-form .web-button { width: 100%; justify-content: center; }

.web-product-faq { background: #fff; }
.web-product-faq-layout { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); gap: clamp(55px, 8vw, 120px); align-items: start; }
.web-product-faq-layout > div:first-child { position: sticky; top: 125px; }
.web-product-faq-layout h2 { margin: 0 0 20px; font-family: Trirong, Georgia, serif; font-size: clamp(43px, 5vw, 67px); font-weight: 350; letter-spacing: -.04em; line-height: 1.08; }
.web-product-faq-layout > div:first-child > p:last-child { margin: 0; color: var(--web-muted); font-size: 16px; line-height: 1.72; }

.web-contact-dock { position: fixed; z-index: 48; bottom: 20px; left: 18px; filter: drop-shadow(0 12px 22px rgba(0, 0, 0, .2)); }
.web-contact-dock-toggle { width: 43px; height: 43px; display: grid; place-items: center; padding: 0; color: #fff; background: rgba(0, 119, 133, .94); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; box-shadow: 0 6px 18px rgba(0, 55, 67, .26); cursor: pointer; transition: transform .2s ease, background-color .2s ease; }
.web-contact-dock-toggle:hover, .web-contact-dock-toggle:focus-visible, .web-contact-dock.is-open .web-contact-dock-toggle { background: var(--web-navy); transform: translateY(-2px); }
.web-contact-dock-toggle:focus-visible, .web-contact-dock-menu a:focus-visible { outline: 3px solid rgba(103, 199, 208, .55); outline-offset: 2px; }
.web-contact-dock-toggle svg { width: 20px; height: 20px; fill: currentColor; }
.web-contact-dock-menu { position: absolute; bottom: calc(100% + 9px); left: 0; width: max-content; display: grid; grid-template-columns: repeat(3, 39px); gap: 5px; padding: 7px; visibility: hidden; opacity: 0; background: rgba(8, 17, 25, .97); border: 1px solid rgba(255,255,255,.18); border-radius: 13px; box-shadow: 0 14px 35px rgba(0,0,0,.26); transform: translateY(7px) scale(.96); transform-origin: bottom left; transition: opacity .18s ease, transform .18s ease, visibility .18s; pointer-events: none; }
.web-contact-dock.is-open .web-contact-dock-menu { visibility: visible; opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.web-contact-dock-menu a { width: 39px; height: 39px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.07); border-radius: 9px; text-decoration: none; transition: background-color .18s ease, transform .18s ease; }
.web-contact-dock-menu a:first-child, .web-contact-dock-menu a:nth-child(3) { background: rgba(0, 119, 133, .82); }
.web-contact-dock-menu a:hover { background: var(--web-petrol); transform: translateY(-1px); }
.web-contact-dock-menu a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.web-contact-dock-menu svg { width: 18px; height: 18px; fill: currentColor; }

@media (prefers-reduced-motion: no-preference) {
  .has-home-js .web-reveal { opacity: 0; transform: translateY(26px); transition: opacity .65s ease var(--web-reveal-delay, 0ms), transform .65s cubic-bezier(.2,.7,.2,1) var(--web-reveal-delay, 0ms); }
  .has-home-js .web-reveal.is-visible { opacity: 1; transform: translateY(0); }
}

.web-footer { padding: 70px 0 25px; color: #c9d2d4; background: var(--web-black); }
.web-footer-grid { display: grid; grid-template-columns: 1.35fr 1fr .8fr .8fr; gap: 60px; }
.web-footer h2 { margin: 0 0 19px; color: #fff; font-family: Montserrat, Arial, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.web-footer p { margin: 0 0 15px; font-size: 14px; }
.web-footer a { display: block; color: #c9d2d4; font-size: 14px; text-decoration: none; }
.web-footer a:hover { color: #fff; }
.web-footer-brand img { width: 205px; margin-bottom: 24px; filter: brightness(0) invert(1); }
.web-footer-brand p { max-width: 310px; color: #8fa1a6; }
.web-footer-bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 55px; padding-top: 22px; border-top: 1px solid #30383b; color: #78898e; font-size: 12px; }
.web-footer-bottom > span:last-child { display: flex; gap: 22px; }
.web-footer-bottom a { color: #78898e; font-size: 12px; }
.web-footer-link { display: block; padding: 0; color: #78898e; background: transparent; border: 0; font-size: 12px; text-align: left; cursor: pointer; }
.web-footer-link:hover { color: #fff; }

.web-cookie-dialog[hidden] { display: none; }
.web-cookie-dialog { position: fixed; z-index: 10000; inset: auto 22px 22px; color: #fff; }
.web-cookie-dialog-inner { width: min(980px, 100%); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; margin: 0 auto; padding: 24px 26px; background: rgba(8, 24, 34, .98); border: 1px solid rgba(116, 205, 215, .5); border-radius: 16px; box-shadow: 0 24px 70px rgba(0, 0, 0, .34); }
.web-cookie-copy h2 { margin: 2px 0 7px; color: #fff; font-family: Trirong, Georgia, serif; font-size: clamp(23px, 2.6vw, 31px); font-weight: 500; line-height: 1.18; }
.web-cookie-copy p { max-width: 720px; margin: 0; color: #c7d4d8; font-size: 13px; line-height: 1.6; }
.web-cookie-copy .web-cookie-kicker { color: #72cad3; font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.web-cookie-copy a { color: #fff; text-underline-offset: 3px; }
.web-cookie-actions { display: flex; gap: 10px; }
.web-cookie-actions button { min-height: 44px; padding: 0 17px; border-radius: 7px; font-size: 11px; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; white-space: nowrap; cursor: pointer; }
.web-cookie-primary { min-width: 218px; color: #fff; background: #0b8998; border: 1px solid #26b4c2; box-shadow: 0 10px 28px rgba(15, 167, 181, .28); }
.web-cookie-primary:hover { background: #0fa7b5; border-color: #72cad3; box-shadow: 0 12px 32px rgba(15, 167, 181, .36); }
.web-cookie-secondary { color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .45); }
.web-cookie-actions button:hover { transform: translateY(-1px); }
.web-cookie-actions button:focus-visible, .web-footer-link:focus-visible { outline: 3px solid #72cad3; outline-offset: 3px; }

/* Product-world pages */
.web-category-hero {
  position: relative;
  min-height: min(730px, calc(100svh - 118px));
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--web-black);
}
.web-category-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.web-category-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 8, 10, .9), rgba(2, 8, 10, .58) 48%, rgba(2, 8, 10, .12) 82%); }
.web-category-hero-content { position: relative; z-index: 2; margin-top: -55px; }
.web-category-hero-content h1,
.web-category-guide h2 {
  max-width: 900px;
  margin: 0 0 24px;
  font-family: Trirong, Georgia, serif;
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 300;
  letter-spacing: -.038em;
  line-height: 1.08;
}
.web-category-hero-content > p:not(.web-kicker) { max-width: 700px; margin: 0; color: #e1e7e8; font-size: 18px; line-height: 1.75; }
.web-category-benefits {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 max(28px, calc((100vw - var(--web-max)) / 2));
  background: rgba(8, 11, 12, .9);
  border-top: 1px solid rgba(255, 255, 255, .2);
  backdrop-filter: blur(8px);
}
.web-category-benefits span { padding: 19px 24px; color: #e3e9ea; border-left: 1px solid rgba(255, 255, 255, .16); font-size: 13px; text-align: center; }
.web-category-benefits span::before { content: '✓'; margin-right: 9px; color: #70c0c8; }
.web-category-benefits span:last-child { border-right: 1px solid rgba(255, 255, 255, .16); }
.web-model-section { background: var(--web-paper); }
.web-category-intro { max-width: 960px; }
.web-model-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.web-model-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #d9ddde; }
.web-model-image { position: relative; display: block; aspect-ratio: 16 / 11; overflow: hidden; background: #e5e9e9; }
.web-model-image img { width: 100%; height: 100%; padding: 26px; object-fit: contain; transition: transform .45s ease; }
.web-category-sauna .web-model-image img,
.web-category-nordic .web-model-image img { padding: 0; object-fit: cover; }
.web-model-image:hover img { transform: scale(1.025); }
.web-model-copy { padding: 31px 33px 34px; }
.web-model-eyebrow { margin: 0 0 9px !important; color: var(--web-petrol) !important; font-size: 12px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.web-model-copy h3 { margin: 0 0 13px; font-family: Trirong, Georgia, serif; font-size: clamp(30px, 3vw, 42px); font-weight: 400; letter-spacing: -.025em; line-height: 1.15; }
.web-model-copy > p:not(.web-model-eyebrow) { min-height: 77px; margin: 0; color: var(--web-muted); font-size: 15px; }
.web-model-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 25px 0 24px; border-top: 1px solid var(--web-line); border-bottom: 1px solid var(--web-line); }
.web-model-stats > span { min-width: 0; padding: 15px 12px 15px 0; border-right: 1px solid var(--web-line); }
.web-model-stats > span:not(:first-child) { padding-left: 14px; }
.web-model-stats > span:last-child { border-right: 0; }
.web-model-stats small { display: block; color: #758084; font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.web-model-stats strong { display: block; margin-top: 3px; overflow-wrap: anywhere; color: var(--web-ink); font-size: 14px; line-height: 1.35; }
.web-model-link { display: inline-block; padding-bottom: 5px; border-bottom: 1px solid var(--web-ink); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.web-model-link span { display: inline-block; margin-left: 7px; transition: transform .15s ease; }
.web-model-link:hover span { transform: translateX(4px); }
.web-category-guide { padding: 105px 0; color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-category-guide-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.web-category-guide h2 { max-width: 720px; font-size: clamp(42px, 5vw, 64px); }
.web-category-guide-layout > div > p:last-child { max-width: 690px; margin: 0; color: #cad5d7; font-size: 17px; }
.web-category-guide ol { margin: 0; padding: 0; border-top: 1px solid #526169; list-style: none; }
.web-category-guide li { display: grid; grid-template-columns: 55px 1fr; gap: 17px; align-items: start; padding: 23px 0; border-bottom: 1px solid #526169; }
.web-category-guide li > span { color: #70c0c8; font-size: 13px; font-weight: 850; letter-spacing: .1em; }
.web-category-guide li p { margin: 0; color: #eef3f4; font-size: 16px; }
.web-category-commercial .web-category-hero > img { object-position: center 55%; }
.web-category-sauna .web-category-hero > img { object-position: center 56%; }

/* Model detail pages */
.web-model-hero { padding: 76px 0 86px; background: var(--web-paper); }
.web-model-hero-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr); gap: clamp(55px, 7vw, 110px); align-items: center; }
.web-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 48px; color: #687376; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.web-breadcrumb a { text-decoration: none; }
.web-breadcrumb a:hover { color: var(--web-petrol); }
.web-model-hero-copy h1 { margin: 0 0 20px; font-family: Trirong, Georgia, serif; font-size: clamp(58px, 6.5vw, 96px); font-weight: 300; letter-spacing: -.045em; line-height: 1; }
.web-model-hero-copy h1.is-long { font-size: clamp(42px, 4.6vw, 68px); line-height: 1.04; }
.web-model-hero-copy > p:not(.web-kicker) { max-width: 660px; margin: 0; color: var(--web-muted); font-size: 17px; }
.web-model-hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 34px 0 0; border-top: 1px solid #bdc5c7; border-bottom: 1px solid #bdc5c7; }
.web-model-hero-stats.is-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.web-model-hero-stats.is-four > span:nth-child(2) { border-right: 0; }
.web-model-hero-stats.is-four > span:nth-child(-n+2) { border-bottom: 1px solid #bdc5c7; }
.web-model-hero-stats > span { min-width: 0; padding: 17px 15px 17px 0; border-right: 1px solid #bdc5c7; }
.web-model-hero-stats > span:not(:first-child) { padding-left: 16px; }
.web-model-hero-stats > span:last-child { border-right: 0; }
.web-model-hero-stats small { display: block; color: #758084; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.web-model-hero-stats strong { display: block; margin-top: 4px; overflow-wrap: anywhere; font-size: 15px; line-height: 1.35; }
.web-model-gallery-shell { position: relative; min-width: 0; width: 100%; }
.web-model-hero-image { position: relative; width: 100%; display: block; aspect-ratio: 1 / .82; overflow: hidden; padding: 0; background: linear-gradient(145deg, #162738, #006879); border: 1px solid #243b43; }
.web-model-hero-image::before { content: ''; position: absolute; z-index: 1; inset: 17px; pointer-events: none; border: 1px solid rgba(255,255,255,.19); }
.web-model-hero-image img { width: 100%; height: 100%; padding: clamp(45px, 7vw, 95px); object-fit: contain; filter: drop-shadow(0 28px 25px rgba(0,0,0,.26)); }
.web-model-hero-gallery { position: relative; display: grid; gap: 8px; overflow: hidden; padding: 0; background: transparent; border: 0; border-radius: 18px; }
.web-model-gallery-button { position: relative; min-width: 0; display: block; overflow: hidden; padding: 0; color: #fff; background: #e9eeee; border: 0; cursor: zoom-in; }
.web-model-gallery-button::after { content: '+'; position: absolute; z-index: 3; right: 14px; bottom: 14px; width: 38px; height: 38px; display: grid; place-items: center; color: #fff; background: rgba(0, 119, 133, .9); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-family: Arial, sans-serif; font-size: 22px; font-weight: 300; transition: transform .2s ease, background-color .2s ease; }
.web-model-gallery-button:hover::after, .web-model-gallery-button:focus-visible::after { background: var(--web-black); transform: scale(1.08); }
.web-model-gallery-button:focus-visible { outline: 4px solid rgba(0, 119, 133, .45); outline-offset: -4px; }
.web-model-gallery-main { aspect-ratio: 1.18 / 1; }
.web-model-gallery-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.web-model-gallery-pair .web-model-gallery-button { aspect-ratio: 1.7 / 1; }
.web-model-hero-gallery img { width: 100%; height: 100%; object-fit: cover; }
.web-model-gallery-main img { object-position: center; }
.web-model-gallery-more { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(6, 20, 31, .56); font-size: 13px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.web-model-story { background: var(--web-paper); border-top: 1px solid var(--web-line); }
.web-model-story-layout, .web-model-highlight { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(45px, 7vw, 100px); align-items: center; }
.web-model-story figure { margin: 0; overflow: hidden; background: #e5eaeb; }
.web-model-story figure img { width: 100%; height: 100%; object-fit: cover; }
.web-model-story-layout > figure { height: clamp(500px, 57vw, 780px); }
.web-model-story-copy h2, .web-model-highlight h2 { margin: 0 0 22px; font-family: Trirong, Georgia, serif; font-size: clamp(40px, 4.8vw, 64px); font-weight: 300; letter-spacing: -.035em; line-height: 1.08; }
.web-model-story-copy > p:not(.web-kicker), .web-model-highlight > div > p:last-child { color: var(--web-muted); font-size: 16px; }
.web-model-story-copy ol { margin: 34px 0 0; padding: 0; border-top: 1px solid #aeb8ba; list-style: none; }
.web-model-story-copy li { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid #aeb8ba; }
.web-model-story-copy li > span { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .1em; }
.web-model-story-copy li p { margin: 0; color: var(--web-muted); font-size: 14px; }
.web-model-story-copy li strong { display: block; margin-bottom: 2px; color: var(--web-ink); font-size: 15px; }
.web-model-highlight { margin-top: 105px; padding-top: 80px; border-top: 1px solid var(--web-line); }
.web-model-highlight > figure { height: clamp(360px, 38vw, 560px); order: 2; }
.web-product-explorer { position: relative; overflow: hidden; padding: clamp(82px, 9vw, 132px) 0; color: #fff; background: radial-gradient(circle at 18% 18%, rgba(0, 154, 169, .22), transparent 34%), linear-gradient(145deg, #07131f 0%, #0a2231 58%, #063b45 100%); border-top: 4px solid var(--web-petrol-bright); }
.web-product-explorer::after { content: ''; position: absolute; right: -18vw; bottom: -36vw; width: 68vw; height: 68vw; pointer-events: none; border: 1px solid rgba(116, 210, 219, .16); border-radius: 50%; box-shadow: 0 0 0 9vw rgba(116, 210, 219, .025), 0 0 0 18vw rgba(116, 210, 219, .02); }
.web-product-explorer .web-container { position: relative; z-index: 1; }
.web-product-explorer-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr); gap: clamp(40px, 8vw, 130px); align-items: end; margin-bottom: clamp(42px, 6vw, 76px); }
.web-product-explorer-intro h2 { max-width: 780px; margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(48px, 6vw, 78px); font-weight: 300; letter-spacing: -.045em; line-height: 1.02; }
.web-product-explorer-intro > p { max-width: 610px; margin: 0 0 6px; color: #c4d1d5; font-size: 16px; line-height: 1.75; }
.web-product-explorer-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); gap: clamp(28px, 5vw, 76px); align-items: stretch; }
.web-product-explorer-media { position: relative; min-height: 620px; display: grid; place-items: center; margin: 0; padding: clamp(42px, 6vw, 78px) clamp(30px, 5vw, 68px) 76px; overflow: hidden; background: linear-gradient(145deg, #fff 0%, #e9efef 100%); border: 1px solid rgba(255,255,255,.22); border-radius: 24px; box-shadow: 0 32px 80px rgba(0,0,0,.28); }
.web-product-explorer-media img { width: 100%; height: 100%; max-height: 560px; object-fit: contain; filter: drop-shadow(0 28px 25px rgba(12, 27, 36, .22)); }
.web-product-explorer-media figcaption { position: absolute; right: 24px; bottom: 20px; left: 24px; display: flex; justify-content: space-between; gap: 20px; color: #5c6a70; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.web-product-explorer-media figcaption strong { color: var(--web-petrol); }
.web-product-explorer-hotspot { --explorer-x: 50%; --explorer-y: 50%; position: absolute; z-index: 2; top: var(--explorer-y); left: var(--explorer-x); width: 58px; height: 58px; display: grid; place-items: center; pointer-events: none; background: rgba(0, 119, 133, .18); border: 1px solid rgba(0, 119, 133, .68); border-radius: 50%; transform: translate(-50%, -50%); transition: top .48s cubic-bezier(.2,.8,.2,1), left .48s cubic-bezier(.2,.8,.2,1); }
.web-product-explorer-hotspot::before, .web-product-explorer-hotspot::after { content: ''; position: absolute; inset: -1px; border: 1px solid rgba(0, 119, 133, .5); border-radius: 50%; }
.web-product-explorer-hotspot::after { inset: -13px; opacity: .42; }
.web-product-explorer-hotspot i { width: 13px; height: 13px; background: var(--web-petrol); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 3px 12px rgba(0,0,0,.28); }
.web-product-explorer-hotspot.is-moving::after { animation: web-explorer-pulse .7s ease-out; }
@keyframes web-explorer-pulse { 0% { opacity: .75; transform: scale(.62); } 100% { opacity: 0; transform: scale(1.55); } }
.web-product-explorer-content { min-width: 0; display: grid; grid-template-rows: auto 1fr; gap: 20px; }
.web-product-explorer-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.web-product-explorer-tabs button { min-width: 0; min-height: 118px; display: grid; grid-template-columns: 34px 1fr; grid-template-rows: 1fr auto; gap: 7px 12px; align-items: start; padding: 20px; color: #dbe5e7; text-align: left; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.17); border-radius: 13px; cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.web-product-explorer-tabs button:hover, .web-product-explorer-tabs button:focus-visible { border-color: #70cbd3; outline: 0; transform: translateY(-2px); }
.web-product-explorer-tabs button[aria-selected="true"] { color: var(--web-ink); background: #fff; border-color: #fff; box-shadow: 0 16px 34px rgba(0,0,0,.2); }
.web-product-explorer-tabs button > span { grid-row: 1 / 3; color: #70cbd3; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.web-product-explorer-tabs button > strong { font-family: Montserrat, Arial, sans-serif; font-size: 13px; font-weight: 800; line-height: 1.25; }
.web-product-explorer-tabs button > small { color: #9fb0b5; font-size: 11px; font-weight: 700; line-height: 1.25; }
.web-product-explorer-tabs button[aria-selected="true"] > small { color: #65757a; }
.web-product-explorer-panel { min-height: 310px; padding: clamp(27px, 4vw, 44px); background: rgba(3, 11, 18, .42); border: 1px solid rgba(255,255,255,.15); border-radius: 18px; backdrop-filter: blur(12px); }
.web-product-explorer-panel > p:first-child { margin: 0 0 28px; color: #75cbd3; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.web-product-explorer-panel > strong { display: block; margin-bottom: 12px; color: #77d1da; font-family: Trirong, Georgia, serif; font-size: clamp(27px, 3vw, 39px); font-weight: 400; }
.web-product-explorer-panel h3 { margin: 0 0 16px; font-family: Trirong, Georgia, serif; font-size: clamp(27px, 3.2vw, 42px); font-weight: 350; letter-spacing: -.025em; line-height: 1.12; }
.web-product-explorer-panel > p:last-child { margin: 0; color: #c1cfd2; font-size: 15px; line-height: 1.75; }

.web-product-video { overflow: hidden; background: linear-gradient(180deg, #f4f7f7 0%, #fff 100%); }
.web-product-video-layout { display: grid; grid-template-columns: minmax(260px, .56fr) minmax(0, 1.44fr); gap: clamp(38px, 7vw, 104px); align-items: center; }
.web-product-video-copy h2 { max-width: 520px; margin: 0 0 22px; font-family: Trirong, Georgia, serif; font-size: clamp(42px, 5vw, 68px); font-weight: 300; letter-spacing: -.04em; line-height: 1.04; }
.web-product-video-copy > p:not(.web-kicker) { max-width: 510px; margin: 0 0 24px; color: #53636a; font-size: 16px; line-height: 1.75; }
.web-product-video-copy small { display: block; color: #718087; font-size: 12px; line-height: 1.55; }
.web-product-video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #07131f; border: 1px solid #cbd5d7; border-radius: 22px; box-shadow: 0 28px 70px rgba(7, 29, 40, .18); }
.web-product-video-frame > img { width: 100%; height: 100%; display: block; object-fit: cover; opacity: .42; filter: saturate(.78); }
.web-product-video-loading { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 11px; color: #fff; background: linear-gradient(180deg, rgba(7,19,31,.12), rgba(7,19,31,.58)); }
.web-product-video-loading b { display: grid; width: 66px; height: 66px; place-items: center; padding-left: 4px; background: rgba(0,119,133,.94); border: 1px solid rgba(255,255,255,.5); border-radius: 50%; font-size: 24px; }
.web-product-video-loading small { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.web-product-video-frame iframe { width: 100%; height: 100%; display: block; border: 0; }
.has-gallery-open { overflow: hidden; }
.web-product-lightbox { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: clamp(58px, 7vw, 92px) clamp(70px, 10vw, 150px) 34px; color: #fff; background: rgba(5, 12, 19, .97); border: 0; }
.web-product-lightbox[open] { display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px; gap: clamp(18px, 3vw, 48px); align-items: center; }
.web-product-lightbox::backdrop { background: rgba(3, 9, 14, .86); backdrop-filter: blur(7px); }
.web-product-lightbox figure { min-width: 0; height: 100%; display: grid; grid-template-rows: minmax(0, 1fr) auto; align-items: center; margin: 0; }
.web-product-lightbox figure img { width: 100%; height: 100%; max-height: calc(100dvh - 160px); object-fit: contain; }
.web-product-lightbox figcaption { min-height: 48px; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 15px 0 0; color: #c9d4d7; font-size: 12px; letter-spacing: .05em; }
.web-product-lightbox figcaption strong { color: #75c8d0; font-size: 12px; }
.web-product-lightbox-close, .web-product-lightbox-arrow { display: grid; place-items: center; padding: 0; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.28); border-radius: 50%; cursor: pointer; }
.web-product-lightbox-close:hover, .web-product-lightbox-arrow:hover, .web-product-lightbox-close:focus-visible, .web-product-lightbox-arrow:focus-visible { color: #fff; background: var(--web-petrol); border-color: var(--web-petrol-bright); outline: 0; }
.web-product-lightbox-close { position: fixed; z-index: 2; top: 22px; right: 24px; width: 46px; height: 46px; font-size: 31px; font-weight: 300; line-height: 1; }
.web-product-lightbox-arrow { width: 52px; height: 52px; font-size: 22px; }
.web-product-lightbox-arrow[hidden] { display: none; }
.web-model-detail { background: #fff; }
.web-model-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--web-line); border-bottom: 1px solid var(--web-line); }
.web-model-feature-grid.is-extended { grid-template-columns: repeat(4, 1fr); }
.web-model-feature-grid.is-extended article { border-bottom: 1px solid var(--web-line); }
.web-model-feature-grid.is-extended article:nth-child(4n) { border-right: 0; }
.web-model-feature-grid.is-extended article:nth-last-child(-n+3) { border-bottom: 0; }
.web-model-feature-grid article { min-height: 275px; padding: 30px 31px 34px; border-right: 1px solid var(--web-line); }
.web-model-feature-grid article:last-child { border-right: 0; }
.web-model-feature-grid article > span { color: var(--web-petrol); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.web-model-feature-grid h3 { margin: 48px 0 12px; font-family: Trirong, Georgia, serif; font-size: 28px; font-weight: 500; line-height: 1.25; }
.web-model-feature-grid p { margin: 0; color: var(--web-muted); font-size: 14px; }
.web-model-fit { padding: 98px 0; color: #fff; background: var(--web-black); border-top: 4px solid var(--web-petrol-bright); }
.web-model-fit-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.web-model-fit h2,
.web-model-planning h2 { margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(40px, 5vw, 63px); font-weight: 300; letter-spacing: -.035em; line-height: 1.1; }
.web-model-fit ul { margin: 0; padding: 0; border-top: 1px solid #3c494d; list-style: none; }
.web-model-fit li { position: relative; padding: 20px 15px 20px 42px; color: #d8e1e3; border-bottom: 1px solid #3c494d; font-size: 16px; }
.web-model-fit li::before { content: '✓'; position: absolute; top: 20px; left: 7px; color: #70c0c8; font-weight: 850; }
.web-model-planning { background: var(--web-paper); }
.web-model-planning-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.web-model-planning-layout > div > p:last-child { max-width: 650px; color: var(--web-muted); font-size: 17px; }
.web-model-planning ol { margin: 0; padding: 0; border-top: 1px solid #aeb8ba; list-style: none; }
.web-model-planning li { display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid #aeb8ba; }
.web-model-planning li > span { color: var(--web-petrol); font-size: 12px; font-weight: 850; letter-spacing: .1em; }
.web-model-planning li p { margin: 0; font-size: 15px; }
.web-model-neighbours { display: grid; grid-template-columns: 1fr auto 1fr; background: #fff; border-top: 1px solid var(--web-line); }
.web-model-neighbours a { min-width: 0; display: flex; flex-direction: column; justify-content: center; min-height: 120px; padding: 25px clamp(22px, 4vw, 64px); text-decoration: none; }
.web-model-neighbours a:nth-child(2) { min-width: 190px; align-items: center; border-right: 1px solid var(--web-line); border-left: 1px solid var(--web-line); text-align: center; }
.web-model-neighbours a:last-child { align-items: flex-end; text-align: right; }
.web-model-neighbours a:hover { color: #fff; background: var(--web-petrol); }
.web-model-neighbours small { color: #778185; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.web-model-neighbours a:hover small { color: #bfe1e4; }
.web-model-neighbours strong { margin-top: 5px; overflow-wrap: anywhere; font-family: Trirong, Georgia, serif; font-size: 20px; font-weight: 500; }

/* Public USSPA configurator – view 1, deliberately without prices */
.web-public-configurator-page { background: var(--web-paper); }
.web-configurator-intro { padding: 68px 0 58px; color: #fff; background: var(--web-navy); border-bottom: 4px solid var(--web-petrol-bright); }
.web-configurator-intro .web-breadcrumb { margin-bottom: 58px; color: #aebcc1; }
.web-configurator-intro .web-breadcrumb a:hover { color: #fff; }
.web-configurator-intro-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(55px, 8vw, 120px); align-items: end; }
.web-configurator-intro-grid h1 { max-width: 780px; margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(58px, 6.5vw, 92px); font-weight: 300; letter-spacing: -.045em; line-height: .98; }
.web-configurator-intro-grid > div:last-child > p { max-width: 620px; margin: 0 0 32px; color: #d3dde0; font-size: 17px; }
.web-config-flow { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #53636a; border-bottom: 1px solid #53636a; }
.web-config-flow span { padding: 15px 8px; color: #e5ecee; border-right: 1px solid #53636a; font-size: 12px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.web-config-flow span:last-child { border-right: 0; }
.web-config-flow b { margin-right: 7px; color: #70c0c8; }
.web-configurator-shell { padding-block: 38px 96px; }
.web-config-loading { min-height: 240px; display: grid; place-items: center; color: var(--web-muted); background: #fff; border: 1px solid var(--web-line); }
.web-config-step { margin-top: 18px; padding: clamp(28px, 4.2vw, 58px); background: #fff; border: 1px solid var(--web-line); }
.web-config-step:first-child { margin-top: 0; }
.web-config-step-head { display: grid; grid-template-columns: 58px 1fr; gap: 20px; align-items: start; margin-bottom: 38px; padding-bottom: 30px; border-bottom: 1px solid var(--web-line); }
.web-config-step-head > span { padding-top: 7px; color: var(--web-petrol); font-size: 13px; font-weight: 900; letter-spacing: .13em; }
.web-config-step-head p { margin: 0 0 4px; color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.web-config-step-head h2 { margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(30px, 3.2vw, 46px); font-weight: 400; letter-spacing: -.03em; line-height: 1.18; }
.web-config-model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.web-config-model { position: relative; min-width: 0; display: grid; grid-template-rows: auto 1fr; padding: 0; overflow: hidden; color: var(--web-ink); background: #f6f7f7; border: 1px solid #d7dcdd; text-align: left; cursor: pointer; }
.web-config-model:hover { border-color: var(--web-petrol); }
.web-config-model.is-selected { color: #fff; background: var(--web-navy); border-color: var(--web-petrol-bright); box-shadow: inset 0 0 0 2px var(--web-petrol-bright); }
.web-config-model > img { width: 100%; aspect-ratio: 1 / .7; padding: 22px; object-fit: contain; background: #e7ebeb; }
.web-config-model.is-selected > img { background: linear-gradient(145deg, #e7eded, #cfd8da); }
.web-config-model-copy { display: grid; align-content: start; padding: 19px 20px 22px; }
.web-config-model-copy small { color: var(--web-petrol); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.web-config-model.is-selected .web-config-model-copy small { color: #77cbd2; }
.web-config-model-copy strong { margin-top: 4px; font-family: Trirong, Georgia, serif; font-size: 25px; font-weight: 500; line-height: 1.15; }
.web-config-model-copy > span { margin-top: 8px; color: var(--web-muted); font-size: 12px; }
.web-config-model-copy .web-config-model-price { margin-top: 13px; color: var(--web-petrol); font-size: 13px; font-style: normal; font-weight: 850; }
.web-config-model.is-selected .web-config-model-copy > span { color: #cbd7da; }
.web-config-model.is-selected .web-config-model-price { color: #7fd0d7; }
.web-config-check { position: absolute; right: 14px; bottom: 14px; width: 25px; height: 25px; display: none; place-items: center; color: #fff; background: var(--web-petrol-bright); border-radius: 50%; font-size: 13px; font-weight: 900; }
.web-config-model.is-selected .web-config-check { display: grid; }
.web-config-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.web-config-empty { grid-column: 1 / -1; padding: 32px; color: var(--web-muted); background: #f2f4f4; border-left: 4px solid var(--web-petrol); }
.web-config-option-group { min-width: 0; margin: 0; padding: 25px; border: 1px solid var(--web-line); }
.web-config-option-group legend { padding: 0 9px; font-family: Trirong, Georgia, serif; font-size: 23px; font-weight: 500; }
.web-config-option-group > p { margin: -3px 0 16px; color: var(--web-muted); font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.web-config-option-group > div { display: grid; gap: 8px; }
.web-config-choice { position: relative; display: block; cursor: pointer; }
.web-config-choice input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.web-config-choice > span { min-height: 58px; display: grid; align-content: center; padding: 10px 48px 10px 16px; background: #f3f5f5; border: 1px solid transparent; }
.web-config-choice > span::after { content: ''; position: absolute; top: 50%; right: 18px; width: 17px; height: 17px; border: 1px solid #869296; border-radius: 50%; transform: translateY(-50%); }
.web-config-choice input[type='checkbox'] + span::after { border-radius: 0; }
.web-config-choice input:checked + span { color: #fff; background: var(--web-navy); border-color: var(--web-petrol-bright); }
.web-config-choice input:checked + span::after { background: var(--web-petrol-bright); border: 5px solid var(--web-navy); outline: 1px solid #70c0c8; }
.web-config-choice input:focus-visible + span { outline: 3px solid rgba(11, 138, 152, .3); }
.web-config-choice strong { font-size: 14px; }
.web-config-choice small { color: var(--web-muted); font-size: 11px; }
.web-config-choice input:checked + span small { color: #b9c9cd; }
.web-config-wish-field { display: grid; gap: 8px; margin-top: 24px; }
.web-config-wish-field > span,
.web-config-contact-grid label > span { color: #4d595c; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.web-config-wish-field textarea { min-height: 118px; resize: vertical; padding: 15px 16px; color: var(--web-ink); background: #fafafa; border: 1px solid #cbd1d2; border-radius: 0; }
.web-config-wish-field textarea:focus,
.web-config-contact-grid input:focus { border-color: var(--web-petrol); outline: 3px solid rgba(11, 138, 152, .14); }
.web-config-final { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; align-items: start; }
.web-config-final aside { min-width: 0; padding: 28px; background: var(--web-navy); color: #fff; border-top: 4px solid var(--web-petrol-bright); }
.web-config-summary-model { display: grid; grid-template-columns: 115px 1fr; gap: 22px; align-items: center; padding-bottom: 23px; border-bottom: 1px solid #526168; }
.web-config-summary-model img { width: 115px; height: 83px; padding: 7px; object-fit: contain; background: #e8eded; }
.web-config-summary-model small { display: block; color: #70c0c8; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.web-config-summary-model strong { display: block; margin-top: 3px; font-family: Trirong, Georgia, serif; font-size: 30px; font-weight: 400; line-height: 1.15; }
.web-config-summary-model > div > span { display: block; margin-top: 6px; color: #b9c6c9; font-size: 12px; }
.web-config-summary-price { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 18px 0 8px; color: #c7d2d5; font-size: 12px; }
.web-config-summary-price strong { color: #fff; font-size: 16px; }
.web-config-summary-total { margin-top: 20px; padding: 18px; color: var(--web-navy); background: #79cbd2; }
.web-config-summary-total span, .web-config-summary-total strong, .web-config-summary-total small { display: block; }
.web-config-summary-total span { font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.web-config-summary-total strong { margin-top: 3px; font-family: Trirong, Georgia, serif; font-size: 31px; font-weight: 600; }
.web-config-summary-total small { margin-top: 6px; font-size: 10px; line-height: 1.4; }
.web-config-final aside ul { margin: 0; padding: 7px 0 0; list-style: none; }
.web-config-final aside li { display: grid; grid-template-columns: 1fr 1.25fr; gap: 15px; padding: 12px 0; border-bottom: 1px solid #43535a; }
.web-config-final aside li span { color: #aebdc1; font-size: 12px; }
.web-config-final aside li strong { font-size: 13px; text-align: right; }
.web-config-summary-empty { margin: 20px 0 0; color: #b9c6c9; font-size: 13px; }
.web-config-wishes,
.web-config-summary-contact { margin-top: 20px; padding-top: 18px; border-top: 1px solid #526168; }
.web-config-wishes small,
.web-config-summary-contact > small { color: #70c0c8; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.web-config-wishes p { margin: 7px 0 0; color: #e1e8e9; font-size: 13px; white-space: pre-wrap; }
.web-config-summary-contact p { display: grid; grid-template-columns: 100px 1fr; gap: 15px; margin: 8px 0 0; font-size: 12px; }
.web-config-summary-contact p span { color: #aebdc1; }
.web-config-summary-contact p strong { overflow-wrap: anywhere; text-align: right; }
#ks-config-contact { padding: 29px; background: #f3f5f5; border: 1px solid var(--web-line); }
#ks-config-contact fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
#ks-config-contact legend { width: 100%; margin: 0 0 14px; padding: 0; font-family: Trirong, Georgia, serif; font-size: 27px; font-weight: 500; }
.web-config-request-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; }
.web-config-request-types.is-single { grid-template-columns: 1fr; }
.web-config-request-types label { position: relative; cursor: pointer; }
.web-config-request-types input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.web-config-request-types label > span { min-height: 118px; display: grid; align-content: start; padding: 18px; color: var(--web-ink); background: #fff; border: 1px solid #cbd1d2; border-top: 3px solid #98a3a5; }
.web-config-request-types label > span::after { content: ''; position: absolute; top: 19px; right: 17px; width: 16px; height: 16px; border: 1px solid #829093; border-radius: 50%; }
.web-config-request-types input:checked + span { color: #fff; background: var(--web-navy); border-color: var(--web-petrol-bright); }
.web-config-request-types input:checked + span::after { background: var(--web-petrol-bright); border: 5px solid var(--web-navy); outline: 1px solid var(--web-petrol-bright); }
.web-config-request-types input:focus-visible + span { outline: 3px solid rgba(11, 138, 152, .25); }
.web-config-request-types strong { padding-right: 24px; font-size: 14px; }
.web-config-request-types small { margin-top: 7px; color: var(--web-muted); font-size: 12px; line-height: 1.5; }
.web-config-request-types input:checked + span small { color: #c3d0d3; }
.web-config-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 14px; }
.web-config-contact-grid label { display: grid; gap: 7px; }
.web-config-contact-grid label.is-wide { grid-column: 1 / -1; }
.web-config-contact-grid input,
.web-config-contact-grid select { width: 100%; min-width: 0; height: 49px; padding: 0 13px; color: var(--web-ink); background: #fff; border: 1px solid #cbd1d2; border-radius: 0; font: inherit; }
.web-config-contact-grid select:focus { border-color: var(--web-petrol); outline: 3px solid rgba(11, 138, 152, .14); }
.web-config-address-block { margin-top: 22px; padding-top: 20px; border-top: 1px solid #cbd1d2; }
.web-config-address-block > strong { display: block; margin-bottom: 14px; font-size: 14px; }
.web-config-check-field { display: flex; gap: 11px; align-items: flex-start; margin-top: 16px; color: #3f4b4e; font-size: 13px; line-height: 1.45; }
.web-config-check-field input { width: 18px; height: 18px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--web-petrol); }
.web-config-consent { padding-top: 18px; border-top: 1px solid #cbd1d2; }
.web-config-output-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 17px; background: #e6ebeb; border-left: 3px solid var(--web-petrol); }
.web-config-output-actions button { min-height: 44px; padding: 0 16px; color: #fff; background: var(--web-black); border: 0; font-size: 11px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.web-config-output-actions button:hover { background: var(--web-petrol); }
.web-config-output-actions small { flex: 1 1 180px; color: var(--web-muted); font-size: 12px; text-align: right; }
.web-config-request-success { padding: 24px; color: #fff; background: var(--web-petrol); border-top: 4px solid var(--web-petrol-bright); }
.web-config-request-success small,
.web-config-request-success strong { display: block; }
.web-config-request-success small { color: #c7edf0; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.web-config-request-success strong { margin-top: 5px; font-family: Trirong, Georgia, serif; font-size: 28px; font-weight: 500; }
.web-config-request-success p { margin: 8px 0 0; color: #e2f2f3; font-size: 14px; }
.web-config-success-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 20px; }
.web-config-success-actions button { min-height: 46px; padding: 0 16px; color: #fff; background: var(--web-black); border: 1px solid rgba(255,255,255,.35); font-size: 11px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.web-config-success-actions button:first-child { color: var(--web-navy); background: #fff; border-color: #fff; }
.web-config-success-actions small { flex: 1 1 220px; color: #d8eef0; font-size: 11px; line-height: 1.45; }
.web-config-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.web-config-privacy { margin: 19px 0 0; color: var(--web-muted); font-size: 11px; }
.web-config-error { min-height: 21px; margin-top: 7px; color: #a33232; font-size: 12px; font-weight: 700; }
.web-config-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
.web-config-actions button { min-height: 48px; padding: 0 18px; color: #fff; background: var(--web-black); border: 0; border-radius: 0; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.web-config-actions button:hover { background: var(--web-petrol); }
.web-config-actions button[type='submit'] { background: var(--web-petrol); }
.web-config-actions button[type='submit']:hover { background: var(--web-petrol-bright); }
.web-config-actions button:disabled { opacity: .55; cursor: wait; }

/* Guided visual configurator */
.web-public-configurator-page .web-configurator-intro { padding: 34px 0 30px; }
.web-public-configurator-page .web-configurator-intro .web-breadcrumb { margin-bottom: 24px; }
.web-public-configurator-page .web-configurator-intro-grid { grid-template-columns: .85fr 1.15fr; gap: 45px; }
.web-public-configurator-page .web-configurator-intro-grid h1 { font-size: clamp(40px, 4.6vw, 64px); }
.web-public-configurator-page .web-configurator-intro-grid > div:last-child > p { margin-bottom: 20px; font-size: 16px; }
.web-config-picker { padding: clamp(28px, 4vw, 52px); background: #fff; border: 1px solid var(--web-line); }
.web-config-picker-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.web-config-picker-head p { margin: 0 0 5px; color: var(--web-petrol); font-size: 13px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.web-config-picker-head h2 { margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(32px, 3.2vw, 48px); font-weight: 400; line-height: 1.12; }
.web-config-picker-head button,
.web-config-product-focus button { min-height: 44px; padding: 0 18px; color: var(--web-navy); background: transparent; border: 1px solid var(--web-line); font-size: 13px; font-weight: 800; cursor: pointer; }
.web-config-picker-head button:hover,
.web-config-product-focus button:hover { color: #fff; background: var(--web-petrol); border-color: var(--web-petrol); }
.web-config-category-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; width: 100%; margin-bottom: 26px; }
.web-config-category-tabs button { width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:74px;padding:13px 18px;color:#526064;background:#eef1f1;border:1px solid transparent;font-size:15px;font-weight:800;line-height:1.25;text-align:left;cursor:pointer;}
.web-config-category-tabs button small { min-width: 29px; padding: 5px 7px; color: #fff; background: #879397; font-size: 13px; text-align: center; }
.web-config-category-tabs button.is-active { color: #fff; background: var(--web-navy); border-color: var(--web-petrol-bright); }
.web-config-category-tabs button.is-active small { background: var(--web-petrol); }
.web-config-product-focus { display: grid; grid-template-columns: 190px 1fr auto; gap: 28px; align-items: center; padding: 22px 30px; color: #fff; background: var(--web-navy); border-top: 3px solid var(--web-petrol-bright); }
.web-config-product-picture { position: relative; height: 112px; overflow: hidden; background: linear-gradient(145deg, #f3f6f6, #dce3e4); }
.web-config-product-picture img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; padding: 8px; object-fit: contain; }
.web-config-product-focus > img { width: 100%; height: 100%; max-height: 130px; padding: 8px; object-fit: contain; }
.web-config-product-focus p { margin: 0 0 4px; color: #73c5cd; font-size: 13px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.web-config-product-focus h2 { margin: 0; font-family: Trirong, Georgia, serif; font-size: 38px; font-weight: 400; line-height: 1.08; }
.web-config-product-focus div + div > span { display: block; margin-top: 8px; color: #c8d4d7; font-size: 14px; }
.web-config-product-focus button { color: #fff; border-color: #5e6d72; }
.web-config-studio { display: grid; grid-template-columns: 240px minmax(0, 1fr) 310px; align-items: start; min-height: 640px; background: #fff; border: 1px solid var(--web-line); border-top: 0; }
.web-config-step-rail { align-self: stretch; padding: 18px 0; background: #eef1f1; border-right: 1px solid var(--web-line); }
.web-config-step-rail button { width: 100%; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: start; padding: 14px 16px; color: #536064; background: transparent; border: 0; border-left: 3px solid transparent; text-align: left; cursor: pointer; }
.web-config-step-rail button:hover { background: #e3e8e8; }
.web-config-step-rail button.is-active { color: #fff; background: var(--web-navy); border-left-color: var(--web-petrol-bright); }
.web-config-step-rail button > span:first-child { width: 30px; height: 30px; display: grid; place-items: center; color: #536064; background: #fff; border: 1px solid #c7d0d1; border-radius: 50%; font-size: 12px; font-weight: 850; }
.web-config-step-rail button.is-complete > span:first-child { color: #fff; background: var(--web-petrol); border-color: var(--web-petrol); }
.web-config-step-rail button.is-active > span:first-child { color: var(--web-navy); background: #75c8cf; border-color: #75c8cf; }
.web-config-step-rail button strong { display: block; margin: 1px 0 4px; font-size: 14px; line-height: 1.18; }
.web-config-step-rail button small { display: block; overflow: hidden; color: #788488; font-size: 12px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.web-config-step-rail button.is-active small { color: #bfcdd0; }
.web-config-rail-summary { margin-top: 12px; border-top: 1px solid #d1d8d9 !important; }
.web-config-stage,
.web-config-summary-main { min-width: 0; padding: 36px clamp(24px, 3vw, 46px); }
.web-config-stage-head { margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--web-line); }
.web-config-stage-head > span { color: var(--web-petrol); font-size: 13px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.web-config-stage-head h2 { margin: 5px 0 7px; font-family: Trirong, Georgia, serif; font-size: clamp(32px, 3.2vw, 46px); font-weight: 400; line-height: 1.08; }
.web-config-stage-head p { margin: 0; color: var(--web-muted); font-size: 15px; }
.web-config-chapter-groups { display: grid; gap: 34px; }
.web-config-subgroup { min-width: 0; padding: 23px; background: #f7f9f9; border: 1px solid var(--web-line); border-radius: 16px; }
.web-config-subgroup > header { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; align-items: start; margin-bottom: 18px; }
.web-config-subgroup > header > span { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: var(--web-petrol); border-radius: 50%; font-size: 11px; font-weight: 850; }
.web-config-subgroup h3 { margin: 0; font-family: Montserrat, Arial, sans-serif; font-size: 18px; font-weight: 750; line-height: 1.25; }
.web-config-subgroup header p { margin: 4px 0 0; color: var(--web-muted); font-size: 12px; }
.web-config-subgroup .web-config-choice > span { background: #fff; border-radius: 12px; }
.web-config-subgroup .web-choice-visual { border-radius: 9px; }
.web-config-subgroup .web-config-choice input:checked + span { background: var(--web-navy); }
.web-config-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.web-config-choice > span { min-height: 132px; display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 15px; align-items: center; padding: 13px 46px 13px 13px; background: #f4f6f6; border: 1px solid #d8dede; }
.web-config-choice > span::after { top: 22px; transform: none; }
.web-config-choice input:checked + span { color: #fff; background: var(--web-navy); border-color: var(--web-petrol-bright); box-shadow: inset 0 0 0 1px var(--web-petrol-bright); }
.web-choice-copy { min-width: 0; }
.web-choice-copy strong { display: block; font-size: 15px; line-height: 1.25; }
.web-choice-copy small { display: block; margin-top: 5px; font-size: 12px; }
.web-choice-visual { width: 82px; height: 88px; display: grid; place-items: center; overflow: hidden; color: #fff; background: linear-gradient(145deg, #55656a, #1b272b); border: 1px solid rgba(0,0,0,.15); font-family: Trirong, Georgia, serif; font-size: 28px; font-style: normal; }
.web-choice-visual img { width: 100%; height: 100%; object-fit: cover; }
.web-config-choice input:checked + span .web-choice-visual { border-color: #78cbd2; box-shadow: 0 0 0 2px #78cbd2; }
.web-config-stage-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 22px; border-top: 1px solid var(--web-line); }
.web-config-stage-actions button { min-height: 48px; padding: 0 21px; color: var(--web-navy); background: #eef1f1; border: 0; font-size: 13px; font-weight: 850; cursor: pointer; }
.web-config-stage-actions button:disabled { opacity: .35; cursor: default; }
.web-config-stage-actions button:last-child { margin-left: auto; color: #fff; background: var(--web-petrol); }
.web-config-stage-actions button:last-child:hover { background: var(--web-petrol-bright); }
.web-config-stage-actions button span { margin-left: 12px; }
.web-config-live { position: sticky; top: 20px; margin: 20px 20px 20px 0; padding: 20px; color: #fff; background: var(--web-navy); border-top: 3px solid var(--web-petrol-bright); }
.web-config-live-image { position: relative; height: 190px; overflow: hidden; background: linear-gradient(145deg, #f2f5f5, #d5ddde); }
.web-config-live-image img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; padding: 14px; object-fit: contain; }
.web-config-live-image > span { position: absolute; top: 10px; left: 10px; padding: 5px 8px; color: #fff; background: rgba(10,18,21,.78); border-top: 2px solid var(--web-petrol-bright); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.web-config-live > p { margin: 18px 0 3px; color: #73c5cd; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.web-config-live h3 { margin: 0; font-family: Trirong, Georgia, serif; font-size: 30px; font-weight: 400; }
.web-config-live > small { color: #c5d1d4; font-size: 13px; }
.web-config-live-count { display: flex; align-items: baseline; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #4b5c61; }
.web-config-live-count strong { color: #76cad1; font-size: 27px; }
.web-config-live-count span { color: #c5d1d4; font-size: 13px; }
.web-config-live ul { margin: 8px 0 0; padding: 0; list-style: none; }
.web-config-live li { padding: 9px 0; border-bottom: 1px solid #3f5055; }
.web-config-live li span { display: block; color: #91a4a9; font-size: 12px; }
.web-config-live li strong { display: block; margin-top: 2px; font-size: 13px; }
.web-config-live-empty { margin-top: 14px; color: #aebec2; font-size: 13px; }
.web-config-no-price { margin: 18px -20px -20px; padding: 13px 20px; color: #c7e9ec; background: #0a6772; font-size: 12px; line-height: 1.35; }
.web-config-public-price { margin: 18px -20px -20px; padding: 15px 20px 17px; color: #fff; background: var(--web-petrol); }
.web-config-public-price small, .web-config-public-price strong, .web-config-public-price span { display: block; }
.web-config-public-price small { color: #c8edf0; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.web-config-public-price strong { margin-top: 2px; font-family: Trirong, Georgia, serif; font-size: 28px; font-weight: 600; }
.web-config-public-price span { margin-top: 3px; color: #d9eef0; font-size: 10px; line-height: 1.35; }
.web-config-summary-main .web-config-final { grid-template-columns: 1fr; }
.web-config-summary-main .web-config-final aside { max-height: 430px; overflow: auto; }
.web-config-summary-main #ks-config-contact { margin-top: 14px; }
.web-config-summary-main #ks-config-contact .web-config-wish-field { margin: 0 0 24px; }
.web-config-print-only { display: none; }

/* Shared content, contact and policy pages */
.web-content-hero { padding: 76px 0 82px; background: var(--web-paper); border-bottom: 1px solid var(--web-line); }
.web-content-hero .web-breadcrumb { margin-bottom: 48px; }
.web-content-hero h1 { max-width: 980px; margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(48px, 6vw, 82px); font-weight: 300; letter-spacing: -.04em; line-height: 1.05; }
.web-content-hero .web-container > p:last-child:not(:empty) { max-width: 790px; margin: 24px 0 0; color: var(--web-muted); font-size: 18px; }
.web-content-main { padding: 82px 0 105px; }
.web-policy-layout { display: grid; grid-template-columns: minmax(0, 920px) 250px; gap: clamp(55px, 8vw, 120px); align-items: start; }
.web-policy-copy { min-width: 0; color: #30393c; }
.web-policy-copy > div > div:first-child { margin-top: 0; }
.web-policy-copy h2 { margin: 48px 0 15px; color: var(--web-ink); font-family: Trirong, Georgia, serif; font-size: 29px; font-weight: 500; line-height: 1.25; }
.web-policy-copy h2:first-child { margin-top: 0; }
.web-policy-copy h3, .web-policy-copy h4 { margin: 30px 0 12px; color: var(--web-ink); font-size: 17px; }
.web-policy-copy p, .web-policy-copy li { font-size: 15px; line-height: 1.75; }
.web-policy-copy p { margin: 0 0 17px; }
.web-policy-copy ul, .web-policy-copy ol { display: grid; gap: 8px; margin: 14px 0 23px; padding-left: 24px; }
.web-policy-copy a { color: var(--web-petrol); overflow-wrap: anywhere; }
.web-policy-nav { position: sticky; top: 120px; display: grid; padding: 26px; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-policy-nav strong { margin-bottom: 14px; color: #fff; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.web-policy-nav a { padding: 10px 0; color: #cad6d9; border-bottom: 1px solid #35465a; font-size: 13px; text-decoration: none; }
.web-policy-nav a:hover { color: #fff; }
.web-contact-layout { display: grid; grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr); gap: 42px; align-items: start; }
.web-contact-details { overflow: hidden; color: #d7e0e2; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-contact-details > div { padding: 30px 34px; border-bottom: 1px solid #35465a; }
.web-contact-details > div:last-child { border-bottom: 0; }
.web-contact-details small { display: block; margin-bottom: 10px; color: #70c0c8; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.web-contact-details h2 { margin: 0 0 13px; color: #fff; font-family: Trirong, Georgia, serif; font-size: 27px; font-weight: 500; line-height: 1.3; }
.web-contact-details p { margin: 0 0 13px; font-size: 14px; }
.web-contact-details a { color: #fff; font-weight: 700; }
.web-contact-form { padding: clamp(28px, 4vw, 52px); background: #f3f5f5; border: 1px solid var(--web-line); }
.web-contact-form-head { margin-bottom: 32px; }
.web-contact-form-head h2 { margin: 0 0 10px; font-family: Trirong, Georgia, serif; font-size: clamp(34px, 4vw, 48px); font-weight: 400; line-height: 1.18; }
.web-contact-form-head > p:last-child { margin: 0; color: var(--web-muted); font-size: 13px; }
.web-contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 15px; }
.web-contact-fields label, .web-contact-wishes { display: grid; gap: 7px; }
.web-contact-fields label > span, .web-contact-wishes > span, .web-contact-interests legend { color: #455155; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.web-contact-fields input, .web-contact-fields select, .web-contact-wishes textarea { width: 100%; min-width: 0; padding: 13px 14px; color: var(--web-ink); background: #fff; border: 1px solid #c6cdcf; border-radius: 0; }
.web-contact-fields input, .web-contact-fields select { height: 50px; }
.web-contact-fields input:focus, .web-contact-fields select:focus, .web-contact-wishes textarea:focus { border-color: var(--web-petrol); outline: 3px solid rgba(11, 138, 152, .14); }
.web-contact-interests { margin: 31px 0 25px; padding: 0; border: 0; }
.web-contact-interests legend { margin-bottom: 12px; }
.web-contact-interests > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.web-contact-interests label { position: relative; display: block; }
.web-contact-interests input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.web-contact-interests span { min-height: 48px; display: flex; align-items: center; padding: 10px 38px 10px 14px; background: #fff; border: 1px solid #c6cdcf; font-size: 13px; cursor: pointer; }
.web-contact-interests span::after { content: ''; position: absolute; top: 15px; right: 14px; width: 16px; height: 16px; border: 1px solid #829094; }
.web-contact-interests input:checked + span { color: #fff; background: var(--web-navy); border-color: var(--web-navy); }
.web-contact-interests input:checked + span::after { content: '✓'; display: grid; place-items: center; color: #fff; background: var(--web-petrol-bright); border-color: var(--web-petrol-bright); font-size: 11px; }
.web-contact-interests input:focus-visible + span { outline: 3px solid rgba(11, 138, 152, .25); }
.web-contact-wishes { margin-bottom: 22px; }
.web-contact-wishes textarea { resize: vertical; }
.web-contact-consent { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; margin: 0 0 25px; color: #465256; font-size: 12px; line-height: 1.6; }
.web-contact-consent input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--web-petrol); }
.web-contact-consent a { color: var(--web-petrol); }
.web-contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.web-contact-form .web-button { border: 0; cursor: pointer; }
.web-contact-form .web-button:disabled { cursor: wait; opacity: .55; }
.web-contact-status { min-height: 24px; margin-top: 17px; color: #4e5a5d; font-size: 13px; }
.web-contact-status.is-error { color: #a52520; }
.web-contact-status.is-success { display: grid; gap: 3px; padding: 17px 19px; color: #173e35; background: #e2f2ed; border-left: 4px solid #287a65; }
.web-contact-status.is-success span { font-size: 12px; }
.web-spaculture-story { padding: 85px 0; background: #fff; }
.web-spaculture-story-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(45px, 7vw, 105px); align-items: center; }
.web-spaculture-story-grid > img { width: 100%; min-height: 520px; object-fit: cover; }
.web-spaculture-story-grid h2 { margin: 0 0 20px; font-family: Trirong, Georgia, serif; font-size: clamp(40px, 4.8vw, 65px); font-weight: 350; letter-spacing: -.035em; line-height: 1.08; }
.web-spaculture-story-grid p:not(.web-kicker) { color: var(--web-muted); font-size: 17px; }
.web-spaculture-story-grid .web-button { margin-top: 18px; }
.web-spaculture-products { background: var(--web-paper); }
.web-spaculture-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.web-spaculture-product { display: flex; min-width: 0; flex-direction: column; padding: 0 24px 28px; background: #fff; border: 1px solid var(--web-line); }
.web-spaculture-product > div { height: 290px; display: grid; place-items: center; margin: 0 -24px 25px; overflow: hidden; background: #e8edef; }
.web-spaculture-product img { width: 100%; height: 100%; object-fit: cover; }
.web-spaculture-product .web-kicker { margin-bottom: 5px; font-size: 10px; }
.web-spaculture-product h2 { margin: 0 0 9px; font-family: Trirong, Georgia, serif; font-size: 29px; font-weight: 500; line-height: 1.2; }
.web-spaculture-product > p:not(.web-kicker) { flex: 1; margin: 0 0 19px; color: var(--web-muted); font-size: 13px; }
.web-spaculture-product > strong { margin-bottom: 15px; font-size: 17px; }
.web-spaculture-product .web-text-link { align-self: flex-start; font-size: 11px; }

/* Editorial marketing pages */
.web-marketing-hero { padding: 72px 0 0; background: #f2eee7; }
.web-marketing-hero .web-breadcrumb { margin-bottom: 52px; }
.web-marketing-hero-copy { max-width: 1030px; padding-bottom: 56px; }
.web-marketing-hero h1 { max-width: 980px; margin: 0 0 26px; font-family: Trirong, Georgia, serif; font-size: clamp(56px, 7vw, 98px); font-weight: 300; letter-spacing: -.045em; line-height: 1.02; }
.web-marketing-hero-copy > p:not(.web-kicker) { max-width: 850px; margin: 0; color: #4f5a5d; font-size: 18px; line-height: 1.75; }
.web-marketing-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.web-marketing-badges span { padding: 9px 15px; background: rgba(255,255,255,.6); border: 1px solid #d1cbc2; border-radius: 999px; color: #293236; font-size: 12px; font-weight: 800; }
.web-marketing-hero > .web-container > img { display: block; width: 100%; height: min(610px, 55vw); min-height: 420px; object-fit: cover; object-position: center; border-radius: 24px 24px 0 0; }
.web-marketing-section { background: #fff; }
.web-marketing-section:nth-of-type(even) { background: var(--web-paper); }
.web-marketing-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr); gap: clamp(55px, 8vw, 120px); align-items: center; }
.web-marketing-section.is-reversed .web-marketing-copy { order: 2; }
.web-marketing-section.is-reversed .web-marketing-image { order: 1; }
.web-marketing-copy h2, .web-marketing-card-section h2, .web-marketing-cta h2 { margin: 0 0 20px; font-family: Trirong, Georgia, serif; font-size: clamp(42px, 5vw, 68px); font-weight: 350; letter-spacing: -.035em; line-height: 1.08; }
.web-marketing-copy > p:not(.web-kicker) { margin: 0; color: var(--web-muted); font-size: 17px; line-height: 1.72; }
.web-marketing-image { position: relative; overflow: hidden; padding: 0; background: transparent; border: 0; border-radius: 18px; }
.web-marketing-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.web-marketing-items { display: grid; gap: 0; margin-top: 34px; border-top: 1px solid var(--web-line); }
.web-marketing-items article { padding: 23px 0; border-bottom: 1px solid var(--web-line); }
.web-marketing-items h3 { margin: 0 0 7px; font-family: Trirong, Georgia, serif; font-size: 25px; font-weight: 550; }
.web-marketing-items p { margin: 0; color: var(--web-muted); font-size: 14px; line-height: 1.65; }
.web-marketing-card-section { background: var(--web-paper); }
.web-marketing-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.web-marketing-card { min-width: 0; padding: 29px 27px 31px; background: #fff; border: 1px solid var(--web-line); border-top: 3px solid var(--web-petrol); }
.web-marketing-card > span { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-marketing-card h3 { margin: 22px 0 11px; font-family: Trirong, Georgia, serif; font-size: 28px; font-weight: 550; line-height: 1.15; }
.web-marketing-card p { margin: 0; color: var(--web-muted); font-size: 14px; line-height: 1.65; }
.web-marketing-cta { padding: 88px 0; color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-marketing-cta-layout { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 70px; align-items: end; }
.web-marketing-cta h2 { max-width: 820px; font-size: clamp(39px, 5vw, 62px); }
.web-marketing-cta p:not(.web-kicker) { max-width: 730px; margin: 0; color: #cbd6d8; font-size: 17px; }
.web-marketing-cta .web-actions { margin: 0; white-space: nowrap; }
.web-faq-section { background: var(--web-paper); }
.web-faq-groups { display: grid; gap: 18px; }
.web-faq-group { display: grid; grid-template-columns: 260px minmax(0, 1fr); overflow: hidden; background: #fff; border: 1px solid var(--web-line); }
.web-faq-group > header { padding: 30px; color: #fff; background: var(--web-navy); border-top: 3px solid var(--web-petrol-bright); }
.web-faq-group > header > span { color: #75c4cc; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-faq-group h2 { margin: 16px 0 0; font-family: Trirong, Georgia, serif; font-size: 31px; font-weight: 500; line-height: 1.15; }
.web-faq-group > div { min-width: 0; padding: 8px 30px; }
.web-faq-group details { border-bottom: 1px solid var(--web-line); }
.web-faq-group details:last-child { border-bottom: 0; }
.web-faq-group summary { display: grid; grid-template-columns: minmax(0, 1fr) 30px; gap: 20px; align-items: center; padding: 24px 0; cursor: pointer; font-size: 16px; font-weight: 800; line-height: 1.45; list-style: none; }
.web-faq-group summary::-webkit-details-marker { display: none; }
.web-faq-group summary span { display: grid; place-items: center; width: 28px; height: 28px; color: var(--web-navy); border: 1px solid #9ca8aa; border-radius: 50%; transition: transform .2s ease, color .2s ease, border-color .2s ease; }
.web-faq-group details[open] summary span { color: var(--web-petrol); border-color: var(--web-petrol); transform: rotate(45deg); }
.web-faq-group details p { margin: -4px 50px 24px 0; color: var(--web-muted); font-size: 14px; line-height: 1.72; }
.web-gallery-hero { padding: 72px 0 90px; background: #f2eee7; }
.web-gallery-hero .web-breadcrumb { margin-bottom: 52px; }
.web-gallery-head { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); gap: clamp(45px, 7vw, 110px); align-items: end; }
.web-gallery-head h1 { max-width: 820px; margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(56px, 7vw, 94px); font-weight: 300; letter-spacing: -.045em; line-height: 1.02; }
.web-gallery-head > div:last-child > p { margin: 0; color: #4f5a5d; font-size: 18px; line-height: 1.75; }
.web-gallery-video { position: relative; width: 100%; margin-top: 58px; overflow: hidden; background: var(--web-navy); border-radius: 24px; aspect-ratio: 16 / 9; }
.web-gallery-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.web-gallery-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(45px, 7vw, 110px); align-items: end; padding-top: 58px; }
.web-gallery-intro h2 { margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(40px, 5vw, 67px); font-weight: 350; letter-spacing: -.035em; line-height: 1.08; }
.web-gallery-intro p { margin: 0; color: var(--web-muted); font-size: 16px; line-height: 1.72; }
.web-gallery-section { background: #fff; }
.web-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 230px; gap: 15px; }
.web-gallery-item { min-width: 0; min-height: 0; margin: 0; overflow: hidden; background: #dfe5e6; }
.web-gallery-item.is-wide { grid-column: span 2; }
.web-gallery-item.is-tall { grid-row: span 2; }
.web-gallery-item button { width: 100%; height: 100%; padding: 0; overflow: hidden; background: transparent; border: 0; cursor: zoom-in; }
.web-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.web-gallery-item button:hover img, .web-gallery-item button:focus-visible img { transform: scale(1.035); }
.web-gallery-item button:focus-visible { outline: 4px solid var(--web-petrol-bright); outline-offset: -4px; }
.web-gallery-dialog { width: min(1180px, calc(100vw - 42px)); max-width: none; height: min(88vh, 900px); padding: 0; overflow: hidden; background: var(--web-navy); border: 0; }
.web-gallery-dialog::backdrop { background: rgba(3, 10, 13, .88); }
.web-gallery-dialog > button { position: absolute; z-index: 2; top: 14px; right: 14px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: #fff; background: rgba(3, 10, 13, .75); border: 1px solid rgba(255,255,255,.55); border-radius: 50%; cursor: pointer; font-size: 31px; font-weight: 300; line-height: 1; }
.web-gallery-dialog img { display: block; width: 100%; height: 100%; object-fit: contain; }
.web-why-hero { padding: 72px 0 86px; background: #f2eee7; }
.web-why-hero .web-breadcrumb { margin-bottom: 52px; }
.web-why-hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(470px, 1.1fr); gap: clamp(45px, 7vw, 100px); align-items: center; }
.web-why-hero-copy h1 { margin: 0 0 25px; font-family: Trirong, Georgia, serif; font-size: clamp(54px, 6.2vw, 86px); font-weight: 300; letter-spacing: -.045em; line-height: 1.02; }
.web-why-hero-copy > p:not(.web-kicker) { margin: 0; color: #4f5a5d; font-size: 17px; line-height: 1.72; }
.web-why-hero-copy .web-actions { margin-top: 31px; }
.web-why-hero-image { position: relative; overflow: hidden; padding: 0; background: transparent; border: 0; border-radius: 18px; }
.web-why-hero-image > img { display: block; width: 100%; min-height: 590px; object-fit: cover; }
.web-why-hero-image > div { position: absolute; right: 30px; bottom: 30px; display: grid; min-width: 145px; padding: 16px 20px; color: #fff; background: rgba(8, 25, 42, .9); border-left: 3px solid var(--web-petrol-bright); }
.web-why-hero-image > div span { font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.web-why-hero-image > div strong { font-family: Trirong, Georgia, serif; font-size: 39px; font-weight: 450; }
.web-why-facts { color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-why-facts .web-container { display: grid; grid-template-columns: repeat(4, 1fr); }
.web-why-facts .web-container > div { display: grid; min-height: 150px; align-content: center; gap: 4px; padding: 26px 30px; border-right: 1px solid #34465a; }
.web-why-facts .web-container > div:last-child { border-right: 0; }
.web-why-facts strong { font-family: Trirong, Georgia, serif; font-size: 31px; font-weight: 450; }
.web-why-facts span { color: #cbd6d8; font-size: 12px; line-height: 1.45; }
.web-why-origin { background: var(--web-paper); }
.web-why-split { display: grid; grid-template-columns: minmax(460px, 1.08fr) minmax(0, .92fr); gap: clamp(55px, 8vw, 120px); align-items: center; }
.web-why-feature.is-reversed .web-why-image { order: 2; }
.web-why-image { overflow: hidden; padding: 0; background: transparent; border: 0; border-radius: 18px; }
.web-why-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.web-why-copy h2, .web-why-decision h2 { margin: 0 0 20px; font-family: Trirong, Georgia, serif; font-size: clamp(42px, 5vw, 67px); font-weight: 350; letter-spacing: -.035em; line-height: 1.08; }
.web-why-copy > p:not(.web-kicker) { margin: 0; color: var(--web-muted); font-size: 16px; line-height: 1.72; }
.web-why-copy > ul { display: grid; gap: 0; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--web-line); list-style: none; }
.web-why-copy > ul li { display: grid; grid-template-columns: 25px 1fr; gap: 10px; padding: 17px 0; border-bottom: 1px solid var(--web-line); font-size: 13px; font-weight: 750; }
.web-why-copy > ul li span { color: var(--web-petrol); }
.web-why-reasons { background: #fff; }
.web-why-reason-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.web-why-reason { display: flex; min-width: 0; flex-direction: column; padding: 29px 27px 31px; background: var(--web-paper); border: 1px solid var(--web-line); border-top: 3px solid var(--web-petrol); }
.web-why-reason > span { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-why-reason .web-kicker { margin: 21px 0 7px; }
.web-why-reason h3 { margin: 0 0 12px; font-family: Trirong, Georgia, serif; font-size: 28px; font-weight: 550; line-height: 1.15; }
.web-why-reason > p:not(.web-kicker) { flex: 1; margin: 0 0 22px; color: var(--web-muted); font-size: 14px; line-height: 1.65; }
.web-why-reason .web-text-link { align-self: flex-start; font-size: 11px; }
.web-why-feature.is-dark { color: #fff; background: var(--web-navy); }
.web-why-feature.is-dark .web-why-copy > p:not(.web-kicker) { color: #cbd6d8; }
.web-why-feature.is-dark .web-text-link { color: #fff; }
.web-why-feature.is-paper { background: var(--web-paper); }
.web-why-feature .web-text-link { margin-top: 26px; }
.web-why-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.web-why-mini-grid div { display: grid; gap: 7px; padding: 18px; background: rgba(255,255,255,.72); border: 1px solid var(--web-line); }
.web-why-mini-grid strong { color: var(--web-petrol); font-family: Trirong, Georgia, serif; font-size: 22px; }
.web-why-mini-grid span { color: var(--web-muted); font-size: 12px; line-height: 1.55; }
.web-why-decision { background: #fff; }
.web-why-decision-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr); gap: clamp(55px, 8vw, 120px); align-items: start; }
.web-why-decision-list { border-top: 1px solid var(--web-line); }
.web-why-decision-list > div { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 23px 0; border-bottom: 1px solid var(--web-line); }
.web-why-decision-list > div > span { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-why-decision-list p { margin: 0; color: var(--web-muted); font-size: 14px; line-height: 1.65; }
.web-why-decision-list strong { color: var(--web-ink); }
.web-blog-hero .web-why-hero-image > img { min-height: 610px; }
.web-blog-features { background: var(--web-paper); }
.web-blog-feature-grid, .web-blog-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.web-blog-feature, .web-blog-card { min-width: 0; margin: 0; overflow: hidden; background: #fff; border: 1px solid var(--web-line); }
.web-blog-feature > a, .web-blog-card > a { display: block; height: 100%; color: inherit; text-decoration: none; }
.web-blog-feature img { display: block; width: 100%; height: 360px; object-fit: cover; }
.web-blog-feature > a > div, .web-blog-card > a > div { padding: 27px 28px 30px; }
.web-blog-feature h3, .web-blog-card h3 { margin: 0 0 12px; font-family: Trirong, Georgia, serif; font-size: 31px; font-weight: 500; line-height: 1.15; }
.web-blog-feature div > p:not(.web-kicker), .web-blog-card div > p { margin: 0 0 20px; color: var(--web-muted); font-size: 14px; line-height: 1.65; }
.web-blog-feature div > span, .web-blog-card div > strong { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.web-blog-feature a:hover img, .web-blog-card a:hover img { transform: scale(1.025); }
.web-blog-feature img, .web-blog-card img { transition: transform .4s ease; }
.web-blog-overview { background: #fff; }
.web-blog-card { background: var(--web-paper); }
.web-blog-card img { display: block; width: 100%; height: 430px; object-fit: cover; }
.web-blog-meta { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 20px; }
.web-blog-meta span { color: var(--web-petrol); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.web-blog-meta small { color: var(--web-muted); font-size: 11px; }
.web-blog-article { scroll-margin-top: 100px; }
.web-blog-article.is-paper { background: var(--web-paper); }
.web-blog-article.is-white { background: #fff; }
.web-blog-article-inner > header { max-width: 980px; margin-bottom: 38px; }
.web-blog-article-inner > header h2 { margin: 0 0 18px; font-family: Trirong, Georgia, serif; font-size: clamp(43px, 5.4vw, 70px); font-weight: 350; letter-spacing: -.035em; line-height: 1.07; }
.web-blog-article-inner > header > p { max-width: 830px; margin: 0; color: var(--web-muted); font-size: 17px; line-height: 1.7; }
.web-blog-article-inner > img { display: block; width: 100%; height: min(720px, 55vw); margin-bottom: 48px; object-fit: cover; }
.web-blog-copy { max-width: 920px; margin-inline: auto; }
.web-blog-lead { margin: 0 0 35px; font-family: Trirong, Georgia, serif; font-size: 25px; line-height: 1.55; }
.web-blog-chapters { display: grid; grid-template-columns: 1fr 1fr; gap: 0 42px; border-top: 1px solid var(--web-line); }
.web-blog-chapters section { padding: 28px 0; border-bottom: 1px solid var(--web-line); }
.web-blog-chapters h3 { margin: 0 0 10px; font-family: Trirong, Georgia, serif; font-size: 25px; font-weight: 550; line-height: 1.25; }
.web-blog-chapters p { margin: 0; color: var(--web-muted); font-size: 14px; line-height: 1.72; }
.web-blog-conclusion { margin: 35px 0 0; padding: 23px 25px; color: #324044; background: #e6eeee; border-left: 4px solid var(--web-petrol); font-size: 14px; line-height: 1.7; }
.web-blog-closing { color: #fff; background: var(--web-navy); }
.web-blog-closing .web-why-copy > p:not(.web-kicker) { color: #cbd6d8; }
.web-blog-closing .web-text-link { color: #fff; }
.web-advisor-hero .web-why-hero-image > img { min-height: 570px; }
.web-advisor-topics { background: var(--web-paper); }
.web-advisor-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.web-advisor-topic { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--web-line); }
.web-advisor-topic > a { display: flex; height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.web-advisor-topic img { display: block; width: 100%; height: 250px; object-fit: cover; transition: transform .4s ease; }
.web-advisor-topic > a:hover img { transform: scale(1.025); }
.web-advisor-topic > a > div { display: flex; flex: 1; flex-direction: column; padding: 25px 24px 28px; }
.web-advisor-topic h3 { margin: 0 0 12px; font-family: Trirong, Georgia, serif; font-size: 27px; font-weight: 550; line-height: 1.18; }
.web-advisor-topic div > p:not(.web-kicker) { flex: 1; margin: 0 0 22px; color: var(--web-muted); font-size: 14px; line-height: 1.65; }
.web-advisor-topic strong { color: var(--web-petrol); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.web-advisor-planning { color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-advisor-planning .web-section-intro > p:not(.web-kicker) { color: #cbd6d8; }
.web-advisor-planning-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #40515e; border-left: 1px solid #40515e; }
.web-advisor-planning-grid article { min-height: 245px; padding: 30px 28px; border-right: 1px solid #40515e; border-bottom: 1px solid #40515e; }
.web-advisor-planning-grid article > span { color: var(--web-petrol-bright); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-advisor-planning-grid h3 { margin: 25px 0 11px; font-family: Trirong, Georgia, serif; font-size: 29px; font-weight: 500; }
.web-advisor-planning-grid p { margin: 0; color: #cbd6d8; font-size: 14px; line-height: 1.67; }
.web-advisor-detail { background: #fff; }
.web-advisor-professionals { background: var(--web-paper); }
.web-advisor-professional-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.web-advisor-professional-grid article { padding: 34px 32px 37px; background: #fff; border: 1px solid var(--web-line); border-top: 3px solid var(--web-petrol); }
.web-advisor-professional-grid h3 { margin: 0 0 13px; font-family: Trirong, Georgia, serif; font-size: 34px; font-weight: 500; line-height: 1.15; }
.web-advisor-professional-grid article > p:not(.web-kicker) { margin: 0 0 25px; color: var(--web-muted); font-size: 14px; line-height: 1.68; }
.web-advisor-professional-grid .web-button { color: #fff; background: var(--web-black); }
.web-advisor-professional-grid .web-button:hover { background: var(--web-petrol); }
.web-showroom-hero .web-why-hero-image > img { height: clamp(520px, 48vw, 620px); min-height: 0; }
.web-showroom-quote { padding: 70px 0; background: var(--web-paper); }
.web-showroom-quote blockquote { max-width: 1040px; margin: 13px 0 0; font-family: Trirong, Georgia, serif; font-size: clamp(40px, 5.5vw, 72px); font-weight: 350; letter-spacing: -.035em; line-height: 1.14; }
.web-showroom-story.is-white { background: #fff; }
.web-showroom-story.is-paper { background: var(--web-paper); }
.web-showroom-story.is-reversed .web-why-image { order: 2; }
.web-showroom-story .web-why-image img { height: auto; aspect-ratio: 4 / 5; }
.web-showroom-visit { background: var(--web-paper); }
.web-showroom-visit-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr); gap: clamp(55px, 8vw, 120px); align-items: start; }
.web-showroom-visit dl { margin: 0; padding: 0 31px; color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-showroom-visit dl > div { display: grid; grid-template-columns: 145px 1fr; gap: 25px; padding: 25px 0; border-bottom: 1px solid #40515e; }
.web-showroom-visit dl > div:last-child { border-bottom: 0; }
.web-showroom-visit dt { color: #71c0c8; font-size: 11px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.web-showroom-visit dd { margin: 0; color: #e2e9eb; font-size: 14px; line-height: 1.65; }
.web-showroom-visit dd a { color: #fff; }
.web-showroom-booking { background: #fff; scroll-margin-top: 95px; }
.web-showroom-booking-grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(520px, 1.22fr); gap: clamp(50px, 7vw, 100px); align-items: start; }
.web-showroom-booking .web-contact-wishes { margin-top: 22px; }
.web-showroom-form-note { margin: 17px 0 0; color: var(--web-muted); font-size: 12px; }
.web-hydro-hero .web-why-hero-image > img { min-height: 570px; }
.web-hydro-principles { background: #fff; }
.web-hydro-principle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.web-hydro-principle-grid article { padding: 31px 28px 34px; background: var(--web-paper); border: 1px solid var(--web-line); border-top: 3px solid var(--web-petrol); }
.web-hydro-principle-grid article > span { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-hydro-principle-grid h3 { margin: 24px 0 11px; font-family: Trirong, Georgia, serif; font-size: 29px; font-weight: 550; line-height: 1.16; }
.web-hydro-principle-grid p { margin: 0; color: var(--web-muted); font-size: 14px; line-height: 1.68; }
#massagekonzepte { scroll-margin-top: 95px; }
.web-hydro-concept.is-paper { background: var(--web-paper); }
.web-hydro-concept.is-white { background: #fff; }
.web-hydro-concept.is-reversed .web-why-image { order: 2; }
.web-hydro-facts { display: grid; grid-template-columns: 1fr 1fr; margin-top: 31px; border-top: 1px solid var(--web-line); border-bottom: 1px solid var(--web-line); }
.web-hydro-facts > div { display: grid; gap: 5px; padding: 19px 18px 19px 0; }
.web-hydro-facts > div + div { padding-left: 18px; border-left: 1px solid var(--web-line); }
.web-hydro-facts span { color: var(--web-muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.web-hydro-facts strong { color: var(--web-ink); font-family: Trirong, Georgia, serif; font-size: 20px; font-weight: 550; }
.web-hydro-fit { color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-hydro-fit .web-section-intro { margin-inline: auto; text-align: center; }
.web-hydro-fit .web-section-intro > p:not(.web-kicker) { margin-inline: auto; color: #cbd6d8; }
.web-hydro-fit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #40515e; border-left: 1px solid #40515e; }
.web-hydro-fit-grid article { min-height: 230px; padding: 30px 28px; border-right: 1px solid #40515e; border-bottom: 1px solid #40515e; }
.web-hydro-fit-grid article > span { color: var(--web-petrol-bright); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-hydro-fit-grid h3 { margin: 25px 0 11px; font-family: Trirong, Georgia, serif; font-size: 29px; font-weight: 500; }
.web-hydro-fit-grid p { margin: 0; color: #cbd6d8; font-size: 14px; line-height: 1.67; }
.web-cover-hero .web-why-hero-image > img { min-height: 570px; }
.web-cover-benefits { background: var(--web-paper); }
.web-cover-benefits .web-hydro-principle-grid article { background: #fff; }
.web-cover-solutions { background: #fff; scroll-margin-top: 95px; }
.web-cover-solution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.web-cover-solution { min-width: 0; overflow: hidden; background: var(--web-paper); border: 1px solid var(--web-line); }
.web-cover-solution > img { display: block; width: 100%; height: 265px; object-fit: cover; }
.web-cover-solution > div { padding: 27px 25px 30px; }
.web-cover-solution h3 { margin: 0 0 13px; font-family: Trirong, Georgia, serif; font-size: 29px; font-weight: 550; line-height: 1.15; }
.web-cover-lead { display: block; margin-bottom: 12px; color: var(--web-ink); font-size: 14px; }
.web-cover-solution div > p:not(.web-kicker) { margin: 0 0 22px; color: var(--web-muted); font-size: 13px; line-height: 1.65; }
.web-cover-facts { border-top: 1px solid var(--web-line); }
.web-cover-facts > div { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--web-line); }
.web-cover-facts strong { color: var(--web-ink); font-size: 11px; }
.web-cover-facts span { color: var(--web-muted); font-size: 11px; line-height: 1.45; }
.web-cover-design { background: var(--web-paper); }
.web-cover-finishes { background: #fff; scroll-margin-top: 95px; }
.web-cover-material { padding: 38px 0; border-top: 1px solid var(--web-line); }
.web-cover-material > header { display: grid; grid-template-columns: minmax(270px, .7fr) minmax(0, 1.3fr); gap: 55px; align-items: end; margin-bottom: 27px; }
.web-cover-material h3 { margin: 0; font-family: Trirong, Georgia, serif; font-size: 35px; font-weight: 500; }
.web-cover-material header > p { margin: 0; color: var(--web-muted); font-size: 14px; line-height: 1.65; }
.web-cover-swatch-grid { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 10px; }
.web-cover-swatch { min-width: 0; padding: 7px 7px 10px; background: var(--web-paper); border: 1px solid var(--web-line); }
.web-cover-swatch-sample { overflow: hidden; aspect-ratio: 1; background: #e1e5e5; }
.web-cover-swatch-sample.is-blue { background: #27577e; }
.web-cover-swatch img { display: block; width: 100%; height: 100%; object-fit: cover; }
.web-cover-swatch > span { display: block; padding-top: 8px; color: #445155; font-size: 10px; font-weight: 750; text-align: center; }
.web-cover-note { margin: 25px 0 0; padding: 17px 19px; color: var(--web-muted); background: var(--web-paper); border-left: 3px solid var(--web-petrol); font-size: 12px; line-height: 1.6; }
.web-architect-hero .web-why-hero-image > img { min-height: 570px; }
.web-architect-services { background: var(--web-paper); }
.web-architect-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--web-line); border-left: 1px solid var(--web-line); }
.web-architect-service-grid article { min-height: 310px; padding: 31px 27px 34px; background: #fff; border-right: 1px solid var(--web-line); border-bottom: 1px solid var(--web-line); }
.web-architect-service-grid article > span, .web-architect-process-grid article > span { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-architect-service-grid h3, .web-architect-process-grid h3 { margin: 28px 0 12px; font-family: Trirong, Georgia, serif; font-size: 27px; font-weight: 550; line-height: 1.15; }
.web-architect-service-grid p, .web-architect-process-grid p { margin: 0; color: var(--web-muted); font-size: 13px; line-height: 1.67; }
.web-architect-integration { background: #fff; }
.web-architect-integration .web-why-image img { aspect-ratio: 1.25 / 1; }
.web-architect-process { color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-architect-process .web-section-intro > p:not(.web-kicker) { color: #cbd6d8; }
.web-architect-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #40515e; border-left: 1px solid #40515e; }
.web-architect-process-grid article { min-height: 245px; padding: 30px 28px; border-right: 1px solid #40515e; border-bottom: 1px solid #40515e; }
.web-architect-process-grid article > span { color: var(--web-petrol-bright); }
.web-architect-process-grid h3 { color: #fff; }
.web-architect-process-grid p { color: #cbd6d8; }
.web-architect-solutions { background: #fff; }
.web-architect-solution-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.web-architect-solution { overflow: hidden; background: var(--web-paper); border: 1px solid var(--web-line); }
.web-architect-solution > a { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(0, 1.2fr); height: 100%; color: inherit; text-decoration: none; }
.web-architect-solution img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; }
.web-architect-solution > a > div { display: flex; flex-direction: column; justify-content: center; padding: 30px 27px; }
.web-architect-solution h3 { margin: 5px 0 13px; font-family: Trirong, Georgia, serif; font-size: 29px; font-weight: 550; line-height: 1.15; }
.web-architect-solution div > p:not(.web-kicker) { margin: 0 0 23px; color: var(--web-muted); font-size: 13px; line-height: 1.65; }
.web-architect-solution strong { margin-top: auto; color: var(--web-petrol); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.web-architect-ready { color: #fff; background: var(--web-petrol); }
.web-architect-ready-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr); gap: clamp(55px, 8vw, 120px); align-items: start; }
.web-architect-ready .web-why-copy h2, .web-architect-ready .web-why-copy p { color: #fff; }
.web-architect-ready ol { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.4); list-style: none; }
.web-architect-ready li { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: center; min-height: 75px; border-bottom: 1px solid rgba(255,255,255,.4); font-size: 15px; }
.web-architect-ready li span { color: #7cd2da; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-architect-request { background: var(--web-paper); scroll-margin-top: 95px; }
.web-architect-request-grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(520px, 1.22fr); gap: clamp(50px, 7vw, 100px); align-items: start; }
.web-architect-form-note { margin-top: 25px !important; padding: 18px 19px; background: #fff; border-left: 3px solid var(--web-petrol); font-size: 13px !important; }
.web-accessories-hero .web-why-hero-image > img { min-height: 570px; }
.web-accessories-cabinet { overflow: hidden; background: #fff; scroll-margin-top: 95px; }
.web-cabinet-finish-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.web-cabinet-finish-card { overflow: hidden; background: var(--web-paper); border: 1px solid var(--web-line); transition: transform .25s ease, box-shadow .25s ease; }
.web-cabinet-finish-card:hover { transform: translateY(-4px); box-shadow: 0 20px 45px rgba(14,32,49,.11); }
.web-cabinet-finish-card > img { display: block; width: 100%; aspect-ratio: 1.36 / 1; object-fit: cover; background: #e9eceb; }
.web-cabinet-finish-card > div { padding: 25px 25px 27px; }
.web-cabinet-finish-card h3 { margin: 5px 0 11px; font-family: Trirong, Georgia, serif; font-size: 29px; font-weight: 550; line-height: 1.15; }
.web-cabinet-finish-card div > p:not(.web-kicker) { margin: 0; color: var(--web-muted); font-size: 13px; line-height: 1.65; }
.web-cabinet-detail-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr); gap: 50px; align-items: end; margin: 62px 0 27px; padding-top: 42px; color: #fff; border-top: 1px solid rgba(255,255,255,.22); }
.web-cabinet-detail-intro h2 { max-width: 650px; margin: 6px 0 0; font-family: Trirong, Georgia, serif; font-size: clamp(34px, 4vw, 54px); font-weight: 350; letter-spacing: -.035em; line-height: 1.08; }
.web-cabinet-detail-intro > p { max-width: 590px; margin: 0; color: #cbd6d8; font-size: 15px; line-height: 1.7; }
.web-accessories-cabinet .web-container { position: relative; }
.web-accessories-cabinet .web-section-intro { margin-bottom: 34px; }
.web-accessories-cabinet .web-cabinet-detail-intro,
.web-accessories-cabinet .web-cabinet-detail-intro + .web-cabinet-finish-grid,
.web-accessories-cabinet .web-cabinet-note { position: relative; z-index: 1; }
.web-accessories-cabinet::after { content: ''; display: block; height: 0; }
.web-accessories-cabinet .web-cabinet-detail-intro { margin-right: -9999px; margin-left: -9999px; padding-right: 9999px; padding-left: 9999px; background: var(--web-navy); }
.web-accessories-cabinet .web-cabinet-detail-intro + .web-cabinet-finish-grid { margin-right: -9999px; margin-left: -9999px; padding: 0 9999px 38px; background: var(--web-navy); }
.web-cabinet-detail-card { color: #fff; background: #16283c; border-color: #3a4b5d; }
.web-cabinet-detail-card div > p:not(.web-kicker) { color: #cbd6d8; }
.web-cabinet-detail-card .web-kicker { color: #66c8d1; }
.web-cabinet-note { margin: 0 -9999px -90px; padding: 22px 9999px 70px; color: #cbd6d8; background: var(--web-navy); border-top: 1px solid rgba(255,255,255,.22); font-size: 12px; line-height: 1.65; }
.web-accessories-list { background: var(--web-paper); scroll-margin-top: 95px; }
.web-accessory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.web-accessory-card { overflow: hidden; background: #fff; border: 1px solid var(--web-line); }
.web-accessory-card > img { display: block; width: 100%; aspect-ratio: 1.25 / 1; object-fit: cover; background: #5f6060; }
.web-accessory-card > div { padding: 25px 24px 27px; }
.web-accessory-card h3 { margin: 5px 0 12px; font-family: Trirong, Georgia, serif; font-size: 28px; font-weight: 550; line-height: 1.16; }
.web-accessory-card div > p:not(.web-kicker) { min-height: 66px; margin: 0 0 21px; color: var(--web-muted); font-size: 13px; line-height: 1.65; }
.web-accessory-card div > span { display: block; padding-top: 14px; color: var(--web-petrol); border-top: 1px solid var(--web-line); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.web-accessory-note { margin: 25px 0 0; padding: 18px 20px; color: var(--web-muted); background: #fff; border-left: 3px solid var(--web-petrol); font-size: 12px; line-height: 1.65; }
.web-accessories-planning { color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-accessories-planning .web-section-intro > p:not(.web-kicker) { color: #cbd6d8; }
.web-footer-bottom > span:last-child { flex-wrap: wrap; justify-content: flex-end; }

/* Product consultation landing pages */
.web-consult-hero { padding: 34px 0 72px; color: var(--web-black); background: linear-gradient(180deg, #f7f8f7, #eef2f2); }
.web-consult-hero-inner { position: relative; }
.web-consult-hero .web-breadcrumb { margin-bottom: 28px; color: #778388; }
.web-consult-hero .web-breadcrumb a { color: #445156; }
.web-consult-hero-layout { display: grid; grid-template-columns: minmax(390px, .84fr) minmax(0, 1.16fr); gap: clamp(34px, 5vw, 76px); align-items: center; }
.web-consult-hero-copy { max-width: 660px; padding: 36px 0 44px; }
.web-consult-hero-copy h1 { max-width: 650px; margin: 0; font-family: Trirong, Georgia, serif; font-size: clamp(51px, 5vw, 76px); font-weight: 350; letter-spacing: -.045em; line-height: 1.02; }
.web-consult-hero-copy > p:not(.web-kicker) { max-width: 610px; margin: 24px 0 31px; color: #58666a; font-size: 17px; line-height: 1.67; }
.web-consult-hero-media { position: relative; height: clamp(480px, 45vw, 620px); margin: 0; overflow: hidden; background: var(--web-navy); border-radius: 26px; box-shadow: 0 24px 60px rgba(14,34,42,.14); }
.web-consult-hero-media::after { content: ''; position: absolute; inset: 54% 0 0; background: linear-gradient(transparent, rgba(4,14,20,.74)); pointer-events: none; }
.web-consult-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.web-consult-hero-sauna .web-consult-hero-media img { object-position: 52% center; }
.web-consult-hero-whirlpool .web-consult-hero-media img { object-position: 58% center; }
.web-consult-hero-media figcaption { position: absolute; z-index: 1; right: 28px; bottom: 26px; left: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; color: #fff; }
.web-consult-hero-media figcaption span { font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.web-consult-hero-media figcaption strong { max-width: 270px; font-family: Trirong, Georgia, serif; font-size: 22px; font-weight: 500; line-height: 1.15; text-align: right; }
.web-consult-proofline { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 22px; overflow: hidden; background: #fff; border: 1px solid var(--web-line); border-radius: 16px; box-shadow: 0 14px 36px rgba(14,34,42,.07); }
.web-consult-proofline span { min-height: 78px; display: flex; align-items: center; gap: 10px; padding: 15px 22px; border-right: 1px solid var(--web-line); color: #354347; font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.web-consult-proofline span:last-child { border-right: 0; }
.web-consult-proofline b { color: var(--web-petrol); }
.web-consult-request { scroll-margin-top: 94px; background: #fff; }
.web-consult-request-grid { display: grid; grid-template-columns: minmax(330px, .78fr) minmax(560px, 1.22fr); gap: 0; align-items: stretch; overflow: hidden; background: var(--web-navy); border-radius: 24px; box-shadow: 0 24px 70px rgba(8,26,34,.12); }
.web-consult-request .web-why-copy { padding: clamp(42px, 5vw, 72px); color: #fff; background: linear-gradient(155deg, #17283c, #0d4652); }
.web-consult-request .web-why-copy .web-kicker { color: #78d0d6; }
.web-consult-request .web-why-copy h2 { color: #fff; }
.web-consult-request .web-why-copy > p:not(.web-kicker) { color: #d3e0e3; }
.web-consult-request .web-contact-form { margin: 0; padding: clamp(36px, 5vw, 64px); background: #f7f8f7; border: 0; border-radius: 0; }
.web-consult-request .web-why-copy ul { display: grid; gap: 13px; margin: 31px 0 0; padding: 25px 0 0; border-top: 1px solid rgba(255,255,255,.2); list-style: none; }
.web-consult-request .web-why-copy li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; color: #e4edef; font-size: 13px; line-height: 1.5; }
.web-consult-request .web-why-copy li span { color: #78d0d6; font-weight: 850; }
.web-consult-models { background: var(--web-paper); }
.web-consult-model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.web-consult-model { display: flex; min-width: 0; height: 100%; overflow: hidden; flex-direction: column; background: #fff; border: 1px solid var(--web-line); border-radius: 18px; box-shadow: 0 12px 32px rgba(14,34,42,.06); }
.web-consult-model > a { display: block; height: clamp(250px, 20vw, 310px); overflow: hidden; background: #dfe4e4; }
.web-consult-model img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .45s ease; }
.web-consult-model:hover img { transform: scale(1.025); }
.web-consult-model > div { position: relative; display: flex; flex: 1; flex-direction: column; padding: 28px 27px 31px; }
.web-consult-model > div > span { position: absolute; top: 28px; right: 27px; color: #92a0a4; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-consult-model h3 { margin: 6px 0 12px; font-family: Trirong, Georgia, serif; font-size: 31px; font-weight: 500; line-height: 1.12; }
.web-consult-model div > p:not(.web-kicker) { margin: 0 0 22px; color: var(--web-muted); font-size: 13px; line-height: 1.62; }
.web-consult-model > div > .web-text-link { align-self: flex-start; margin-top: auto; }
.web-consult-facts { padding: 22px 0; color: #fff; background: var(--web-navy); border-top: 4px solid var(--web-petrol-bright); }
.web-consult-facts .web-container { display: grid; grid-template-columns: repeat(4, 1fr); }
.web-consult-facts .web-container > div { min-height: 126px; display: flex; flex-direction: column; justify-content: center; padding: 24px 30px; border-right: 1px solid #40515e; }
.web-consult-facts .web-container > div:last-child { border-right: 0; }
.web-consult-facts strong { color: #fff; font-family: Trirong, Georgia, serif; font-size: 26px; font-weight: 500; }
.web-consult-facts span { color: #bfcdd1; font-size: 12px; line-height: 1.55; }
.web-consult-inspiration-section { background: #fff; }
.web-consult-inspiration-grid { display: grid; grid-template-columns: 1.35fr 1fr; grid-template-rows: repeat(2, 265px); gap: 14px; }
.web-consult-inspiration { position: relative; min-width: 0; margin: 0; overflow: hidden; background: var(--web-navy); border-radius: 18px; }
.web-consult-inspiration.is-wide { grid-row: 1 / span 2; }
.web-consult-inspiration img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.web-consult-inspiration:hover img { transform: scale(1.02); }
.web-consult-inspiration::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(3,9,13,.78)); }
.web-consult-inspiration figcaption { position: absolute; z-index: 1; right: 25px; bottom: 20px; left: 25px; color: #fff; font-family: Trirong, Georgia, serif; font-size: 25px; }
.web-consult-brand { color: #fff; background: linear-gradient(135deg, #0c6470, #16415a); }
.web-consult-brand-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(480px, 1.14fr); gap: clamp(55px, 8vw, 120px); align-items: start; }
.web-consult-brand h2 { margin: 0 0 20px; font-family: Trirong, Georgia, serif; font-size: clamp(42px, 5vw, 68px); font-weight: 350; letter-spacing: -.04em; line-height: 1.06; }
.web-consult-brand-grid > div:first-child > p:not(.web-kicker) { color: #d9eff1; font-size: 16px; }
.web-consult-brand-proofs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.web-consult-brand-proofs > div { min-height: 145px; display: flex; flex-direction: column; justify-content: center; padding: 24px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.26); border-radius: 14px; }
.web-consult-brand-proofs strong { color: #fff; font-size: 15px; }
.web-consult-brand-proofs span { margin-top: 5px; color: #d9eff1; font-size: 11px; line-height: 1.55; }
.web-consult-benefits { background: var(--web-paper); }
.web-consult-benefit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.web-consult-benefit-grid article { min-height: 310px; display: flex; flex-direction: column; padding: 30px 27px; background: #fff; border: 1px solid var(--web-line); border-radius: 16px; }
.web-consult-benefit-grid article > span { color: var(--web-petrol); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.web-consult-benefit-grid h3 { margin: 38px 0 13px; font-family: Trirong, Georgia, serif; font-size: 26px; font-weight: 550; line-height: 1.15; }
.web-consult-benefit-grid p { margin: 0 0 25px; color: var(--web-muted); font-size: 13px; line-height: 1.68; }
.web-consult-benefit-grid .web-text-link { margin-top: auto; align-self: flex-start; font-size: 10px; }

/* Product and material swatches – visual guidance, final supplier photos follow */
.visual-shell-white-pearl { background: radial-gradient(circle at 35% 28%, #fff, #eef0ef 38%, #bcc4c4 100%); }
.visual-shell-gypsum { background: linear-gradient(145deg, #e0ddd3, #aaa59c); }
.visual-shell-sahara { background: linear-gradient(145deg, #ead9ba, #b6976f); }
.visual-shell-oyster-opal { background: radial-gradient(circle at 35% 30%, #fff7e8, #c9bfae 52%, #8f8981); }
.visual-shell-ocean-wave { background: radial-gradient(circle at 70% 25%, #70bfca, #16728b 48%, #0a374c); }
.visual-shell-midnight-opal { background: radial-gradient(circle at 30% 22%, #516b7b, #172b3b 48%, #07121d); }
.visual-shell-nickel { background: linear-gradient(135deg, #e2e5e5, #91999c 52%, #c8cdce); }
.visual-shell-copper { background: linear-gradient(135deg, #e3ae7d, #9a5839 48%, #d48a58); }
.visual-cabinet-thermowood { background: repeating-linear-gradient(90deg, #8f623f 0 15px, #b17e54 15px 17px, #795034 17px 31px); }
.visual-cabinet-glued-solid { background: repeating-linear-gradient(90deg, #a5754f 0 26px, #724b31 26px 29px); }
.visual-cabinet-full-solid { background: linear-gradient(110deg, #4a2f21, #8a5c3b 38%, #5b3926 40%, #9e704b 72%, #4a2f21); }
.visual-cabinet-none { color: #516064; background: repeating-linear-gradient(135deg, #f3f5f5 0 10px, #dfe4e4 10px 20px); font-size: 38px; }
.visual-cabinet-trim-standard { background: linear-gradient(180deg, #8d6242 0 72%, #403226 72% 82%, #bb8658 82%); }
.visual-cabinet-trim-stainless { background: linear-gradient(180deg, #8d6242 0 72%, #e8eded 72% 82%, #747f82 82%); }
.visual-cabinet-ice-cool { background: linear-gradient(180deg, #8d6242 0 68%, #1c8190 68% 77%, #102d35 77%); }
.visual-cover-standard { background: linear-gradient(155deg, #273a40 0 49%, #152329 50%); }
.visual-cover-mechanical-columba { background: linear-gradient(155deg, #263a40 0 44%, #0e7783 45% 52%, #12242b 53%); }
.visual-cover-material-vinyl { background: radial-gradient(circle at 20% 20%, #758489 0 1px, transparent 2px), linear-gradient(145deg, #526268, #26363b); background-size: 7px 7px, auto; }
.visual-cover-material-linea { background: repeating-linear-gradient(90deg, #7a8587 0 3px, #aeb7b8 3px 6px, #606c6e 6px 9px); }
.visual-cover-vinyl-teak { background: #8b5e3f; }
.visual-cover-vinyl-almond { background: #d9c5a2; }
.visual-cover-vinyl-grey { background: #92999a; }
.visual-cover-vinyl-walnut { background: #604534; }
.visual-cover-vinyl-forest { background: #354b3e; }
.visual-cover-vinyl-bordeaux { background: #6b2635; }
.visual-cover-vinyl-navy { background: #192d45; }
.visual-cover-vinyl-blue { background: #245d7b; }
.visual-cover-vinyl-dark-grey { background: #3c4447; }
.visual-cover-linea-grey-stripes { background: repeating-linear-gradient(90deg, #e0e2e1 0 8px, #747d7f 8px 15px); }
.visual-cover-linea-beige-stripes { background: repeating-linear-gradient(90deg, #e6ddcd 0 8px, #a78f70 8px 15px); }
.visual-cover-linea-light-beige { background: #ded2bd; }
.visual-cover-linea-white { background: #f4f4f0; }
.visual-cover-linea-blue { background: #426d87; }
.visual-cover-linea-red-stripes { background: repeating-linear-gradient(90deg, #dbd5ce 0 8px, #9b3a3c 8px 15px); }
.visual-cover-linea-red { background: #9e3c42; }
.visual-cover-linea-beige { background: #b9a180; }
.visual-cover-linea-smooth-grey { background: #92999a; }
.visual-accessory-coverlift,
.visual-accessory-cabinet-light,
.visual-accessory-control-light,
.visual-accessory-outdoor-temperature,
.visual-accessory-spacoustic { background: linear-gradient(145deg, #26393f, #0a6874); font-size: 27px; }

@media (max-width: 1180px) {
  .web-header { grid-template-columns: 180px 1fr auto; }
  .web-nav { gap: 16px; }
  .web-nav > a, .web-nav summary { font-size: 11px; }
  .web-hero-offer-card { display: none; }
  .web-showroom { grid-template-columns: 1fr 1fr; }
  .web-model-hero-layout { grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); gap: 45px; }
  .web-config-model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .web-config-studio { grid-template-columns: 220px minmax(0, 1fr); }
  .web-config-step-rail { grid-row: 1 / span 2; }
  .web-config-live { grid-column: 2; margin: 0 30px 30px; }
  .web-config-live-image { height: 220px; }
}

@media (max-width: 980px) {
  .web-header { grid-template-columns: 1fr auto; min-height: 76px; }
  .web-logo img { width: 164px; }
  .web-autumn-offer-inner {
    min-height: 88px;
    grid-template-columns: 44px auto minmax(0, 1fr) auto;
    gap: 5px 16px;
    padding-block: 10px;
  }
  .web-autumn-offer-mark { grid-column: 1; grid-row: 1 / span 2; }
  .web-autumn-offer-label { grid-column: 2; grid-row: 1 / span 2; }
  .web-autumn-offer-main { grid-column: 3; grid-row: 1; align-self: end; }
  .web-autumn-offer-bonus { grid-column: 3; grid-row: 2; align-self: start; padding-left: 0; border-left: 0; }
  .web-autumn-offer-link { grid-column: 4; grid-row: 1 / span 2; }
  .web-nav, .web-header-cta { display: none; }
  .web-mobile-menu { position: relative; display: block; }
  .web-mobile-menu > summary { width: 44px; height: 44px; display: grid; align-content: center; gap: 5px; padding: 10px; background: var(--web-black); cursor: pointer; list-style: none; }
  .web-mobile-menu > summary::-webkit-details-marker { display: none; }
  .web-mobile-menu > summary span { display: block; height: 2px; background: #fff; }
  .web-mobile-menu nav { position: absolute; top: calc(100% + 14px); right: -28px; width: min(360px, 100vw); padding: 15px 28px 22px; color: #fff; background: var(--web-black); border-top: 3px solid var(--web-petrol-bright); }
  .web-mobile-menu nav a { display: block; padding: 11px 0; border-bottom: 1px solid #303b3e; font-size: 13px; font-weight: 750; text-decoration: none; text-transform: uppercase; }
  .web-partner { grid-template-columns: 1fr; padding-block: 22px; }
  .web-partner > div { padding: 20px 0; border-top: 1px solid var(--web-line); border-left: 0; }
  .web-partner > div:first-child { border-top: 0; }
  .web-finder-layout { grid-template-columns: 1fr; gap: 35px; }
  .web-finder-intro { position: static; }
  .web-world { min-height: 360px; grid-column: span 6; }
  .web-world-wide { min-height: 440px; }
  .web-world:last-child { grid-column: span 12; }
  .web-projects-intro { grid-template-columns: 1fr; gap: 28px; }
  .web-project-gallery { grid-template-columns: 1fr 1fr; }
  .web-project-card-wide { grid-column: 1 / -1; min-height: 570px; }
  .web-project-card:not(.web-project-card-wide) { min-height: 440px; }
  .web-section-intro-row, .web-faq-layout, .web-project-layout { grid-template-columns: 1fr; gap: 35px; }
  .web-steps { grid-template-columns: 1fr 1fr; }
  .web-steps li:nth-child(2) { border-right: 0; }
  .web-steps li:nth-child(n+3) { border-top: 1px solid var(--web-line); }
  .web-showroom { grid-template-columns: 1fr; }
  .web-showroom-image { height: 70vw; min-height: 520px; max-height: 760px; }
  .web-showroom-copy { padding: 70px 42px; }
  .web-project-action { padding: 30px 0 0; border-top: 1px solid #3b4b4f; border-left: 0; }
  .web-product-inquiry-layout { grid-template-columns: 1fr; gap: 42px; }
  .web-product-inquiry-intro { position: static; padding-top: 0; }
  .web-product-faq-layout { grid-template-columns: 1fr; gap: 38px; }
  .web-product-faq-layout > div:first-child { position: static; }
  .web-footer-grid { grid-template-columns: 1fr 1fr; }
  .web-category-guide-layout { grid-template-columns: 1fr; gap: 42px; }
  .web-model-hero-layout, .web-model-fit-layout, .web-model-planning-layout, .web-model-story-layout, .web-model-highlight { grid-template-columns: 1fr; gap: 45px; }
  .web-model-gallery-shell, .web-model-hero-image, .web-model-hero-gallery { width: 100%; max-width: 760px; }
  .web-model-story-layout > figure { height: min(760px, 100vw); }
  .web-model-highlight { margin-top: 72px; padding-top: 60px; }
  .web-model-highlight > figure { order: 0; }
  .web-product-explorer-intro, .web-product-explorer-layout { grid-template-columns: 1fr; }
  .web-product-explorer-intro { gap: 24px; }
  .web-product-explorer-media { min-height: 560px; }
  .web-product-video-layout { grid-template-columns: 1fr; gap: 34px; }
  .web-product-video-copy h2, .web-product-video-copy > p:not(.web-kicker) { max-width: 760px; }
  .web-model-feature-grid { grid-template-columns: 1fr; }
  .web-model-feature-grid.is-extended { grid-template-columns: repeat(2, 1fr); }
  .web-model-feature-grid.is-extended article:nth-child(4n) { border-right: 1px solid var(--web-line); }
  .web-model-feature-grid.is-extended article:nth-child(2n) { border-right: 0; }
  .web-model-feature-grid.is-extended article:nth-last-child(-n+3) { border-bottom: 1px solid var(--web-line); }
  .web-model-feature-grid.is-extended article:last-child { border-bottom: 0; }
  .web-model-feature-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--web-line); }
  .web-model-feature-grid article:last-child { border-bottom: 0; }
  .web-model-feature-grid h3 { margin-top: 24px; }
  .web-configurator-intro-grid { grid-template-columns: 1fr; gap: 32px; }
  .web-config-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .web-config-final { grid-template-columns: 1fr; }
  .web-policy-layout, .web-contact-layout { grid-template-columns: 1fr; }
  .web-spaculture-story-grid { grid-template-columns: 1fr; }
  .web-spaculture-grid { grid-template-columns: 1fr 1fr; }
  .web-marketing-layout, .web-marketing-cta-layout { grid-template-columns: 1fr; }
  .web-marketing-layout { gap: 45px; }
  .web-marketing-section.is-reversed .web-marketing-copy, .web-marketing-section.is-reversed .web-marketing-image { order: initial; }
  .web-marketing-cards { grid-template-columns: 1fr 1fr; }
  .web-marketing-cta .web-actions { white-space: normal; }
  .web-faq-group { grid-template-columns: 1fr; }
  .web-faq-group > header { padding: 24px; }
  .web-gallery-head, .web-gallery-intro { grid-template-columns: 1fr; }
  .web-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 260px; }
  .web-why-hero-grid, .web-why-split, .web-why-decision-grid { grid-template-columns: 1fr; }
  .web-why-hero-image { max-width: 760px; }
  .web-why-hero-image > img { min-height: 0; }
  .web-why-reason-grid { grid-template-columns: 1fr 1fr; }
  .web-why-feature.is-reversed .web-why-image { order: initial; }
  .web-blog-feature img { height: 310px; }
  .web-blog-card img { height: 360px; }
  .web-advisor-topic-grid { grid-template-columns: 1fr 1fr; }
  .web-advisor-planning-grid { grid-template-columns: 1fr 1fr; }
  .web-showroom-story.is-reversed .web-why-image { order: initial; }
  .web-showroom-hero .web-why-hero-image > img { height: min(72vw, 620px); }
  .web-showroom-story .web-why-image img { height: min(76vw, 680px); aspect-ratio: auto; }
  .web-showroom-visit-grid, .web-showroom-booking-grid { grid-template-columns: 1fr; }
  .web-hydro-principle-grid, .web-hydro-fit-grid { grid-template-columns: 1fr 1fr; }
  .web-hydro-concept.is-reversed .web-why-image { order: initial; }
  .web-cover-solution-grid { grid-template-columns: 1fr; }
  .web-cover-solution { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr); }
  .web-cover-solution > img { height: 100%; min-height: 430px; }
  .web-cover-material > header { grid-template-columns: 1fr; gap: 13px; }
  .web-cover-swatch-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .web-architect-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .web-architect-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .web-architect-ready-grid, .web-architect-request-grid { grid-template-columns: 1fr; }
  .web-cabinet-finish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .web-cabinet-detail-intro { grid-template-columns: 1fr; gap: 16px; }
  .web-accessory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .web-consult-hero-layout { grid-template-columns: 1fr; gap: 32px; }
  .web-consult-hero-copy { max-width: 760px; padding-bottom: 16px; }
  .web-consult-hero-media { height: min(68vw, 620px); }
  .web-consult-request-grid, .web-consult-brand-grid { grid-template-columns: 1fr; }
  .web-consult-model-grid { grid-template-columns: 1fr 1fr; }
  .web-consult-model:last-child { grid-column: 1 / -1; }
  .web-consult-model:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .web-consult-model:last-child > a { height: 100%; min-height: 310px; }
  .web-consult-benefit-grid { grid-template-columns: 1fr 1fr; }
  .web-policy-nav { position: static; }
  .web-contact-details { display: grid; grid-template-columns: repeat(3, 1fr); }
  .web-contact-details > div { border-right: 1px solid #35465a; border-bottom: 0; }
  .web-contact-details > div:last-child { border-right: 0; }
  .web-public-configurator-page .web-configurator-intro-grid { grid-template-columns: 1fr; gap: 20px; }
  .web-config-product-focus { grid-template-columns: 145px 1fr auto; }
}

@media (max-width: 640px) {
  .web-cookie-dialog { inset: auto 10px 10px; }
  .web-cookie-dialog-inner { grid-template-columns: 1fr; gap: 17px; padding: 20px; border-radius: 12px; }
  .web-cookie-copy h2 { font-size: 23px; }
  .web-cookie-actions { display: grid; grid-template-columns: 1fr; }
  .web-cookie-actions button { width: 100%; }
  body { padding-bottom: 70px; }
  .web-header { min-height: 68px; padding: 10px 16px; }
  .web-logo img { width: 142px; }
  .web-autumn-offer-inner {
    width: calc(100% - 28px);
    min-height: 0;
    grid-template-columns: 28px 1fr auto;
    gap: 7px 14px;
    padding: 15px 0 16px;
  }
  .web-autumn-offer-mark { width: 28px; height: 28px; grid-row: 1; }
  .web-autumn-offer-mark svg { width: 17px; }
  .web-autumn-offer-label { width: max-content; grid-column: 2; grid-row: 1; font-size: 8px; }
  .web-autumn-offer-main { grid-column: 1 / -1; grid-row: 2; font-size: 12px; }
  .web-autumn-offer-bonus { grid-column: 1 / -1; grid-row: 3; padding: 0; border: 0; color: #dcebed; font-size: 11px; }
  .web-autumn-offer-link { grid-column: 3; grid-row: 1; font-size: 9px; }
  .web-autumn-dialog { width: calc(100% - 20px); max-height: calc(100svh - 20px); border-radius: 13px; }
  .web-autumn-dialog-shell { padding: 25px 18px 22px; }
  .web-autumn-dialog-head { grid-template-columns: 38px 1fr; gap: 12px; margin: -25px -18px 20px; padding: 27px 45px 22px 18px; }
  .web-autumn-dialog-leaf { width: 38px; height: 38px; }
  .web-autumn-dialog-head h2 { font-size: 28px; }
  .web-autumn-dialog-value { grid-template-columns: 1fr; }
  .web-autumn-dialog-value span + span { border-top: 1px solid #d9cec0; border-left: 0; }
  .web-autumn-choice > div { grid-template-columns: 1fr; }
  .web-autumn-choice label span { min-height: 41px; }
  .web-autumn-fields { grid-template-columns: 1fr; gap: 10px; }
  .web-mobile-menu > summary { width: 42px; height: 42px; border-radius: 7px; }
  .web-mobile-menu nav { right: -16px; width: 100vw; max-height: calc(100svh - 102px); padding: 12px 22px 20px; overflow-y: auto; }
  .web-container, .web-hero-content { width: calc(100% - 36px); }
  .web-hero { min-height: 680px; align-items: flex-end; }
  .web-hero > img { object-position: 62% center; }
  .web-hero-shade { background: linear-gradient(180deg, rgba(2, 8, 10, .08) 10%, rgba(2, 8, 10, .9) 64%); }
  .web-hero-content { margin-bottom: 126px; }
  .web-kicker { margin-bottom: 10px; font-size: 11px; }
  .web-hero-content h1 { margin-bottom: 17px; font-size: clamp(38px, 11.6vw, 47px); line-height: 1.04; }
  .web-hero-content > p:not(.web-kicker) { font-size: 14px; line-height: 1.55; }
  .web-hero-offer-card { display: none; }
  .web-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
  .web-hero .web-actions { width: 100%; margin-top: 25px; }
  .web-hero .web-button, .web-hero .web-text-link { width: 100%; text-align: center; }
  .web-hero-facts { grid-template-columns: 1fr; padding: 11px 18px; }
  .web-hero-facts span { padding: 4px 0; border: 0; font-size: 11px; text-align: left; }
  .web-hero-facts span::before { content: '✓'; margin-right: 8px; color: #62bec7; }
  .web-partner { padding-block: 13px; }
  .web-partner > div { padding: 15px 0; }
  .web-partner strong { font-size: 18px; }
  .web-section { padding: 64px 0; }
  .web-finder { padding: 58px 0; scroll-margin-top: 95px; }
  .web-finder-layout { gap: 27px; }
  .web-finder-intro h2 { margin-bottom: 15px; font-size: 37px; }
  .web-finder-panel { border-radius: 13px; }
  .web-finder-choices { grid-template-columns: 1fr; }
  .web-finder-choices button { min-height: 92px; padding: 19px 20px; border-right: 0; }
  .web-finder-result { min-height: 0; grid-template-columns: 1fr; gap: 12px; padding: 23px 20px; }
  .web-finder-result > span { writing-mode: initial; transform: none; }
  .web-finder-result .web-button { width: 100%; }
  .web-section-intro { margin-bottom: 30px; }
  .web-section-intro h2, .web-statement h2, .web-showroom h2, .web-project h2 { margin-bottom: 16px; font-size: 37px; }
  .web-section-intro > p:last-child { font-size: 15px; }
  .web-world-grid { gap: 14px; }
  .web-world, .web-world-wide, .web-world:last-child { min-height: 350px; grid-column: span 12; border-radius: 14px; }
  .web-world-copy { right: 22px; bottom: 22px; left: 22px; }
  .web-world-copy h3 { font-size: 28px; }
  .web-world-index { top: 17px; right: 17px; }
  .web-project-gallery { grid-template-columns: 1fr; }
  .web-project-card-wide { grid-column: auto; }
  .web-project-card, .web-project-card-wide, .web-project-card:not(.web-project-card-wide) { min-height: 365px; border-radius: 14px; }
  .web-project-card > span { right: 21px; bottom: 21px; left: 21px; }
  .web-project-card h3 { font-size: 23px; }
  .web-trust-row { grid-template-columns: 1fr; }
  .web-trust-row > div, .web-trust-row > div:first-child { padding: 17px 0; border-top: 1px solid var(--web-line); border-left: 0; }
  .web-trust-row > div:first-child { border-top: 0; }
  .web-statement { padding: 68px 0; }
  .web-statement .web-container { margin-inline: 18px; }
  .web-statement p:not(.web-kicker) { font-size: 16px; }
  .web-steps { grid-template-columns: 1fr; }
  .web-steps li, .web-steps li:nth-child(2) { min-height: 175px; padding: 23px 0 20px; border-top: 1px solid var(--web-line); border-right: 0; }
  .web-steps h3 { margin: 21px 0 9px; font-size: 24px; }
  .web-showroom-image { min-height: 340px; height: 92vw; }
  .web-showroom-copy { padding: 50px 20px; }
  .web-showroom-copy > p:not(.web-kicker) { font-size: 15px; }
  .web-showroom-copy .web-button { width: 100%; }
  .web-faq-list summary { font-size: 20px; }
  .web-project { padding: 68px 0; }
  .web-project-action .web-button { width: 100%; }
  .web-footer { padding-top: 55px; }
  .web-footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .web-footer-bottom { align-items: flex-start; flex-direction: column; }
  .web-footer-bottom > span:last-child { flex-wrap: wrap; justify-content: flex-start; gap: 10px 18px; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .web-contact-dock { bottom: max(13px, env(safe-area-inset-bottom)); left: 12px; }
  .web-contact-dock-toggle { width: 40px; height: 40px; }
  .web-contact-dock-menu { grid-template-columns: repeat(3, 38px); }
  .web-contact-dock-menu a { width: 38px; height: 38px; }
  .web-content-hero { padding: 52px 0 60px; }
  .web-content-hero .web-breadcrumb { margin-bottom: 35px; }
  .web-content-hero h1 { font-size: 48px; }
  .web-content-main { padding: 58px 0 76px; }
  .web-contact-details { display: block; }
  .web-contact-details > div { border-right: 0; border-bottom: 1px solid #35465a; }
  .web-contact-fields, .web-contact-interests > div { grid-template-columns: 1fr; }
  .web-product-inquiry { padding: 64px 0; }
  .web-product-inquiry-intro h2 { font-size: 43px; }
  .web-product-selected { grid-template-columns: 1fr; gap: 6px; }
  .web-product-selected strong { margin-bottom: 10px; text-align: left; }
  .web-contact-form { padding: 27px 18px; }
  .web-policy-copy h2 { margin-top: 38px; font-size: 26px; }
  .web-spaculture-story { padding: 58px 0; }
  .web-spaculture-story-grid > img { min-height: 340px; }
  .web-spaculture-grid { grid-template-columns: 1fr; }
  .web-marketing-hero { padding-top: 52px; }
  .web-marketing-hero .web-breadcrumb { margin-bottom: 35px; }
  .web-marketing-hero h1 { font-size: 48px; }
  .web-marketing-hero-copy > p:not(.web-kicker) { font-size: 16px; line-height: 1.65; }
  .web-marketing-hero > .web-container > img { height: 390px; min-height: 0; border-radius: 16px 16px 0 0; }
  .web-marketing-cards { grid-template-columns: 1fr; }
  .web-marketing-card { padding: 25px 22px 27px; }
  .web-marketing-copy h2, .web-marketing-card-section h2 { font-size: 40px; }
  .web-marketing-cta { padding: 72px 0; }
  .web-marketing-cta .web-actions { align-items: stretch; }
  .web-marketing-cta .web-button, .web-marketing-cta .web-text-link { width: 100%; text-align: center; }
  .web-faq-group > div { padding: 4px 20px; }
  .web-faq-group summary { padding: 20px 0; }
  .web-faq-group details p { margin-right: 0; }
  .web-gallery-hero { padding: 52px 0 70px; }
  .web-gallery-hero .web-breadcrumb { margin-bottom: 35px; }
  .web-gallery-head h1 { font-size: 48px; }
  .web-gallery-head > div:last-child > p { font-size: 16px; line-height: 1.65; }
  .web-gallery-video { margin-top: 40px; border-radius: 16px; }
  .web-gallery-intro { padding-top: 42px; }
  .web-gallery-intro h2 { font-size: 40px; }
  .web-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 320px; gap: 10px; }
  .web-gallery-item.is-wide { grid-column: auto; }
  .web-gallery-item.is-tall { grid-row: span 2; }
  .web-why-hero { padding: 52px 0 68px; }
  .web-why-hero .web-breadcrumb { margin-bottom: 35px; }
  .web-why-hero-copy h1 { font-size: 48px; }
  .web-why-hero-copy > p:not(.web-kicker) { font-size: 16px; }
  .web-why-hero-image { padding: 0; }
  .web-why-facts .web-container { grid-template-columns: 1fr 1fr; }
  .web-why-facts .web-container > div { min-height: 130px; padding: 22px 18px; border-bottom: 1px solid #34465a; }
  .web-why-facts .web-container > div:nth-child(2n) { border-right: 0; }
  .web-why-reason-grid { grid-template-columns: 1fr; }
  .web-why-reason { padding: 25px 22px 27px; }
  .web-why-copy h2, .web-why-decision h2 { font-size: 40px; }
  .web-why-mini-grid { grid-template-columns: 1fr; }
  .web-blog-hero .web-why-hero-image > img { min-height: 0; }
  .web-blog-feature-grid, .web-blog-card-grid, .web-blog-chapters { grid-template-columns: 1fr; }
  .web-blog-feature img, .web-blog-card img { height: 310px; }
  .web-blog-feature > a > div, .web-blog-card > a > div { padding: 24px 21px 27px; }
  .web-blog-feature h3, .web-blog-card h3 { font-size: 28px; }
  .web-blog-article-inner > header h2 { font-size: 40px; }
  .web-blog-article-inner > img { height: 62vw; min-height: 270px; max-height: 480px; margin-bottom: 35px; }
  .web-blog-lead { font-size: 22px; }
  .web-advisor-topic-grid, .web-advisor-planning-grid, .web-advisor-professional-grid { grid-template-columns: 1fr; }
  .web-advisor-topic img { height: 280px; }
  .web-advisor-topic > a > div { padding: 24px 21px 27px; }
  .web-advisor-planning-grid article { min-height: 0; padding: 27px 23px; }
  .web-advisor-professional-grid article { padding: 28px 22px 31px; }
  .web-showroom-quote { padding: 56px 0; }
  .web-showroom-quote blockquote { font-size: 40px; }
  .web-showroom-hero .web-why-hero-image > img { height: min(86vw, 440px); }
  .web-showroom-story .web-why-image img { height: min(105vw, 480px); }
  .web-showroom-visit dl { padding: 0 20px; }
  .web-showroom-visit dl > div { grid-template-columns: 1fr; gap: 8px; padding: 21px 0; }
  .web-hydro-principle-grid, .web-hydro-fit-grid { grid-template-columns: 1fr; }
  .web-hydro-principle-grid article, .web-hydro-fit-grid article { min-height: 0; padding: 27px 23px; }
  .web-hydro-facts { grid-template-columns: 1fr; }
  .web-hydro-facts > div + div { padding-left: 0; border-top: 1px solid var(--web-line); border-left: 0; }
  .web-cover-solution { display: block; }
  .web-cover-solution > img { height: 265px; min-height: 0; }
  .web-cover-swatch-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .web-architect-service-grid, .web-architect-process-grid, .web-architect-solution-grid { grid-template-columns: 1fr; }
  .web-architect-service-grid article, .web-architect-process-grid article { min-height: 0; padding: 27px 23px; }
  .web-architect-solution > a { grid-template-columns: 1fr; }
  .web-architect-solution img { height: 260px; min-height: 0; }
  .web-architect-ready-grid { gap: 38px; }
  .web-cabinet-finish-grid { grid-template-columns: 1fr; }
  .web-cabinet-finish-card > img { aspect-ratio: 1.18 / 1; }
  .web-cabinet-detail-intro { margin-top: 45px; padding-top: 34px; }
  .web-cabinet-note { margin-bottom: -65px; padding-bottom: 48px; }
  .web-accessory-grid { grid-template-columns: 1fr; }
  .web-accessory-card div > p:not(.web-kicker) { min-height: 0; }
  .web-consult-hero { padding: 22px 0 50px; }
  .web-consult-hero .web-breadcrumb { margin-bottom: 25px; }
  .web-consult-hero-layout { grid-template-columns: 1fr; gap: 26px; }
  .web-consult-hero-copy { padding: 24px 0 10px; }
  .web-consult-hero-copy h1 { font-size: clamp(43px, 12vw, 54px); }
  .web-consult-hero-copy > p:not(.web-kicker) { margin: 20px 0 26px; font-size: 15px; }
  .web-consult-hero-media { height: min(102vw, 460px); border-radius: 17px; }
  .web-consult-hero-media figcaption { right: 20px; bottom: 19px; left: 20px; }
  .web-consult-hero-media figcaption strong { max-width: 190px; font-size: 18px; }
  .web-consult-proofline { grid-template-columns: 1fr 1fr; margin-top: 16px; border-radius: 13px; }
  .web-consult-proofline span { min-height: 61px; padding: 11px 14px; font-size: 9px; }
  .web-consult-proofline span:nth-child(2n) { border-right: 0; }
  .web-consult-proofline span:nth-child(-n+2) { border-bottom: 1px solid var(--web-line); }
  .web-consult-request-grid { border-radius: 17px; }
  .web-consult-request .web-why-copy { padding: 38px 24px; }
  .web-consult-request .web-contact-form { padding: 29px 19px; }
  .web-consult-model-grid { grid-template-columns: 1fr; }
  .web-consult-model:last-child { grid-column: auto; display: flex; }
  .web-consult-model > a, .web-consult-model:last-child > a { height: min(72vw, 310px); min-height: 0; }
  .web-consult-facts .web-container { grid-template-columns: 1fr 1fr; }
  .web-consult-facts .web-container > div { min-height: 125px; padding: 21px 18px; border-bottom: 1px solid #40515e; }
  .web-consult-facts .web-container > div:nth-child(2n) { border-right: 0; }
  .web-consult-facts strong { font-size: 23px; }
  .web-consult-inspiration-grid { grid-template-columns: 1fr; grid-template-rows: repeat(3, 280px); }
  .web-consult-inspiration.is-wide { grid-row: auto; }
  .web-consult-brand-proofs, .web-consult-benefit-grid { grid-template-columns: 1fr; }
  .web-consult-brand-proofs > div { min-height: 120px; }
  .web-consult-benefit-grid article { min-height: 0; padding: 27px 23px; }
  .web-consult-benefit-grid h3 { margin-top: 25px; }
  .web-category-hero { min-height: 720px; align-items: flex-end; }
  .web-category-hero > img { object-position: 58% center; }
  .web-category-hero-shade { background: linear-gradient(180deg, rgba(2, 8, 10, .13), rgba(2, 8, 10, .92) 67%); }
  .web-category-hero-content { margin-top: 0; margin-bottom: 142px; }
  .web-category-hero-content h1 { font-size: 46px; }
  .web-category-hero-content > p:not(.web-kicker) { font-size: 16px; line-height: 1.6; }
  .web-category-benefits { grid-template-columns: 1fr; padding: 11px 18px; }
  .web-category-benefits span { padding: 5px; border: 0; text-align: left; }
  .web-model-grid { grid-template-columns: 1fr; }
  .web-model-copy { padding: 27px 22px 29px; }
  .web-model-copy > p:not(.web-model-eyebrow) { min-height: 0; }
  .web-model-stats { grid-template-columns: 1fr; }
  .web-model-stats > span, .web-model-stats > span:not(:first-child) { padding: 11px 0; border-right: 0; border-bottom: 1px solid var(--web-line); }
  .web-model-stats > span:last-child { border-bottom: 0; }
  .web-category-guide { padding: 78px 0; }
  .web-category-guide h2 { font-size: 40px; }
  .web-model-hero { padding: 52px 0 65px; }
  .web-breadcrumb { margin-bottom: 35px; }
  .web-model-hero-copy h1 { font-size: 56px; }
  .web-model-hero-copy h1.is-long { font-size: 40px; }
  .web-model-hero-stats { grid-template-columns: 1fr; }
  .web-model-hero-stats.is-four { grid-template-columns: 1fr; }
  .web-model-hero-stats.is-four > span:nth-child(2) { border-right: 0; }
  .web-model-hero-stats.is-four > span:nth-child(-n+2) { border-bottom: 1px solid #bdc5c7; }
  .web-model-hero-stats > span, .web-model-hero-stats > span:not(:first-child) { padding: 11px 0; border-right: 0; border-bottom: 1px solid #bdc5c7; }
  .web-model-hero-stats > span:last-child { border-bottom: 0; }
  .web-model-hero-image { aspect-ratio: 1 / .95; }
  .web-model-hero-image img { padding: 45px 28px 28px; }
  .web-model-hero-gallery { padding: 9px; }
  .web-model-gallery-main { aspect-ratio: 1 / 1; }
  .web-model-gallery-pair { grid-template-columns: 1fr; }
  .web-model-gallery-pair .web-model-gallery-button { aspect-ratio: 1.55 / 1; }
  .web-model-gallery-button::after { right: 10px; bottom: 10px; width: 34px; height: 34px; font-size: 19px; }
  .web-product-explorer { padding: 68px 0; }
  .web-product-explorer-intro h2 { font-size: 43px; }
  .web-product-explorer-media { min-height: 0; padding: 28px 14px 56px; border-radius: 16px; }
  .web-product-explorer-media img { max-height: 420px; }
  .web-product-explorer-media figcaption { right: 15px; bottom: 14px; left: 15px; }
  .web-product-explorer-media figcaption strong { display: none; }
  .web-product-explorer-hotspot { width: 44px; height: 44px; }
  .web-product-explorer-tabs { gap: 8px; }
  .web-product-explorer-tabs button { min-height: 110px; grid-template-columns: 24px 1fr; padding: 15px 12px; }
  .web-product-explorer-tabs button > strong { font-size: 12px; }
  .web-product-explorer-panel { min-height: 0; padding: 25px 20px 28px; }
  .web-product-video-copy h2 { font-size: 42px; }
  .web-product-video-frame { border-radius: 14px; }
  .web-product-lightbox { padding: 72px 14px 22px; }
  .web-product-lightbox[open] { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0, 1fr) 48px; gap: 14px 10px; }
  .web-product-lightbox figure { grid-column: 1 / -1; grid-row: 1; }
  .web-product-lightbox figure img { max-height: calc(100dvh - 175px); }
  .web-product-lightbox figcaption { padding: 12px 5px 0; }
  .web-product-lightbox-arrow { width: 100%; height: 46px; border-radius: 10px; }
  .web-product-lightbox-arrow.is-previous { grid-column: 1; grid-row: 2; }
  .web-product-lightbox-arrow.is-next { grid-column: 2; grid-row: 2; }
  .web-product-lightbox-close { top: 13px; right: 13px; }
  .web-model-story-layout > figure { height: 125vw; max-height: 670px; }
  .web-model-story-copy h2, .web-model-highlight h2 { font-size: 40px; }
  .web-model-highlight { margin-top: 58px; padding-top: 48px; }
  .web-model-feature-grid.is-extended { grid-template-columns: 1fr; }
  .web-model-feature-grid.is-extended article, .web-model-feature-grid.is-extended article:nth-child(4n), .web-model-feature-grid.is-extended article:nth-child(2n) { border-right: 0; }
  .web-model-fit { padding: 76px 0; }
  .web-model-fit h2, .web-model-planning h2 { font-size: 40px; }
  .web-model-neighbours { grid-template-columns: 1fr 1fr; }
  .web-model-neighbours a { min-height: 105px; padding: 20px 18px; }
  .web-model-neighbours a:nth-child(2) { display: none; }
  .web-configurator-intro { padding: 48px 0 46px; }
  .web-configurator-intro .web-breadcrumb { margin-bottom: 38px; }
  .web-configurator-intro-grid h1 { font-size: 52px; }
  .web-config-flow { grid-template-columns: 1fr; }
  .web-config-flow span { padding: 9px 4px; border-right: 0; border-bottom: 1px solid #53636a; }
  .web-config-flow span:last-child { border-bottom: 0; }
  .web-configurator-shell { width: 100%; padding: 0 0 58px; }
  .web-config-step { margin-top: 8px; padding: 28px 18px; border-right: 0; border-left: 0; }
  .web-config-step-head { grid-template-columns: 36px 1fr; gap: 9px; margin-bottom: 27px; padding-bottom: 23px; }
  .web-config-step-head h2 { font-size: 30px; }
  .web-config-model-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .web-config-model > img { padding: 10px; }
  .web-config-model-copy { padding: 14px 13px 17px; }
  .web-config-model-copy strong { font-size: 21px; }
  .web-config-model-copy > span { font-size: 10px; }
  .web-config-check { right: 8px; bottom: 8px; }
  .web-config-options { grid-template-columns: 1fr; }
  .web-config-option-group { padding: 20px 14px; }
  .web-config-request-types { grid-template-columns: 1fr; }
  .web-config-contact-grid { grid-template-columns: 1fr; }
  .web-config-contact-grid label.is-wide { grid-column: auto; }
  .web-config-output-actions small { flex-basis: 100%; text-align: left; }
  .web-config-final aside,
  #ks-config-contact { padding: 22px 18px; }
  .web-config-summary-model { grid-template-columns: 88px 1fr; gap: 15px; }
  .web-config-summary-model img { width: 88px; height: 70px; }
  .web-config-summary-model strong { font-size: 25px; }
  .web-config-actions { display: grid; }
  .web-config-picker { padding: 26px 18px; border-right: 0; border-left: 0; }
  .web-config-picker-head { align-items: start; flex-direction: column; gap: 16px; }
  .web-config-category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-bottom: 0; }
  .web-config-category-tabs button { min-height: 66px; padding: 10px 12px; font-size: 13px; }
  .web-config-product-focus { grid-template-columns: 100px 1fr; gap: 16px; padding: 17px 18px; }
  .web-config-product-focus h2 { font-size: 28px; }
  .web-config-product-focus button { grid-column: 1 / -1; }
  .web-config-product-picture { height: 80px; }
  .web-config-studio { display: block; min-height: 0; border-right: 0; border-left: 0; }
  .web-config-step-rail { display: flex; overflow-x: auto; padding: 8px; border-right: 0; border-bottom: 1px solid var(--web-line); }
  .web-config-step-rail button { min-width: 180px; border-left: 0; border-bottom: 3px solid transparent; }
  .web-config-step-rail button.is-active { border-bottom-color: var(--web-petrol-bright); }
  .web-config-stage,
  .web-config-summary-main { padding: 28px 18px; }
  .web-config-chapter-groups { gap: 22px; }
  .web-config-subgroup { padding: 17px 14px; border-radius: 12px; }
  .web-config-subgroup h3 { font-size: 16px; }
  .web-config-choice-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .is-guided-chapters .web-config-choice-grid { grid-template-columns: 1fr; }
  .web-config-choice > span { min-height: 115px; grid-template-columns: 60px minmax(0, 1fr); gap: 10px; padding: 10px 38px 10px 10px; }
  .web-choice-visual { width: 60px; height: 72px; }
  .web-config-live { margin: 0 18px 24px; }
  .web-config-live-image { height: 190px; }
}

@media print {
  @page { size: A4 portrait; margin: 12mm 14mm; }
  html, body.web-public-configurator-page { width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; }
  body.web-public-configurator-page { color: #10243b; background: #fff; font-size: 9.5pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .web-public-configurator-page .web-header,
  .web-public-configurator-page .web-configurator-intro,
  .web-public-configurator-page .web-footer,
  .web-public-configurator-page .web-config-output-actions,
  .web-public-configurator-page .web-config-request-success,
  .web-public-configurator-page .web-config-step:not(:last-child),
  .web-public-configurator-page #ks-config-contact { display: none !important; }
  .web-public-configurator-page .web-config-step-rail,
  .web-public-configurator-page .web-config-live,
  .web-public-configurator-page .web-config-product-focus { display: none !important; }
  .web-public-configurator-page .web-config-summary-studio { display: block; min-height: 0; border: 0; }
  .web-public-configurator-page .web-config-summary-main { padding: 0; }
  .web-public-configurator-page .web-config-summary-main > .web-config-stage-head { display: none !important; }
  .web-public-configurator-page .web-container.web-configurator-shell { width: 100%; padding: 0; }
  .web-public-configurator-page .web-config-step { margin: 0; padding: 0; border: 0; }
  .web-public-configurator-page .web-config-step-head { margin: 0 0 8mm; padding: 0 0 5mm; border-bottom: 1px solid #c8dde1; }
  .web-public-configurator-page .web-config-step-head > span { color: #1597a8; }
  .web-public-configurator-page .web-config-step-head h2 { font-size: 23pt; }
  .web-public-configurator-page .web-config-final { display: block; }
  .web-public-configurator-page .web-config-final aside,
  .web-public-configurator-page .web-config-summary-main .web-config-final aside { max-height: none !important; overflow: visible !important; padding: 0; color: #10243b; background: #fff; border: 0; }
  .web-public-configurator-page .web-config-print-only { display: flex; }
  .web-public-configurator-page .web-config-print-header { align-items: center; justify-content: space-between; gap: 12mm; margin-bottom: 8mm; padding-bottom: 5mm; border-bottom: 2px solid #1597a8; }
  .web-public-configurator-page .web-config-print-header img { width: 43mm; height: 18mm; object-fit: contain; object-position: left center; }
  .web-public-configurator-page .web-config-print-header > div { text-align: right; }
  .web-public-configurator-page .web-config-print-header small,
  .web-public-configurator-page .web-config-print-header strong,
  .web-public-configurator-page .web-config-print-header span { display: block; }
  .web-public-configurator-page .web-config-print-header small { color: #1597a8; font-size: 8pt; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
  .web-public-configurator-page .web-config-print-header strong { margin-top: 1mm; font-family: Trirong, Georgia, serif; font-size: 16pt; font-weight: 500; }
  .web-public-configurator-page .web-config-print-header span { margin-top: 1mm; color: #536b78; font-size: 8.5pt; }
  .web-public-configurator-page .web-config-summary-model { grid-template-columns: 34mm 1fr; gap: 7mm; padding-bottom: 6mm; border-bottom-color: #c8dde1; break-inside: avoid; }
  .web-public-configurator-page .web-config-summary-model img { width: 34mm; height: 25mm; padding: 2mm; }
  .web-public-configurator-page .web-config-summary-model small,
  .web-public-configurator-page .web-config-wishes small,
  .web-public-configurator-page .web-config-summary-contact > small { color: #1597a8; }
  .web-public-configurator-page .web-config-summary-model strong { font-size: 18pt; }
  .web-public-configurator-page .web-config-summary-model > div > span { color: #536b78; font-size: 9pt; }
  .web-public-configurator-page .web-config-summary-price { padding: 5mm 0 2.5mm; color: #536b78; font-size: 9pt; break-inside: avoid; }
  .web-public-configurator-page .web-config-summary-price strong { color: #10243b; font-size: 11pt; }
  .web-public-configurator-page .web-config-final aside ul { padding-top: 1mm; }
  .web-public-configurator-page .web-config-final aside li,
  .web-public-configurator-page .web-config-wishes,
  .web-public-configurator-page .web-config-summary-contact { border-color: #c8dde1; break-inside: avoid; }
  .web-public-configurator-page .web-config-final aside li { grid-template-columns: minmax(35mm, .8fr) minmax(0, 1.2fr); gap: 6mm; padding: 3mm 0; }
  .web-public-configurator-page .web-config-final aside li span { font-size: 8.5pt; }
  .web-public-configurator-page .web-config-final aside li strong { font-size: 9pt; }
  .web-public-configurator-page .web-config-final aside li span,
  .web-public-configurator-page .web-config-summary-empty,
  .web-public-configurator-page .web-config-wishes p,
  .web-public-configurator-page .web-config-summary-contact p span { color: #536b78; }
  .web-public-configurator-page .web-config-summary-total { margin-top: 6mm; padding: 5mm; color: #10243b; background: #d9f0f2; border-left: 2mm solid #1597a8; break-inside: avoid; }
  .web-public-configurator-page .web-config-summary-total strong { font-size: 22pt; }
  .web-public-configurator-page .web-config-print-footer { align-items: flex-end; justify-content: space-between; gap: 10mm; margin-top: 9mm; padding-top: 4mm; color: #536b78; border-top: 1px solid #1597a8; font-size: 8pt; break-inside: avoid; }
  .web-public-configurator-page .web-config-print-footer p { margin: 0; line-height: 1.45; }
  .web-public-configurator-page .web-config-print-footer p:last-child { text-align: right; }
}

@media (max-width: 460px) {
  .web-config-choice-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .web-header, .web-header-stack { transition: none; }
  .web-world, .web-world > img, .web-world-copy em b, .web-project-card > img, .web-text-link span, .web-model-image img, .web-model-link span, .web-product-explorer-hotspot, .web-product-explorer-tabs button { transition: none; }
  .web-product-explorer-hotspot.is-moving::after { animation: none; }
  .web-contact-dock a { transition: none; }
}
