@font-face {
  font-family: "Montserrat";
  src: url("../fonts/montserrat-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --cl-dark: #05101c;
  --cl-dark-2: #0b1d30;
  --cl-dark-3: #102941;
  --cl-accent: #3aa8ee;
  --cl-accent-light: #76c7f6;
  --cl-light: #eef3f7;
  --cl-muted: #b9c8d4;
  --cl-border: rgba(255, 255, 255, 0.15);
  --cl-shell: 100rem;
  --cl-gutter: clamp(1.25rem, 4vw, 3.5rem);
  --cl-section: clamp(5rem, 10vw, 9rem);
  --cl-header: 5rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cl-dark);
  color: var(--cl-light);
  font-family: Montserrat, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.cl-menu-open { overflow: hidden; }
img, video { max-width: 100%; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--cl-accent); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--cl-accent); outline-offset: 4px; }
::selection { background: var(--cl-accent); color: var(--cl-dark); }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.cl-shell { width: min(100%, var(--cl-shell)); margin-inline: auto; padding-inline: var(--cl-gutter); }
.cl-main { overflow: clip; }
.cl-section { padding-block: var(--cl-section); }
.cl-rich-text { font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.75; color: var(--cl-muted); }
.cl-rich-text > :first-child { margin-top: 0; }
.cl-rich-text > :last-child { margin-bottom: 0; }
.cl-kicker {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  color: var(--cl-accent);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.23em;
  text-transform: uppercase;
}
.cl-kicker::before { width: 2.5rem; height: 2px; content: ""; background: currentColor; }
.cl-display,
.cl-section h2,
.cl-story h2,
.cl-specs h2,
.cl-model-cta h2 {
  margin: 0.9rem 0 0;
  font-size: clamp(3rem, 6.4vw, 7rem);
  font-weight: 900;
  letter-spacing: -0.045em;
  line-height: 0.88;
  text-transform: uppercase;
}
.cl-button {
  display: inline-flex;
  min-height: 3.5rem;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 0.9rem 1.75rem;
  border: 1px solid transparent;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background 220ms ease, border-color 220ms ease, color 220ms ease, transform 220ms ease;
}
.cl-button:hover { transform: translateY(-2px); }
.cl-button--accent { background: var(--cl-accent); color: var(--cl-dark); }
.cl-button--accent:hover { background: var(--cl-accent-light); color: var(--cl-dark); }
.cl-button--light { background: var(--cl-light); color: var(--cl-dark); }
.cl-button--light:hover { background: var(--cl-accent); color: var(--cl-dark); }
.cl-button--dark { background: var(--cl-dark); color: var(--cl-light); }
.cl-button--dark:hover { background: var(--cl-dark-2); color: var(--cl-light); }
.cl-button--glass { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.2); backdrop-filter: blur(14px); }

