/* =============================================================================
   content.css: Content area (06): text/legal pages, journal, article, About,
   Showroom, Contact, Services hub + service pages, programme pages, Our
   Ranges, 404 and site search. Loaded by inc/assets.php after chrome.css.
   Grid shorthand (06 §0): --cg column+gutter, --g gutter, --c column,
   --wN = N columns incl. inner gutters, U = var(--unit).
   ============================================================================= */

body {
  --g: var(--gutter-unit);
  --c: var(--column-unit);
  --cg: var(--column-and-gutter-unit);
  --w2: calc(2 * var(--cg) - var(--g));
  --w3: calc(3 * var(--cg) - var(--g));
  --w4: calc(4 * var(--cg) - var(--g));
  --w5: calc(5 * var(--cg) - var(--g));
  --w6: calc(6 * var(--cg) - var(--g));
  --w7: calc(7 * var(--cg) - var(--g));
  --w8: calc(8 * var(--cg) - var(--g));
  --w9: calc(9 * var(--cg) - var(--g));
  --w10: calc(10 * var(--cg) - var(--g));
  --wu4: calc(var(--unit) + var(--w4));
  --wu7: calc(var(--unit) + var(--w7));
  --title-line-c: var(--c-sage-mist);
}
body.page-bg--beige { background: var(--c-beige); }
body.page-bg--beige .site-main { background: var(--c-beige); }

/* Title underline colour per page family (06 §0.4). */
.content-page [data-observe="title-line"]::after { background: var(--title-line-c); }
.tpl-services, .tpl-service { --title-line-c: var(--c-sage); }
.services-quote { --title-line-c: var(--c-sage-deep); }
.page-trade .prof-hero, .tpl-programme .dealers-about { --title-line-c: var(--accent-blue-active); }
.tl-word { white-space: nowrap; }

/* Section padding helpers shared by the modular pages */
.content-page .site-main { overflow-x: clip; }

/* =============================================================================
   T1 · Text / legal pages (06 §3) — also the article container (T3)
   ============================================================================= */
.article-container { width: var(--w10); margin: 0 auto; }
@media (min-width: 1501px) { .article-container { width: var(--w8); } }
.article-title {
  width: 70%;
  margin: 200px 0 85px;
  font-size: 30px; font-weight: var(--fw-regular); line-height: 1.2 !important; letter-spacing: 0;
}
.article-title b { font-weight: var(--fw-bold); }
.article-title span { font-weight: var(--fw-regular); }
@media (min-width: 501px) and (max-width: 1439px) {
  .article-title { margin-top: calc(15.95745vw - 29.78723px); margin-bottom: calc(3.7234vw + 31.38298px); }
}
.article-description { display: flex; margin-bottom: 70px; }
.article-description__content { flex-grow: 1; min-width: 0; margin-right: var(--cg); font-size: 18px; line-height: 1.6; }
.text-page { padding-bottom: 120px; }
.page-extra { padding: 80px 0 40px; }

.entry-content > * + * { margin-top: 30px; }
.entry-content h2, .entry-content h4 { font-size: 30px; font-weight: var(--fw-bold); line-height: 1.6; letter-spacing: 0; }
.entry-content h3, .entry-content h5 { font-size: 24px; font-weight: var(--fw-bold); line-height: 1.6; letter-spacing: 0; }
.entry-content h4 { font-size: 20px; }
.entry-content h2 + *, .entry-content h3 + * { margin-top: 12px; }
.entry-content p { font-size: inherit; }
.entry-content b { font-weight: var(--fw-medium); }
.entry-content strong { font-weight: var(--fw-bold); }
.entry-content a:not(.btn):not(.chip) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: var(--c-ink-30); transition: text-decoration-color var(--dur-1) var(--ease); }
.entry-content a:not(.btn):not(.chip):hover { text-decoration-color: var(--c-ink); }
.entry-content ul { list-style: none; margin-left: 0; padding: 0; }
.entry-content ul > li { position: relative; padding-left: 20px; }
.entry-content ul > li + li { margin-top: 8px; }
.entry-content ul > li::before { content: ""; position: absolute; left: 2px; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: var(--c-ink); }
.entry-content ol { margin: 0; padding-left: 22px; list-style: decimal; }
.entry-content ol > li { padding-left: 15px; }
.entry-content ol > li + li { margin-top: 16px; }
.entry-content ol > li::marker { font-weight: var(--fw-medium); }
.entry-content .wp-block-table { margin-left: 0; margin-right: 0; overflow-x: auto; }
.entry-content table { width: 100%; font-size: 16px; line-height: 1.4; }
.entry-content th, .entry-content td { padding: 16px 16px 16px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--c-line); }
.entry-content .wp-block-table th, .entry-content .wp-block-table td { border-width: 0 0 1px; border-style: solid; border-color: var(--c-line); }
.entry-content .wp-block-table thead { border-bottom: 0; }
.entry-content .wp-block-table th { border-color: var(--c-ink-20); }
.entry-content th { font-size: 14px; font-weight: var(--fw-medium); color: var(--c-ink-60); border-bottom-color: var(--c-ink-20); }
.entry-content figure { margin-left: 0; margin-right: 0; }
.entry-content img { height: auto; }
.entry-content .has-small-font-size { font-size: 12px; }
.entry-content figcaption { margin-top: 8px; font-size: 14px; color: var(--c-ink-60); }
/* Certification marks (Certifications page / [[certs]]) */
.entry-content .is-style-certs, .article-container > .is-style-certs { display: flex; flex-wrap: wrap; gap: 24px; }
.is-style-certs .wp-block-image { flex: 0 0 auto; width: 120px; margin: 0; text-align: center; }
.is-style-certs .wp-block-image img { width: 100%; height: 80px; object-fit: contain; }
@media (max-width: 990px) {
  .article-container { width: 100%; padding: 0 var(--unit); }
  .article-title { width: 100%; margin: 50px 0; font-size: 24.94px; }
  .article-description { flex-direction: column; }
  .article-description__content { margin-right: 0; }
  .entry-content > * + * { margin-top: 20px; }
  .entry-content h2, .entry-content h4 { font-size: 24.94px; }
  .entry-content h3, .entry-content h5 { font-size: 20px; }
  .text-page { padding-bottom: 80px; }
}

/* =============================================================================
   Shared: service hero (06 §2.2)
   ============================================================================= */
.service-hero { padding: 256px 0 160px; }
.service-hero--about { padding-bottom: 136px; }
.service-hero--services { padding: 208px 0; }
.service-hero__content { max-width: var(--w6); margin: 0 auto; font-size: 18px; line-height: 1.6; text-align: center; }
.service-hero--services .service-hero__content { max-width: calc(7 * var(--cg)); }
.service-hero--about .service-hero__content { margin-bottom: 80px; }
.service-hero__label { display: block; margin-bottom: 0; font-size: 18px; font-weight: var(--fw-bold); line-height: 1; letter-spacing: var(--ls-caps-wide); text-transform: uppercase; }
.service-hero--about .service-hero__label { margin-bottom: 8px; }
.service-hero__title { margin-top: 80px; margin-bottom: .55em; }
.service-hero__title:last-child { margin-bottom: 0; }
.service-hero__intro p + p { margin-top: 24px; }
.service-hero__tabs { display: flex; flex-wrap: wrap; justify-content: center; margin: 32px 0 0 -8px; }
.service-hero__tabs li { margin: 8px 0 0 8px; }
.service-hero__tab, .pill-tab {
  position: relative; z-index: 0; display: inline-flex; align-items: center;
  min-height: 32px; padding: 0 16px; font-size: 18px; line-height: 32px; white-space: nowrap;
}
.pill-tab { font-size: 16px; }
.service-hero__tab::before, .pill-tab::before {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: var(--r-pill);
  background: var(--c-sage-pale); opacity: 0; transition: opacity var(--dur-1) var(--ease);
}
.service-hero__tab:hover::before, .pill-tab:hover::before, .pill-tab.is-active::before { opacity: 1; }
.pill-tab.is-active { font-weight: var(--fw-medium); }
@media (max-width: 990px) {
  .service-hero, .service-hero--showroom { padding: 56px 0 24px; }
  .service-hero--about { padding-bottom: 56px; }
  .service-hero--services { padding: 40px 0 80px; }
  .service-hero__content, .service-hero--services .service-hero__content { max-width: none; font-size: 16px; text-align: left; }
  .service-hero--about .service-hero__content { margin-bottom: 40px; }
  .service-hero__label { font-size: 16px; margin-bottom: 4px; }
  .service-hero__title { margin: 0 0 24px; }
  .service-hero__tabs { display: none; }
}

/* Shared copy rhythm inside text columns */
.split__text p, .collage__text p, .media-text__text p, .gallery-float__text p, .steps__text p,
.prof-bonus__text p, .prof-features__head p, .question-section__text p, .split-colour__text p,
.about-prof__inner p, .services-map__head p, .masonry__text p, .deck-section__info p { font-size: 16px; line-height: 1.6; }
.split__text p + p, .collage__text p + p, .media-text__text p + p, .gallery-float__text p + p, .steps__text p + p, .prof-bonus__text p + p, .deck-section__info p + p { margin-top: 16px; }

/* Sage button with white text (06 §2.4) */
.btn--sage-white { --btn-bg: var(--c-sage); --btn-fg: var(--c-white); }

/* Triangle-marker list (services split C) and dash list (Commercial hero) */
.tri-list { margin-top: 24px; }
.tri-list li { position: relative; padding-left: 20px; font-size: 16px; line-height: 1.6; }
.tri-list li + li { margin-top: 8px; }
.tri-list li::before { content: ""; position: absolute; left: 0; top: .55em; border-left: 6px solid var(--c-ink); border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.dash-list { margin: -1em 0 2em; }
.dash-list li { font-size: 16px; line-height: 1.6; }
.dash-list li::before { content: "— "; }
.check-list { margin: 0 0 32px; }
.check-list li { position: relative; padding-left: 36px; font-size: 16px; line-height: 1.6; }
.check-list li + li { margin-top: 8px; }
.check-list .icon { position: absolute; left: 0; top: .35em; }

/* =============================================================================
   Split section (06 §2.4)
   ============================================================================= */
.split { position: relative; }
.split__rect { position: absolute; left: 0; top: 0; z-index: 0; width: var(--wu4); background: var(--c-taupe-light); }
.split .container { position: relative; z-index: 1; }
.split__content { display: flex; align-items: flex-start; }
.split__img { position: relative; flex-shrink: 0; }
.split__img img { width: 100%; height: auto; }
.split__text { flex-shrink: 0; width: var(--w3); }
.split__text h2 { margin-bottom: 32px; }
.split__text .btn { margin-top: 40px; }
/* A: image left 8c, text 3c */
.split--a { padding-top: 12vh; padding-bottom: 104px; }
.split--a .split__rect { height: calc(100% - 12vh - 104px); }
.split--a .split__img { width: var(--w8); margin-right: var(--c); }
.split--a .split__img > img { aspect-ratio: 1.56; object-fit: cover; }
.split--a .split__text { padding-right: calc(var(--c) / 2); }
/* B: About stats, static rect from the bottom */
.split--b { margin-bottom: 160px; }
.split--b .split__rect { top: auto; bottom: 0; height: calc(100% - 72px); }
.split--b .split__content { align-items: center; padding-bottom: 124px; }
.split--b .split__img { width: var(--w8); margin-right: var(--cg); }
.split--b .split__img > img { aspect-ratio: 1.61; object-fit: cover; }
.split--b .btn { margin-top: 48px; }
/* C: services hub, image 6c, rect on the right */
.split--c .split__rect { left: auto; right: 0; height: 100%; width: var(--w7); transform-origin: right center; }
.split--c .split__content { align-items: center; padding: 12vh 0; }
.split--c .split__img { width: var(--w6); margin-right: var(--cg); }
.split--c .split__img > img { aspect-ratio: 1.56; object-fit: cover; }
.split--c .split__text { width: calc(4 * var(--cg)); max-width: 482px; }
.split--c .btn { margin-top: 48px; }
/* D: text left, image bleeding right */
.split--d { padding: 18.5vh 0 22.22vh; }
.split--d .split__rect { left: auto; right: 0; height: 100%; width: calc(var(--unit) + var(--w2)); }
.split--d .container { padding-right: 0; }
.split--d .split__content { flex-direction: row-reverse; align-items: center; padding: 0 0 0 calc(2 * var(--unit)); }
.split--d .split__img { width: var(--wu7); margin-left: auto; }
.split--d .split__img > img { aspect-ratio: 1.61; object-fit: cover; }
.split--d .split__text { padding-right: var(--g); }
@media (max-width: 990px) {
  .split__content, .split--d .split__content { flex-direction: column; align-items: stretch; padding: 0; }
  .split__img, .split--a .split__img, .split--b .split__img, .split--c .split__img, .split--d .split__img { width: 100%; margin: 0 0 64px; }
  .split__text, .split--c .split__text { width: 100%; max-width: none; padding: 0; }
  .split__text h2 { margin-bottom: 24px; }
  .split--a { padding: 112px 0 32px; }
  .split--a .split__rect { top: 72px; width: 74vw; height: 94vw; }
  .split--a .split__img { width: calc(100% + var(--unit)); }
  .split--a .split__img > img { aspect-ratio: 1; }
  .split--b { margin-bottom: 80px; }
  .split--b .split__rect { display: none; }
  .split--b .split__img { margin-bottom: 40px; }
  .split--c { padding-bottom: 64px; }
  .split--c .split__rect { top: auto; bottom: 0; left: 0; right: auto; width: 100vw; height: 80%; transform: none !important; }
  .split--c .split__content { padding: 0; }
  .split--c .split__img { margin-bottom: 48px; }
  .split--d { padding: 40px 0 72px; }
  .split--d .container { padding-right: var(--unit); }
  .split--d .split__rect { width: 48vw; height: 57.6vw; top: 0; }
  .split--d .split__img { width: calc(100% + var(--unit)); margin-right: calc(-1 * var(--unit)); }
  .split--d .split__content { flex-direction: column; }
}

/* Comparison slider (06 §10.2) */
.comparison { position: relative; overflow: hidden; cursor: col-resize; user-select: none; touch-action: pan-y; aspect-ratio: 1.5; }
.comparison img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.comparison__after { position: absolute; inset: 0; }
.comparison__before { position: absolute; left: 0; top: 0; width: var(--pos); height: 100%; overflow: hidden; }
.comparison__wrap { position: absolute; left: 0; top: 0; height: 100%; width: var(--cmp-w, 100%); }
.comparison__splitter { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: var(--c-white); }
.comparison__handle {
  position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center;
  width: 64px; height: 64px; border-radius: 50%; background: var(--c-sage-dark); color: var(--c-white);
  transform: translate(-50%, -50%); cursor: grab; box-shadow: var(--shadow-pop);
}
.comparison__handle:focus-visible { outline: 2px solid var(--c-white); outline-offset: 3px; }
.comparison__tag { position: absolute; bottom: 16px; padding: 4px 10px; border-radius: var(--r-pill); background: var(--glass-white-80); font-size: 12px; font-weight: var(--fw-medium); letter-spacing: var(--ls-caps); text-transform: uppercase; pointer-events: none; }
.comparison__tag--before { left: 16px; }
.comparison__tag--after { right: 16px; }
@media (max-width: 800px) { .comparison__handle { width: 40px; height: 40px; } .comparison__handle .icon { width: 18px; } }

/* =============================================================================
   Steps (06 §2.5)
   ============================================================================= */
.steps { padding: 16vh 0; }
.steps--decorator { padding: 20vh 0 28vh; }
.steps__container { display: flex; align-items: flex-start; }
@media (min-width: 1281px) { .steps__container { padding-left: var(--cg); } }
.steps__text { width: var(--w4); flex-shrink: 0; padding-right: 24px; }
.steps__text h2 { margin-bottom: 32px; }
.steps--decorator .steps__text h2 { margin-bottom: 24px; }
.steps__text h2:last-child { margin-bottom: 0; }
.steps__list { display: flex; margin-left: auto; counter-reset: step; }
.steps__li { position: relative; width: var(--w2); }
.steps__li + .steps__li { margin-left: var(--g); }
.steps__li:not(:last-child)::before {
  content: ""; position: absolute; top: 38px; right: calc((100% - 80px) / -2 - var(--g) / 2); width: 64px; height: 4px; transform: translateX(50%);
  background: radial-gradient(circle, var(--c-ink-20) 1.6px, transparent 2px) 0 50% / 12px 4px repeat-x;
}
.steps__icon { display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; margin-bottom: 24px; border-radius: 50%; background: var(--c-white); color: var(--c-ink); }
.steps__icon .icon { width: 40px; height: 40px; }
.steps__icon .icon * { stroke: var(--c-ink); }
.steps__body p { max-width: 210px; font-size: 16px; line-height: 1.6; }
.steps__btn { display: inline-flex; align-items: center; height: 40px; margin-top: 16px; padding: 0 16px; border-radius: var(--r-pill); background: var(--c-sage); color: var(--c-white); font-size: 16px; line-height: 40px; transition: background-color var(--dur-1) var(--ease); }
.steps__btn:hover { background: var(--c-sage-deep); }
@media (min-width: 1441px) {
  .steps__icon { width: 120px; height: 120px; }
  .steps__icon .icon { width: 64px; height: 64px; }
  .steps__li:not(:last-child)::before { top: 58px; right: calc((100% - 120px) / -2 - var(--g) / 2); }
}
@media (min-width: 991px) and (max-width: 1280px) { .steps__li { width: 176px; } }
@media (max-width: 990px) {
  .steps { padding: 32px 0 80px; }
  .steps--decorator { padding: 104px 0; }
  .steps__container { flex-direction: column; }
  .steps__text { width: 100%; padding: 0; margin-bottom: 40px; }
  .steps__list { flex-direction: column; margin-left: 0; }
  .steps__li { display: flex; align-items: center; width: 100%; }
  .steps__li + .steps__li { margin: 36px 0 0; }
  .steps__li:not(:last-child)::before { top: calc(100% + 16px); left: 30px; right: auto; width: 4px; height: 4px; transform: none; background: var(--c-ink-20); border-radius: 50%; }
  .steps__icon { width: 64px; height: 64px; margin: 0 16px 0 0; flex-shrink: 0; }
  .steps__icon .icon { width: 32px; height: 32px; }
  .steps__body p { max-width: none; font-weight: var(--fw-medium); }
}

/* =============================================================================
   Collage (06 §2.6)
   ============================================================================= */
.collage { position: relative; }
.collage--samples .collage__top { position: relative; z-index: 1; width: var(--wu7); margin: 0 0 -160px auto; }
.collage--samples .collage__rect { width: var(--wu4); padding-top: 120%; max-height: 0; margin-left: auto; background: var(--c-taupe-light); }
.collage--samples .collage__rect { padding-top: calc(var(--wu4) * 1.2); }
.collage--samples .collage__img-top { position: absolute; right: 0; bottom: 0; width: var(--wu7); aspect-ratio: 1 / .6; overflow: hidden; }
.collage__img-top img, .collage__img-middle img, .collage__img-bottom img { width: 100%; height: 100%; object-fit: cover; }
.collage__content { position: relative; background: var(--c-taupe-light); }
.collage--samples .collage__content { padding: 272px var(--unit) 240px; }
.collage--samples .collage__img-middle { position: absolute; top: -164px; left: 0; width: var(--w4); aspect-ratio: 1; overflow: hidden; }
.collage__text { max-width: var(--wu4); margin: 0 auto; text-align: center; }
.collage__text h2 { margin-bottom: 24px; }
.collage__text p + p { margin-top: 24px; }
.collage__text .btn { margin: 40px auto 0; }
.collage--samples .collage__img-bottom { position: relative; z-index: 1; width: var(--w5); aspect-ratio: 1 / .6; margin: -124px var(--unit) 0 auto; overflow: hidden; }
.collage--info { padding: 12vh 0 17.4vh; }
.collage--info .collage__top { position: relative; z-index: 1; width: var(--wu7); margin: 0 0 -104px auto; }
.collage--info .collage__img-top { aspect-ratio: 1.69; overflow: hidden; }
.collage--info .collage__content { padding: 23vh var(--unit); }
.collage--info .collage__img-bottom { position: absolute; top: 44.5%; left: 0; width: var(--w4); aspect-ratio: 1; overflow: hidden; }
.collage--info .collage__text { position: relative; z-index: 1; }
@media (min-width: 991px) {
  .collage--info .collage__text { padding-left: calc(var(--w4) - var(--unit) * 2); max-width: none; width: calc(var(--wu4) + var(--w4) - var(--unit)); }
}
@media (max-width: 990px) {
  .collage--samples .collage__top { width: 74vw; margin-bottom: -72px; }
  .collage--samples .collage__rect { width: 50vw; padding-top: 60vw; }
  .collage--samples .collage__img-top { width: 74vw; }
  .collage--samples .collage__img-middle { top: -72px; width: 32vw; }
  .collage--samples .collage__content { padding: 30% var(--unit) 132px; }
  .collage--samples .collage__img-bottom { width: 66.66vw; margin-top: -72px; }
  .collage--info { padding: 40px 0 calc(53.33vw + 48px); }
  .collage--info .collage__top { width: 74vw; margin-bottom: -56px; }
  .collage--info .collage__content { padding: 104px var(--unit) 88px; }
  .collage--info .collage__img-bottom { top: calc(100% - 56px); width: 53.33vw; }
  .collage__text { max-width: none; text-align: left; }
  .collage__text .btn { margin-left: 0; }
}

/* =============================================================================
   "Still have questions?" band (06 §2.7)
   ============================================================================= */
.question-section { position: relative; padding: 104px 0; }
.question-section::before { content: ""; position: absolute; inset: 0; z-index: 0; background: var(--c-beige); transform-origin: 50% 100%; }
.question-section--dark::before { background: var(--c-taupe-light); }
.page-bg--beige .question-section--light::before { background: var(--c-taupe-light); }
.question-section .container { position: relative; z-index: 1; }
.question-section__inner { display: flex; align-items: flex-start; }
.question-section__title { flex-shrink: 0; width: calc(6 * var(--cg)); padding-right: 24px; }
.question-section__text { width: var(--w5); }
.question-section__text p { margin-bottom: 16px; }
.question-section__contacts { display: flex; flex-wrap: wrap; gap: 4px 24px; font-weight: var(--fw-medium); white-space: nowrap; }
.question-section__btn { margin-top: 40px; }
.question-section__btn > .icon, .prof-hero__btn > .icon, .prof-bonus__btn > .icon { width: 6px; }
.question-section--centered .question-section__inner { flex-direction: column; align-items: center; max-width: var(--wu4); margin: 0 auto; text-align: center; }
.question-section--centered .question-section__title { width: auto; padding: 0; margin-bottom: 32px; }
.question-section--centered .question-section__text { width: auto; }
.question-section--centered .question-section__btn { margin: 24px auto 0; }
@media (prefers-reduced-motion: no-preference) {
  html.js .question-section::before { transform: scaleY(0); transition: transform var(--dur-4) var(--ease); }
  html.js .question-section.visible::before { transform: none; }
}
html.js .question-section[data-observe] { opacity: 1; transform: none; }
@media (max-width: 990px) {
  .question-section { padding: 80px 0; }
  .question-section__inner { flex-direction: column; }
  .question-section__title, .question-section__text { width: 100%; padding: 0; }
  .question-section__title { margin-bottom: 24px; }
  .question-section--centered .question-section__inner { max-width: none; }
}

/* =============================================================================
   T7 · Services hub (06 §9)
   ============================================================================= */
.services-list-section { padding-bottom: 220px; }
.services-list { display: flex; margin-left: -12px; }
.services-li { width: calc(25% - 12px); margin-left: 12px; }
.services-li__img { position: relative; display: block; padding-top: 156%; overflow: hidden; background: var(--c-taupe-light); }
.services-li__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-4) var(--ease); }
.services-li__img:hover img { transform: scale(var(--img-hover-scale)); }
.services-li__info { padding: 40px 40px 0 0; }
.services-li:first-child .services-li__info { padding-left: 40px; }
@media (min-width: 1501px) { .services-li__info { padding: 40px 56px 0 0; } .services-li:first-child .services-li__info { padding-left: 64px; } }
.services-li__title { font-size: calc(.64516vw + 11.6129px); font-weight: var(--fw-bold); line-height: 1.1; letter-spacing: 0; }
.services-li__title .accordion-m__btn { pointer-events: none; text-align: left; }
.services-li__title .icon { display: none; }
.services-li__content { padding-top: 8px; }
.services-li__content p { margin-bottom: 24px; font-size: 16px; line-height: 1.6; }
.services-li__more { height: 40px; }
@media (max-width: 990px) {
  .services-list-section { padding-bottom: 104px; }
  .services-list { flex-direction: column; margin-left: 0; }
  .services-li { width: 100%; margin-left: 0; }
  .services-li__img { padding-top: 53%; }
  .services-li__info, .services-li:first-child .services-li__info { padding: 24px var(--unit); }
  .services-li__title { font-size: 20px; font-weight: var(--fw-medium); letter-spacing: var(--ls-heading); }
  .services-li__title .accordion-m__btn { pointer-events: auto; display: inline-flex; align-items: center; gap: 8px; }
  .services-li__title .icon { display: block; width: 16px; transition: transform var(--dur-1) var(--ease); }
  .services-li.is-open .services-li__title .icon { transform: rotate(-180deg); }
  .services-li__content { padding: 24px 0 32px; }
}
/* Mobile accordions (contacts, services list) — always open on desktop */
@media (max-width: 990px) {
  .accordion-m__content { max-height: 0; overflow: hidden; visibility: hidden; transition: max-height var(--dur-1) var(--ease), visibility 0s linear var(--dur-1); }
  .accordion-m.is-open .accordion-m__content { max-height: var(--acc-max-height, 2000px); visibility: visible; transition-delay: 0s; }
}