.cl-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  display: grid;
  min-height: var(--cl-header);
  grid-template-columns: minmax(15rem, 1fr) auto auto;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3.5rem);
  padding-inline: var(--cl-gutter);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(15,24,35,.48);
  backdrop-filter: blur(12px);
  transition: background 250ms ease, border-color 250ms ease;
}
.cl-header.is-scrolled { min-height: var(--cl-header); border-color: rgba(255,255,255,.08); background: rgba(15,24,35,.48); backdrop-filter: blur(12px); }
.cl-brand { justify-self: start; }
.cl-brand img, .cl-brand .custom-logo { display: block; width: auto; height: clamp(1.8rem, 2.1vw, 2.15rem); }
.cl-nav > .cl-nav__list { display: flex; align-items: center; gap: clamp(1.3rem, 2.4vw, 2.75rem); margin: 0; padding: 0; list-style: none; }
.cl-nav > .cl-nav__list > li > a { display: flex; min-height: var(--cl-header); align-items: center; gap: .45rem; font-size: .72rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.cl-header.is-scrolled .cl-nav > .cl-nav__list > li > a { min-height: var(--cl-header); }
.cl-nav > .cl-nav__list > li > a span { color: var(--cl-accent-light); font-size: .85rem; }
.cl-nav__boats { position: static; }
.cl-nav__dropdown {
  position: fixed;
  z-index: 99;
  top: var(--cl-header);
  right: 0;
  left: 0;
  padding: clamp(1.25rem, 2vw, 2rem) var(--cl-gutter) clamp(1.75rem, 3vw, 3rem);
  border: 1px solid var(--cl-border);
  border-inline: 0;
  background: rgba(5,16,28,.985);
  box-shadow: 0 2rem 5rem rgba(0,0,0,.48);
  opacity: 0;
  pointer-events: none;
  transform: translateY(.75rem);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  visibility: hidden;
  max-height: calc(100svh - var(--cl-header));
  overflow-y: auto;
}
.cl-header.is-scrolled .cl-nav__dropdown { top: var(--cl-header); }
.cl-nav__boats:hover .cl-nav__dropdown,
.cl-nav__boats.is-open .cl-nav__dropdown { opacity: 1; pointer-events: auto; transform: none; visibility: visible; }
.cl-nav__boats.is-open > a span { transform: rotate(180deg); }
.cl-nav__dropdown-inner { width: 100%; max-width: 94rem; margin: 0 auto; }
.cl-nav__dropdown-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; }
.cl-nav__dropdown-head > div { display: grid; gap: .35rem; }
.cl-nav__dropdown-head > div > span { color: var(--cl-accent); font-size: .58rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.cl-nav__dropdown-head > div > strong { font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 850; letter-spacing: -.035em; text-transform: uppercase; }
.cl-nav__dropdown .cl-nav__all { display: inline-flex; align-items: center; gap: 1.5rem; padding-bottom: .4rem; border-bottom: 1px solid var(--cl-accent); color: var(--cl-accent-light); font-size: .64rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.cl-nav__dropdown .cl-nav__all i { font-style: normal; }
.cl-nav__series-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .65rem; }
.cl-nav__series { min-width: 0; border: 1px solid var(--cl-border); background: #0a1a2a; transition: border-color 180ms ease, background 180ms ease, transform 180ms ease; }
.cl-nav__series:hover, .cl-nav__series:focus-visible { border-color: var(--cl-accent); background: #102941; color: var(--cl-light); transform: translateY(-2px); }
.cl-nav__series-media { display: block; overflow: hidden; aspect-ratio: 16 / 8; background: #edf0f2; }
.cl-nav__series-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.7,.2,1); }
.cl-nav__series:hover .cl-nav__series-media img { transform: scale(1.04); }
.cl-nav__series-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .25rem .75rem; padding: .85rem; }
.cl-nav__series-copy strong { overflow: hidden; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.cl-nav__series-copy small { grid-column: 1; color: #8da2b4; font-size: .52rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.cl-nav__series-copy i { grid-column: 2; grid-row: 1 / span 2; color: var(--cl-accent); font-size: 1rem; font-style: normal; }

/* Shareable home-page menu studies. The default production menu remains unchanged. */
.cl-nav-preview-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.4rem; }
.cl-nav-preview-head > div { display: grid; gap: .35rem; }
.cl-nav-preview-head span,
.cl-nav-category-menu__list > span { color: var(--cl-accent); font-size: .58rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.cl-nav-preview-head strong { font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 850; letter-spacing: -.035em; text-transform: uppercase; }
.cl-nav-preview-head > a { display: inline-flex; align-items: center; gap: 1.5rem; padding-bottom: .4rem; border-bottom: 1px solid var(--cl-accent); color: var(--cl-accent-light); font-size: .64rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.cl-nav-preview-head i,
.cl-nav-category-menu i,
.cl-nav-model-wall i { font-style: normal; }

.cl-nav-series-list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 2.5rem); }
.cl-nav-series-list section { min-width: 0; padding-top: .95rem; border-top: 1px solid rgba(104,175,242,.28); }
.cl-nav-series-list__heading { display: grid; gap: .3rem; margin-bottom: .85rem; }
.cl-nav-series-list__heading strong { font-size: .82rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.cl-nav-series-list__heading small { color: var(--cl-accent); font-size: .53rem; font-weight: 650; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
.cl-nav-series-list ul { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.cl-nav-series-list li a { display: block; padding: .29rem 0; color: #c8d3df; font-size: .72rem; transition: color 150ms ease, transform 150ms ease; }
.cl-nav-series-list li a:hover,
.cl-nav-series-list li a:focus-visible { color: #fff; transform: translateX(.2rem); }

.cl-nav__dropdown.cl-nav__dropdown--categories { padding-top: 0; padding-right: 0; padding-bottom: 0; box-shadow: none; }
.cl-nav__dropdown--categories .cl-nav__dropdown-inner { max-width: none; margin: 0; }
.cl-nav-category-menu { display: grid; min-height: clamp(27rem, 59vh, 35rem); grid-template-columns: minmax(17rem, .62fr) minmax(0, 1.38fr); gap: 0; }
.cl-nav-category-menu__list { display: flex; min-width: 0; flex-direction: column; padding: 1.35rem clamp(1.5rem, 4vw, 4.25rem) 1.35rem 0; }
.cl-nav-category-menu__list > span { margin-bottom: 1.1rem; }
.cl-nav-category-menu__list button { display: grid; width: 100%; grid-template-columns: 2.25rem minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: .66rem 1.4rem .66rem .75rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.08); background: transparent; clip-path: polygon(0 0,100% 0,94% 100%,0 100%); color: #758aa0; text-align: left; cursor: pointer; transition: color 160ms ease, background 180ms ease; }
.cl-nav-category-menu__list button:nth-of-type(2) { width: 96%; }
.cl-nav-category-menu__list button:nth-of-type(3) { width: 92%; }
.cl-nav-category-menu__list button:nth-of-type(4) { width: 88%; }
.cl-nav-category-menu__list button:nth-of-type(5) { width: 84%; }
.cl-nav-category-menu__list button:nth-of-type(6) { width: 80%; }
.cl-nav-category-menu__list button small { color: var(--cl-accent); font-size: .52rem; font-weight: 800; letter-spacing: .12em; }
.cl-nav-category-menu__list button strong { font-size: clamp(1.1rem, 1.8vw, 1.75rem); font-weight: 900; letter-spacing: -.03em; line-height: .95; text-transform: uppercase; }
.cl-nav-category-menu__list button span { font-size: .5rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.cl-nav-category-menu__list button:hover,
.cl-nav-category-menu__list button:focus-visible,
.cl-nav-category-menu__list button.is-active { background: linear-gradient(90deg, rgba(104,175,242,.13), rgba(104,175,242,.035)); color: #fff; }
.cl-nav-category-menu__panels { min-width: 0; }
.cl-nav-category-menu__panels section { position: relative; display: flex; min-height: clamp(27rem, 59vh, 35rem); flex-direction: column; justify-content: flex-end; isolation: isolate; overflow: hidden; padding: clamp(1.25rem, 2.25vw, 2.25rem) clamp(1rem, 2vw, 2rem) clamp(1.15rem, 2vw, 2rem) clamp(5rem, 10vw, 10rem); }
.cl-nav-category-menu__panels section[hidden] { display: none; }
.cl-nav-category-menu__feature { position: absolute; z-index: -2; inset: 0; overflow: hidden; height: 100%; background: #081522; clip-path: polygon(20% 0,100% 0,100% 100%,0 100%); }
.cl-nav-category-menu__feature::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(5,16,28,.02) 20%, rgba(5,16,28,.32) 58%, rgba(5,16,28,.94) 100%), linear-gradient(90deg, rgba(5,16,28,.72), transparent 48%); }
.cl-nav-category-menu__feature img { width: 100%; height: 100%; object-fit: cover; }
.cl-nav-category-menu__copy { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; padding: 0 0 1rem; }
.cl-nav-category-menu__copy p { max-width: 31rem; margin: 0; color: #e0e8ef; font-size: .78rem; line-height: 1.55; }
.cl-nav-category-menu__copy a { flex: 0 0 auto; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.25); font-size: .55rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.cl-nav-category-menu__models { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: .55rem; }
.cl-nav-category-menu__models a { display: grid; min-width: 0; gap: .35rem; color: #dce5ed; font-size: .52rem; font-weight: 750; text-align: center; text-transform: uppercase; }
.cl-nav-category-menu__models img { width: 100%; aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,.28); background: rgba(244,243,247,.9); object-fit: cover; }
.cl-nav-category-menu__models span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.cl-nav__dropdown--model-wall { border-color: #182434; background: #02060b; color: #f6f8fc; }
.cl-nav-model-wall { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 2.25rem); }
.cl-nav-model-wall section { min-width: 0; }
.cl-nav-model-wall__heading { display: grid; gap: .25rem; padding-bottom: .75rem; border-bottom: 1px solid rgba(104,175,242,.72); color: #fff; }
.cl-nav-model-wall__heading strong { font-size: clamp(.86rem, 1vw, 1rem); font-weight: 900; letter-spacing: .015em; text-transform: uppercase; }
.cl-nav-model-wall__heading small { color: #74baff; font-size: .56rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.cl-nav-model-wall ul { display: grid; gap: .2rem; margin: .55rem 0 0; padding: 0; list-style: none; }
.cl-nav-model-wall li a { display: flex; min-width: 0; align-items: center; gap: .75rem; padding: .2rem 0; color: #f4f7fb; transition: color 150ms ease, transform 150ms ease; }
.cl-nav-model-wall li a:hover,
.cl-nav-model-wall li a:focus-visible { color: #78baff; transform: translateX(.16rem); }
.cl-nav-model-wall li img { width: 4.25rem; height: 2.25rem; flex: 0 0 auto; object-fit: contain; }
.cl-nav-model-wall li span { display: grid; min-width: 0; }
.cl-nav-model-wall li strong { overflow: hidden; font-size: .73rem; font-weight: 850; letter-spacing: .01em; text-overflow: ellipsis; white-space: nowrap; }
.cl-nav-model-wall li small { color: #8194a7; font-size: .51rem; }
.cl-nav-model-wall footer { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 2rem; margin-top: .25rem; padding-top: .9rem; border-top: 1px solid #182434; font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cl-nav-model-wall footer > a { color: #78baff; }
.cl-nav-model-wall footer span { display: flex; gap: 1.7rem; }
.cl-nav-model-wall footer span a { color: #e9eff6; }
.cl-header__cta { display: inline-flex; min-height: 2.85rem; align-items: center; justify-self: end; gap: 1.5rem; padding: 0 1.65rem; background: #68aff2; color: #06111d; font-size: .7rem; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; transition: background 200ms ease, transform 200ms ease; }
.cl-header__cta:hover { background: #86c4fa; color: #06111d; transform: translateY(-1px); }
.cl-header__cta span { font-size: 1rem; }
.cl-menu-toggle { display: none; width: 3rem; height: 3rem; padding: .75rem; border: 0; background: transparent; color: inherit; }
.cl-menu-toggle span:not(.screen-reader-text) { display: block; height: 2px; margin: .38rem 0; background: currentColor; }
.cl-mobile-overlay { position: fixed; z-index: 109; inset: 0; background: rgba(0,0,0,.6); }
.cl-mobile-nav {
  position: fixed;
  z-index: 110;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(92vw, 28rem);
  overflow-y: auto;
  padding: 5rem 2rem 2rem;
  background: var(--cl-dark-2);
  transform: translateX(105%);
  transition: transform 300ms cubic-bezier(.2,.7,.2,1);
  visibility: hidden;
}
.cl-mobile-nav.is-open { transform: none; visibility: visible; }
.cl-mobile-nav__close { position: absolute; top: 1.1rem; right: 1.25rem; border: 0; background: none; color: inherit; font-size: 2.25rem; cursor: pointer; }
.cl-mobile-nav__kicker { display: block; margin-bottom: 1.25rem; color: var(--cl-accent); font-size: .65rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.cl-mobile-nav__list, .cl-mobile-nav .cl-nav__list { display: grid; gap: 0; margin: 0 0 2rem; padding: 0; list-style: none; }
.cl-mobile-nav__list a, .cl-mobile-nav .cl-nav__list a { display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; border-bottom: 1px solid var(--cl-border); font-size: 1.15rem; font-weight: 750; text-transform: uppercase; }
.cl-mobile-nav__boats details { border-bottom: 1px solid var(--cl-border); }
.cl-mobile-nav__boats summary { display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; cursor: pointer; font-size: 1.15rem; font-weight: 750; list-style: none; text-transform: uppercase; }
.cl-mobile-nav__boats summary::-webkit-details-marker { display: none; }
.cl-mobile-nav__boats details[open] summary span { transform: rotate(45deg); }
.cl-mobile-nav__boats details > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .9rem; padding-bottom: .75rem; }
.cl-mobile-nav__boats details > div a { padding: .65rem 0; font-size: .75rem; }
.cl-mobile-nav__boats details > div small { color: var(--cl-muted); font-size: .56rem; }

.cl-hero { position: relative; display: flex; min-height: min(74rem, 100svh); align-items: flex-end; overflow: hidden; }
.cl-hero__media { position: absolute; inset: 0; transform: scale(1.04); will-change: transform; }
.cl-hero__media img, .cl-hero__media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.cl-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,16,28,.62), transparent 35%, rgba(5,16,28,.88) 88%, var(--cl-dark)), linear-gradient(90deg, rgba(5,16,28,.5), transparent 62%); }
.cl-hero__content { position: relative; padding-bottom: clamp(3rem, 7vh, 6rem); }
.cl-hero h1, .cl-page-hero h1, .cl-model-hero h1 {
  max-width: 10ch;
  margin: clamp(.8rem, 2vh, 1.5rem) 0 0;
  font-size: clamp(3.7rem, min(9.5vw, 14vh), 11rem);
  font-weight: 900;
  letter-spacing: -.05em;
  line-height: .84;
  text-transform: uppercase;
}
.cl-hero__lower { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-top: clamp(1.5rem, 4vh, 3rem); }
.cl-hero__lower p { max-width: 30rem; margin: 0; font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.6; }
.cl-hero--c6 h1 { display: flex; max-width: none; flex-direction: column; font-size: clamp(3.5rem, min(8.4vw, 13vh), 10.25rem); line-height: .92; }
.cl-hero--c6 h1 span { font-weight: 300; letter-spacing: -.015em; }
.cl-hero--c6 h1 strong { font-weight: 900; letter-spacing: -.045em; }
.cl-hero--c6 h1 span,
.cl-hero--c6 h1 strong { white-space: nowrap; }
.cl-hero--c6 .cl-hero__lower > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.cl-film-hero { height: min(100svh, 75rem); min-height: 40rem; background: #05101c; }
.cl-film-hero__media { position: absolute; inset: 0; overflow: hidden; background: #05101c; transform: scale(1.03); }
.cl-film-hero__poster,
.cl-film-hero__layer,
.cl-film-hero__layer video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.cl-film-hero__poster { z-index: 0; }
.cl-film-hero__layer { z-index: 1; overflow: hidden; opacity: 0; will-change: opacity, clip-path, transform; }
.cl-film-hero__layer:first-of-type { opacity: 1; }
.cl-film-hero__layer video { object-position: 60% 45%; will-change: transform; }
.cl-film-hero__grade { position: absolute; z-index: 20; inset: 0; pointer-events: none; background: #0b2a44; mix-blend-mode: soft-light; opacity: .5; }
.cl-film-hero__vignette { position: absolute; z-index: 21; inset: 0; pointer-events: none; background: radial-gradient(130% 100% at 55% 45%, transparent 62%, rgba(5,16,28,.34) 100%); }
.cl-film-hero__slash { position: absolute; z-index: 22; top: -10%; bottom: -10%; left: -30%; width: 14%; opacity: 0; pointer-events: none; transform: skewX(-23deg); background: linear-gradient(90deg, transparent 0%, rgba(58,168,238,.55) 30%, #bfe6ff 47%, #fff 50%, #bfe6ff 53%, rgba(58,168,238,.55) 70%, transparent 100%); mix-blend-mode: screen; }
.cl-film-hero__slash--fine { z-index: 23; width: 3%; background: var(--cl-accent); }
.cl-film-hero__flash { position: absolute; z-index: 24; inset: 0; opacity: 0; pointer-events: none; background: #fff; }
.cl-film-hero__toggle { position: absolute; z-index: 8; top: clamp(6rem, 14vh, 8.75rem); right: clamp(1.25rem, 4vw, 3.5rem); display: grid; width: 2.5rem; height: 2.5rem; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(5,16,28,.25); backdrop-filter: blur(6px); color: var(--cl-light); cursor: pointer; font: inherit; font-size: .66rem; font-weight: 750; }
.cl-film-hero__toggle:hover { border-color: #fff; background: rgba(255,255,255,.12); }
.cl-home-series { padding-bottom: clamp(2.5rem, 5vw, 5rem); }
.cl-home-series .cl-series-tiles { margin-top: clamp(2rem, 4vw, 4rem); }

.cl-series-swipe { position: relative; height: var(--cl-series-scroll, 760svh); background: var(--cl-dark); scroll-margin-top: var(--cl-header); }
.cl-series-swipe__stage { position: sticky; top: 0; height: 100svh; overflow: hidden; background: var(--cl-dark); isolation: isolate; }
.cl-series-swipe__layers, .cl-series-swipe__layer { position: absolute; inset: 0; }
.cl-series-swipe__layer { overflow: hidden; visibility: hidden; backface-visibility: hidden; transform: translateZ(0); will-change: clip-path; }
.cl-series-swipe__layer.is-first { visibility: visible; }
.cl-series-swipe__layer img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: none; }
.cl-series-swipe__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,16,28,.38) 0%, rgba(5,16,28,.02) 27%, rgba(5,16,28,.06) 55%, rgba(5,16,28,.8) 100%), linear-gradient(90deg, rgba(5,16,28,.32), transparent 58%); }
.cl-series-swipe__content { position: absolute; right: 0; bottom: 0; left: 0; padding: 0 var(--cl-gutter) clamp(3.25rem, 8vh, 6rem); opacity: 0; pointer-events: none; will-change: opacity; }
.cl-series-swipe__content.is-current { pointer-events: auto; }
.cl-series-swipe__content-inner { width: min(100%, 100rem); margin: 0 auto; }
.cl-series-swipe__eyebrow { display: flex; align-items: center; gap: .85rem; color: var(--cl-accent-light); font-size: .68rem; font-weight: 750; letter-spacing: .25em; line-height: 1.5; text-transform: uppercase; }
.cl-series-swipe__eyebrow i { width: 2.5rem; height: 2px; flex: 0 0 auto; background: var(--cl-accent); }
.cl-series-swipe__content h2 { display: flex; flex-wrap: wrap; margin: clamp(.8rem, 1.5vh, 1.35rem) 0 0; font-size: clamp(5rem, 10.5vw, 11.875rem); font-weight: 900; letter-spacing: -.055em; line-height: .78; text-transform: uppercase; }
.cl-series-swipe__content h2 span { display: inline-block; white-space: pre; will-change: transform, opacity; }
.cl-series-swipe__lower { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; margin-top: clamp(1.5rem, 3vh, 2.25rem); }
.cl-series-swipe__lower > p { max-width: 31rem; margin: 0; color: #dbe4ec; font-size: clamp(.95rem, 1.25vw, 1.15rem); line-height: 1.65; }
.cl-series-swipe__models { display: flex; max-width: min(48rem, 58vw); flex-wrap: wrap; justify-content: flex-end; gap: .5rem; will-change: transform; }
.cl-series-swipe__models a { display: flex; min-height: 2.5rem; align-items: center; padding: 0 1rem; border: 1px solid rgba(238,243,247,.42); background: rgba(5,16,28,.3); backdrop-filter: blur(8px); color: var(--cl-light); font-size: .66rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; transition: border-color 180ms ease, background 180ms ease, color 180ms ease; }
.cl-series-swipe__models a:hover, .cl-series-swipe__models a:focus-visible { border-color: #fff; background: rgba(255,255,255,.14); color: #fff; }
.cl-series-swipe__models .cl-series-swipe__view { gap: .85rem; border-color: var(--cl-light); background: var(--cl-light); color: var(--cl-dark); }
.cl-series-swipe__models .cl-series-swipe__view:hover, .cl-series-swipe__models .cl-series-swipe__view:focus-visible { border-color: var(--cl-accent); background: var(--cl-accent); color: var(--cl-dark); }
.cl-series-swipe__wipe { position: absolute; top: -10%; bottom: -10%; left: 0; width: 1px; opacity: 0; pointer-events: none; background: transparent; will-change: transform, opacity; }
.cl-series-swipe__wipe::before { position: absolute; top: 0; bottom: 0; left: 50%; width: clamp(7rem, 13vw, 13rem); content: ""; background: linear-gradient(90deg, rgba(5,16,28,0), rgba(5,16,28,.2) 34%, rgba(5,16,28,.45) 50%, rgba(5,16,28,.18) 66%, rgba(5,16,28,0)); transform: translateX(-50%); }
.cl-series-swipe__counter { position: absolute; z-index: 20; top: calc(var(--cl-header) + clamp(1.25rem, 3vh, 2.5rem)); left: var(--cl-gutter); color: var(--cl-light); font-size: .72rem; font-weight: 750; letter-spacing: .25em; font-variant-numeric: tabular-nums; }
.cl-series-swipe__counter small { color: #9badbd; font: inherit; }
.cl-series-swipe__rail { position: absolute; z-index: 20; top: 50%; right: var(--cl-gutter); display: flex; flex-direction: column; align-items: flex-end; gap: .7rem; transform: translateY(-50%); }
.cl-series-swipe__rail button { display: flex; align-items: center; gap: .75rem; padding: .25rem 0; border: 0; background: none; color: rgba(238,243,247,.58); cursor: pointer; font: inherit; font-size: .62rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; transition: color 180ms ease; }
.cl-series-swipe__rail button i { width: .875rem; height: 2px; background: currentColor; transition: width 300ms cubic-bezier(.2,.7,.2,1); }
.cl-series-swipe__rail button:hover, .cl-series-swipe__rail button:focus-visible, .cl-series-swipe__rail button.is-current { color: #fff; }
.cl-series-swipe__rail button.is-current i { width: 2.5rem; background: var(--cl-accent); }
.cl-series-swipe__progress { position: absolute; z-index: 20; right: 0; bottom: 0; left: 0; height: 2px; background: rgba(255,255,255,.14); }
.cl-series-swipe__progress span { display: block; width: 100%; height: 100%; background: var(--cl-accent); transform: scaleX(0); transform-origin: left; will-change: transform; }

.cl-series-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 23.75rem), 1fr)); gap: clamp(.625rem, 1.2vw, 1rem); margin-top: clamp(2rem, 4vw, 4rem); }
.cl-series-tile { min-width: 0; }
.cl-series-tile__link { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 5; background: var(--cl-dark-2); color: #fff; }
.cl-series-tile__link:hover { color: #fff; }
.cl-series-tile__image, .cl-series-tile__video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity 450ms ease, transform 1.4s cubic-bezier(.2,.7,.2,1); }
.cl-series-tile__video { z-index: 1; opacity: 0; pointer-events: none; }
.cl-series-tile__link.is-previewing .cl-series-tile__video { opacity: 1; }
.cl-series-tile__link.is-previewing .cl-series-tile__image { opacity: 0; }
.cl-series-tile__link:hover .cl-series-tile__image { transform: scale(1.06); }
.cl-series-tile__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(5,16,28,.25) 0%, rgba(5,16,28,0) 30%, rgba(5,16,28,.2) 55%, rgba(5,16,28,.9) 100%); }
.cl-series-tile__content { position: absolute; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; gap: .625rem; padding: clamp(1.25rem, 2.4vw, 2.25rem); }
.cl-series-tile__eyebrow { font-size: .6875rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.cl-series-tile__content strong { font-size: clamp(2.5rem, 4.4vw, 4.75rem); font-weight: 900; letter-spacing: -.04em; line-height: .86; text-transform: uppercase; }
.cl-series-tile__description { color: #dbe4ec; font-size: .9375rem; line-height: 1.5; }
.cl-series-tile__cta { display: flex; align-items: center; gap: .875rem; margin-top: .375rem; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.cl-series-tile__cta i { width: 2.25rem; height: 2px; background: var(--cl-accent); transition: width 250ms ease; }
.cl-series-tile__link:hover .cl-series-tile__cta i { width: 3.25rem; }

.cl-why-band { position: relative; display: flex; min-height: min(60rem, 88vh); align-items: flex-end; background: var(--cl-dark-2) var(--cl-band-image) center / cover no-repeat; }
.cl-why-band__shade { position: absolute; inset: 0; background: linear-gradient(180deg, var(--cl-dark) 0%, rgba(5,16,28,.9) 9%, rgba(5,16,28,.58) 23%, rgba(5,16,28,.16) 39%, transparent 48%, rgba(5,16,28,.78) 78%, var(--cl-dark) 100%); }
.cl-lazy-band-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cl-why-image-band .cl-lazy-band-image { object-position: 55% 50%; }
.cl-why-band__content { position: relative; padding-top: var(--cl-section); padding-bottom: var(--cl-section); }
.cl-why-band h2 { max-width: 11ch; }
.cl-why-band p { max-width: 40rem; margin: 1.5rem 0 2rem; color: var(--cl-muted); font-size: 1.1rem; line-height: 1.7; }
.cl-why-band--c6 { min-height: min(60rem, 90vh); }
.cl-why-band--c6 .cl-why-band__content { width: min(100%, 90rem); }
.cl-why-band--c6 .cl-why-band__heading h2 { max-width: 10ch; margin: 0; font-size: clamp(3.5rem, 6.4vw, 7rem); font-weight: 900; letter-spacing: -.05em; line-height: .86; text-transform: uppercase; }
.cl-why-band__heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem 2.5rem; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.cl-home-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1.5rem, 3vw, 3rem); }
.cl-home-pillars article { padding-top: 1.5rem; border-top: 2px solid var(--cl-accent); }
.cl-home-pillars article > span { color: var(--cl-accent); font-size: .68rem; font-weight: 750; letter-spacing: .18em; }
.cl-home-pillars h3 { margin: .85rem 0 0; font-size: clamp(1.25rem, 2vw, 1.9rem); letter-spacing: -.02em; line-height: 1.05; text-transform: uppercase; }
.cl-home-pillars p { margin: .85rem 0 0; color: #dbe4ec; font-size: .95rem; line-height: 1.6; }
.cl-home-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cl-home-action { display: flex; min-height: 23rem; flex-direction: column; padding: clamp(2rem, 4.4vw, 4rem); }
.cl-home-action h2 { max-width: 9ch; margin: 0; font-size: clamp(2.5rem, 4.6vw, 4.5rem); font-weight: 900; letter-spacing: -.045em; line-height: .88; text-transform: uppercase; }
.cl-home-action > p { max-width: 28rem; margin: 1.5rem 0; font-size: 1.05rem; line-height: 1.6; }
.cl-home-action > .cl-button, .cl-home-action > form { margin-top: auto; align-self: flex-start; }
.cl-home-action--build { background: var(--cl-accent); color: var(--cl-dark); }
.cl-home-action--dealer { background: var(--cl-dark-2); }
.cl-home-action--dealer > p { color: var(--cl-muted); }
.cl-home-action--dealer .cl-dealer-finder__form { display: flex; width: 100%; align-self: stretch; }
.cl-home-action--dealer .cl-dealer-location { align-self: flex-start; margin-top: .65rem; }
.cl-home-action--dealer .cl-dealer-finder__status { margin: 1rem 0 0; color: var(--cl-muted); }
.cl-home-action--dealer .cl-dealer-results { display: grid; grid-template-columns: 1fr; margin-top: 1rem; }

.cl-dealer-finder { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(18rem,.8fr); gap: clamp(2rem, 6vw, 7rem); padding: clamp(2rem, 5vw, 5rem); background: var(--cl-dark-2); }
.cl-dealer-finder h2 { margin-bottom: 1.25rem; }
.cl-dealer-finder p { max-width: 36rem; color: var(--cl-muted); line-height: 1.65; }
.cl-dealer-finder__form { align-self: center; display: flex; flex-wrap: wrap; gap: .6rem; }
.cl-dealer-finder__form input { flex: 1 1 13rem; min-height: 3.5rem; padding: 0 1rem; border: 1px solid rgba(255,255,255,.45); border-radius: 0; outline: 0; background: transparent; color: #fff; }
.cl-dealer-finder__form input::placeholder { color: #9eb0be; }
.cl-dealer-finder__status { grid-column: 1 / -1; margin: 0; }
.cl-dealer-results { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 1rem; }
.cl-dealer-result { padding: 1.5rem; border-top: 2px solid var(--cl-accent); background: rgba(255,255,255,.04); }
.cl-dealer-result h3 { margin: 0 0 .8rem; font-size: 1.15rem; text-transform: uppercase; }
.cl-dealer-result p { margin: .3rem 0; font-size: .9rem; }

.cl-dealer-hero { position: relative; display: flex; min-height: min(52rem, 78svh); align-items: flex-end; overflow: hidden; padding-top: var(--cl-header); background: #061321; }
.cl-dealer-hero__media { position: absolute; inset: 0; background: url('../images/hero-boat-optimized.jpg') center 60% / cover no-repeat; transform: scale(1.02); }
.cl-dealer-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,16,28,.38), rgba(5,16,28,.18) 32%, rgba(5,16,28,.94) 94%), linear-gradient(90deg, rgba(5,16,28,.74), transparent 65%); }
.cl-dealer-hero__content { position: relative; width: 100%; padding-bottom: clamp(4rem, 9vh, 7rem); }
.cl-dealer-hero h1 { max-width: 10ch; margin: 1rem 0 1.5rem; font-size: clamp(4rem, 8vw, 8.5rem); font-weight: 900; letter-spacing: -.055em; line-height: .84; text-transform: uppercase; }
.cl-dealer-hero p { max-width: 42rem; margin: 0; color: #d4e0e9; font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.65; }
.cl-dealer-locator { background: #071523; }
.cl-dealer-locator__search { display: grid; grid-template-columns: minmax(22rem, .85fr) minmax(0, 1.15fr); align-items: end; gap: clamp(2rem, 7vw, 8rem); padding: calc(var(--cl-header) + clamp(2.75rem, 5vw, 5rem)) var(--cl-gutter) clamp(2.5rem, 4.5vw, 4.5rem); }
.cl-dealer-locator__search h1 { max-width: none; margin: .9rem 0 0; font-size: clamp(3.25rem, 4.8vw, 5.25rem); font-weight: 900; letter-spacing: -.05em; line-height: .86; text-transform: uppercase; white-space: nowrap; }
.cl-dealer-locator .cl-dealer-finder__form { display: grid; grid-template-columns: minmax(13rem, 1fr) auto 4rem; align-items: stretch; gap: .6rem; }
.cl-dealer-search-field { position: relative; display: flex; min-width: 0; align-items: center; }
.cl-dealer-search-field i { position: absolute; z-index: 1; left: 1.1rem; width: .85rem; height: .85rem; border: 2px solid #8ea5b7; border-radius: 50%; pointer-events: none; }
.cl-dealer-search-field i::after { position: absolute; right: -.42rem; bottom: -.3rem; width: .48rem; height: 2px; content: ""; background: #8ea5b7; transform: rotate(45deg); transform-origin: left center; }
.cl-dealer-search-field input { width: 100%; min-height: 4rem; padding: 0 1rem 0 3rem; border: 1px solid rgba(255,255,255,.35); border-radius: 0; outline: 0; background: rgba(255,255,255,.045); color: var(--cl-light); }
.cl-dealer-search-field input:focus { border-color: var(--cl-accent); box-shadow: 0 0 0 1px var(--cl-accent); }
.cl-dealer-search-field input::placeholder { color: #9eb0be; }
.cl-dealer-radius { display: flex; }
.cl-dealer-radius select { min-height: 4rem; padding: 0 2.6rem 0 1rem; border: 1px solid rgba(255,255,255,.35); border-radius: 0; outline: 0; background: #0b1d30; color: var(--cl-light); cursor: pointer; }
.cl-dealer-locator .cl-button { min-height: 4rem; }
.cl-dealer-location { grid-column: 1 / -1; justify-self: start; padding: .35rem 0; border: 0; background: transparent; color: var(--cl-accent-light); cursor: pointer; font-size: .64rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.cl-dealer-location::before { margin-right: .45rem; content: "⌖"; font-size: .9rem; }
.cl-dealer-locator .cl-dealer-location--icon { display: grid; width: 4rem; min-height: 4rem; grid-column: auto; place-items: center; justify-self: stretch; padding: 0; border: 1px solid rgba(255,255,255,.22); color: var(--cl-light); font-size: 1.35rem; }
.cl-dealer-locator .cl-dealer-location--icon::before { display: none; }
.cl-dealer-locator .cl-dealer-location--icon:hover { border-color: var(--cl-accent); color: var(--cl-accent-light); }
.cl-dealer-locator__body { display: grid; min-height: 48rem; grid-template-columns: minmax(20rem, 29rem) minmax(0, 1fr); border-top: 1px solid var(--cl-border); }
.cl-dealer-locator__list { position: relative; z-index: 2; display: flex; max-height: 52rem; flex-direction: column; overflow: hidden; border-right: 1px solid var(--cl-border); background: #0b1d30; }
.cl-dealer-locator__list-head { padding: 1.5rem var(--cl-gutter); border-bottom: 1px solid var(--cl-border); }
.cl-dealer-locator__list-head > strong { font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.cl-dealer-locator__list .cl-dealer-finder__status { margin: .45rem 0 0; color: #8fa3b7; font-size: .72rem; }
.cl-dealer-locator__list .cl-dealer-results { display: block; overflow-y: auto; scrollbar-color: var(--cl-accent) #071523; }
.cl-dealer-locator__list .cl-dealer-result { position: relative; padding: 1.65rem var(--cl-gutter); border: 0; border-bottom: 1px solid var(--cl-border); outline: 0; background: transparent; cursor: pointer; transition: background 180ms ease, box-shadow 180ms ease; }
.cl-dealer-locator__list .cl-dealer-result:hover,
.cl-dealer-locator__list .cl-dealer-result.is-active,
.cl-dealer-locator__list .cl-dealer-result:focus-visible { background: #102941; box-shadow: inset 3px 0 var(--cl-accent); }
.cl-dealer-result__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; color: var(--cl-accent); font-size: .6rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.cl-dealer-result__meta strong { color: #9fb1c0; font-size: .58rem; }
.cl-dealer-locator__list .cl-dealer-result h3 { margin: 0 0 .55rem; font-size: 1.2rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.cl-dealer-result__address { color: #aebfcd; line-height: 1.55; }
.cl-dealer-result__services { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .8rem; }
.cl-dealer-result__services span { padding: .28rem .45rem; border: 1px solid #40566a; color: #c1d0dc; font-size: .52rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cl-dealer-result__contacts { display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin-top: 1rem; }
.cl-dealer-result__contacts a { color: var(--cl-accent-light); font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cl-dealer-map-wrap { position: relative; min-width: 0; min-height: 48rem; background: #d8e2e9; }
.cl-dealer-map { position: absolute; inset: 0; }
.cl-dealer-map-wrap.is-stylized { background: #b9dced; }
.cl-dealer-map__fallback { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; padding: 2rem; color: #30475a; text-align: center; background-color: #dbe5eb; background-image: linear-gradient(rgba(48,71,90,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(48,71,90,.08) 1px, transparent 1px); background-size: 3rem 3rem; }
.cl-dealer-map__fallback > span { display: grid; width: 5rem; height: 5rem; place-items: center; margin-bottom: 1.25rem; border: 1px solid rgba(48,71,90,.3); border-radius: 50%; color: #217fba; font-size: 2.5rem; }
.cl-dealer-map__fallback strong { font-size: clamp(1.5rem, 3vw, 2.8rem); font-weight: 850; letter-spacing: -.035em; text-transform: uppercase; }
.cl-dealer-map__fallback p { max-width: 28rem; margin: .75rem 0 0; color: #53697a; line-height: 1.6; }

.cl-page-hero, .cl-model-hero { position: relative; display: flex; min-height: min(70rem, 94svh); align-items: flex-end; background: var(--cl-dark-2) var(--cl-hero-image, url('../images/hero-boat-optimized.jpg')) var(--cl-hero-position, 50% 50%) / cover no-repeat; }
.cl-page-hero--short { min-height: 34rem; padding-top: var(--cl-header); background-image: linear-gradient(135deg, var(--cl-dark-3), var(--cl-dark)); }
.cl-page-hero__shade, .cl-model-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,16,28,.6), transparent 38%, rgba(5,16,28,.92)); }
.cl-page-hero__content, .cl-model-hero__content { position: relative; padding-top: 10rem; padding-bottom: clamp(3.5rem, 8vh, 6.5rem); }
.cl-page-hero__content p, .cl-model-hero__content p { max-width: 38rem; margin: 1.5rem 0 0; color: var(--cl-light); font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.65; }
.cl-page-hero--short > .cl-shell { padding-top: 9rem; padding-bottom: 4rem; }

.cl-model-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: clamp(.75rem, 1.5vw, 1.25rem); }
.cl-model-card { background: linear-gradient(180deg, #0e2439, #081829); }
.cl-model-card a { display: flex; height: 100%; flex-direction: column; color: var(--cl-light); }
.cl-model-card__media { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: var(--cl-dark-2); }
.cl-model-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(.2,.7,.2,1); }
.cl-model-card:hover .cl-model-card__media img { transform: scale(1.02); }
.cl-model-card__body { padding: 1.5rem; border-top: 1px solid var(--cl-border); }
.cl-model-card__title { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.cl-model-card h3 { margin: 0; font-size: clamp(1.65rem, 2.2vw, 2.25rem); letter-spacing: -.035em; line-height: 1; text-transform: uppercase; }
.cl-model-card__title > span { color: var(--cl-accent); font-size: 1.5rem; }
.cl-model-card dl { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin: 1.3rem 0 0; }
.cl-model-card dl div { display: grid; gap: .2rem; }
.cl-model-card dt { color: #96aabc; font-size: .62rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.cl-model-card dd { margin: 0; font-size: .88rem; }

.cl-model-intro, .cl-story { display: grid; grid-template-columns: minmax(0, .9fr) minmax(20rem, 1.1fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.cl-model-intro h2, .cl-story h2 { font-size: clamp(2.8rem, 5vw, 5.4rem); }
.cl-why-hero { min-height: 100svh; }
.cl-why-story { padding-top: clamp(6rem, 11vw, 11rem); padding-bottom: clamp(6rem, 11vw, 11rem); }
.cl-why-values { border-block: 1px solid var(--cl-border); background: var(--cl-dark-2); }
.cl-why-values__heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); align-items: end; gap: clamp(3rem, 8vw, 9rem); }
.cl-why-values__heading h2 { max-width: 11ch; }
.cl-why-values__heading > p { margin: 0; color: var(--cl-muted); font-size: 1.05rem; line-height: 1.7; }
.cl-why-values__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 3rem); margin-top: clamp(3.5rem, 7vw, 7rem); }
.cl-why-values__grid article { padding-top: 1.5rem; border-top: 2px solid var(--cl-accent); }
.cl-why-values__grid article > span { color: var(--cl-accent); font-size: .65rem; font-weight: 800; letter-spacing: .16em; }
.cl-why-values__grid h3 { margin: 1rem 0 0; font-size: clamp(1.25rem, 2vw, 1.9rem); letter-spacing: -.025em; line-height: 1.05; text-transform: uppercase; }
.cl-why-values__grid p { margin: 1rem 0 0; color: var(--cl-muted); font-size: .9rem; line-height: 1.65; }
.cl-why-feature { position: relative; display: flex; min-height: min(64rem, 92svh); align-items: flex-end; background: var(--cl-dark-2) var(--cl-why-feature-image) center / cover no-repeat; }
.cl-why-feature__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,16,28,.12), rgba(5,16,28,.18) 40%, rgba(5,16,28,.92)); }
.cl-why-feature__content { position: relative; width: 100%; padding-top: var(--cl-section); padding-bottom: var(--cl-section); }
.cl-why-feature h2 { max-width: 12ch; margin: 1rem 0 0; font-size: clamp(3.25rem, 7vw, 8rem); font-weight: 900; letter-spacing: -.05em; line-height: .88; text-transform: uppercase; }
.cl-why-craft { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr); align-items: start; gap: clamp(3rem, 8vw, 9rem); }
.cl-why-craft h2 { max-width: 10ch; font-size: clamp(2.8rem, 5vw, 5.4rem); }
.cl-why-craft .cl-button { margin-top: 2rem; }
.cl-why-cta { padding-block: clamp(4.5rem, 8vw, 8rem); background: var(--cl-accent); color: var(--cl-dark); }
.cl-why-cta > div { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; }
.cl-why-cta .cl-kicker { color: var(--cl-dark); }
.cl-why-cta h2 { margin: .8rem 0 0; font-size: clamp(3rem, 6.4vw, 7rem); font-weight: 900; letter-spacing: -.05em; line-height: .86; text-transform: uppercase; }
.cl-why-cta p { max-width: 44rem; margin: 1.5rem 0 0; font-size: 1rem; line-height: 1.65; }
.cl-why-cta > div > div:last-child { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .7rem; }

/* Why Crownline editorial page, based on the supplied Crownline 6 design. */
.cl-why-ref-hero { position: relative; display: flex; min-height: 100svh; align-items: flex-end; overflow: hidden; background: var(--cl-dark) var(--cl-why-hero-image) 70% 50% / cover no-repeat; }
.cl-why-ref-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,16,28,.55), transparent 28%, transparent 48%, rgba(5,16,28,.82) 82%, var(--cl-dark)), linear-gradient(90deg, rgba(5,16,28,.5), transparent 60%); }
.cl-why-ref-hero__content { position: relative; z-index: 1; width: 100%; padding-top: calc(var(--cl-header) + 4rem); padding-bottom: clamp(3.5rem, 7vh, 6rem); }
.cl-why-ref-hero h1 { margin: clamp(1rem, 2vh, 1.5rem) 0 0; font-size: clamp(4.5rem, min(11vw, 16vh), 12.5rem); font-weight: 900; letter-spacing: -.05em; line-height: .84; text-transform: uppercase; }
.cl-why-ref-hero p { max-width: 36rem; margin: clamp(1.25rem, 3vh, 2rem) 0 0; color: #d4dee6; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.6; }
.cl-why-pillar-list { padding-top: clamp(5.5rem, 10vw, 10.5rem); padding-bottom: clamp(5.5rem, 10vw, 10.5rem); }
.cl-why-pillar-list article { position: relative; display: grid; min-height: 14rem; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); align-items: end; gap: 2rem clamp(2rem, 6vw, 6rem); padding: clamp(2.5rem, 4vw, 4rem) 0; overflow: hidden; border-top: 1px solid var(--cl-border); }
.cl-why-pillar-list article > div, .cl-why-pillar-list article > p { position: relative; z-index: 1; }
.cl-why-pillar-list small { color: var(--cl-accent); font-size: .72rem; font-weight: 750; letter-spacing: .2em; }
.cl-why-pillar-list h2 { max-width: 11ch; margin: .9rem 0 0; font-size: clamp(2.75rem, 5vw, 5rem); font-weight: 900; letter-spacing: -.045em; line-height: .88; text-transform: uppercase; }
.cl-why-pillar-list p { max-width: 30rem; margin: 0; color: #c9d5df; font-size: clamp(1rem, 1.4vw, 1.3rem); line-height: 1.6; }
.cl-why-pillar-list__ghost { position: absolute; top: 50%; right: -1vw; transform: translateY(-50%); color: transparent; font-size: clamp(8rem, 16vw, 17.5rem); font-weight: 900; letter-spacing: -.07em; line-height: .8; pointer-events: none; background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,0) 84%); background-clip: text; -webkit-background-clip: text; }
.cl-why-image-band { position: relative; height: clamp(30rem, 76vh, 54rem); overflow: hidden; background: var(--cl-dark-2) var(--cl-why-band-image) 55% 50% / cover no-repeat; }
.cl-why-image-band span { position: absolute; inset: 0; background: linear-gradient(180deg, var(--cl-dark), transparent 24%, transparent 70%, var(--cl-dark)); }
.cl-why-history { padding-top: clamp(5.5rem, 10vw, 10.5rem); padding-bottom: clamp(5.5rem, 10vw, 10.5rem); }
.cl-why-history__heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .8fr); align-items: end; gap: 2rem clamp(2rem, 7vw, 7.5rem); margin-bottom: clamp(3rem, 6vw, 6rem); }
.cl-why-history__heading h2, .cl-why-lineup > h2 { margin: 0; font-size: clamp(3.4rem, 6vw, 6.5rem); font-weight: 900; letter-spacing: -.045em; line-height: .86; text-transform: uppercase; }
.cl-why-history__heading p { max-width: 34rem; margin: 0; color: #c9d5df; font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.65; }
.cl-why-history__timeline { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 3vw, 3rem); }
.cl-why-history__timeline article { padding: 1.7rem 0 2.5rem; border-top: 2px solid var(--cl-accent); }
.cl-why-history__timeline strong { display: block; font-size: clamp(2.6rem, 5vw, 5.2rem); font-weight: 300; letter-spacing: -.05em; line-height: 1; }
.cl-why-history__timeline p { margin: 1rem 0 0; color: #c9d5df; font-size: .9rem; line-height: 1.6; }
.cl-why-lineup { padding-bottom: clamp(5rem, 9vw, 9rem); }
.cl-why-lineup > h2 { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.cl-why-lineup__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 1.4vw, 1.25rem); }
.cl-why-lineup__card { display: flex; min-width: 0; flex-direction: column; gap: .75rem; padding: clamp(1rem, 2vw, 1.6rem); overflow: hidden; background: var(--cl-dark-2); color: var(--cl-light); }
.cl-why-lineup__card:hover { background: #0f2640; color: var(--cl-light); }
.cl-why-lineup__card small { color: var(--cl-accent); font-size: .65rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.cl-why-lineup__card > strong { font-size: clamp(1.5rem, 2.3vw, 2.5rem); font-weight: 900; letter-spacing: -.04em; line-height: .95; text-transform: uppercase; }
.cl-why-lineup__card > span { aspect-ratio: 16 / 10; overflow: hidden; margin: .4rem calc(clamp(1rem, 2vw, 1.6rem) * -1) calc(clamp(1rem, 2vw, 1.6rem) * -1); }
.cl-why-lineup__card img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; transition: transform .8s ease; }
.cl-why-lineup__card:hover img { transform: scale(1.04); }
.cl-why-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding-bottom: clamp(4.5rem, 9vw, 8rem); }
.cl-why-actions article { display: flex; min-height: 21rem; flex-direction: column; align-items: flex-start; gap: 2rem; padding: clamp(2rem, 4.5vw, 4rem); background: var(--cl-dark-2); }
.cl-why-actions__build { background: var(--cl-accent) !important; color: var(--cl-dark); }
.cl-why-actions h2 { margin: 0; font-size: clamp(2.6rem, 4.8vw, 4.8rem); font-weight: 900; letter-spacing: -.045em; line-height: .88; text-transform: uppercase; }
.cl-why-actions .cl-button { margin-top: auto; }
.cl-gallery { display: flex; width: min(100%, 94rem); flex-wrap: wrap; justify-content: center; gap: clamp(.5rem, 1vw, 1rem); margin-inline: auto; padding-inline: clamp(.75rem, 2vw, 2rem); }
.cl-gallery > button { width: calc((100% - clamp(1rem, 2vw, 2rem)) / 3); min-width: 0; padding: 0; overflow: hidden; border: 0; background: #071523; cursor: zoom-in; }
.cl-gallery img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: filter 350ms ease, transform 650ms cubic-bezier(.2,.7,.2,1); }
.cl-gallery > button:hover img, .cl-gallery > button:focus-visible img { filter: brightness(1.08); transform: scale(1.025); }
.cl-lightbox { width: 100vw; max-width: none; height: 100vh; max-height: none; margin: 0; padding: clamp(1rem, 3vw, 2.5rem); border: 0; background: rgba(0,0,0,.97); color: #fff; }
.cl-lightbox::backdrop { background: #000; }
.cl-lightbox[open] { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; place-items: center; gap: clamp(.5rem, 2vw, 2rem); }
.cl-lightbox__image { width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 5rem); object-fit: contain; }
.cl-lightbox button { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.5); background: rgba(0,0,0,.32); color: #fff; cursor: pointer; font-size: 1.4rem; }
.cl-lightbox__close { position: fixed; z-index: 2; top: 1rem; right: 1rem; }
.cl-specs { background: var(--cl-dark-2); }
.cl-specs dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 0; margin: 3rem 0 0; border-top: 1px solid var(--cl-border); }
.cl-specs dl div { padding: 1.5rem 1rem 1.5rem 0; border-bottom: 1px solid var(--cl-border); }
.cl-specs dt { color: var(--cl-muted); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.cl-specs dd { margin: .55rem 0 0; font-size: clamp(1.5rem, 2vw, 2.2rem); font-weight: 300; }
.cl-model-cta { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; background: var(--cl-accent); color: var(--cl-dark); }
.cl-model-cta .cl-kicker { color: var(--cl-dark); }
.cl-model-hero--new { isolation: isolate; min-height: min(72rem, 100svh); }
.cl-model-hero--new .cl-model-hero__shade { z-index: 1; background: linear-gradient(180deg, rgba(5,16,28,.66) 0%, rgba(5,16,28,.08) 34%, rgba(5,16,28,.9) 92%, var(--cl-dark) 100%); }
.cl-model-hero__ghost { position: absolute; z-index: 0; left: clamp(.5rem, 1.5vw, 1.5rem); bottom: 57%; max-width: 100%; overflow: hidden; color: transparent; font-size: clamp(7rem, 22vw, 26rem); font-weight: 900; letter-spacing: -.075em; line-height: .78; text-transform: uppercase; white-space: nowrap; background: linear-gradient(180deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.27) 58%, rgba(255,255,255,.035) 100%); background-clip: text; -webkit-background-clip: text; filter: drop-shadow(0 2px 12px rgba(5,16,28,.22)); }
.cl-model-hero--new .cl-model-hero__content { z-index: 2; width: 100%; }
.cl-model-hero--campaign { min-height: min(100svh, 56.25vw); background-size: 100% auto; background-color: var(--cl-dark); }
.cl-model-image-caption { display: block; padding: .6rem 1.25rem 0; color: #becad6; font-size: .7rem; line-height: 1.4; }
.cl-model-image-caption--hero { position: absolute; z-index: 3; right: var(--cl-gutter); bottom: 1rem; max-width: calc(100% - 2 * var(--cl-gutter)); padding: 0; }
@media (max-width: 900px) {
  .cl-model-hero.cl-model-hero--campaign { min-height: 0; background-position: center var(--cl-header); }
  .cl-model-hero--campaign .cl-model-hero__content { padding-top: calc(var(--cl-header) + 50vw); padding-bottom: 3rem; }
  .cl-model-hero--campaign .cl-model-hero__shade { background: linear-gradient(180deg, rgba(5,16,28,.1) 0, transparent calc(var(--cl-header) + 35vw), var(--cl-dark) calc(var(--cl-header) + 56.25vw)); }
  .cl-model-hero--campaign .cl-model-hero__ghost { top: calc(var(--cl-header) + 1rem); bottom: auto; font-size: clamp(5rem, 20vw, 11rem); }
}
.cl-model-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; color: #c4d0da; font-size: .65rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.cl-model-breadcrumb span { color: #71879a; }
.cl-model-hero__lower { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.cl-model-hero__lower > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.cl-model-intro--new { padding-top: clamp(6rem, 11vw, 11rem); padding-bottom: clamp(6rem, 11vw, 11rem); }
.cl-model-gallery-section { padding-block: var(--cl-section); }
.cl-model-section-heading { margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.cl-model-section-heading h2, .cl-model-more h2 { margin: .9rem 0 0; font-size: clamp(3rem, 6.4vw, 7rem); font-weight: 900; letter-spacing: -.045em; line-height: .88; text-transform: uppercase; }
.cl-model-video { max-width: var(--cl-shell); }
.cl-model-video h2 { margin: .9rem 0 0; font-size: clamp(2.75rem, 4.8vw, 5.25rem); font-weight: 900; letter-spacing: -.045em; line-height: .88; text-transform: uppercase; }
.cl-model-video__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.5rem, 1vw, 1rem); margin-top: clamp(2rem, 3vw, 3rem); }
.cl-model-video__poster { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: #000; }
.cl-model-video__poster > img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.cl-model-video__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,16,28,.1), rgba(5,16,28,.4)), radial-gradient(circle at center, transparent 0, rgba(5,16,28,.18) 70%); }
.cl-model-video__play { position: absolute; top: 50%; left: 50%; display: grid; width: clamp(4.5rem, 7vw, 6.5rem); height: clamp(4.5rem, 7vw, 6.5rem); place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(5,16,28,.34); box-shadow: 0 1rem 3rem rgba(0,0,0,.28); opacity: 1; backdrop-filter: blur(8px); transform: translate(-50%, -50%); }
.cl-model-video__play i { width: 0; height: 0; margin-left: .35rem; border-top: .75rem solid transparent; border-bottom: .75rem solid transparent; border-left: 1.15rem solid #fff; }
.cl-model-video__poster:hover > img { transform: scale(1.025); }
.cl-model-more .cl-model-grid { margin-top: clamp(2rem, 4vw, 4rem); }
.cl-model-cta p { max-width: 40rem; margin: 1.5rem 0 0; font-size: .95rem; line-height: 1.6; }

.cl-build-select__hero {
  padding: calc(var(--cl-header) + clamp(3.5rem, 7vw, 7rem)) 0 clamp(3rem, 5vw, 5rem);
  background: radial-gradient(circle at 78% 30%, rgba(58,168,238,.1), transparent 30%), var(--cl-dark);
}
.cl-build-select__hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr); align-items: end; gap: clamp(3rem, 8vw, 9rem); }
.cl-build-select__hero h1 { max-width: 10ch; margin: 1.25rem 0 0; font-size: clamp(4rem, 8vw, 8.5rem); letter-spacing: -.055em; line-height: .82; text-transform: uppercase; }
.cl-build-select__hero h1 span, .cl-build-select__hero h1 strong { display: block; }
.cl-build-select__hero h1 span { font-weight: 250; }
.cl-build-select__hero h1 strong { font-weight: 900; }
.cl-build-select__intro p { max-width: 34rem; margin: 0; color: var(--cl-muted); font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.65; }
.cl-build-select__intro ol { display: flex; flex-wrap: wrap; gap: .45rem 1.4rem; margin: 1.5rem 0 0; padding: 0; color: #91a6b9; font-size: .58rem; font-weight: 750; letter-spacing: .16em; list-style: none; text-transform: uppercase; }
.cl-build-select__intro li:not(:last-child)::after { width: 2rem; height: 1px; margin-left: 1rem; content: ""; background: #3f5366; }
.cl-build-select__intro li { display: flex; align-items: center; }
.cl-build-notice { margin-top: 2rem; color: var(--cl-accent-light); }
.cl-build-filters { position: sticky; z-index: 20; top: var(--cl-header); overflow-x: auto; border-block: 1px solid var(--cl-border); background: rgba(5,16,28,.94); backdrop-filter: blur(16px); }
.cl-build-filters .cl-shell { display: flex; min-width: max-content; }
.cl-build-filter-select { display: none; }
.cl-build-filters button { padding: 1.2rem 1.35rem; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--cl-muted); cursor: pointer; font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.cl-build-filters button span { margin-left: .35rem; color: #73899c; }
.cl-build-filters button.is-active { border-color: var(--cl-accent); color: var(--cl-light); }
.cl-build-catalog { padding-bottom: var(--cl-section); }
.cl-build-series { padding-top: clamp(3.5rem, 6vw, 6rem); }
.cl-build-series, .cl-model-gallery-section, .cl-specs, .cl-home-actions { content-visibility: auto; contain-intrinsic-size: auto 56rem; }
.cl-build-series[hidden] { display: none; }
.cl-build-series__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.cl-build-series__heading h2 { margin: 0; font-size: clamp(2.35rem, 4vw, 4.25rem); font-weight: 900; letter-spacing: -.045em; line-height: .9; text-transform: uppercase; }
.cl-build-series__heading > span { color: #9bafc1; font-size: .62rem; font-weight: 750; letter-spacing: .17em; text-align: right; text-transform: uppercase; }
.cl-build-models { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.cl-build-model[hidden] { display: none; }
.cl-build-model { min-width: 0; border: 1px solid rgba(255,255,255,.06); background: linear-gradient(180deg, #10233a, #09182a); }
.cl-build-model a { display: flex; height: 100%; flex-direction: column; color: var(--cl-light); }
.cl-build-model__media { overflow: hidden; aspect-ratio: 16 / 9; margin: .75rem .75rem 0; background: var(--cl-dark-2); }
.cl-build-model__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.cl-build-model:hover .cl-build-model__media img { transform: scale(1.02); }
.cl-build-model__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.cl-build-model h3 { margin: 0 0 1.4rem; font-size: clamp(1.2rem, 1.7vw, 1.75rem); font-weight: 900; letter-spacing: -.035em; line-height: 1; text-transform: uppercase; }
.cl-build-model__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: auto; }
.cl-build-model__footer > span { display: grid; gap: .2rem; }
.cl-build-model__footer small { color: #8ea2b5; font-size: .52rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.cl-build-model__footer strong { font-size: .9rem; }
.cl-build-model__footer b { display: inline-flex; min-height: 2.7rem; align-items: center; gap: .65rem; padding: .65rem 1rem; background: var(--cl-accent); color: var(--cl-dark); font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; }
.cl-build-model__footer i { font-style: normal; }

.cl-builder { min-height: 100svh; padding-top: var(--cl-header); background: var(--cl-dark); }
.cl-builder__rail { display: grid; grid-template-columns: minmax(0, 1fr); border-bottom: 1px solid var(--cl-border); background: #061321; }
.cl-builder__bar { min-width: 0; border-right: 1px solid var(--cl-border); background: #071523; }
.cl-builder__bar > a { display: grid; min-height: 5.25rem; grid-template-columns: 3.8rem 1fr; align-items: center; gap: 1rem; padding: .75rem clamp(1rem, 2vw, 1.8rem); color: var(--cl-light); }
.cl-builder__bar img { width: 3.8rem; height: 2.7rem; border: 1px solid rgba(255,255,255,.2); background: #fff; object-fit: cover; }
.cl-builder__bar span { display: grid; min-width: 0; gap: .3rem; }
.cl-builder__bar strong { overflow: hidden; font-size: .96rem; font-weight: 900; letter-spacing: -.01em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.cl-builder__bar small { color: var(--cl-accent); font-size: .57rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.cl-builder__steps { display: grid; min-width: 0; grid-template-columns: repeat(5, 1fr); }
.cl-builder__steps button { display: grid; min-width: 0; align-content: center; gap: .24rem; padding: .72rem clamp(.65rem, 1.25vw, 1.35rem); border: 0; border-right: 1px solid var(--cl-border); border-top: 2px solid transparent; background: transparent; color: #8da0b3; cursor: pointer; text-align: left; text-transform: uppercase; }
.cl-builder__steps .cl-builder__step-number { color: #6f86a1; font-size: .55rem; font-weight: 750; letter-spacing: .18em; }
.cl-builder__steps strong { overflow: hidden; color: inherit; font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-overflow: ellipsis; white-space: nowrap; }
.cl-builder__steps small { overflow: hidden; color: #65788a; font-size: .65rem; font-weight: 500; letter-spacing: .01em; text-overflow: ellipsis; text-transform: none; white-space: nowrap; }
.cl-builder__steps button.is-active { border-top-color: var(--cl-accent); color: var(--cl-light); background: #102139; }
.cl-builder__steps button.is-active small { color: #c7d5e3; }
.cl-builder__workspace { display: grid; height: calc(100svh - var(--cl-header) - 5.25rem - 1px); min-height: 38rem; grid-template-columns: minmax(0, 3fr) minmax(23rem, 1fr); }
.cl-builder__viewer { position: relative; min-height: 38rem; background: #081829; }
.cl-builder__viewer iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.cl-builder__panel { display: flex; min-width: 0; max-height: 100%; flex-direction: column; overflow: hidden; padding: clamp(1.25rem, 1.5vw, 1.75rem) clamp(1.25rem, 1.5vw, 1.75rem) 0; border-left: 1px solid var(--cl-border); background: #0b1d30; }
.cl-builder__mobile-toggle { display: none; }
.cl-builder__viewer-toolbar { display: none; }
.cl-builder__panel > section { min-height: 0; flex: 1; overflow-y: auto; padding-bottom: 1rem; scrollbar-width: none; }
.cl-builder__panel > section::-webkit-scrollbar { width: 0; height: 0; }
.cl-builder__panel h1, .cl-builder__panel h2 { margin: .65rem 0 .8rem; font-size: clamp(1.65rem, 2.25vw, 2.45rem); font-weight: 900; letter-spacing: -.04em; line-height: .94; text-transform: uppercase; }
.cl-builder__panel [data-cl-builder-panel="0"] h1 { font-size: clamp(1.95rem, 2.6vw, 2.8rem); letter-spacing: -.045em; white-space: nowrap; }

/* Skip paint/layout work for substantial sections until they approach view. */
.cl-home-pillars,
.cl-home-why,
.cl-home-actions,
.cl-model-gallery-section,
.cl-specs,
.cl-model-more,
.cl-footer { content-visibility: auto; contain-intrinsic-size: 1px 52rem; }
.cl-builder__panel section > p { margin: 0 0 1.45rem; color: var(--cl-muted); font-size: .82rem; line-height: 1.55; }
.cl-builder__palettes { min-width: 0; margin: 0 0 1.25rem; padding: 0; border: 0; }
.cl-builder__palettes legend { margin-bottom: .72rem; color: #9eb1c7; font-size: .62rem; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.cl-builder__palettes > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.cl-builder__palettes button { min-width: 0; padding: .32rem; border: 1px solid #2a3b4e; background: #071523; color: var(--cl-light); cursor: pointer; }
.cl-builder__palettes button > span { display: grid; height: 1.6rem; grid-template-columns: repeat(4, 1fr); }
.cl-builder__palettes button i { display: block; background: var(--cl-swatch); }
.cl-builder__palettes button strong { display: block; overflow: hidden; margin-top: .42rem; font-size: .53rem; font-weight: 800; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.cl-builder__palettes button.is-active { border-color: var(--cl-accent); box-shadow: inset 0 0 0 1px var(--cl-accent); }
.cl-builder__palettes--interior button > span { grid-template-columns: repeat(3, 1fr); }
.cl-builder__finishes { border-bottom: 1px solid var(--cl-border); }
.cl-builder__finish { border-top: 1px solid var(--cl-border); }
.cl-builder__finish summary { display: grid; min-height: 3.65rem; grid-template-columns: 1.6rem minmax(4.5rem, 1fr) auto .7rem; align-items: center; gap: .5rem; cursor: pointer; list-style: none; }
.cl-builder__finish summary::-webkit-details-marker { display: none; }
.cl-builder__finish-preview { width: 1.6rem; height: 1.6rem; border: 1px solid rgba(255,255,255,.3); background: var(--cl-swatch); }
.cl-builder__finish summary strong { font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cl-builder__finish summary output { overflow: hidden; max-width: 7rem; color: #9eb1c7; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.cl-builder__finish summary > span::before { display: block; color: #8095aa; content: "+"; font-size: 1rem; line-height: 1; }
.cl-builder__finish[open] summary > span::before { content: "−"; }
.cl-builder__swatches { display: flex; flex-wrap: wrap; gap: .48rem; padding: .15rem 0 1rem 2.25rem; }
.cl-builder__swatches > button { width: 2.45rem; height: 2.45rem; padding: 0; border: 1px solid #536275; background: var(--cl-swatch); cursor: pointer; }
.cl-builder__swatches > button.is-active { border-color: var(--cl-accent); box-shadow: 0 0 0 2px #0b1d30, 0 0 0 3px var(--cl-accent); }
.cl-builder__custom-color { position: relative; display: grid; justify-items: center; gap: .15rem; color: #91a5b8; cursor: pointer; font-size: .48rem; letter-spacing: .04em; text-transform: uppercase; }
.cl-builder__custom-color input { display: block; width: 2.45rem; height: 2.45rem; padding: 0; overflow: hidden; border: 1px solid #536275; border-radius: 0; background: transparent; cursor: pointer; }
.cl-builder__color { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .9rem; padding: 1rem 0; border-top: 1px solid var(--cl-border); cursor: pointer; }
.cl-builder__color span { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cl-builder__color input { width: 2.75rem; height: 2.75rem; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: none; cursor: pointer; }
.cl-builder__color output { color: #8fa2b2; font-size: .67rem; font-variant-numeric: tabular-nums; }
.cl-builder__choices { display: grid; gap: .6rem; }
.cl-builder__choices label { position: relative; cursor: pointer; }
.cl-builder__choices input { position: absolute; opacity: 0; }
.cl-builder__choices span { display: block; padding: 1.1rem 1rem; border: 1px solid var(--cl-border); color: var(--cl-muted); font-size: .8rem; line-height: 1.4; }
.cl-builder__choices input:checked + span { border-color: var(--cl-accent); background: rgba(58,168,238,.09); color: var(--cl-light); }
.cl-builder__summary { display: grid; margin-bottom: 1.5rem; }
.cl-builder__summary > div { display: grid; grid-template-columns: minmax(7rem, .7fr) 1.3fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--cl-border); }
.cl-builder__summary span { color: #8498a9; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.cl-builder__summary strong { font-size: .78rem; line-height: 1.45; }
.cl-builder__specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 0 0 1.5rem; background: var(--cl-border); }
.cl-builder__specs div { padding: .8rem; background: #0b1d30; }
.cl-builder__specs dt { color: #8498a9; font-size: .57rem; letter-spacing: .12em; text-transform: uppercase; }
.cl-builder__specs dd { margin: .3rem 0 0; font-size: .78rem; }
.cl-builder details { margin-bottom: 1.5rem; color: var(--cl-muted); font-size: .8rem; line-height: 1.6; }
.cl-builder details summary { margin-bottom: .75rem; color: var(--cl-light); cursor: pointer; font-weight: 700; text-transform: uppercase; }
.cl-builder__actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.cl-builder__actions .cl-button { flex: 1 1 10rem; }
.cl-builder__panel-nav { position: sticky; z-index: 4; bottom: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .5rem; margin: 0 calc(clamp(1.25rem, 1.5vw, 1.75rem) * -1); padding: 1.15rem .75rem 1.25rem; border-top: 1px solid var(--cl-border); background: #081829; box-shadow: 0 -1rem 2rem rgba(5,16,28,.35); }
.cl-builder__persistent-price { display: grid; min-width: 0; gap: .28rem; }
.cl-builder__persistent-price span { overflow: hidden; color: #91a7bc; font-size: .48rem; font-weight: 750; letter-spacing: .14em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.cl-builder__persistent-price strong { font-size: 2.6rem; font-weight: 900; letter-spacing: -.045em; line-height: .88; }
.cl-builder__persistent-price small { color: #72879a; font-size: .5rem; }
.cl-builder__panel-buttons { display: flex; align-items: center; gap: .35rem; }
.cl-builder__panel-nav button { min-height: 2.75rem; padding: .65rem .8rem; border: 0; background: transparent; color: var(--cl-light); cursor: pointer; font-size: .58rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.cl-builder__panel-buttons button:not([data-cl-builder-next]) { width: 3.1rem; min-height: 3.25rem; overflow: hidden; padding: 0; border: 1px solid #4a5c70; font-size: 0; }
.cl-builder__panel-buttons button:not([data-cl-builder-next])::before { content: "←"; font-size: 1rem; }
.cl-builder__panel-nav [data-cl-builder-next] { min-height: 3.25rem; padding: .8rem 1.25rem; background: #68aff2; color: #06111d; font-size: .68rem; font-weight: 800; letter-spacing: .19em; transition: background 200ms ease, transform 200ms ease; }
.cl-builder__panel-nav [data-cl-builder-next]:hover { background: #86c4fa; transform: translateY(-1px); }
.cl-builder__panel-nav button:disabled { display: none; }

.cl-footer { border-top: 1px solid var(--cl-border); padding-top: clamp(3.5rem, 7vw, 6rem); color: var(--cl-muted); }
.cl-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 3rem; }
.cl-footer__logo { width: auto; height: 2rem; }
.cl-footer strong { display: block; margin-bottom: 1rem; color: var(--cl-accent); font-size: .68rem; letter-spacing: .17em; text-transform: uppercase; }
.cl-footer__links { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; font-size: .9rem; }
.cl-footer__legal { margin-top: 3.5rem; padding-top: 1.5rem; padding-bottom: 2rem; border-top: 1px solid var(--cl-border); font-size: .72rem; }
.cl-entry { padding-block: 2rem; border-bottom: 1px solid var(--cl-border); }

/* Elementor page classes created by the companion importer.
 * Elementor 4 loads its generated flexbox defaults after the theme stylesheet,
 * so the `.elementor` prefix intentionally wins the cascade. */
.elementor .cl-el-section.e-con { display: flex; width: 100%; flex-direction: column; align-items: flex-start; padding: var(--cl-section) var(--cl-gutter); background-color: var(--cl-dark); }
.elementor .cl-el-section.e-con > * { flex: 0 0 auto; }
.elementor .cl-el-section.e-con > .e-con-inner { width: min(100%, var(--cl-shell)); }
.elementor .cl-el-hero.e-con { position: relative; isolation: isolate; min-height: 100svh; justify-content: flex-end; overflow: hidden; padding-top: calc(var(--cl-header) + 2rem); background: url('../images/hero-boat-optimized.jpg') center / cover no-repeat; }
.elementor .cl-el-hero.e-con::before { position: absolute; z-index: 1; inset: 0; content: ""; pointer-events: none; background: linear-gradient(180deg, rgba(5,16,28,.52) 0%, rgba(5,16,28,.08) 38%, rgba(5,16,28,.9) 92%, var(--cl-dark) 100%), linear-gradient(90deg, rgba(5,16,28,.42), transparent 64%); }
.elementor .cl-el-hero.e-con > *:not(.cl-el-hero__video) { position: relative; z-index: 2; }
.cl-el-hero__video { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.cl-el-hero .cl-display { max-width: 10ch; font-size: clamp(3.7rem, 9.5vw, 11rem); font-weight: 900; letter-spacing: -.05em; line-height: .84; text-transform: uppercase; }
.elementor .cl-el-section .e-heading-base { display: block; margin: 0; color: var(--cl-light); font-family: Montserrat, system-ui, sans-serif; }
.elementor .cl-el-section .cl-kicker { display: flex; width: auto; height: auto; margin: 0 0 clamp(1rem, 2vh, 1.5rem); }
.elementor .cl-el-section .e-paragraph-base:not(.cl-kicker) { display: block; width: 100%; height: auto; max-width: 42rem; margin: clamp(1.25rem, 3vh, 2rem) 0 1.75rem; color: var(--cl-muted); font-size: 1.1rem; line-height: 1.7; }
.elementor .cl-el-section .e-button-base { display: inline-flex; width: auto; height: auto; align-self: flex-start; border-radius: 0; }
.cl-el-models > .elementor-widget-shortcode,
.cl-el-dealers > .elementor-widget-shortcode { width: 100%; }
.elementor .cl-el-models.e-con { gap: 0; }
.elementor .cl-el-models .e-heading-base { font-size: clamp(3rem, 6.4vw, 7rem); font-weight: 900; letter-spacing: -.045em; line-height: .88; text-transform: uppercase; }
.elementor .cl-el-why.e-con { min-height: 70vh; justify-content: flex-end; background: linear-gradient(180deg, var(--cl-dark), rgba(5,16,28,.3), var(--cl-dark-2)), url('../images/hero-boat-optimized.jpg') center / cover no-repeat; }
.elementor .cl-el-why .e-heading-base { font-size: clamp(3rem, 6vw, 6.5rem); font-weight: 900; letter-spacing: -.045em; line-height: .88; text-transform: uppercase; }
.elementor .cl-el-page-hero.e-con { min-height: 82svh; justify-content: flex-end; background: linear-gradient(180deg, rgba(5,16,28,.45), rgba(5,16,28,.92)), url('../images/hero-boat-optimized.jpg') center / cover no-repeat; }
.cl-el-page-hero .cl-display { max-width: 10ch; }
.elementor .cl-el-dealers.e-con { padding-top: 0; }

.cl-reveal { opacity: 0; transform: translateY(2.5rem); transition: opacity 700ms cubic-bezier(.2,.7,.2,1), transform 700ms cubic-bezier(.2,.7,.2,1); }
.cl-reveal.is-visible { opacity: 1; transform: none; }

.cl-stagger-ready .cl-stagger-item { opacity: 0; filter: blur(8px) saturate(.82); transform: translate3d(var(--cl-stagger-x, 0), 2.75rem, 0) scale(.965); transform-origin: 50% 100%; transition: opacity 700ms ease, filter 800ms ease, transform 950ms cubic-bezier(.16,1,.3,1); transition-delay: var(--cl-stagger-delay, 0ms); will-change: opacity, filter, transform; }
.cl-stagger-ready .cl-stagger-item.is-stagger-visible { opacity: 1; filter: none; transform: none; }

@media (max-width: 1200px) {
  .cl-nav__series-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cl-nav-series-list,
  .cl-nav-model-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cl-nav-category-menu { grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); }
  .cl-nav-category-menu__models { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .cl-build-models { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  :root { --cl-header: 5rem; }
  .cl-header { grid-template-columns: 1fr auto; }
  .cl-header { top: 0; }
  .cl-nav, .cl-header__cta { display: none; }
  .cl-menu-toggle { display: block; justify-self: end; }
  .cl-hero { min-height: 48rem; }
  .cl-hero__lower, .cl-model-cta { align-items: flex-start; flex-direction: column; }
  .cl-model-hero__lower { align-items: flex-start; flex-direction: column; }
  .cl-model-hero__lower > div { justify-content: flex-start; }
  .cl-model-intro, .cl-story, .cl-dealer-finder { grid-template-columns: 1fr; }
  .cl-why-values__heading,
  .cl-why-craft { grid-template-columns: 1fr; }
  .cl-why-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-why-cta > div { align-items: flex-start; flex-direction: column; }
  .cl-why-pillar-list article,
  .cl-why-history__heading { grid-template-columns: 1fr; }
  .cl-why-history__timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-why-lineup__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-why-actions { grid-template-columns: 1fr; }
  .cl-build-select__hero-grid { grid-template-columns: 1fr; }
  .cl-build-models { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-dealer-locator__search { grid-template-columns: 1fr; }
  .cl-dealer-locator__body { grid-template-columns: minmax(17rem, 38%) minmax(0, 1fr); }
  .cl-home-pillars { grid-template-columns: repeat(2, 1fr); }
  .cl-home-actions { grid-template-columns: 1fr; }
  .cl-gallery > button { width: calc((100% - clamp(.5rem, 1vw, 1rem)) / 2); }
  .cl-model-video__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-footer__grid { grid-template-columns: 1fr 1fr; }
  .cl-footer__grid > :first-child { grid-column: 1 / -1; }
  .elementor .cl-el-hero.e-con { min-height: 48rem; background-position: 56% 50%; }
  .cl-el-hero__video { object-position: 58% 50%; }
  .elementor .cl-el-why.e-con { min-height: 42rem; background-position: 58% 50%; }
  .cl-builder { padding-bottom: calc(5.75rem + env(safe-area-inset-bottom)); }
  .cl-builder__rail { grid-template-columns: 1fr; }
  .cl-builder__workspace { height: auto; min-height: 0; grid-template-columns: 1fr; }
  .cl-builder__viewer { min-height: min(58svh, 34rem); }
  .cl-builder__steps { overflow: visible; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cl-builder__steps button { justify-items: center; padding: .8rem .35rem; text-align: center; }
  .cl-builder__steps small { display: none; }
  .cl-builder__panel { order: -1; max-height: none; overflow: visible; border-top: 1px solid var(--cl-border); border-left: 0; scroll-margin-top: calc(var(--cl-header) + .75rem); }
  .cl-builder__panel > section { flex: none; overflow: visible; }
  .cl-builder__viewer-toolbar { position: sticky; z-index: 5; top: var(--cl-header); order: -1; display: flex; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: .75rem; padding: .4rem 1.25rem; border-top: 1px solid var(--cl-border); background: #071523; }
  .cl-builder__viewer-toolbar button { min-height: 2.75rem; padding: .35rem 0; border: 0; background: none; color: var(--cl-accent-light); font-size: .65rem; font-weight: 750; text-align: left; cursor: pointer; }
  .cl-builder__viewer-toolbar span { color: var(--cl-muted); font-size: .6rem; text-align: right; }
  .cl-builder--mobile-ready .cl-builder__mobile-toggle { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; margin: -.5rem 0 .75rem; padding: .65rem 0; border: 0; background: none; color: var(--cl-light); text-align: left; font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
  .cl-builder__mobile-toggle > span:last-child::after { content: "+"; color: var(--cl-accent); font-size: 1.4rem; }
  .cl-builder__mobile-toggle[aria-expanded="true"] > span:last-child::after { content: "−"; }
  .cl-builder--mobile-ready:not(.is-mobile-choices-open) .cl-builder__panel > section { display: none; }
  .cl-builder__panel .cl-builder__finish { margin-bottom: 0; }
  .cl-builder__finish summary { min-height: 3.75rem; margin-bottom: .25rem; }
  .cl-builder__swatches > button, .cl-builder__custom-color input { width: 2.75rem; height: 2.75rem; }
  .cl-builder__panel-nav { position: fixed; z-index: 105; right: 0; bottom: 0; left: 0; width: 100%; margin: 0; padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
  .cl-build-filters { overflow: visible; padding-block: .65rem; }
  .cl-build-filters .cl-shell { display: block; min-width: 0; }
  .cl-build-filters button { display: none; }
  .cl-build-filter-select { display: block; width: 100%; min-height: 3.25rem; padding: 0 3rem 0 1rem; border: 1px solid #31485d; border-radius: 0; outline: 0; background: #0b1d30; color: var(--cl-light); font: inherit; font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
  .cl-build-filter-select:focus { border-color: var(--cl-accent); box-shadow: 0 0 0 1px var(--cl-accent); }
  .cl-series-swipe { height: var(--cl-series-scroll-mobile, 640svh); }
  .cl-series-swipe__rail { display: none; }
  .cl-series-swipe__content { padding-bottom: clamp(2.5rem, 6vh, 4.5rem); }
  .cl-series-swipe__models { max-width: 100%; justify-content: flex-start; }
}

@media (max-width: 560px) {
  :root { --cl-section: 4.5rem; }
  .cl-hero { min-height: 42rem; }
  .cl-hero h1, .cl-page-hero h1, .cl-model-hero h1 { font-size: clamp(3.25rem, 17vw, 5.4rem); }
  .cl-series-tiles { grid-template-columns: 1fr; }
  .cl-series-tile__link { aspect-ratio: 4 / 5; }
  .cl-series-tile__content strong { font-size: clamp(2.75rem, 15vw, 4rem); }
  .cl-series-swipe__layer img { inset: 0; width: 100%; height: 100%; }
  .cl-series-swipe__content h2 { font-size: clamp(4.25rem, 23vw, 7.5rem); }
  .cl-series-swipe__lower { gap: 1rem; }
  .cl-series-swipe__lower > p { display: -webkit-box; overflow: hidden; font-size: .9rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .cl-series-swipe__models { max-height: 7.5rem; overflow: hidden; gap: .4rem; }
  .cl-series-swipe__models a { min-height: 2.15rem; padding: 0 .7rem; font-size: .58rem; }
  .cl-series-swipe__counter { top: calc(var(--cl-header) + 1rem); }
  .cl-page-hero, .cl-model-hero { min-height: 42rem; }
  .cl-footer__grid { grid-template-columns: 1fr; }
  .cl-footer__grid > :first-child { grid-column: auto; }
  .elementor .cl-el-section.e-con { padding-right: 1.25rem; padding-left: 1.25rem; }
  .elementor .cl-el-hero.e-con { min-height: 44rem; padding-bottom: 3rem; }
  .elementor .cl-el-hero .cl-display { max-width: 8ch; font-size: clamp(3.25rem, 17vw, 5.4rem); }
  .elementor .cl-el-section .e-paragraph-base:not(.cl-kicker) { font-size: 1rem; line-height: 1.6; }
  .elementor .cl-el-why.e-con { min-height: 38rem; }
  .cl-hero--c6 h1 { max-width: 12ch; font-size: clamp(3.2rem, 16vw, 5.2rem); }
  .cl-hero--c6 h1 span,
  .cl-hero--c6 h1 strong { white-space: normal; }
  .cl-hero--c6 .cl-hero__lower > div { justify-content: flex-start; }
  .cl-home-pillars { grid-template-columns: 1fr; }
  .cl-gallery > button { width: 100%; }
  .cl-lightbox[open] { grid-template-columns: 1fr; }
  .cl-lightbox__prev, .cl-lightbox__next { position: fixed; z-index: 2; bottom: 1rem; }
  .cl-lightbox__prev { left: 1rem; }
  .cl-lightbox__next { right: 1rem; }
  .cl-model-video__grid { grid-template-columns: 1fr; }
  .cl-why-values__grid { grid-template-columns: 1fr; }
  .cl-why-feature { min-height: 42rem; }
  .cl-why-cta > div > div:last-child { width: 100%; }
  .cl-why-cta .cl-button { width: 100%; }
  .cl-why-ref-hero { min-height: 44rem; background-position: 62% 50%; }
  .cl-why-ref-hero h1 { font-size: clamp(3.5rem, 18vw, 5.5rem); }
  .cl-why-pillar-list article { min-height: 0; }
  .cl-why-history__timeline,
  .cl-why-lineup__grid { grid-template-columns: 1fr; }
  .cl-why-actions article { min-height: 18rem; }
  .cl-home-action { min-height: 21rem; }
  .cl-build-select__hero h1 { font-size: clamp(3.2rem, 16vw, 5.2rem); }
  .cl-build-series__heading { align-items: flex-start; flex-direction: column; gap: .75rem; }
  .cl-build-series__heading > span { text-align: left; }
  .cl-build-models { grid-template-columns: 1fr; }
  .cl-builder__viewer { min-height: 28rem; }
  .cl-builder__steps button { min-height: 4.65rem; gap: .35rem; padding: .6rem .2rem; }
  .cl-builder__steps .cl-builder__step-number { color: var(--cl-accent); font-size: .62rem; }
  .cl-builder__steps strong { overflow: visible; font-size: .55rem; letter-spacing: .06em; line-height: 1.2; text-overflow: clip; white-space: normal; }
  .cl-builder__panel { padding: 1.5rem 1.25rem 0; }
  .cl-builder__panel > section:not([hidden]) { display: grid; grid-template-columns: 4rem minmax(0, 1fr) 1rem; align-items: center; gap: .35rem .9rem; }
  .cl-builder__panel > section::after { display: none; }
  .cl-builder__panel > section > .cl-kicker { display: grid; width: 4rem; height: 4rem; grid-column: 1; grid-row: 1 / span 2; place-items: center; margin: 0; background: var(--cl-accent); color: var(--cl-dark); font-size: 0; }
  .cl-builder__panel > section > .cl-kicker::before { display: none; }
  .cl-builder__panel > section > .cl-kicker::after { content: attr(data-mobile-step); font-size: .8rem; font-weight: 900; letter-spacing: .04em; }
  .cl-builder__panel h1, .cl-builder__panel h2,
  .cl-builder__panel [data-cl-builder-panel="0"] h1 { grid-column: 2; grid-row: 1; margin: 0; font-size: clamp(1.05rem, 5.7vw, 1.5rem); letter-spacing: .04em; line-height: 1; white-space: normal; }
  .cl-builder__panel [data-cl-builder-panel="0"] h1 { font-size: clamp(1.2rem, 6.2vw, 1.65rem); }
  .cl-builder__panel section > p { grid-column: 2 / 4; grid-row: 2; margin: 0; font-size: .78rem; line-height: 1.45; }
  .cl-builder__panel section > :not(.cl-kicker):not(h1):not(h2):not(p) { grid-column: 1 / -1; }
  .cl-builder__panel section > .cl-builder__palettes,
  .cl-builder__panel section > .cl-builder__finishes,
  .cl-builder__panel section > .cl-builder__choices,
  .cl-builder__panel section > .cl-builder__summary,
  .cl-builder__panel section > .cl-builder__specs,
  .cl-builder__panel section > details,
  .cl-builder__panel section > .cl-builder__actions { margin-top: 1.35rem; }
  .cl-builder__panel-nav { margin-top: 1.5rem; padding: 1rem 1.25rem max(1rem, env(safe-area-inset-bottom)); }
  .cl-builder__persistent-price strong { font-size: 2.35rem; }
  .cl-builder__panel-buttons button:not([data-cl-builder-next]) { width: 3.25rem; min-height: 3.25rem; overflow: hidden; padding: 0; font-size: 0; border: 1px solid #4a5c70; }
  .cl-builder__panel-buttons button:not([data-cl-builder-next])::before { content: "←"; font-size: 1rem; }
  .cl-dealer-hero { min-height: 40rem; }
  .cl-dealer-hero h1 { font-size: clamp(3.4rem, 16vw, 5.4rem); }
  .cl-dealer-locator__search { padding-right: 1.25rem; padding-left: 1.25rem; }
  .cl-dealer-locator__search h1 { white-space: normal; }
  .cl-dealer-locator .cl-dealer-finder__form { grid-template-columns: 1fr; }
  .cl-dealer-radius select { width: 100%; }
  .cl-dealer-locator__body { display: flex; min-height: 0; flex-direction: column-reverse; }
  .cl-dealer-map-wrap { min-height: 27rem; }
  .cl-dealer-locator__list { max-height: none; border-top: 1px solid var(--cl-border); border-right: 0; }
  .cl-dealer-locator__list .cl-dealer-results { overflow: visible; }
}

/* Comparison page only. The canvas and choices have separate touch surfaces;
   steps and price never scroll with the bounded, keyboard-accessible choices. */
@media (max-width: 900px) {
  .cl-mobile-test-2 .cl-footer { display: none; }
  .cl-builder--mobile-test-2 {
    position: fixed; z-index: 25; inset: var(--cl-header) 0 0;
    display: grid; grid-template-rows: minmax(0, 1fr) 3.5rem minmax(0, 46%);
    height: calc(100vh - var(--cl-header)); height: calc(100dvh - var(--cl-header));
    min-height: 0; padding: 0; overflow: hidden;
  }
  .cl-builder--mobile-test-2 .cl-builder__workspace { display: contents; }
  .cl-builder--mobile-test-2 .cl-builder__viewer { grid-row: 1; min-width: 0; min-height: 0; overflow: hidden; }
  .cl-builder--mobile-test-2 .cl-builder__rail { grid-row: 2; min-width: 0; border-top: 1px solid #34485e; }
  .cl-builder--mobile-test-2 .cl-builder__steps button { min-height: 0; height: auto; gap: .3rem; padding: .5rem .15rem; }
  .cl-builder--mobile-test-2 .cl-builder__steps strong { font-size: clamp(.53rem, 2vw, .72rem); letter-spacing: .04em; }
  .cl-builder--mobile-test-2 .cl-builder__panel {
    grid-row: 3; order: 0; min-height: 0; max-height: 100%; padding: 0; overflow: hidden; border-top: 0;
  }
  .cl-builder--mobile-test-2 .cl-builder__mobile-toggle,
  .cl-builder--mobile-test-2 .cl-builder__viewer-toolbar { display: none !important; }
  .cl-builder--mobile-test-2 .cl-builder__panel > section:not([hidden]) {
    display: block; flex: 1 1 0; min-height: 0; overflow: auto;
    padding: 1rem; overscroll-behavior-y: contain; touch-action: pan-y;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .cl-builder--mobile-test-2 .cl-builder__panel > section > .cl-kicker { display: none; }
  .cl-builder--mobile-test-2 .cl-builder__panel h1,
  .cl-builder--mobile-test-2 .cl-builder__panel h2,
  .cl-builder--mobile-test-2 .cl-builder__panel [data-cl-builder-panel="0"] h1 {
    margin: 0 0 .5rem; font-size: 1.15rem; line-height: 1.15; letter-spacing: -.025em;
  }
  .cl-builder--mobile-test-2 .cl-builder__panel section > p { margin: 0 0 .75rem; font-size: .72rem; }
  .cl-builder--mobile-test-2 .cl-builder__panel section > .cl-builder__palettes,
  .cl-builder--mobile-test-2 .cl-builder__panel section > .cl-builder__finishes,
  .cl-builder--mobile-test-2 .cl-builder__panel section > .cl-builder__choices,
  .cl-builder--mobile-test-2 .cl-builder__panel section > .cl-builder__summary,
  .cl-builder--mobile-test-2 .cl-builder__panel section > .cl-builder__specs,
  .cl-builder--mobile-test-2 .cl-builder__panel section > details,
  .cl-builder--mobile-test-2 .cl-builder__panel section > .cl-builder__actions { margin-top: .75rem; }
  .cl-builder--mobile-test-2 .cl-builder__palettes { margin-bottom: .75rem; }
  .cl-builder--mobile-test-2 .cl-builder__palettes > div { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cl-builder--mobile-test-2 .cl-builder__palettes button { min-height: 2.75rem; }
  .cl-builder--mobile-test-2 .cl-builder__palettes button > span { height: 1.1rem; }
  .cl-builder--mobile-test-2 .cl-builder__palettes button strong { font-size: .46rem; letter-spacing: .02em; }
  .cl-builder--mobile-test-2 .cl-builder__panel-nav {
    position: relative; inset: auto; flex: 0 0 auto; width: 100%; margin: 0;
    padding: .85rem 1rem max(.85rem, env(safe-area-inset-bottom)); box-shadow: none;
  }
  .cl-builder--mobile-test-2 .cl-builder__persistent-price { gap: .35rem; }
  .cl-builder--mobile-test-2 .cl-builder__persistent-price strong { font-size: clamp(1.8rem, 7vw, 2.35rem); }
  .cl-builder--mobile-test-2 .cl-builder__panel-buttons { gap: .3rem; }
  .cl-builder--mobile-test-2 .cl-builder__panel-nav [data-cl-builder-next] { padding: .8rem 1rem; }
  .cl-builder--mobile-test-2 .cl-builder__panel-buttons button:not([data-cl-builder-next]) { width: 2.75rem; }
}
@media (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  .cl-builder--mobile-test-2 { grid-template-columns: minmax(0, 1fr) minmax(20rem, 46%); grid-template-rows: 3.5rem minmax(0, 1fr); }
  .cl-builder--mobile-test-2 .cl-builder__viewer { grid-row: 1 / -1; grid-column: 1; }
  .cl-builder--mobile-test-2 .cl-builder__rail { grid-row: 1; grid-column: 2; }
  .cl-builder--mobile-test-2 .cl-builder__panel { grid-row: 2; grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .cl-reveal { opacity: 1; transform: none; }
  .cl-stagger-ready .cl-stagger-item { opacity: 1; filter: none; transform: none; }
  .cl-hero__media { transform: none !important; }
}