.services-quote { padding: 240px calc(var(--unit) + var(--w3)) 160px calc(var(--unit) + 2 * var(--cg)); }
.services-quote .container { padding: 0; }
.services-quote__text { padding-right: 1.3em; line-height: 1.1; }
@media (max-width: 990px) { .services-quote { padding: 80px 0 96px; } .services-quote .container { padding: 0 var(--unit); } .services-quote__text { padding: 0; font-size: 40px; } }

.services-map { padding: 120px 0 200px; }
.services-map__head { margin-bottom: 88px; text-align: center; }
.services-map__head h2 { margin-bottom: 24px; }
.services-map__container { display: flex; align-items: center; }
.services-map__info { flex-shrink: 0; width: 400px; padding: 64px 80px; margin-right: var(--c); background: var(--c-taupe-light); }
.services-map__list { width: 240px; max-width: 100%; margin-bottom: 16px; line-height: 1.2; }
.services-map__list li { padding: 8px 8px 24px 0; }
.services-map__list li:not(:last-child) { border-bottom: 1px solid var(--c-ink-10); }
.services-map__list li + li { padding-top: 24px; }
.services-map__list b { display: block; margin-bottom: 8px; font-weight: var(--fw-bold); }
.services-map__list p { font-size: 16px; }
.services-map__info .btn { width: 100%; margin-top: 16px; }
.services-map__img { width: var(--w8); }
.services-map__img img { width: 100%; aspect-ratio: 1.39; object-fit: cover; }
@media (max-width: 1300px) { .services-map__info { margin-right: 40px; padding: 64px 48px; } }
@media (max-width: 990px) {
  .services-map { padding: 64px 0 24px; }
  .services-map__head { margin-bottom: 48px; text-align: left; }
  .services-map__container { flex-direction: column-reverse; align-items: flex-start; }
  .services-map__info { width: calc(100% - var(--unit)); margin: 0; padding: 64px 24px 64px 48px; }
  .services-map__img { width: calc(100% - 2 * var(--unit)); margin: 0 auto 48px; }
}

/* Floating section navigator (06 §2.16) */
.anchor-nav { position: fixed; left: var(--unit); bottom: 40px; z-index: 3; }
.anchor-nav__btn {
  display: inline-flex; align-items: center; gap: 12px; height: 48px; padding: 0 16px; border-radius: 32px;
  background: rgba(255, 255, 255, .7); backdrop-filter: blur(6px);
  font-size: 12px; font-weight: var(--fw-medium); letter-spacing: var(--ls-caps); text-transform: uppercase;
  transition: background-color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);
}
.anchor-nav__btn .icon { transform: rotate(180deg); transition: transform var(--dur-2) var(--ease); }
.anchor-nav--opened .anchor-nav__btn { background: transparent; backdrop-filter: none; transform: translateX(-16px); }
.anchor-nav--opened .anchor-nav__btn .icon { transform: none; }
.anchor-nav__list { position: absolute; left: 0; bottom: calc(100% + 32px); min-width: 260px; padding: 16px 0; border-radius: var(--r-xl); background: rgba(255, 255, 255, .92); opacity: 0; visibility: hidden; transition: opacity var(--dur-2) var(--ease), visibility 0s linear var(--dur-2); }
.anchor-nav--opened .anchor-nav__list { opacity: 1; visibility: visible; transition-delay: 0s; }
.anchor-nav__link { display: block; padding: 8px 24px; font-size: 16px; line-height: 1.3; }
.anchor-nav__link:hover, .anchor-nav__link.is-current { opacity: .5; }
.anchor-nav.is-hidden { opacity: 0; pointer-events: none; }
@media (max-width: 990px) { .anchor-nav { display: none; } }

/* =============================================================================
   T8 · Service modules
   ============================================================================= */
/* Masonry (06 §10.1) */
.masonry { overflow: hidden; }
.masonry__grid { display: flex; align-items: flex-start; margin-left: calc(-2.91vw - 3.5%); }
.masonry__col { flex-shrink: 0; width: 12.5vw; margin-left: 2.91vw; }
.masonry__col--1, .masonry__col--4 { padding-top: 3.1%; }
.masonry__col--3 { padding-top: 8.3%; }
.masonry__col--6 { padding-top: 4.7%; }
.masonry__item { margin-top: 2.91vw; }
.masonry__img { position: relative; padding-top: 166.66%; overflow: hidden; border-radius: 24px; background: var(--c-taupe-light); }
.masonry__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.masonry__item--text { display: flex; min-height: 20.833vw; padding-top: 4vw; position: relative; z-index: 1; }
.masonry__text { flex-shrink: 0; width: 27.91vw; margin-top: auto; padding: 0 13% 0 0; }
.masonry__text h2 { margin-bottom: .88em; }
.masonry__item--placeholder { height: var(--text-height, 12vw); }
@media (min-width: 501px) { .masonry__col > .masonry__item:last-child:not(.masonry__item--placeholder):not(:first-child) { display: none; } }
@media (max-width: 990px) {
  .masonry__grid { padding-top: 64px; margin-left: calc(-4.26vw - 12vw); }
  .masonry__col { width: 24vw; margin-left: 4.26vw; }
  .masonry__col--1, .masonry__col--2, .masonry__col--3 { display: none; }
  .masonry__item { margin-top: 4.26vw; }
  .masonry__text { width: 52.26vw; padding: 12.8vw 0; }
  .masonry__item--text { min-height: 0; padding-top: 0; }
}
@media (max-width: 500px) {
  .masonry__col { width: 32vw; }
  .masonry__text { width: 68.26vw; }
  .masonry__img { border-radius: 16px; }
}

/* Media + text (06 §10.3) */
.media-text { position: relative; padding: 18vh 0; }
.media-text__img-top { position: absolute; top: 0; right: 0; width: var(--w6); aspect-ratio: 1 / .6; overflow: hidden; }
.media-text__img-top img, .media-text__img img { width: 100%; height: 100%; object-fit: cover; }
.media-text__inner { position: relative; display: flex; align-items: flex-end; }
.media-text__text { width: var(--w4); margin-right: calc(2 * var(--cg) - var(--c)); }
.media-text__text h2, .media-text__text p { margin-bottom: 40px; }
.media-text__img { width: calc(3 * var(--cg)); aspect-ratio: 1 / 1.33; overflow: hidden; margin-top: 18vh; }
@media (max-width: 990px) {
  .media-text { padding: 40px 0 64px; }
  .media-text__img-top { position: relative; width: 50vw; margin-left: auto; }
  .media-text__inner { flex-direction: column-reverse; align-items: stretch; }
  .media-text__img { width: 33vw; margin: -16vw calc(50vw - var(--unit) - 32px) 40px auto; }
  .media-text__text { width: 100%; margin: 0; }
}

/* Link band (06 §10.4) */
.link-band { padding: 124px 0; background: var(--c-taupe-light); text-align: center; }
.link-band__title { display: inline-flex; align-items: center; gap: 16px; font-size: calc(.64725vw + 17.57282px); font-weight: var(--fw-medium); line-height: .96; letter-spacing: var(--ls-heading); }
.link-band__title span { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 6px; text-decoration-thickness: 1px; transition: text-decoration-color var(--dur-1) var(--ease); }
.link-band__title:hover span { text-decoration-color: currentColor; }
@media (max-width: 990px) { .link-band { padding: 80px 0; text-align: left; } }

/* Next steps (06 §10.5) */
.next-steps { padding: 120px 0 104px; background: var(--c-taupe-light); }
.next-steps__inner { display: flex; justify-content: space-between; align-items: flex-start; }
.next-steps__list { width: var(--w6); margin-left: var(--g); }
.next-steps__list li { border-top: 1px solid var(--c-ink-10); }
.next-steps__link { display: flex; align-items: flex-start; gap: 24px; width: 100%; height: 104px; padding: 16px 16px 0 0; font-size: calc(.64725vw + 17.57282px); font-weight: var(--fw-medium); line-height: 1; letter-spacing: var(--ls-heading); text-align: left; }
.next-steps__link .icon { width: 32px; transition: transform var(--dur-1) var(--ease); }
.next-steps__link:hover .icon { transform: translate(4px, -4px); }
@media (max-width: 990px) {
  .next-steps { padding: 64px 0; }
  .next-steps__inner { flex-direction: column; }
  .next-steps__inner h2 { margin-bottom: 32px; }
  .next-steps__list { width: 100%; margin: 0; }
  .next-steps__link { height: 80px; }
  .next-steps__link .icon { width: 24px; }
}

/* Gallery float (06 §2.4 E) */
.gallery-float { padding-bottom: 26vh; }
.gallery-float__content { display: flex; align-items: flex-start; padding: 168px var(--unit) 0 calc(var(--unit) + var(--cg)); }
.gallery-float__media { position: relative; flex-shrink: 0; width: var(--w6); margin-right: calc(2 * var(--cg) - var(--c)); padding-top: 128px; }
.gallery-float__float { position: absolute; top: 0; left: calc(-1 * var(--cg)); z-index: 1; width: calc(3 * var(--cg)); aspect-ratio: 334 / 428; overflow: hidden; }
.gallery-float__main { position: relative; margin-left: calc(2 * var(--cg)); aspect-ratio: 1.55; overflow: hidden; }
.gallery-float__float img, .gallery-float__main img { width: 100%; height: 100%; object-fit: cover; }
.gallery-float__text { width: calc(3 * var(--cg)); padding-top: 128px; }
.gallery-float__text h2 { margin-bottom: 32px; }
.gallery-float__text p { font-size: 18px; }
.gallery-float__text .btn { margin-top: 40px; }
@media (max-width: 990px) {
  .gallery-float { padding-bottom: 80px; }
  .gallery-float__content { flex-direction: column; padding: 40px var(--unit) 0; }
  .gallery-float__media { width: 100%; margin: 0 0 48px; padding-top: 72px; }
  .gallery-float__float { left: 0; width: 40vw; }
  .gallery-float__main { margin-left: 24vw; }
  .gallery-float__text { width: 100%; padding: 0; }
  .gallery-float__text p { font-size: 16px; }
}

/* =============================================================================
   Forms (06 §2.8, §13)
   ============================================================================= */
.service-order { padding: 104px 0 160px; background: var(--c-taupe-light); }
.service-order__container { position: relative; width: var(--w10); margin: 0 auto; }
.service-order__head { margin-bottom: 80px; text-align: center; }
.service-order__head h2 + p { margin-top: 24px; }
.service-order__head p { max-width: 36em; margin-left: auto; margin-right: auto; font-size: 16px; line-height: 1.6; }
.service-order__form { width: var(--w4); min-width: 400px; margin: 0 auto; padding-top: 56px; }
.tpl-programme .service-order { padding: 144px 0 128px; }
.tpl-programme .service-order__form { padding-top: 0; }
@media (max-width: 990px) {
  .service-order, .tpl-programme .service-order { padding: 80px 0; }
  .service-order__container, .service-order__form { width: 100%; min-width: 0; }
  .service-order__head { margin-bottom: 48px; text-align: left; }
  .service-order__head p { margin-left: 0; }
  .service-order__form { padding-top: 0; }
}

.ac-form .input, .ac-form .ac-files, .ac-form__chips, .ac-form__switch { margin-bottom: 32px; }
.ac-form .input { padding-top: 14px; }
.ac-form .input__field { background: transparent; }
.ac-form .input--optional .input__label { color: var(--c-ink-40); }
.ac-form .input__field:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px var(--c-taupe-light) inset; }
.ac-form--modal .input__field:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px var(--c-white) inset; }
.ac-form .input--floated .input__label { transform: scale(.778) translateY(-130%); }
.ac-form textarea.input__field { height: auto; min-height: 38px; max-height: 240px; padding: 0 0 16px; line-height: 1.3; border-bottom: 1px solid var(--c-line-input); overflow-y: auto; }
.ac-form textarea.input__field::placeholder { color: var(--c-ink-40); }
.ac-form .input--message .input__field::placeholder { color: var(--c-ink-40); }
.ac-form select.input__field { padding-right: 24px; cursor: pointer; }
.ac-form .input__caret { position: absolute; right: 2px; top: 20px; pointer-events: none; }
.ac-form input[type="date"].input__field { min-height: 38px; }
.ac-form input[type="date"]::-webkit-calendar-picker-indicator { opacity: .3; cursor: pointer; }
.ac-form .input--invalid .input__field { border-bottom-color: var(--c-error); }
.ac-form .input__tip { font-size: 12px; }
.ac-files__hint { margin-top: -16px; margin-bottom: 4px; font-size: 12px; line-height: 1.3; color: var(--c-ink-40); }
.input--file { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 0 16px !important; margin-bottom: 24px !important; border-bottom: 1px solid var(--c-line-input); cursor: pointer; }
.input--file.is-hidden { display: none; }
.input--file__field { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.input--file__text { overflow: hidden; font-size: 18px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; color: var(--c-ink-40); }
.input--file.is-filled .input--file__text { color: var(--c-ink); }
.input--file:focus-within { outline: 2px solid var(--c-ink); outline-offset: 4px; }
.ac-form__legend { margin-bottom: 16px; font-size: 16px; font-weight: var(--fw-medium); }
.chipbox-list { display: flex; flex-wrap: wrap; gap: 8px; }
.ac-form .chipbox__bg { background: var(--c-beige); }
.ac-form--modal .chipbox__bg { background: var(--c-beige); }
.service-order .chipbox__bg { background: var(--c-beige); }
.ac-form .chipbox:hover .chipbox__bg, .ac-form .chipbox__input:checked ~ .chipbox__field .chipbox__bg { background: var(--c-sage-dark); }
.ac-form .chipbox__input:checked ~ .chipbox__field { color: var(--c-white); }
.ac-form .checkbox--switch .checkbox__box { background: var(--c-beige); }
.service-order .checkbox--switch .checkbox__box { background: var(--c-white); }
.ac-form .checkbox--switch .checkbox__input:checked + .checkbox__box { background: var(--c-sage-light); }
.ac-consent { display: flex; align-items: flex-start; margin-top: 40px; }
.ac-consent .checkbox__text, .ac-form__switch .checkbox__text { font-size: 16px; line-height: 1.3; letter-spacing: var(--ls-chip); }
.ac-consent .checkbox__box { margin-top: -2px; }
.ac-consent a { text-decoration: underline; text-underline-offset: 2px; }
.ac-consent.is-invalid .checkbox__box { box-shadow: 0 0 0 1px var(--c-error); }
.ac-consent__tip { margin: 8px 0 0 56px; }
.ac-form__error { margin: 24px 0 0; }
.ac-form__submit { display: flex; margin: 48px auto 0; }
.ac-form--modal .ac-form__submit { width: 100%; margin-top: 40px; }
.ac-form__head { text-align: center; }
.ac-form__intro { max-width: 320px; margin: 16px auto 0; font-size: 16px; line-height: 1.4; }
.ac-form--modal .ac-form__body { margin: 64px 0 40px; }
.ac-form__done { display: flex; align-items: center; justify-content: center; min-height: 50vh; text-align: center; }
@media (max-width: 990px) {
  .ac-form__submit { margin: 40px 0 0; }
  .ac-form--modal .ac-form__body { margin-top: 48px; }
}
@media (max-width: 500px) { .ac-form__submit { width: 100%; } }
/* Modal widths (06 §13.3) */
@media (min-width: 991px) {
  .modal--form-mid .modal__container { width: max(480px, var(--wu4)); }
  .modal--form-wide .modal__container { width: 50vw; }
  .modal--form-mid .panel-form, .modal--form-wide .panel-form { padding-left: var(--unit); padding-right: var(--unit); padding-top: 120px; }
  .modal--form-wide .panel-form { padding-left: 120px; padding-right: 120px; }
}
@media (min-width: 991px) and (max-height: 890px) { .modal--form .panel-form { padding-top: 64px; padding-bottom: 64px; } }

/* =============================================================================
   T4 · About (06 §6)
   ============================================================================= */
.about-text { display: flex; justify-content: center; margin-left: calc(-1 * var(--g)); }
.about-text__col { width: calc(var(--w5) - var(--g)); margin-left: var(--g); }
.about-text p { margin-bottom: 16px; font-size: 20px; line-height: 1.3; }
.about-text b { font-weight: var(--fw-medium); }
@media (min-width: 1601px) { .about-text p { font-size: 24px; } }
/* decaro keeps the intro columns inside the hero, so the hero's bottom padding sits below them. */
.about-text-section { padding-bottom: 104px; }
.service-hero--about + .about-text-section { margin-top: -136px; padding-bottom: 136px; }
@media (max-width: 990px) {
  .about-text { flex-direction: column; margin-left: 0; }
  .about-text__col { width: 100%; margin-left: 0; }
  .about-text p { font-size: 16px; }
  .about-text-section { padding-bottom: 56px; }
  .service-hero--about + .about-text-section { margin-top: -56px; padding-bottom: 56px; }
}

.about-banner { position: relative; z-index: 0; overflow: hidden; width: calc(var(--unit) + var(--w9)); padding: 8.3% calc(var(--unit) + var(--cg)) 56px; margin-bottom: 160px; color: var(--c-white); }
.about-banner__img { position: absolute; inset: -24px 0; z-index: -1; }
.about-banner__img img { width: 100%; height: 100%; object-fit: cover; }
.about-banner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(31, 32, 32, .55), rgba(31, 32, 32, .15)); }
.about-banner__title { margin-top: 80px; color: var(--c-white); }
@media (max-width: 990px) { .about-banner { width: 100%; padding: 80px var(--unit); margin-bottom: 80px; } .about-banner__title { margin-top: 0; } }

.about-brands { overflow: hidden; margin-bottom: 240px; }
.about-brands__inner { display: flex; align-items: center; padding-left: calc(2 * var(--unit)); }
.about-brands__text { flex-shrink: 0; width: calc(4 * var(--cg)); padding-right: 24px; }
.about-brands__text h2, .about-brands__text p { margin-bottom: 32px; }
.about-brands__logos { flex: 1; min-width: 0; margin-top: -24px; }
.about-brands__row { display: flex; justify-content: flex-end; margin: 24px 0 0 -24px; }
.about-brands__row:nth-child(1) { transform: translateX(25%); }
.about-brands__row:nth-child(2) { transform: translateX(16%); }
.about-brands__row:nth-child(3) { transform: translateX(20%); }
.about-brands__tile { flex-shrink: 0; width: 18.75vw; aspect-ratio: 270 / 200; margin-left: 24px; overflow: hidden; border-radius: var(--r-md); background: var(--c-taupe-light); }
.about-brands__tile img { width: 100%; height: 100%; object-fit: cover; }
@media (prefers-reduced-motion: no-preference) {
  html.js [data-observe="about-brands"] { opacity: 1; transform: none; }
  html.js [data-observe="about-brands"] li { opacity: 0; transform: translateX(40px); transition: opacity var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out); }
  html.js [data-observe="about-brands"] li:nth-child(2) { transition-delay: .1s; }
  html.js [data-observe="about-brands"] li:nth-child(3) { transition-delay: .2s; }
  html.js [data-observe="about-brands"] li:nth-child(n+4) { transition-delay: .3s; }
  html.js [data-observe="about-brands"].visible li { opacity: 1; transform: none; }
}
html.js .about-brands__row:nth-child(1)[data-observe] { transform: translateX(25%); }
html.js .about-brands__row:nth-child(2)[data-observe] { transform: translateX(16%); }
html.js .about-brands__row:nth-child(3)[data-observe] { transform: translateX(20%); }
html.js .about-brands__row:nth-child(4)[data-observe] { transform: none; }
@media (max-width: 990px) {
  .about-brands { margin-bottom: 104px; }
  .about-brands__inner { flex-direction: column; align-items: stretch; padding: 0 var(--unit); }
  .about-brands__text { width: 100%; padding: 0; margin-bottom: 40px; }
  .about-brands__row { margin-top: 16px; }
  .about-brands__tile { width: 33.33vw; }
  html.js .about-brands__row:nth-child(1)[data-observe], .about-brands__row:nth-child(1) { transform: translateX(8%); }
  html.js .about-brands__row:nth-child(2)[data-observe], .about-brands__row:nth-child(2) { transform: translateX(-6%); }
  html.js .about-brands__row:nth-child(3)[data-observe], .about-brands__row:nth-child(3) { transform: translateX(1%); }
  html.js .about-brands__row:nth-child(4)[data-observe], .about-brands__row:nth-child(4) { transform: translateX(-2%); }
}

/* Card deck (06 §2.13) */
.deck-section { display: flex; align-items: center; margin-bottom: 200px; background: var(--c-taupe-light); }
.tpl-programme .deck-section { margin-bottom: 0; }
.deck-section__info { flex-shrink: 0; display: flex; justify-content: center; width: var(--wu4); padding: 24px; }
.deck-section__info-inner { max-width: 344px; }
.deck-section__info h2 { margin-bottom: 32px; }
.deck-section__info .btn { margin-top: 40px; }
.deck { position: relative; flex: 1; min-width: 67%; height: 88vh; min-height: 520px; overflow: hidden; touch-action: pan-y; }
.deck__list { position: relative; height: 100%; }
.deck__card { position: absolute; top: 0; left: 0; width: 23vw; height: 100%; transform: translateX(var(--x, 0)); transition: transform .5s cubic-bezier(.25, .46, .45, .94); will-change: transform; }
.tpl-programme .deck__card { width: 22.18vw; }
.deck__link { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; cursor: pointer; user-select: none; -webkit-user-drag: none; }
.deck__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-4) var(--ease); }
.deck__link:hover img { transform: scale(var(--img-hover-scale)); }
.deck__link::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(0deg, rgba(31, 32, 32, .5), transparent); pointer-events: none; }
.deck__caption { position: absolute; left: 40px; bottom: 40px; z-index: 1; color: var(--c-white); }
@media (max-width: 1300px) { .deck__caption { left: 24px; bottom: 24px; } }
@media (max-width: 990px) {
  .deck-section { flex-direction: column; align-items: stretch; margin-bottom: 80px; }
  .deck-section__info { width: 100%; padding: 64px var(--unit); justify-content: flex-start; }
  .deck { flex: none; min-width: 0; width: 100%; }
  .deck__card, .tpl-programme .deck__card { width: 340px; }
}
@media (max-width: 767px) { .deck__card, .tpl-programme .deck__card { width: 280px; } }

/* Stats (06 §6.5) */
.stats-list { display: flex; flex-wrap: wrap; margin: 0 0 8px -24px; }
.stats-list li { width: 5.77em; margin-left: 24px; padding: 8px 0 24px; border-top: 1px solid var(--c-line-black-10); font-size: 16px; line-height: 1; }
.stats-list b { display: block; margin-bottom: 4px; font-size: 16px; font-weight: var(--fw-bold); }
.about-stats .split__text h2 { margin-bottom: 32px; }
@media (max-width: 990px) { .stats-list { margin-left: -16px; } .stats-list li { margin-left: 16px; } }

/* Programme band + tiles (06 §6.7–6.8) */
.about-prof { padding: 192px 0 120px; background: var(--c-taupe); }
.about-prof__inner { width: 47.3em; max-width: 100%; margin: 0 auto; text-align: center; }
.about-prof__label { display: block; margin-bottom: 8px; font-size: 10px; font-weight: var(--fw-bold); letter-spacing: var(--ls-caps-wide); text-transform: uppercase; }
.about-prof__inner h2 { margin-bottom: 24px; }
@media (max-width: 990px) { .about-prof { padding: 80px 0 64px; } .about-prof__inner { text-align: left; } }

.about-blocks { display: flex; }
.about-block { position: relative; display: block; width: 50%; height: 84vh; min-height: 600px; overflow: hidden; color: var(--c-white); }
.about-block__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-4) var(--ease); }
.about-block:hover .about-block__img img { transform: scale(1.05); }
.about-block__box { position: absolute; top: 50%; left: 50%; display: flex; flex-direction: column; align-items: center; padding: 40px 48px; background: rgba(0, 0, 0, .8); text-align: center; transform: translate(-50%, -50%); }
.about-block__label { display: block; margin-bottom: 4px; font-size: 10px; font-weight: var(--fw-bold); letter-spacing: var(--ls-caps-wide); text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.about-block__name { display: block; max-width: 14em; font-size: 26px; font-weight: var(--fw-medium); line-height: 1; letter-spacing: var(--ls-heading); white-space: nowrap; }
.about-block__content { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 108px 19.5% 66px 12.5%; background: var(--c-black); opacity: 0; transition: opacity var(--dur-2) var(--ease); }
.about-block__content .about-block__name { margin-bottom: 24px; font-size: 32px; }
.about-block__text { font-size: 16px; line-height: 1.6; }
.about-block__btn { display: inline-flex; align-items: center; height: 48px; margin-top: 32px; padding: 0 24px; border: 1px solid var(--c-white); border-radius: var(--r-sm); font-size: 12px; font-weight: var(--fw-medium); letter-spacing: var(--ls-caps); text-transform: uppercase; transition: background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease); }
.about-block__btn:hover { background: var(--c-white); color: var(--c-ink); }
@media (min-width: 991px) {
  .about-block:hover .about-block__content, .about-block:focus-visible .about-block__content { opacity: 1; }
}
@media (max-width: 990px) {
  .about-block__content { position: relative; opacity: 1; padding: 40px var(--unit); }
  .about-block { display: flex; flex-direction: column; justify-content: flex-end; height: auto; min-height: 86vh; }
  .about-block__box { top: 30%; padding: 24px 32px; }
}
@media (max-width: 767px) { .about-blocks { flex-direction: column; } .about-block { width: 100%; } }

/* Welcome (06 §6.9) */
.about-welcome { padding: 144px 0; background: var(--c-taupe); }
.about-welcome__inner { display: flex; justify-content: space-between; align-items: flex-start; }
.about-welcome__title { max-width: 7em; font-size: calc(3.3657vw + 31.37864px); font-weight: var(--fw-medium); line-height: .96; letter-spacing: var(--ls-heading); }
.big-links { width: var(--w4); }
.big-links li { border-top: 1px solid var(--c-line-black-10); }
.big-links__link { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; width: 100%; padding: 16px 16px 56px 0; font-size: calc(.64725vw + 17.57282px); font-weight: var(--fw-medium); line-height: .96; letter-spacing: var(--ls-heading); }
.big-links__link .icon { transition: transform var(--dur-1) var(--ease); }
.big-links__link:hover .icon { transform: translate(4px, -4px); }
@media (max-width: 990px) {
  .about-welcome { padding: 72px 0; }
  .about-welcome__inner { flex-direction: column; }
  .about-welcome__title { margin-bottom: 32px; }
  .big-links { width: 100%; }
  .big-links__link { padding-bottom: 32px; }
}

/* =============================================================================
   T5 · Showroom (06 §7)
   ============================================================================= */
.showrooms-page { padding-bottom: 200px; }
.showrooms-section { position: relative; padding-top: 12vh; margin-bottom: 240px; }
.showrooms-section__rect { position: absolute; top: 0; left: 0; width: var(--wu4); height: calc(var(--wu4) * 1.1865); background: var(--c-taupe-light); }
.showrooms-section .container { position: relative; z-index: 1; }
.showrooms-section__container { display: flex; align-items: flex-start; }
.showrooms-section__media { flex-shrink: 0; width: var(--w8); margin-right: var(--c); aspect-ratio: 1 / .64; overflow: hidden; background: var(--c-taupe-light); }
.showrooms-section__media img { width: 100%; height: 100%; object-fit: cover; }
.showrooms-section__text { width: var(--w3); }
.showrooms-title { margin-bottom: 32px; font-size: 30px; font-weight: var(--fw-medium); line-height: .96; }
.showrooms-section--right { padding-top: 0; padding-bottom: 12vh; }
.showrooms-section--right .showrooms-section__rect { left: auto; right: 0; height: 100%; transform-origin: right center; }
.showrooms-section--right .showrooms-section__container { flex-direction: row-reverse; padding-left: var(--c); }
.showrooms-section--right .showrooms-section__media { width: calc(7 * var(--cg)); margin: 0 0 0 auto; aspect-ratio: 1 / .71; }
.clamp__text { font-size: 16px; line-height: 1.6; }
.clamp.is-clamped:not(.is-open) .clamp__text { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.clamp__more { margin-top: 4px; font-size: 14px; color: var(--c-ink-40); text-decoration: underline; text-underline-offset: 3px; }
.showrooms-section__tags { position: relative; display: flex; flex-wrap: wrap; gap: 4px; padding: 24px 0; margin-top: 24px; }
.showrooms-section__tags::before, .showrooms-section__info li::before { content: ""; position: absolute; top: 0; left: 0; width: 40px; height: 1px; background: var(--c-line); }
.tag-chip { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border: 1px solid var(--c-ink-10); border-radius: var(--r-pill); font-size: 14px; line-height: 1; white-space: nowrap; transition: background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease); }
.tag-chip:hover { background: var(--c-black); color: var(--c-white); }
.showrooms-section__info li { position: relative; padding-top: 16px; margin-bottom: 16px; font-size: 16px; line-height: 1.6; }
.showrooms-section__info a { display: block; }
.showrooms-section__info b { font-weight: var(--fw-medium); }
.route-link { display: inline-block !important; margin-top: 4px; font-size: 12px; font-weight: var(--fw-medium); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--c-link-green); text-decoration: underline; text-decoration-color: var(--c-link-green-10); text-underline-offset: 4px; }
.route-link:hover { opacity: .6; }
.showrooms-section__btns .btn { display: flex; margin-top: 32px; }
.showrooms-section__btns .btn + .btn { margin-top: 8px; }
@media (max-width: 990px) {
  .showrooms-page { padding-bottom: 80px; }
  .showrooms-section, .showrooms-section--right { padding: 40px 0 0; margin-bottom: 80px; }
  .showrooms-section__rect { width: 74vw; height: 53vw; }
  .showrooms-section__container, .showrooms-section--right .showrooms-section__container { flex-direction: column; padding: 0; }
  .showrooms-section__media, .showrooms-section--right .showrooms-section__media { width: 100%; margin: 0 0 48px; aspect-ratio: 1 / .88; }
  .showrooms-section__text { width: 100%; }
  .showrooms-title { font-size: 24.94px; margin-bottom: 16px; }
  .showrooms-section__btns .btn { margin-top: 40px; width: 100%; }
}

.showrooms-partners .container { max-width: 1460px; }
.showrooms-partners__head { margin-bottom: 64px; text-align: center; }
.showrooms-partners__head h2 { margin-bottom: 32px; }
.showrooms-partners__empty { max-width: var(--w6); margin: 0 auto; text-align: center; }
.showrooms-partners__empty p { font-size: 18px; line-height: 1.6; }
.showrooms-partners__empty .btn { width: auto; min-width: var(--btn-w); margin: 40px auto 0; gap: 32px; }
.stockist-search { display: inline-flex; align-items: center; }
.stockist-search__pill { display: inline-flex; align-items: center; height: 24px; padding: 0 12px; margin-right: 8px; border-radius: 24px; background: var(--c-sage-pale); }
.stockist-search__input { width: 260px; padding: 4px 0; border: 0; background: none; font-size: 16px; outline: 0; }
.stockist-search__input::placeholder { color: var(--c-ink); }
.stockists__head, .stockists__row { display: flex; align-items: flex-start; }
.stockists__head { padding: 8px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); font-size: 14px; color: var(--c-ink-40); }
.stockists__row { padding: 32px 0; border-top: 1px solid var(--c-line); font-size: 16px; line-height: 1.5; }
.stockists__row:first-of-type { border-top: 0; }
.stockists__head > :nth-child(1), .stockists__name { width: 248px; padding-right: 16px; }
.stockists__head > :nth-child(2), .stockists__address { width: 320px; padding-right: 24px; }
.stockists__head > :nth-child(3), .stockists__contacts { width: 256px; }
.stockists__head > :nth-child(4), .stockists__groups { flex: 1; }
.stockists__head > :nth-child(5), .stockists__book { width: 156px; }
.stockists__name b { display: block; font-weight: var(--fw-medium); }
.stockists__name span { color: var(--c-ink-40); }
.stockists__contacts a { display: block; }
.stockists__contacts b { font-weight: var(--fw-bold); }
.stockists__groups { display: flex; flex-wrap: wrap; gap: 4px; max-width: 320px; }
.stockists__book .btn { width: 156px; }
.stockists__none { padding: 32px 0; text-align: center; }
.showrooms-partners__cta { display: flex; justify-content: center; margin-top: 48px; }
@media (min-width: 991px) and (max-width: 1360px) { .stockists__head > :nth-child(1), .stockists__name { width: 128px; } .stockists__head > :nth-child(3), .stockists__contacts { width: 160px; } }
@media (max-width: 990px) {
  .showrooms-partners__head { margin-bottom: 40px; text-align: left; }
  .showrooms-partners__empty { max-width: none; text-align: left; }
  .showrooms-partners__empty p { font-size: 16px; }
  .showrooms-partners__empty .btn { margin-left: 0; }
  .showrooms-partners__head h2 { margin-bottom: 16px; }
  .stockists__head > :not(:first-child) { display: none; }
  .stockists__row { flex-direction: column; padding: 24px 0 32px; }
  .stockists__row > * { width: 100% !important; padding: 0 !important; }
  .stockists__name { margin-bottom: 24px; }
  .stockists__address { margin-bottom: 16px; }
  .stockists__contacts { margin-bottom: 24px; }
  .stockists__groups { margin-bottom: 32px; }
  .stockist-search__input { width: 220px; }
}

/* =============================================================================
   T6 · Contact (06 §8)
   ============================================================================= */
.contacts-container { padding-right: 0; padding-bottom: 240px; }
.contacts-crumbs { margin-bottom: 30px; }
.contacts-title { display: inline-block; margin-bottom: 104px; }
.contacts-title [data-observe="title-line"]::after { width: 50%; }
.contacts-content { display: flex; align-items: flex-start; }
.contacts-nav { flex-shrink: 0; width: calc(2 * var(--cg)); }
.contacts-nav__list li + li { margin-top: 4px; }
.contacts-inner { flex: 1; min-width: 0; }
.contacts-row { display: flex; align-items: flex-start; padding: 48px var(--unit) 40px 0; border-top: 1px solid var(--c-line-footer); }
.contacts-row:last-child { border-bottom: 1px solid var(--c-line-footer); }
.contacts-row__title { flex-shrink: 0; width: calc(3 * var(--cg)); padding-right: 16px; font-size: 24px; font-weight: var(--fw-medium); line-height: 1; letter-spacing: -.01em; }
.contacts-row__title .accordion-m__btn { max-width: 360px; text-align: left; cursor: default; pointer-events: none; }
.contacts-row__title .icon { display: none; }
.contacts-row .accordion-m__content { flex: 1; }
.contacts-row__inner { display: flex; align-items: flex-start; }
.contacts-info-list { line-height: 1.4; }
.contacts-info-list--contacts { flex-shrink: 0; width: calc(2 * var(--cg)); padding-right: 16px; }
.contacts-info-list--contacts b { font-weight: var(--fw-bold); }
.contacts-info-list--hours { padding-right: 16px; }
.contacts-info-list--hours li + li { margin-top: 4px; }
.contacts-info-list--btns { margin-left: auto; }
.contacts-info-list--btns li + li { margin-top: 8px; }
.contacts-btn { width: 255px; padding: 0 15px; letter-spacing: 0; }
.contacts-inner .page-extra { width: auto; padding: 64px var(--unit) 0 0; }
@media (max-width: 990px) {
  .contacts-container { padding-right: var(--unit); padding-bottom: 80px; }
  .contacts-crumbs { margin-bottom: 16px; }
  .contacts-title { margin-bottom: 48px; font-size: 30.9px; }
  .contacts-content { flex-direction: column; align-items: stretch; }
  .contacts-nav { width: 100vw; margin: 0 0 0 calc(-1 * var(--unit)); padding: 16px 0; border-top: 1px solid var(--c-line-footer); }
  .contacts-nav__list { display: flex; overflow-x: auto; padding: 0 var(--unit); }
  .contacts-nav__list li + li { margin: 0 0 0 4px; }
  .contacts-nav .pill-tab { padding: 0 12px; }
  .contacts-row { flex-direction: column; padding: 24px 0 32px; }
  .contacts-row__title { width: 100%; padding: 0; }
  .contacts-row__title .accordion-m__btn { position: relative; display: block; width: 100%; max-width: none; padding-right: 40px; pointer-events: auto; cursor: pointer; }
  .contacts-row__title .icon { display: block; position: absolute; right: 16px; top: 0; transition: transform var(--dur-1) var(--ease); }
  .contacts-row.is-open .contacts-row__title .icon { transform: rotate(-180deg); }
  .contacts-row .accordion-m__content { width: 100%; }
  .contacts-row__inner { flex-direction: column; }
  .contacts-info-list--contacts { width: 100%; margin-top: 24px; }
  .contacts-info-list--hours { margin-top: 32px; }
  .contacts-info-list--btns { margin: 32px 0 0; }
  .contacts-info-list:empty { display: none; }
}

/* =============================================================================
   T9 · Programme pages (06 §11)
   ============================================================================= */
.prof-hero { position: relative; }
.prof-hero__container { position: relative; padding-top: 20vh; padding-bottom: 9.6vh; }
.prof-hero__title { max-width: 6em; margin: 80px 0 8px calc(2 * var(--cg)); }
.prof-hero__text { position: relative; z-index: 1; max-width: calc(4 * var(--cg)); margin-left: calc(6 * var(--cg)); }
.prof-hero__text p { margin-bottom: 2em; font-size: 16px; line-height: 1.6; }
html.js .prof-hero__title[data-observe] { transition-delay: .2s; }
html.js .prof-hero__text[data-observe] { transition-delay: .3s; }
.prof-hero [data-observe="title-line"]::after { transition-delay: .2s; }
.prof-circle { position: absolute; z-index: 0; width: 62.135vw; height: 62.135vw; left: calc(-1 * var(--unit)); top: 50%; transform: translate(-50%, -20%); pointer-events: none; overflow: visible; }
.prof-circle circle { fill: none; stroke: var(--c-ink-10); stroke-width: .0025; vector-effect: non-scaling-stroke; stroke-dasharray: 100 100; }
@media (prefers-reduced-motion: no-preference) {
  html.js .prof-circle[data-observe] circle { stroke-dasharray: 0 100; transition: stroke-dasharray 1.2s var(--ease-expo) .1s; }
  html.js .prof-circle.visible circle { stroke-dasharray: 100 100; }
}
html.js .prof-circle[data-observe] { opacity: 1; }
.prof-circle circle { stroke-width: 1px; }
@media (max-width: 990px) {
  .prof-hero__container { padding: 80px var(--unit); }
  .prof-hero__title { margin: 0 0 48px; max-width: none; }
  .prof-hero__text { max-width: none; margin: 0; }
  .prof-circle { display: none; }
}

.fullw-img-wrap { position: relative; overflow: hidden; }
.fullw-img-wrap__inner { position: relative; }
.fullw-img-wrap__img { position: relative; height: 41.67vw; min-height: 320px; overflow: hidden; }
.fullw-img-wrap__img img { position: absolute; inset: -30px 0; width: 100%; height: calc(100% + 60px); object-fit: cover; }
.fullw-img-wrap__inner::after { content: ""; position: absolute; inset: 0; background: rgba(31, 32, 32, .15); pointer-events: none; }
.fullw-img-wrap__overlay { position: absolute; top: 50%; left: 50%; z-index: 1; margin: 0; color: var(--c-white); font-size: 44px; font-weight: var(--fw-medium); line-height: 1; letter-spacing: var(--ls-heading); white-space: nowrap; text-align: center; transform: translate(-50%, -50%); }
.fullw-img-wrap__overlay i { font-weight: var(--fw-regular); }
.fullw-img-wrap--pinned { height: 200vh; overflow: visible; }
.fullw-img-wrap--pinned .fullw-img-wrap__inner { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.fullw-img-wrap--pinned .fullw-img-wrap__img { height: 100%; }
.fullw-img-wrap--pinned .fullw-img-wrap__img img { inset: 0; height: 100%; }
@media (max-width: 990px) {
  .fullw-img-wrap__overlay { font-size: 28px; white-space: normal; width: 80%; }
  .fullw-img-wrap--pinned { height: auto; }
  .fullw-img-wrap--pinned .fullw-img-wrap__inner { position: relative; height: 70vh; }
}

.prof-features { padding: 120px 0; }
.prof-features__section { display: flex; align-items: center; margin-bottom: 120px; }
.prof-features__head { flex-shrink: 0; width: calc(3 * var(--cg)); margin: 0 var(--cg) 48px 0; }
.prof-features__head h2 { margin-bottom: 32px; }
.prof-features__head h2:last-child { margin-bottom: 0; }
.prof-features__head p { max-width: 24em; }
.section-img { position: relative; z-index: 0; width: var(--w8); }
.section-img > img { width: 100%; aspect-ratio: 1.61; object-fit: cover; }
.section-img__cover { position: absolute; z-index: -1; top: -120px; right: calc(-1 * var(--unit)); width: calc(var(--wu4) - var(--g)); height: 100%; background: var(--c-sage-mist); transform-origin: right center; }
.section-img--blue .section-img__cover { background: var(--accent-blue-main); }
.section-features { display: flex; margin-left: calc(-1 * (2 * var(--cg) - var(--c))); }
.section-features > li { width: var(--w3); margin-left: calc(2 * var(--cg) - var(--c)); }
.section-features__icon { display: block; margin-bottom: 40px; }
.section-features__icon .icon { width: 64px; height: 64px; }
.section-features h3 { max-width: 13em; margin-bottom: 24px; }
.section-features p { font-size: 16px; line-height: 1.6; }
.section-features--4 { margin-left: calc(-1 * var(--g)); }
.section-features--4 > li { width: calc(25% - var(--g)); margin-left: var(--g); }
.section-features--4 h3 { font-size: 20px; }
@media (max-width: 990px) {
  .prof-features { padding: 80px 0; }
  .prof-features__section { flex-direction: column; align-items: stretch; margin-bottom: 64px; }
  .prof-features__head { width: 100%; margin: 0 0 48px; }
  .section-img { width: 100%; }
  .section-img__cover { width: calc(50vw - 8px); top: -40px; }
  .section-features, .section-features--4 { flex-wrap: wrap; margin: -64px 0 0 -64px; }
  .section-features > li, .section-features--4 > li { width: calc(50% - 64px); margin: 64px 0 0 64px; }
}
@media (max-width: 600px) { .section-features > li, .section-features--4 > li { width: calc(100% - 64px); } }
@media (max-width: 500px) { .section-features__icon { margin-bottom: 24px; } .section-features__icon .icon { width: 48px; height: 48px; } }

.prof-bonus { padding: 21.1vh 0 18.5vh; }
.prof-bonus__section { display: flex; align-items: center; margin-bottom: 14.8vh; }
.prof-bonus__section:last-child { margin-bottom: 0; }
.prof-bonus .section-img { flex-shrink: 0; width: var(--wu7); margin-left: calc(-1 * var(--unit)); }
.prof-bonus .section-img__cover { top: -21.1vh; left: 0; right: auto; transform-origin: left center; }
.prof-bonus__text { width: calc(4 * var(--cg)); padding-left: calc(2 * var(--cg) - var(--c)); }
.prof-bonus__text h2 { margin-bottom: 1.125em; }
.prof-bonus__text p { margin-bottom: 1.5em; }
.prof-bonus__btn { margin-top: 1.5em; }
.prof-bonus--dealers .prof-bonus__section { align-items: flex-start; }
.prof-bonus--dealers .section-img { width: var(--w6); margin-left: 0; }
.prof-bonus--dealers .section-img > img { aspect-ratio: 1.36; }
.prof-bonus--dealers .section-img__cover { left: calc(-1 * var(--unit)); }
.prof-bonus--dealers .prof-bonus__text { width: calc(6 * var(--cg)); padding: 0 var(--c) 0 calc(2 * var(--cg) - var(--c)); }
.prof-bonus--dealers .prof-bonus__text h2 { margin-bottom: 32px; }
.mini-features { display: flex; flex-wrap: wrap; gap: 0 var(--g); }
.mini-features li { width: var(--w2); margin-top: 48px; }
.mini-features__icon { display: block; margin-bottom: 24px; }
.mini-features__icon .icon { width: 56px; height: 56px; }
.mini-features b { display: block; max-width: 9em; font-size: 18px; font-weight: var(--fw-medium); line-height: .96; letter-spacing: var(--ls-heading); }
@media (max-width: 990px) {
  .prof-bonus { padding: 80px 0; }
  .prof-bonus__section, .prof-bonus--dealers .prof-bonus__section { flex-direction: column; align-items: stretch; margin-bottom: 80px; }
  .prof-bonus .section-img, .prof-bonus--dealers .section-img { width: calc(100% + var(--unit)); margin: 0 0 48px calc(-1 * var(--unit)); }
  .prof-bonus .section-img__cover { top: -40px; }
  .prof-bonus__text, .prof-bonus--dealers .prof-bonus__text { width: 100%; padding: 0; }
  .mini-features { gap: 0 16px; }
  .mini-features li { width: calc(50% - 8px); margin-top: 32px; }
  .mini-features__icon .icon { width: 40px; height: 40px; }
}

.dealers-about { padding: 14vh 0 80px; background: var(--c-beige); }
.dealers-about__container { display: flex; justify-content: space-between; align-items: flex-start; padding-left: var(--cg); }
.dealers-about__text { width: var(--w4); }
.dealers-about__text h2 { margin-bottom: 64px; }
.acc-list__item { border-top: 1px solid var(--c-ink-10); }
.acc-list__item:last-child { border-bottom: 1px solid var(--c-ink-10); }
.acc-list__btn { position: relative; display: block; width: 100%; padding: 22px 56px 22px 0; font-size: 18px; font-weight: var(--fw-medium); line-height: 1.2; letter-spacing: var(--ls-heading); text-align: left; }
.acc-list__btn .icon { position: absolute; right: 24px; top: 50%; margin-top: -12px; transition: transform var(--dur-1) var(--ease); }
.acc-list__item.is-open .acc-list__btn .icon { transform: rotate(-180deg); }
.acc-list__content { max-height: 0; overflow: hidden; visibility: hidden; transition: max-height var(--dur-1) var(--ease), visibility 0s linear var(--dur-1); }
.acc-list__item.is-open .acc-list__content { max-height: var(--acc-max-height, 600px); visibility: visible; transition-delay: 0s; }
.acc-list__inner { padding: 0 0 32px; }
.acc-list__inner p { font-size: 16px; line-height: 1.6; }
.acc-list__img { margin-top: 32px; }
.acc-list__img img { width: 100%; aspect-ratio: 1.33; object-fit: cover; border-radius: var(--r-sm); }
.dealers-about__btn { margin-top: 40px; }
.dealers-about__media { width: calc(5 * var(--cg)); }
.dealers-about__screen { position: relative; aspect-ratio: 1.33; overflow: hidden; border: 12px solid var(--c-ink); border-radius: 24px; box-shadow: var(--shadow-card); background: var(--c-ink); }
.dealers-about__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0s linear .35s; }
.dealers-about__slide.is-active { opacity: 1; transition-delay: .35s; }
.dealers-about__slide img { width: 100%; height: 100%; object-fit: cover; }
.dealers-about__cover { position: absolute; inset: 0; background: #121212; transform: translateY(100%); pointer-events: none; }
.dealers-about__screen.is-changing .dealers-about__cover { animation: adt-cover .7s var(--ease-expo); }
@keyframes adt-cover { 0% { transform: translateY(100%); } 50% { transform: translateY(0); } 100% { transform: translateY(-100%); } }
@media (max-width: 990px) {
  .dealers-about { padding: 64px 0 80px; }
  .dealers-about__container { padding: 0; }
  .dealers-about__text { width: 100%; }
  .dealers-about__text h2 { margin-bottom: 40px; }
  .dealers-about__media { display: none; }
}

.split-colour { display: flex; align-items: center; background: var(--accent-purple-main); }
.split-colour__img { position: relative; width: 50%; min-height: 100vh; overflow: hidden; }
.split-colour__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.split-colour__text { width: 50%; padding: 80px var(--unit) 80px var(--cg); }
.split-colour__text h2 { margin-bottom: 32px; font-weight: var(--fw-regular); }
.split-colour__heart { display: inline-block; width: .7em; height: .7em; vertical-align: text-top; }
.split-colour__text p { max-width: 40.8em; }
.split-colour__text .btn { margin-top: 32px; }
@media (max-width: 990px) {
  .split-colour { flex-direction: column; align-items: stretch; }
  .split-colour__img { width: 100%; min-height: 0; height: 84vw; }
  .split-colour__text { width: 100%; padding: 80px var(--unit) 88px; }
}

/* Rail (06 §11.1) */
.rail { position: relative; background: var(--c-beige); }
.rail__sticky { position: relative; overflow: hidden; padding: 13vh 0 48px; }
.rail__title { position: relative; z-index: 1; max-width: var(--w5); margin-left: calc(var(--unit) + 4 * var(--cg)); }
.rail__circle { left: calc(-1 * var(--unit)); top: 0; width: 134.4vh; height: 134.4vh; transform: translate(-40%, -30%); }
.rail__viewport { position: relative; z-index: 1; padding-top: 12vh; }
.rail__row { display: flex; gap: 40px; padding: 0 calc(var(--unit) + 3 * var(--cg)) 0 calc(var(--unit) + var(--cg)); width: max-content; transform: translate3d(var(--rail-x, 0), 0, 0); will-change: transform; }
.rail__item { flex-shrink: 0; width: var(--w8); }
.rail__img { aspect-ratio: 1 / .6865; overflow: hidden; transform-origin: left top; transition: transform .75s var(--ease); }
.rail__item:not(.is-active) .rail__img { transform: scale3d(.5, .5, 1); }
.rail__item.is-before .rail__img { transform-origin: right top; }
.rail__img img { width: 100%; height: 100%; object-fit: cover; }
.rail__box { position: absolute; top: 50%; right: var(--unit); z-index: 2; width: var(--w5); padding: calc(var(--w5) * .156) calc(var(--w5) * .25) calc(var(--w5) * .156) calc(var(--w5) * .156); background: var(--c-white); transform: translateY(-30%); }
.rail__counter { position: absolute; top: 3.3vw; right: 3.3vw; display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: var(--fw-bold); }
.rail__counter i { width: 40px; height: 1px; background: var(--c-ink); }
.rail__texts { display: grid; }
.rail__text { grid-area: 1 / 1; opacity: 0; transition: opacity .3s var(--ease); }
.rail__text.is-active { opacity: 1; transition-delay: .3s; }
.rail__card-title { margin-bottom: 24px; font-size: calc(.64725vw + 17.57282px); font-weight: var(--fw-medium); line-height: 1; letter-spacing: var(--ls-heading); }
.rail__text p, .rail__card p { font-size: 16px; line-height: 1.6; }
@media (min-width: 991px) and (prefers-reduced-motion: no-preference) {
  .rail.is-sticky { height: calc(100vh * (var(--n) + .65)); }
  .rail.is-sticky .rail__sticky { position: sticky; top: 0; height: 100vh; }
}
@media (max-width: 990px), (prefers-reduced-motion: reduce) {
  .rail__sticky { padding: 80px 0 64px; }
  .rail__title { margin: 0 var(--unit) 48px; max-width: none; }
  .rail__viewport { padding-top: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .rail__viewport::-webkit-scrollbar { display: none; }
  .rail__row { gap: 8px; padding: 0 var(--unit); transform: none !important; }
  .rail__item { width: min(342px, 86vw); scroll-snap-align: center; background: var(--c-white); }
  .rail__item:not(.is-active) .rail__img { transform: none; }
  .rail__img { aspect-ratio: 16 / 9; }
  .rail__card { padding: 48px 32px 64px; }
  .rail__circle { display: none; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 991px) { .rail__box { display: none; } .rail__card { display: block !important; } }

/* Points cards (06 §11.2) */
.prof-how { padding: 144px 0 120px; background: var(--c-beige); }
.prof-how__title { margin-bottom: 64px; text-align: center; }
.prof-how__list { display: flex; flex-wrap: wrap; margin: calc(-1 * var(--g)) 0 0 calc(-1 * var(--g)); }
.prof-how__card { display: flex; flex-direction: column; width: calc(33.33% - var(--g)); margin: var(--g) 0 0 var(--g); padding: 56px 56px 48px; border-radius: var(--r-xl); background: var(--c-taupe); line-height: 1.4; }
.prof-how__text { margin-bottom: 48px; }
.prof-how__card-title { margin-bottom: 16px; font-size: calc(.64725vw + 17.57282px); font-weight: var(--fw-medium); line-height: .96; letter-spacing: var(--ls-heading); }
.prof-how__card p { font-size: 16px; }
.prof-how__icon { position: relative; margin-top: auto; width: 64px; }
.prof-how__icon .icon { width: 56px; height: 56px; }
.prof-how__badge { position: absolute; right: -12px; bottom: -4px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--c-ink); color: var(--c-white); font-size: 14px; }
@media (max-width: 990px) { .prof-how { padding: 80px 0; } .prof-how__card { width: calc(50% - var(--g)); } }
@media (max-width: 767px) { .prof-how__list { margin: -16px 0 0; } .prof-how__card { width: 100%; margin: 16px 0 0; padding: 32px 32px 40px; } .prof-how__title { text-align: left; margin-bottom: 40px; } }

/* Tiles (06 §11.5) */
.contract-items { display: flex; margin-bottom: 140px; }
.contract-items__item { position: relative; display: block; width: 50%; padding-top: 32%; min-height: 120px; overflow: hidden; color: var(--c-white); }
.contract-items__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-4) var(--ease); }
.contract-items__item:hover img { transform: scale(var(--img-hover-scale)); }
.contract-items__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(315deg, rgba(31, 32, 32, .55), transparent 60%); }
.contract-items__label { position: absolute; right: 0; bottom: 0; z-index: 1; display: inline-flex; align-items: center; gap: 8px; padding: 0 40px; font-size: 16px; font-weight: var(--fw-medium); line-height: 64px; letter-spacing: var(--ls-heading); }
@media (max-width: 990px) { .contract-items { margin-bottom: 80px; } }
@media (max-width: 500px) { .contract-items { flex-direction: column; } .contract-items__item { width: 100%; padding-top: 50%; } .contract-items__label { padding: 0 24px; } }

/* Spec cells (06 §11.6) */
.corp-contract { position: relative; padding: 80px 0 72px; background: var(--c-beige); }
.corp-contract::before { content: ""; position: absolute; top: 0; left: 50%; width: 40px; height: 40px; border-radius: 50%; background: var(--c-white); transform: translate(-50%, -50%); }
.corp-contract__logo { margin-bottom: 40px; text-align: center; font-size: 32px; line-height: 1; letter-spacing: .08em; text-transform: uppercase; }
.corp-contract__logo b { font-weight: var(--fw-bold); }
.corp-contract__logo span { font-weight: var(--fw-regular); }
.corp-contract__cells { display: flex; flex-wrap: wrap; margin-left: calc(-1 * var(--g)); }
.corp-contract__cell { width: var(--w2); margin-left: var(--g); padding: 32px 24px; border-radius: var(--r-xl); background: var(--c-taupe-light); line-height: 1.1; }
.corp-contract__cell .icon { width: 48px; height: 48px; margin-bottom: 48px; }
.corp-contract__cell b { display: block; margin-bottom: 4px; font-size: 18px; font-weight: var(--fw-medium); }
.corp-contract__cell p { font-size: 16px; }
.corp-contract__note { max-width: 35.625em; margin: 40px auto 0; text-align: center; line-height: 1.2; }
.corp-contract__note b { font-weight: var(--fw-medium); }
@media (max-width: 1220px) { .corp-contract__cells { margin: -24px 0 0 -24px; } .corp-contract__cell { width: calc(33.33% - 24px); margin: 24px 0 0 24px; } }
@media (max-width: 767px) { .corp-contract__cell { width: calc(50% - 24px); } .corp-contract__logo { font-size: 22px; } }
@media (max-width: 500px) {
  .corp-contract__cells { margin: -16px 0 0 -16px; }
  .corp-contract__cell { width: calc(50% - 16px); margin: 16px 0 0 16px; padding: 16px; }
  .corp-contract__cell .icon { width: 40px; height: 40px; margin-bottom: 32px; }
  .corp-contract__cell b { font-size: 16px; }
  .corp-contract__cell p { font-size: 14px; }
}

/* =============================================================================
   T10 · Our Ranges (06 §12)
   ============================================================================= */
.right-view { display: flex; align-items: stretch; }
.right-view__container { width: calc(var(--unit) + var(--w8)); padding: 0 0 200px var(--unit); flex-shrink: 0; }
.ranges-crumbs { margin-bottom: 48px; }
.ranges__title { margin-bottom: 48px; }
.ranges__tabs { display: flex; gap: 4px; margin-bottom: 48px; overflow-x: auto; }
.ranges__row { margin-bottom: 40px; outline: 0; }
.ranges__row.is-hidden { display: none; }
.ranges__name { display: flex; align-items: center; margin-bottom: 16px; font-size: 18px; font-weight: var(--fw-medium); line-height: 1.2; letter-spacing: var(--ls-heading); }
.ranges__line { flex: 1; height: 1px; margin-left: 16px; background: var(--c-ink-20); opacity: 0; transition: opacity var(--dur-1) var(--ease); }
.ranges__row:hover .ranges__line, .ranges__row.is-current .ranges__line { opacity: 1; }
.ranges__info-btn { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-left: 8px; border-radius: 50%; background: var(--c-sage); color: var(--c-white); font-size: 14px; font-weight: var(--fw-bold); }
.ranges__imgs { display: flex; margin-left: -8px; }
.ranges__imgs > li { width: calc(20% - 8px); margin-left: 8px; }
.ranges__img { position: relative; display: block; width: 100%; padding-top: 62.5%; overflow: hidden; background: var(--c-surface-150); }
.ranges__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-4) var(--ease); }
.ranges__img:hover img { transform: scale(var(--img-hover-scale)); }
.ranges__more { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; padding-top: 62.5%; background: var(--c-taupe); font-size: 12px; font-weight: var(--fw-medium); letter-spacing: var(--ls-caps); text-transform: uppercase; }
.ranges__more span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.ranges__more::before, .ranges__more::after { content: ""; position: absolute; left: 16px; right: 16px; height: 1px; background: var(--c-ink-20); }
.ranges__more::before { top: 16px; }
.ranges__more::after { bottom: 16px; }
.right-view__aside { flex: 1; min-width: 0; margin-left: auto; background: var(--c-surface-50); }
.ranges-info { position: sticky; top: var(--header-h); height: calc(100vh - var(--header-h)); }
.range-info { position: absolute; inset: 0; padding: var(--unit) var(--unit) 0; overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity var(--dur-1) var(--ease), visibility 0s linear var(--dur-1); }
.range-info.is-active { opacity: 1; visibility: visible; transition: opacity var(--dur-1) var(--ease) var(--dur-1), visibility 0s; }
.range-info__intro { font-size: 16px; line-height: 1.4; }
.range-info__inner { display: flex; flex-direction: column; min-height: 100%; }
.range-info__thumb { width: 80px; margin-bottom: 24px; }
.range-info__thumb img { width: 80px; height: 80px; object-fit: cover; border-radius: var(--r-sm); }
.range-info__name { margin-bottom: 16px; }
.range-info__desc { margin-bottom: 24px; }
.range-info__desc .clamp__text { font-size: 16px; }
.range-info__rows { margin: 0 0 32px; }
.range-info__rows > div { padding: 12px 0; border-bottom: 1px solid var(--c-line); }
.range-info__rows > div:last-child { border-bottom: 0; }
.range-info__rows dt { font-size: 12px; color: var(--c-ink-40); }
.range-info__rows dd { margin: 2px 0 0; font-size: 16px; }
.range-info__status { display: flex; align-items: center; gap: 8px; color: var(--c-stock); font-weight: var(--fw-medium); }
.range-info__status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c-stock); }
.range-info__more { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; margin-bottom: var(--unit); }
.range-info__more > span { font-size: 14px; color: var(--c-ink-40); }
@media (max-width: 990px) {
  .right-view__container { width: 100%; padding: 0 0 80px; }
  .right-view__container > :not(.ranges) { padding-left: var(--unit); padding-right: var(--unit); }
  .ranges-crumbs { margin-bottom: 16px; }
  .ranges__title { margin-bottom: 24px; }
  .ranges__tabs { margin-bottom: 64px; }
  .ranges__tabs .pill-tab { padding: 0 12px; }
  .ranges__name { padding: 0 var(--unit); }
  .ranges__imgs { margin: 0; padding: 0 var(--unit); gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .ranges__imgs::-webkit-scrollbar { display: none; }
  .ranges__imgs > li { flex: 0 0 224px; width: 224px; margin: 0; scroll-snap-align: start; }
  .right-view__aside { display: none; }
}
/* Gallery modal */
.range-modal { background: var(--c-white); top: var(--header-h); height: calc(100% - var(--header-h)); opacity: 0; transition: opacity var(--dur-1) var(--ease), visibility 0s linear var(--dur-1); }
.range-modal.modal--active { opacity: 1; transition: opacity var(--dur-1) var(--ease); }
.range-modal__container { display: flex; height: 100%; }
.range-modal__main { display: flex; flex-direction: column; width: calc(var(--unit) + 9 * var(--cg)); padding: 24px var(--unit); }
.range-modal__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.range-modal__back, .range-modal__next { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: var(--fw-medium); letter-spacing: var(--ls-caps); text-transform: uppercase; }
.icon.is-prev { transform: rotate(180deg); }
.range-modal__slider { position: relative; flex: 1; min-height: 0; overflow: hidden; background: var(--c-surface-150); }
.range-modal__slides li { position: absolute; inset: 0; opacity: 0; transition: opacity .4s var(--ease); }
.range-modal__slides li.is-active { opacity: 1; }
.range-modal__slides img { width: 100%; height: 100%; object-fit: contain; }
.range-modal__arrow { position: absolute; bottom: 0; display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; background: rgba(255, 255, 255, .8); transition: background-color var(--dur-1) var(--ease); }
.range-modal__arrow:hover { background: rgba(255, 255, 255, .95); }
.range-modal__arrow--prev { right: 80px; }
.range-modal__arrow--next { right: 0; }
.range-modal__thumbs { display: flex; gap: 8px; margin-top: 8px; overflow-x: auto; }
.range-modal.is-single .range-modal__arrow, .range-modal.is-single .range-modal__thumbs { display: none; }
.range-modal__thumbs button { display: block; width: 128px; aspect-ratio: 1.6; overflow: hidden; transition: opacity var(--dur-1) var(--ease); }
.range-modal__thumbs button.is-active { opacity: .6; }
.range-modal__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.range-modal__aside { flex: 1; min-width: 0; overflow-y: auto; padding: var(--unit) var(--unit) 0; background: var(--c-surface-50); }
@media (max-width: 990px) {
  .range-modal__main { width: 100%; padding: 16px; }
  .range-modal__aside { display: none; }
  .range-modal__arrow { width: 56px; height: 56px; }
  .range-modal__arrow--prev { right: 56px; }
  .range-modal__thumbs button { width: 88px; }
}
/* Bottom sheet */
.range-sheet .modal__overlay { background: var(--overlay-select); }
.range-sheet__container { position: absolute; left: 0; right: 0; bottom: 0; max-height: 85vh; overflow-y: auto; padding: 24px var(--unit) 0; border-radius: 24px 24px 0 0; background: var(--c-white); transform: translateY(101%); transition: transform var(--dur-2) var(--ease-expo); }
.range-sheet.modal--active .range-sheet__container { transform: none; }
.range-sheet__grab { display: block; width: 32px; height: 4px; margin: 0 auto 24px; border-radius: 4px; background: var(--c-ink-20); }

/* =============================================================================
   T2 · Journal list (06 §4)
   ============================================================================= */
.news { padding: 0 var(--unit); margin-bottom: 160px; }
.news__container { display: flex; }
.news__head { flex-shrink: 0; min-width: 300px; padding-right: 24px; }
.news__head-title { font-size: 40px; font-weight: var(--fw-medium); line-height: 1; }
.news__head-text { max-width: 260px; margin-top: 24px; font-size: 16px; line-height: 1.5; color: var(--c-ink-60); }
.news__content { flex: 1; min-width: 0; }
.news-area { display: flex; flex-wrap: wrap; justify-content: space-between; margin: -50px 0 80px; }
.news-outer { width: calc(50% - 12px); margin-top: 50px; }
@media (min-width: 1501px) {
  .news__content { margin-right: var(--cg); }
  .news-outer--big { width: calc(65% - 24px); }
  .news-outer--small { width: calc(35% - 24px); }
  .news-outer--big:nth-child(4n+3) { order: 0; }
}
@media (min-width: 900px) and (max-width: 1439px) {
  .news { margin-bottom: calc(14.81vw - 53.3px); }
  .news__head { min-width: calc(11.11vw + 140px); }
}
.news-item { display: flex; flex-direction: column; height: 100%; }
.news-item__image { position: relative; overflow: hidden; background: var(--c-surface-150); }
.news-item__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.news-item:hover .news-item__image img { transform: scale(var(--img-hover-scale)); }
.news-item--big { position: relative; height: 50vh; min-height: 360px; color: var(--c-white); }
.news-item--big .news-item__image { position: absolute; inset: 0; }
.news-item--big .news-item__image::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 65%; background: linear-gradient(0deg, var(--scrim-news) 20%, transparent); }
.news-item--big .news-item__content { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; padding: 50px; }
@media (min-width: 900px) and (max-width: 1439px) { .news-item--big .news-item__content { padding: calc(5.56vw - 30px); } }
.news-item--small { border-bottom: 1px solid var(--c-line); }
.news-item--small .news-item__image { height: 0; padding-top: 60%; }
.news-outer--small:not(.news-area--more .news-outer) .news-item--small .news-item__image { padding-top: 0; height: calc(50vh * .6); min-height: 216px; }
.news-item--small .news-item__content { padding-bottom: 15px; }
.news-date { display: block; margin-top: 15px; font-size: 14px; }
.news-item--big .news-date { font-size: 16px; }
.news-title { margin-top: 7px; font-size: 18px; line-height: 1.6; }
@media (min-width: 1501px) { .news-item--big .news-title { width: 60%; font-size: 24px; line-height: 1.2; } }
.news-title .title { margin-right: 8px; font-weight: var(--fw-bold); text-transform: uppercase; }
.news-title .description b { font-weight: var(--fw-bold); }
.news__footer { display: flex; align-items: center; }
.news__more { flex-shrink: 1; width: 494px; }
.news__more.is-loading .btn__text { opacity: 0; }
.news__more.is-loading::after { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 2px solid var(--c-ink-20); border-top-color: var(--c-ink); border-radius: 50%; animation: adt-spin .7s linear infinite; }
@keyframes adt-spin { to { transform: rotate(360deg); } }
.news__pages { margin-left: auto; }
.news__pages ul { display: flex; }
.news__pages :is(a, span).page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 56px; border-top: 1px solid var(--c-line-strong); border-bottom: 1px solid var(--c-line-strong); font-size: 16px; transition: border-color var(--dur-1) var(--ease); }
.news__pages span.page-numbers.current, .news__pages a.page-numbers:hover { border-color: var(--c-ink); }
.news__empty { font-size: 18px; }
@media (max-width: 990px) {
  .news { margin-bottom: 80px; }
  .news__container { flex-direction: column; }
  .news__head { min-width: 0; margin-bottom: 40px; }
  .news-area { margin-top: -25px; }
  .news-outer { margin-top: 25px; }
  .news__more { width: 100%; }
  .news__pages { display: none; }
}
@media (max-width: 767px) {
  .news-outer { width: 100%; }
  .news-item--big { height: auto; min-height: 0; color: var(--c-ink); border-bottom: 1px solid var(--c-line); }
  .news-item--big .news-item__image { position: relative; height: 40vh; }
  .news-item--big .news-item__image::before { display: none; }
  .news-item--big .news-item__content { position: static; padding: 0 0 15px; }
  .news-item--big .news-title { width: auto; font-size: 18px; }
  .news-date, .news-item--big .news-date { font-size: 12px; }
  .news-title { margin-bottom: 15px; }
}
@media (max-width: 500px) { .news-item--big .news-item__image, .news-outer--small .news-item--small .news-item__image { height: 220px !important; padding-top: 0 !important; } }

/* =============================================================================
   T3 · Journal article (06 §5)
   ============================================================================= */
.article-photo--big { margin: 0 0 70px calc(var(--cg) + var(--unit)); overflow: hidden; }
@media (min-width: 1501px) { .article-photo--big { margin-left: calc(2 * var(--cg) + var(--unit)); } }
.article-photo--big img { width: 100%; height: auto; max-height: 85vh; object-fit: cover; object-position: center; }
.article-description__head { flex-shrink: 0; display: flex; justify-content: space-between; min-width: 240px; margin-right: 100px; padding-right: 20px; }
.article-citation__part { margin-bottom: 25px; }
.article-citation .name { display: block; margin-bottom: 4px; font-size: 18px; font-weight: var(--fw-bold); line-height: 1.1; }
.article-citation .prophesy { font-size: 16px; line-height: 1; }
.article-citation__date { display: block; margin-bottom: 30px; font-size: 10px; font-weight: var(--fw-bold); letter-spacing: var(--ls-caps-tight); text-transform: uppercase; }
.share-links { display: flex; flex-direction: column; gap: 7px; }
.share-links__item { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--c-ink); border-radius: 50%; transition: background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease); }
.share-links__item:hover, .share-links__item.is-done { background: var(--c-ink); color: var(--c-white); }
.article-list__outer { padding-bottom: 70px; margin-bottom: 70px; border-bottom: 1px solid var(--c-line); }
.article-list__outer .wp-block-gallery { display: flex; justify-content: space-between; gap: 0; margin: -80px 0 0; }
.article-list__outer .wp-block-gallery > .wp-block-image { width: calc(50% - 12px) !important; margin: 80px 0 0 !important; }
.article-list__outer .wp-block-image img { width: 100%; height: 87vh; max-height: 783px; object-fit: cover; }
.article-text--center { margin: 0 calc(var(--cg) + var(--g)) 70px calc(2 * var(--cg)); font-size: 16px; line-height: 1.6; }
.article-text--center.entry-content h2 { font-size: 24px; }
.article-text--center.entry-content h3 { font-size: 20px; }
.article-photo:not(.article-photo--big) { margin: 0 0 70px; }
.article-photo img { width: 100%; height: auto; }
.article-features { display: flex; justify-content: space-between; margin-bottom: 70px; }
.article-features__head { max-width: 160px; }
.article-features__title { font-size: 24px; font-weight: var(--fw-bold); line-height: 1; letter-spacing: 0; }
.article-features__content { width: var(--w5); font-size: 18px; }
.article-features__list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.article-features__list li { width: calc(50% - 18px); padding-top: 15px; margin-bottom: 35px; border-top: 1px solid var(--c-line); line-height: 1.3; }
.article-features__list b { display: block; font-weight: var(--fw-medium); }
.article-features__list span { display: block; margin-top: 4px; }
.article-features__note { font-size: 12px; color: var(--c-ink-60); }
@media (min-width: 1501px) { .article-features__list { justify-content: flex-start; } .article-features__list li { width: calc(32% - 18px); margin-right: 36px; } .article-features__list li:nth-child(3n) { margin-right: 0; } }
.article-more { padding: 40px 0 160px; }
.article-more__title { margin-bottom: 32px; }
.news-area--more { margin: 0; justify-content: flex-start; gap: 24px; }
.news-area--more .news-outer { width: calc(50% - 12px); margin-top: 0; }
@media (max-width: 990px) {
  .article-photo--big { margin: 0 0 35px; }
  .article-text--center { margin: 0 0 40px; }
  .article-features { flex-direction: column; }
  .article-features__head { max-width: none; margin-bottom: 24px; }
  .article-features__content { width: 100%; }
  .article-more { padding-bottom: 80px; }
}
@media (max-width: 767px) {
  .article-description__head { flex-direction: column; align-items: stretch; margin: 0 0 40px; padding: 0; min-width: 0; }
  .article-citation { display: flex; flex: 1; justify-content: space-between; gap: 15px; }
  .article-citation__date { white-space: nowrap; }
  .article-citation__date { margin-bottom: 0; }
  .share-links { flex-direction: row; gap: 6px; margin-top: 16px; }
  .article-list__outer .wp-block-gallery { flex-direction: column; }
  .article-list__outer .wp-block-gallery > .wp-block-image { width: 100% !important; }
  .article-list__outer .wp-block-image img { height: 65vh; }
  .news-area--more .news-outer { width: 100%; }
}

/* =============================================================================
   404 + site search
   ============================================================================= */
.notfound, .search-page { padding-bottom: 120px; }
.notfound__code { margin-top: 120px; font-size: 120px; font-weight: var(--fw-medium); line-height: 1; letter-spacing: var(--ls-heading); color: var(--c-taupe); }
.notfound .article-title { margin-top: 40px; }
.notfound__search { display: flex; align-items: flex-end; gap: 32px; max-width: var(--w6); margin-bottom: 64px; }
.notfound__search .input { flex: 1; }
.notfound__links { width: var(--w6); }
.search-page__products { margin: -32px 0 48px; }
.search-results { border-top: 1px solid var(--c-line); }
.search-result { border-bottom: 1px solid var(--c-line); }
.search-result__link { display: block; padding: 24px 0; }
.search-result__type { display: block; margin-bottom: 8px; color: var(--c-ink-40); }
.search-result__title { display: block; font-size: 24px; font-weight: var(--fw-medium); line-height: 1.1; letter-spacing: var(--ls-heading); }
.search-result__excerpt { display: block; max-width: 48em; margin-top: 8px; font-size: 16px; line-height: 1.5; color: var(--c-ink-60); }
.search-result__link:hover .search-result__title { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.search-page__pages ul { display: flex; gap: 8px; margin-top: 40px; }
.search-page__pages :is(a, span).page-numbers { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-bottom: 1px solid var(--c-line-strong); }
.search-page__pages .current { border-color: var(--c-ink); }
.search-page__none { font-size: 18px; }
@media (max-width: 990px) {
  .notfound__code { margin-top: 56px; font-size: 80px; }
  .notfound__search { flex-direction: column; align-items: stretch; max-width: none; }
  .notfound__links { width: 100%; }
  .notfound, .search-page { padding-bottom: 80px; }
}

/* =============================================================================
   Reduced motion
   ============================================================================= */
@media (prefers-reduced-motion: reduce) {
  .deck__card, .rail__img, .comparison * { transition: none !important; }
}
