/* A6 premium sales pages: graphite, concrete and safety orange; technical-drawing language. */
.a6-sales-page {
  --p6-ink: #0c1013;
  --p6-ink-2: #11171b;
  --p6-ink-3: #1a2228;
  --p6-steel: #2a343c;
  --p6-paper: #f3f0ea;
  --p6-paper-2: #e9e4db;
  --p6-text: #14181b;
  --p6-muted: #575c61;
  --p6-muted-d: #a8b2b9;
  --p6-acc: #c2410c;
  --p6-acc-hi: #ff6b2c;
  --p6-acc-text: #ff9a66;
  --p6-blue: #86b8d9;
  --p6-gold: #ffc979;
  --p6-line: rgba(20, 24, 27, 0.14);
  --p6-line-d: rgba(255, 255, 255, 0.14);
  --p6-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, "Roboto Mono", Menlo, monospace;
  --p6-serif: Georgia, "Times New Roman", serif;
  --p6-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --p6-gutter: clamp(1rem, 4vw, 3.5rem);
  background: var(--p6-paper);
  color: var(--p6-text);
}
.a6-sales-page main.p6-main { overflow: clip; }
.p6-main :is(h1, h2, h3) { color: inherit; }
.p6-wrap { width: min(100% - 2 * var(--p6-gutter), 92rem); margin-inline: auto; }
.p6-anchor { display: block; height: 0; }
.p6-mono { font-family: var(--p6-mono); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; }
.p6-note { color: var(--p6-muted); font-size: 0.9rem; line-height: 1.6; }

/* Header over the hero, dark glass after scrolling. */
.a6-sales-page .site-header { position: fixed; inset: 0 0 auto; background: transparent; border-bottom-color: transparent; backdrop-filter: none; box-shadow: none; color: #fff; }
.a6-sales-page .site-header.is-scrolled, .a6-sales-page.nav-open .site-header { background: rgba(12, 16, 19, 0.86); border-bottom-color: rgba(255, 255, 255, 0.08); backdrop-filter: blur(14px) saturate(140%); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28); }
.a6-sales-page .site-header .brand, .a6-sales-page .site-header .header-phone, .a6-sales-page .site-header .nav__list a { color: #fff; }
.a6-sales-page .site-header .brand__copy small { color: #b9c1c7; }
.a6-sales-page .site-header .brand__logo { box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35); }
.a6-sales-page .site-header .header-phone .icon { color: var(--p6-acc-hi); }
.a6-sales-page .site-header .nav-toggle { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.28); color: #fff; }
.a6-sales-page .site-header .nav__list { border-top-color: rgba(255, 255, 255, 0.14); }
.a6-sales-page .site-header .nav__list a { border-bottom-color: rgba(255, 255, 255, 0.12); }
.a6-sales-page .site-header .nav__list a:hover { color: var(--p6-acc-text); }
@media (min-width: 75rem) {
  .a6-sales-page .site-header .nav__list .sub-menu { border-color: rgba(255, 255, 255, 0.1); background: rgba(12, 16, 19, 0.97); box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45); backdrop-filter: blur(14px); }
  .a6-sales-page .site-header .nav__list .sub-menu a { color: #dfe5e9; font-weight: 500; }
  .a6-sales-page .site-header .nav__list .sub-menu a:hover, .a6-sales-page .site-header .nav__list .sub-menu a:focus-visible { color: var(--p6-acc-text); }
  .a6-sales-page .site-header__inner { min-height: 3.75rem; padding-block: 0.4rem; }
  .a6-sales-page .site-header .brand__logo, .a6-sales-page .site-header .brand__mark { width: 2.75rem; height: 2.75rem; flex-basis: 2.75rem; }
  .a6-sales-page .site-header .brand__copy strong { font-size: 0.82rem; }
  .a6-sales-page .site-header .brand__copy small { font-size: 0.68rem; }
  .a6-sales-page .site-header .nav__list a { min-height: 2.5rem; padding-block: 0.45rem; }
  .a6-sales-page .site-header__actions .button { min-height: 2.5rem; padding: 0.45rem 1rem; font-size: 0.85rem; }
  .p6-hero__inner { padding-top: 6.5rem; }
  .p6-objects.is-pinned .p6-objects__sticky { padding-top: 4.5rem; }
  .p6-reviews__score, .p6-scope__aside, .p6-calc { top: 5.5rem; }
}
@media (max-width: 74.999rem) {
  .a6-sales-page .site-header__inner { min-height: 56px; grid-template-columns: 44px minmax(0, 1fr) 44px; padding-block: 6px; }
  .a6-sales-page .site-header .brand__logo, .a6-sales-page .site-header .brand__mark { width: 44px; height: 44px; flex-basis: 44px; }
  .a6-sales-page .site-header .nav-toggle { width: 44px; height: 44px; }
  .a6-sales-page .site-header .header-mobile-phone { height: 44px; }
  .js .a6-sales-page .site-header .nav { border-color: rgba(255, 255, 255, 0.1); background: rgba(12, 16, 19, 0.97); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45); backdrop-filter: blur(16px); }
  .a6-sales-page .site-header .nav__list > li > a { font-size: 1.05rem; font-weight: 600; }
  .a6-sales-page .site-header .nav__list .sub-menu a { color: #c7d0d6; font-size: 0.92rem; font-weight: 500; }
  .a6-sales-page .site-header .nav__list :is(.current-menu-item, .current_page_item) > a { color: var(--p6-acc-text); }
}
.a6-sales-page .scroll-progress { height: 3px; bottom: -3px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.28) 0 1px, transparent 1px 12px); }
.a6-sales-page .scroll-progress span { background: linear-gradient(90deg, var(--p6-acc), var(--p6-acc-hi)); }
@media (max-width: 74.999rem) {
  .a6-sales-page .header-mobile-phone { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.28); color: #fff; backdrop-filter: blur(6px); }
}

/* Buttons and links. */
.p6-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: 3.25rem; padding: 0.85rem 1.45rem; overflow: hidden; border: 1px solid transparent; border-radius: 0.35rem; font-size: 0.95rem; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform 0.35s var(--p6-ease), background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.3s ease; }
.p6-btn .icon { width: 1.1rem; height: 1.1rem; transition: transform 0.35s var(--p6-ease); }
.p6-btn:hover { text-decoration: none; }
.p6-btn:hover .icon { transform: translateX(0.25rem); }
.p6-btn::after { content: ""; position: absolute; inset: -2px; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.38) 50%, transparent 65%); transform: translateX(-120%); transition: transform 0.8s var(--p6-ease); pointer-events: none; }
.p6-btn:hover::after { transform: translateX(120%); }
.p6-btn--accent { background: var(--p6-acc); color: #fff; box-shadow: 0 14px 34px rgba(194, 65, 12, 0.35); }
.p6-btn--accent:hover { background: #a9380a; color: #fff; }
.p6-btn--glass { border-color: rgba(255, 255, 255, 0.38); background: rgba(255, 255, 255, 0.08); color: #fff; backdrop-filter: blur(8px); }
.p6-btn--glass:hover { border-color: #fff; color: #fff; }
.p6-btn--dark { background: var(--p6-ink); color: #fff; }
.p6-btn--dark:hover { background: var(--p6-steel); color: #fff; }
.p6-btn--wide { width: 100%; }
.p6-btn--line { border-color: var(--p6-text); background: transparent; color: var(--p6-text); }
.p6-btn--line:hover { background: var(--p6-text); color: #fff; }
.p6-btn--sm { min-height: 2.75rem; padding: 0.55rem 1.05rem; font-size: 0.88rem; }
.p6-btn--phone { font-size: clamp(1.05rem, 1.8vw, 1.3rem); letter-spacing: -0.01em; white-space: nowrap; }
.p6-btn--phone .icon { color: var(--p6-acc-hi); }
.p6-btn--phone:hover .icon, .p6-btn--line:hover .icon { transform: none; }
/* Messenger buttons in their own colours. */
.p6-msgs { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.p6-msg { display: inline-flex; min-height: 2.75rem; align-items: center; gap: 0.5rem; padding: 0.5rem 1.05rem; border-radius: 0.5rem; color: #fff; font-size: 0.92rem; font-weight: 700; text-decoration: none; transition: filter 0.2s, transform 0.2s; }
.p6-msg svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }
.p6-msg:hover { color: #fff; filter: brightness(1.12); transform: translateY(-1px); }
.p6-msg--max { background: #6a4fd1; }
.p6-play { width: 0; height: 0; border-top: 0.38rem solid transparent; border-bottom: 0.38rem solid transparent; border-left: 0.6rem solid currentColor; }
.p6-link { display: inline-flex; align-items: center; gap: 0.5rem; color: inherit; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 0.2rem; white-space: nowrap; }
.p6-link .icon { width: 1rem; height: 1rem; transition: transform 0.3s var(--p6-ease); }
.p6-link:hover .icon { transform: translateX(0.25rem); }

/* Section heads with a measuring tick and a laser-level reveal. */
.p6-kicker { display: flex; align-items: center; gap: 0.65rem; margin: 0; color: var(--p6-acc); font-family: var(--p6-mono); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.p6-tick { width: 1.6rem; height: 0.55rem; flex: 0 0 1.6rem; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat, repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 0.4rem) 0 100% / 100% 60% no-repeat; }
.p6-head h2, .p6-reviews h2, .p6-sheet h2, .p6-region h2, .p6-faq h2, .p6-final h2, .p6-scope h2 { margin: 0.85rem 0 0; font-size: clamp(2rem, 5vw, 4.4rem); font-weight: 700; line-height: 1; letter-spacing: -0.045em; text-wrap: balance; }
.p6-head h2 { max-width: 19ch; }
.p6-head__lead { max-width: 46ch; margin: 1.1rem 0 0; color: var(--p6-muted); font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.6; }
.p6-objects .p6-head__lead, .p6-reels .p6-head__lead, .p6-cinema .p6-head__lead { color: var(--p6-muted-d); }
.p6-objects .p6-kicker, .p6-reels .p6-kicker, .p6-cinema .p6-kicker, .p6-final .p6-kicker { color: var(--p6-acc-text); }

/* Hero. */
.p6-hero { position: relative; isolation: isolate; display: flex; min-height: 100svh; flex-direction: column; justify-content: flex-end; overflow: hidden; background: var(--p6-ink); color: #fff; }
.p6-hero__media { position: absolute; inset: 0; z-index: -1; transform: scale(calc(1 + var(--p6-out, 0) * 0.16)); transform-origin: 50% 35%; }
.p6-hero__media::before { content: ""; position: absolute; inset: 0; z-index: 2; background: var(--p6-ink); opacity: calc(var(--p6-out, 0) * 0.55); pointer-events: none; }
.p6-hero__video, .p6-hero__photo, .p6-hero__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p6-hero__photo { overflow: hidden; }
.p6-hero__photo img { transform: scale(1.08); animation: p6-drift 22s ease-in-out infinite alternate; }
.p6-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 16, 19, 0.72) 0%, rgba(12, 16, 19, 0.15) 26%, rgba(12, 16, 19, 0.35) 52%, rgba(12, 16, 19, 0.93) 86%, var(--p6-ink) 100%); }
.p6-hero__inner { transform: translate3d(0, calc(var(--p6-out, 0) * -90px), 0); opacity: calc(1 - var(--p6-out, 0) * 0.9); width: min(100% - 2 * var(--p6-gutter), 92rem); margin: 0 auto; padding: 6.25rem 0 clamp(1.5rem, 4vw, 3rem); }
.p6-hero .breadcrumbs.container { width: auto; max-width: none; margin: 0 0 1.25rem; padding: 0; background: none; white-space: normal; color: rgba(255, 255, 255, 0.68); font-size: 0.74rem; }
.p6-hero .breadcrumbs a { color: #fff; }
.p6-hero .breadcrumbs li:not(:last-child)::after { color: rgba(255, 255, 255, 0.45); }
.p6-hero__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin: 0 0 1rem; color: rgba(255, 255, 255, 0.82); font-size: 0.82rem; font-weight: 600; }
.p6-hero__titlewrap { position: relative; }
.p6-hero__title { max-width: 14ch; margin: 0; font-size: clamp(2.45rem, 7.6vw, 6.9rem); font-weight: 700; line-height: 0.95; letter-spacing: -0.05em; text-wrap: balance; }
.single-service .p6-hero__title { max-width: 17ch; font-size: clamp(2.2rem, 6.1vw, 5.7rem); }
.js .p6-hero__title { -webkit-mask-image: linear-gradient(90deg, #000 46%, transparent 54%); mask-image: linear-gradient(90deg, #000 46%, transparent 54%); -webkit-mask-size: 260% 100%; mask-size: 260% 100%; -webkit-mask-position: 100% 0; mask-position: 100% 0; animation: p6-laser 1.5s var(--p6-ease) 0.2s forwards; }
.p6-laserline { position: absolute; top: -4%; bottom: -4%; left: 0; width: 2px; background: var(--p6-acc-hi); box-shadow: 0 0 14px 3px rgba(255, 107, 44, 0.75), 0 0 40px 10px rgba(255, 107, 44, 0.25); opacity: 0; pointer-events: none; }
.js .p6-laserline { animation: p6-laserline 1.5s var(--p6-ease) 0.2s forwards; }
.p6-hero__lead { max-width: 40rem; margin: 1.25rem 0 0; color: rgba(255, 255, 255, 0.86); font-size: clamp(1rem, 1.6vw, 1.22rem); line-height: 1.55; }
.p6-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.6rem; }
.p6-stamp { display: grid; grid-template-columns: 1fr 1fr; margin: 1.75rem 0 0; border: 1px solid rgba(255, 255, 255, 0.42); background: rgba(12, 16, 19, 0.58); backdrop-filter: blur(8px); }
.p6-stamp > div { padding: 0.7rem 0.85rem; border-right: 1px solid rgba(255, 255, 255, 0.24); border-bottom: 1px solid rgba(255, 255, 255, 0.24); }
.p6-stamp > div:nth-child(odd):not(.p6-stamp__price) { border-right: 1px solid rgba(255, 255, 255, 0.24); }
.p6-stamp > div:nth-child(3) { border-right: 0; }
.p6-stamp > div:nth-last-child(-n + 2) { border-bottom: 0; }
.p6-stamp__price { grid-column: 1 / -1; border-right: 0 !important; }
.p6-stamp dt { color: #aeb7bd; font-family: var(--p6-mono); font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; }
.p6-stamp dd { margin: 0.3rem 0 0; font-size: 0.92rem; font-weight: 700; }
.p6-stamp__price dd { font-size: clamp(1.35rem, 3.4vw, 2.05rem); letter-spacing: -0.03em; }
.p6-stamp a { color: #fff; text-decoration: none; }
.p6-stamp a::after { content: " →"; color: var(--p6-acc-text); }
.p6-stamp a:hover { color: var(--p6-acc-text); }
.js .p6-stamp { animation: p6-stamp 0.7s cubic-bezier(0.3, 1.5, 0.5, 1) 1.15s both; }
.p6-hero__scroll { display: none; }
@media (min-width: 64rem) {
  .p6-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; align-items: end; gap: 0 3rem; padding-top: 8rem; }
  .p6-hero__inner > * { grid-column: 1; }
  .p6-hero__inner > .p6-stamp { grid-column: 2; grid-row: 3 / span 3; align-self: end; margin: 0; }
  .p6-hero__scroll { position: absolute; bottom: 1.5rem; left: 50%; display: block; width: 2rem; height: 3.5rem; transform: translateX(-50%); }
  .p6-plumb { position: absolute; left: 50%; top: 0; width: 1px; height: 2.4rem; background: rgba(255, 255, 255, 0.5); transform-origin: top; animation: p6-swing 2.6s ease-in-out infinite; }
  .p6-plumb::after { content: ""; position: absolute; left: -5px; bottom: -10px; border: 5px solid transparent; border-top: 10px solid var(--p6-acc-hi); }
}

/* Facts strip with a ruler. */
.p6-facts { padding-top: clamp(2.25rem, 5vw, 4rem); background: var(--p6-ink); color: #fff; }
.p6-facts__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 1rem; }
.p6-fact { padding-left: 0.9rem; border-left: 1px solid var(--p6-line-d); }
.p6-fact .p6-mono { color: var(--p6-muted-d); }
.p6-fact b { display: block; margin: 0.45rem 0 0.35rem; font-size: clamp(1.7rem, 4.6vw, 3.6rem); line-height: 1; letter-spacing: -0.045em; white-space: nowrap; }
.p6-fact small { color: var(--p6-muted-d); font-size: 0.8rem; line-height: 1.45; }
.p6-ruler { height: 2.2rem; margin-top: clamp(2rem, 5vw, 3.5rem); background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0 1px, transparent 1px 100px) 0 0 / 100% 100%, repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.24) 0 1px, transparent 1px 10px) 0 100% / 100% 45% no-repeat; border-top: 1px solid rgba(255, 255, 255, 0.2); background-position: var(--p6-rx, 0px) 0, var(--p6-rx, 0px) 100%; }
@media (min-width: 64rem) { .p6-facts__grid { grid-template-columns: repeat(4, 1fr); } }

/* Objects: horizontal rail, pinned on desktop. */
.p6-objects { padding-block: clamp(4rem, 9vw, 7.5rem); background: var(--p6-ink); color: #fff; }
.p6-objects__top, .p6-reels__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.25rem 2rem; }
.p6-rail-nav { display: flex; align-items: center; gap: 0.5rem; }
.p6-rail-nav button { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; opacity: 0.85; transition: background-color 0.2s, color 0.2s, opacity 0.2s; }
.p6-rail-nav button:hover { background: var(--p6-acc); border-color: var(--p6-acc); color: #fff; opacity: 1; }
.p6-rail-nav button[data-p6-prev] .icon { transform: rotate(180deg); }
.p6-rail-nav button:disabled { opacity: 0.3; cursor: default; }
.p6-rail-nav .icon { width: 1.1rem; height: 1.1rem; }
.p6-rail-nav .p6-mono { margin-right: 0.5rem; color: var(--p6-muted-d); }
.p6-objects__viewport, .p6-reels__rail, .p6-reviews__rail, .p6-cinema__list { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.p6-objects__viewport::-webkit-scrollbar, .p6-reels__rail::-webkit-scrollbar, .p6-reviews__rail::-webkit-scrollbar, .p6-cinema__list::-webkit-scrollbar { display: none; }
.p6-objects__viewport { margin-top: 2.25rem; padding-inline: var(--p6-gutter); scroll-padding-inline: var(--p6-gutter); }
.p6-objects__track { position: relative; display: flex; gap: clamp(0.75rem, 2vw, 1.5rem); width: max-content; margin: 0; padding: 0 var(--p6-gutter) 0 0; list-style: none; }
.p6-obj { width: min(80vw, 34rem); flex: 0 0 auto; scroll-snap-align: start; }
.p6-obj--tall { width: min(58vw, 22rem); }
.p6-obj__frame { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 0.25rem; background: var(--p6-ink-3); }
.p6-obj--tall .p6-obj__frame { aspect-ratio: 3 / 4; }
.p6-obj__frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--p6-ease); }
.p6-obj__frame:hover img { transform: scale(1.05); }
.p6-obj__zoom { position: absolute; right: 0.75rem; bottom: 0.75rem; display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border-radius: 50%; background: rgba(12, 16, 19, 0.6); color: #fff; font-size: 1.3rem; backdrop-filter: blur(6px); }
.p6-obj__meta { margin-top: 0.85rem; }
.p6-obj__meta .p6-mono { color: var(--p6-acc-text); }
.p6-obj__meta p { margin: 0.35rem 0 0; font-weight: 600; line-height: 1.4; }
.p6-objects__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 2rem; }
.p6-objects__bottom .p6-meter { flex: 1; }
/* Gallery arrows under the photos and clips, in reach of the thumb: outlined "back", solid "next". */
.p6-nav-btn { display: grid; width: 3.25rem; height: 3.25rem; flex: none; place-items: center; border: 1.5px solid rgba(255, 255, 255, 0.6); border-radius: 50%; background: rgba(255, 255, 255, 0.04); color: #fff; cursor: pointer; transition: background-color 0.2s, border-color 0.2s, transform 0.15s; }
.p6-nav-btn .icon { width: 1.3rem; height: 1.3rem; }
.p6-nav-btn[data-p6-prev] .icon { transform: rotate(180deg); }
.p6-nav-btn[data-p6-next] { border-color: var(--p6-acc); background: var(--p6-acc); box-shadow: 0 10px 26px rgba(194, 65, 12, 0.4); }
.p6-nav-btn:hover { border-color: #fff; }
.p6-nav-btn[data-p6-next]:hover { border-color: var(--p6-acc-hi); background: var(--p6-acc-hi); }
.p6-nav-btn:active { transform: scale(0.93); }
.p6-nav-btn:disabled { opacity: 0.35; cursor: default; }
.p6-nav-btn:focus-visible { outline: 3px solid var(--p6-acc-hi); outline-offset: 3px; }
.p6-meter { position: relative; height: 2px; flex: 1; background: var(--p6-line-d); }
.p6-meter span { position: absolute; inset: 0 auto 0 0; width: 100%; background: var(--p6-acc-hi); transform: scaleX(var(--p, 0.1)); transform-origin: left; transition: transform 0.2s linear; }
.p6-reviews .p6-meter { background: var(--p6-line); }
.p6-objects.is-pinned { --p6-fh: min(46vh, 31rem); height: var(--p6-pin-h, 300vh); padding: 0; }
.p6-objects.is-pinned .p6-objects__sticky { position: sticky; top: 0; display: flex; height: var(--p6-pin-vh, 100vh); flex-direction: column; justify-content: center; overflow: hidden; overflow: clip; padding: 5.5rem 0 1.25rem; }
.p6-objects.is-pinned .p6-head h2 { font-size: clamp(2rem, 3.4vw, 3.4rem); }
.p6-objects.is-pinned .p6-head__lead { margin-top: 0.6rem; }
.p6-objects.is-pinned .p6-objects__viewport { overflow: visible; margin-top: 1.75rem; }
.p6-objects.is-pinned .p6-objects__track { will-change: transform; }
.p6-objects.is-pinned .p6-obj { width: calc(var(--p6-fh) * 4 / 3); }
.p6-objects.is-pinned .p6-obj--tall { width: calc(var(--p6-fh) * 3 / 4); }
.p6-objects.is-pinned .p6-obj__frame { height: var(--p6-fh); aspect-ratio: auto; }
.p6-objects.is-pinned .p6-objects__bottom { margin-top: 1.25rem; }
.p6-objects.is-pinned [data-p6-prev], .p6-objects.is-pinned [data-p6-next] { display: none; }
/* Phones and tablets: a stack of photos. The two behind the top one peek out below and darken;
   a swipe throws the top photo aside and the next one rises. The stack never ends. */
.p6-objects__caption { display: none; }
.p6-objects.is-deck .p6-objects__viewport { position: relative; height: calc(var(--p6-card-h, 16rem) + 2.4rem); margin: 1.5rem var(--p6-gutter) 0; padding: 0; overflow: visible; scroll-snap-type: none; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.p6-objects.is-deck .p6-objects__track { position: absolute; inset: 0; width: auto; padding: 0; }
.p6-objects.is-deck .p6-obj, .p6-objects.is-deck .p6-obj--tall { position: absolute; top: 0; left: 0; width: 100%; height: var(--p6-card-h, 16rem); transform-origin: 50% 100%; transition: transform 0.45s cubic-bezier(0.22, 0.8, 0.2, 1), opacity 0.3s; will-change: transform; }
.p6-objects.is-deck .is-drag .p6-obj, .p6-objects.is-deck .p6-obj.is-instant { transition: none; }
.p6-objects.is-deck .p6-obj:not(.is-current) { pointer-events: none; }
.p6-objects.is-deck .p6-obj__frame { height: 100%; aspect-ratio: auto; border-radius: 0.75rem; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45); -webkit-user-drag: none; }
.p6-objects.is-deck .p6-obj__frame img { pointer-events: none; }
.p6-objects.is-deck .p6-obj__frame::after { content: ""; position: absolute; inset: 0; background: var(--p6-ink); opacity: var(--p6-shade, 0); pointer-events: none; transition: opacity 0.45s; }
.p6-objects.is-deck .p6-obj__meta, .p6-objects.is-deck .p6-formwork { display: none; }
.p6-objects.is-deck .p6-obj:not(.is-current) .p6-obj__zoom { opacity: 0; }
.p6-objects.is-deck .p6-objects__caption { display: block; min-height: 4.2rem; margin: 1rem var(--p6-gutter) 0; }
.p6-objects__caption .p6-mono { color: var(--p6-acc-text); }
.p6-objects__caption p { margin: 0.35rem 0 0; font-weight: 600; line-height: 1.4; }
.p6-objects.is-deck .p6-objects__bottom { margin-top: 0.75rem; }

/* Formwork-removal reveal: plywood panels drop away. */
.p6-formwork { display: none; }
.p6-ready .p6-formwork { position: absolute; inset: 0; display: flex; pointer-events: none; }
.p6-formwork i { flex: 1; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.08) 0 2px, transparent 2px 18px), linear-gradient(180deg, #8f4b2a, #6f3720); border-right: 1px solid rgba(0, 0, 0, 0.35); box-shadow: inset 0 0 0 1px rgba(255, 220, 190, 0.12); transform-origin: 50% 100%; transition: transform 1s cubic-bezier(0.7, 0, 0.2, 1); }
.p6-formwork i::before, .p6-formwork i::after { content: ""; position: absolute; width: 5px; height: 5px; margin: 14px 0 0 calc(50% - 2px); border-radius: 50%; background: rgba(0, 0, 0, 0.4); }
.p6-formwork i { position: relative; }
.p6-formwork i::after { bottom: 14px; margin: 0 0 0 calc(50% - 2px); }
.is-in > .p6-formwork i { transform: scaleY(0); }
.is-in > .p6-formwork i:nth-child(2) { transition-delay: 0.08s; }
.is-in > .p6-formwork i:nth-child(3) { transition-delay: 0.16s; }
.is-in > .p6-formwork i:nth-child(4) { transition-delay: 0.24s; }
.is-in > .p6-formwork i:nth-child(5) { transition-delay: 0.32s; }

/* Layered construction scheme. */
.p6-layers { padding-block: clamp(4rem, 9vw, 8rem); background: var(--p6-paper); }
.p6-layers__body { display: grid; gap: 1.25rem; margin-top: 2.25rem; }
.p6-layers__figure { position: sticky; top: calc(56px + 0.5rem); z-index: 2; margin: 0; overflow: hidden; border-radius: 0.5rem; background: radial-gradient(120% 90% at 20% 0%, #18242d, var(--p6-ink-2)); color: #cfe3f0; box-shadow: 0 30px 70px rgba(12, 16, 19, 0.25); }
.p6-layers__figure::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(134, 184, 217, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(134, 184, 217, 0.08) 1px, transparent 1px); background-size: 24px 24px; pointer-events: none; }
.p6-layers__drawing { position: relative; padding: clamp(0.5rem, 2vw, 1.5rem) clamp(0.25rem, 1.5vw, 1rem) 0; }
.p6-layers__figure figcaption { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 1rem; padding: 0.85rem 1.1rem 1rem; border-top: 1px solid rgba(134, 184, 217, 0.2); }
.p6-layers__figure figcaption .p6-mono { color: var(--p6-acc-text); }
.p6-layers__figure figcaption strong { font-size: 1.05rem; color: #fff; }
.p6-layers__figure figcaption small { flex-basis: 100%; color: #7d93a2; font-size: 0.7rem; }
.p6-steps { position: relative; display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.p6-steps::-webkit-scrollbar { display: none; }
.p6-step { position: relative; display: grid; min-height: 40vh; min-height: 40svh; align-content: start; grid-template-columns: auto 1fr; gap: 0.25rem 0.9rem; padding: 1.1rem; border: 1px solid var(--p6-line); border-radius: 0.45rem; background: #fff; opacity: 0.5; transition: border-color 0.3s, box-shadow 0.3s, opacity 0.4s, transform 0.5s var(--p6-ease); }
.p6-step:last-child { min-height: 26vh; min-height: 26svh; }
.p6-step.is-active { opacity: 1; border-color: var(--p6-acc); box-shadow: 0 16px 36px rgba(194, 65, 12, 0.14); }
.p6-step__num { color: var(--p6-acc); font-family: var(--p6-mono); font-size: 1.6rem; font-weight: 600; line-height: 1; }
.p6-step h3 { margin: 0; font-size: 1.1rem; }
.p6-step p { margin: 0.35rem 0 0; color: var(--p6-muted); font-size: 0.92rem; line-height: 1.5; }
.p6-step__photo { position: relative; grid-column: 1 / -1; display: block; margin-top: 0.75rem; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 0.3rem; }
.p6-step__photo img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 63.999rem) {
  .p6-layers { padding-bottom: calc(var(--p6-tail, 0px) + 5rem); }
  .p6-layers__body { margin-top: 1.75rem; }
  .p6-steps { margin-bottom: calc(-1 * var(--p6-tail, 0px) - 1rem); }
  .p6-layers__drawing { padding: 0.35rem 0.5rem 0; }
  .p6-layers__drawing .p6-svg { height: min(20vh, 11rem); height: min(20svh, 11rem); }
  .p6-layers__figure figcaption { align-items: center; gap: 0.15rem 0.7rem; padding: 0.5rem 0.9rem 0.6rem; }
  .p6-layers__figure figcaption strong { font-size: 0.98rem; }
  .p6-layers__figure figcaption small { flex-basis: auto; margin-left: auto; font-size: 0.6rem; }
  .p6-step { min-height: 34vh; min-height: 34svh; padding: 0.95rem; }
  .p6-step:last-child { min-height: 22vh; min-height: 22svh; }
  .p6-step__photo { aspect-ratio: 2 / 1; margin-top: 0.6rem; }
}
@media (min-width: 40rem) and (max-width: 63.999rem) { .p6-step__photo { max-width: 28rem; } }
.p6-step__photo span { position: absolute; left: 0.5rem; bottom: 0.5rem; padding: 0.2rem 0.45rem; background: rgba(12, 16, 19, 0.7); color: #fff; font-family: var(--p6-mono); font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase; }
@media (min-width: 64rem) {
  .p6-layers__body { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
  .p6-layers__figure { position: sticky; top: 13vh; }
  .p6-layers__drawing .p6-svg { height: min(44vh, 25rem); }
  .p6-steps { display: block; overflow: visible; padding: 0; }
  .p6-step { width: auto; min-height: 58vh; align-content: center; margin: 0; padding: 2rem 0; border: 0; border-top: 1px solid var(--p6-line); border-radius: 0; background: transparent; box-shadow: none; opacity: 0.38; }
  .p6-step.is-active { opacity: 1; box-shadow: none; }
  .p6-step__num { font-size: 2.4rem; }
  .p6-step h3 { font-size: clamp(1.4rem, 2vw, 2rem); letter-spacing: -0.02em; }
  .p6-step p { font-size: 1rem; }
  .p6-step__photo { max-width: 22rem; }
}

/* Scheme drawing styles. */
.p6-svg { display: block; width: 100%; height: auto; overflow: visible; --ln: #cfe3f0; --acc: #ff6b2c; }
.p6-svg .ln { fill: none; stroke: var(--ln); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.p6-svg .thin { stroke-width: 1; opacity: 0.75; }
.p6-svg .dash { stroke-dasharray: 6 6; }
.p6-svg .acc, .p6-svg .ln.acc { stroke: var(--acc); }
.p6-svg text { fill: #9fb7c7; font: 500 11px var(--p6-mono); }
.p6-svg .lbl { text-anchor: middle; }
.p6-svg .mk text { fill: #9fb7c7; }
.p6-svg .vert { writing-mode: vertical-rl; }
.p6-svg .h-earth { stroke: #4f6372; stroke-width: 1; }
.p6-svg .h-dot { fill: #7f98a8; }
.p6-svg .h-cbg { fill: #3a4954; }
.p6-svg .h-tri { fill: none; stroke: #8aa3b3; stroke-width: 0.8; }
.p6-svg .h-gbg { fill: #2d3a43; }
.p6-svg .h-stone { fill: none; stroke: #8aa3b3; stroke-width: 0.9; }
.p6-svg .h-sbg { fill: #6d6352; }
.p6-svg .h-bbg { fill: #5a4639; }
.p6-svg .h-joint { fill: none; stroke: #c2a48c; stroke-width: 0.8; }
.p6-svg .h-tbg { fill: #dfe9ef; }
.p6-svg .h-wbg { fill: #9c7651; }
.p6-svg .h-grid { fill: none; stroke: rgba(134, 184, 217, 0.18); stroke-width: 1; }
.p6-svg .cl { fill: #5b6a74; stroke: var(--ln); stroke-width: 1.2; }
.p6-svg .rb { fill: none; stroke: #ff8a52; stroke-width: 2; stroke-linecap: round; }
.p6-svg .rbd { fill: none; stroke: #ff8a52; stroke-width: 6; stroke-linecap: round; }
.p6-svg .glass { fill: rgba(134, 184, 217, 0.32); stroke: #86b8d9; stroke-width: 1.2; }
.p6-svg .glow { fill: #ffd28f; opacity: 0.55; filter: drop-shadow(0 0 10px rgba(255, 201, 121, 0.75)); }
.p6-svg .roof { fill: #2a343c; }
.p6-svg .water { fill: rgba(64, 160, 230, 0.55); }
.p6-svg .wave { fill: none; stroke: #bfe3ff; stroke-width: 2; }
.p6-svg .tree { fill: #3f6c3c; stroke: #8fc47f; stroke-width: 1.2; }
.p6-svg .ply { fill: #8a4a2c; }
.p6-svg .hose { stroke: #8695a0; stroke-width: 5; }
.p6-svg .drip { fill: none; stroke: #9fb0bb; stroke-width: 6; stroke-linecap: round; }
.p6-svg .cure { fill: none; stroke: #86b8d9; stroke-width: 2; stroke-dasharray: 4 6; }
.p6-svg .drop { fill: #86b8d9; }
.p6-svg .ok { fill: rgba(255, 107, 44, 0.12); stroke: var(--acc); stroke-width: 1.5; }
.p6-svg .prop { fill: none; stroke: #d9a066; stroke-width: 1.2; stroke-dasharray: 3 3; transition: opacity 0.6s; }
.p6-svg .wp { fill: none; stroke: #4fb3ff; stroke-width: 3; }
.p6-svg .tiles { fill: none; stroke: #e6f1f7; stroke-width: 2; stroke-dasharray: 8 3; }
.p6-svg .cope { fill: #c9c3b8; }
.p6-svg .glint { fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; opacity: 0.45; }
.p6-svg .paver { fill: #8f8475; }
.p6-svg .joints { stroke: #d8cfc2; stroke-width: 1; }
.p6-svg .curb { fill: #b9b3a8; }
.p6-svg .soil { fill: #3b2d24; }
.p6-svg .grass { fill: none; stroke: #7cc46a; stroke-width: 1.6; stroke-linecap: round; }
.p6-svg .lamp { fill: #ffc979; filter: drop-shadow(0 0 6px #ffc979); }
.p6-svg .pipe { fill: #1b2329; stroke: #ff8a52; stroke-width: 2; stroke-dasharray: 3 2; }
.p6-svg .flow { fill: none; stroke: #86b8d9; stroke-width: 1.6; }
.p6-svg .geo { stroke: #d8c37a; }
.p6-svg .wall { fill: none; stroke: #e8f1f6; stroke-width: 8; stroke-linecap: square; }
.p6-svg .thin-wall { stroke-width: 5; }
.p6-svg .wire { fill: none; stroke: #ffb347; stroke-width: 1.6; stroke-dasharray: 5 4; }
.p6-svg .lamp-s circle { fill: none; stroke: #ffb347; stroke-width: 1.4; }
.p6-svg .pipe-l { fill: none; stroke: #4fb3ff; stroke-width: 2; }
.p6-svg .floor { opacity: 0.55; }
.p6-svg .counter { fill: #5b6a74; }
.p6-svg .furn { fill: none; stroke: #e8f1f6; stroke-width: 1.4; }
.p6-svg .warm { fill: rgba(255, 201, 121, 0.08); }
.p6-svg .contour { stroke: #86b8d9; }
.p6-svg .render-tag { fill: #fff; font-size: 12px; text-anchor: start; paint-order: stroke; stroke: rgba(12, 16, 19, 0.7); stroke-width: 3px; }
.p6-svg .wipe-line { fill: none; stroke: var(--acc); stroke-width: 3; opacity: 0; }
.p6-svg .p6-l { transition: opacity 0.5s var(--p6-ease), transform 0.9s cubic-bezier(0.3, 1.45, 0.5, 1); }
.p6-ready .p6-svg .p6-l:not(.is-on) { opacity: 0; transform: translateY(-26px); }
.p6-ready .p6-svg--plan .p6-l:not(.is-on), .p6-ready .p6-svg--blueprint .p6-l:not(.is-on), .p6-ready .p6-svg--ground .p6-l:not(.is-on), .p6-ready .p6-svg--pool .p6-l:not(.is-on) { transform: none; }
.p6-svg .p6-l.is-current .ln:not(.thin), .p6-svg .p6-l.is-current .wall { stroke: var(--acc); }
.p6-svg .p6-l[data-l="0"] { transform: none; }
.p6-ready .p6-svg--plan .wall, .p6-ready .p6-svg--blueprint .wall, .p6-ready .p6-svg--blueprint .p6-l:not([data-l="0"]) .ln:not(.dash):not(.contour) { stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 1.8s var(--p6-ease); }
.p6-ready .p6-svg--plan .p6-l.is-on .wall, .p6-ready .p6-svg--plan .p6-l[data-l="0"] .wall, .p6-ready .p6-svg--blueprint .p6-l.is-on .wall, .p6-ready .p6-svg--blueprint .p6-l.is-on .ln:not(.dash):not(.contour) { stroke-dashoffset: 0; }
.p6-ready .p6-svg--slab .pour { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 2.2s cubic-bezier(0.55, 0, 0.2, 1) 0.15s; }
.p6-ready .p6-svg--slab .p6-l.is-on .pour { transform: scaleY(1); }
.p6-ready .p6-svg--pool .water.fill { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 2.6s cubic-bezier(0.4, 0, 0.2, 1) 0.2s; }
.p6-ready .p6-svg--pool .p6-l.is-on .water.fill { transform: scaleY(1); }
.p6-svg .p6-l.is-on .wave { animation: p6-wave 3.2s ease-in-out infinite alternate; }
.p6-ready .p6-svg--ground .grass { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 1.4s cubic-bezier(0.3, 1.5, 0.5, 1) 0.3s; }
.p6-ready .p6-svg--ground .p6-l.is-on .grass { transform: scaleY(1); }
.p6-svg .p6-l.is-on .glow { animation: p6-glow 3.6s ease-in-out infinite; }
.p6-layers__figure[data-step="5"] .p6-svg--slab .p6-l[data-l="2"] { opacity: 0; transform: translate(0, -30px); }
.p6-layers__figure[data-step="5"] .p6-svg--slab .hose, .p6-layers__figure[data-step="5"] .p6-svg--slab .drip { opacity: 0; transition: opacity 0.6s; }
.p6-layers__figure[data-step="5"] .p6-svg--frame .p6-l[data-l="3"] .prop { opacity: 0; }
.p6-ready .p6-wipe { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(0); transition: transform 1.9s var(--p6-ease) 0.2s; }
.p6-ready .p6-layers__figure[data-step="5"] .p6-wipe { transform: scaleX(1); }
.p6-layers__figure[data-step="5"] .wipe-line { animation: p6-wipeline 1.9s var(--p6-ease) 0.2s both; }
/* Crane: the hook travels to the element of the current stage. */
.p6-crane { transition: opacity 0.8s ease, transform 1.4s var(--p6-ease); }
.p6-crane .ln { stroke: #8ea5b4; stroke-width: 1.1; }
.p6-crane__weight { fill: #5b6a74; }
.p6-crane__cab { fill: var(--acc); }
.p6-crane__trolley rect:first-child { fill: #cfe3f0; }
.p6-crane__trolley { transform: translateX(var(--cx, 0px)); transition: transform 1.2s var(--p6-ease); }
.p6-crane__cable { fill: #cfe3f0; transform-box: fill-box; transform-origin: 50% 0; transform: scaleY(var(--cl, 120)); transition: transform 1.2s var(--p6-ease); }
.p6-crane__hook { transform: translateY(calc(var(--cl, 120) * 1px)); transition: transform 1.2s var(--p6-ease); }
.p6-crane__load { fill: var(--acc); }
.p6-layers__figure[data-step="1"] .p6-svg--house { --cx: -10px; --cl: 280; }
.p6-layers__figure[data-step="2"] .p6-svg--house { --cx: -50px; --cl: 44; }
.p6-layers__figure[data-step="3"] .p6-svg--house { --cx: 80px; --cl: 170; }
.p6-layers__figure[data-step="4"] .p6-svg--house { --cx: -10px; --cl: 34; }
.p6-layers__figure[data-step="5"] .p6-svg--house { --cx: 200px; --cl: 20; }
.p6-layers__figure[data-step="5"] .p6-svg--house .p6-crane { opacity: 0; transform: translateX(70px); }
.p6-layers__figure[data-step="1"] .p6-svg--frame { --cx: 10px; --cl: 290; }
.p6-layers__figure[data-step="2"] .p6-svg--frame { --cx: -50px; --cl: 190; }
.p6-layers__figure[data-step="3"] .p6-svg--frame { --cx: 30px; --cl: 176; }
.p6-layers__figure[data-step="4"] .p6-svg--frame { --cx: -50px; --cl: 76; }
.p6-layers__figure[data-step="5"] .p6-svg--frame { --cx: 0px; --cl: 62; }

/* Reels rail. */
.p6-reels { padding-block: clamp(4rem, 9vw, 7.5rem); background: var(--p6-ink); color: #fff; }
.p6-reels__rail { --p6-reel-w: clamp(10.25rem, 42vw, 15rem); display: flex; gap: 0.75rem; margin-top: 2rem; padding: 0 var(--p6-gutter) 1.25rem; scroll-padding-inline: var(--p6-gutter); }
.p6-reel { width: var(--p6-reel-w); flex: 0 0 auto; scroll-snap-align: start; }
.p6-reel__open { position: relative; display: block; width: 100%; aspect-ratio: 9 / 16; padding: 0; overflow: hidden; border: 0; border-radius: 0.65rem; background: #000; color: #fff; text-align: left; cursor: pointer; }
.p6-reel__open img, .p6-reel__preview { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p6-reel__preview { opacity: 0; transition: opacity 0.4s; }
.p6-reel__open.is-previewing .p6-reel__preview { opacity: 1; }
.p6-reel__open::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.35), transparent 25%, transparent 55%, rgba(0, 0, 0, 0.85)); }
.p6-reel__num { position: absolute; z-index: 1; top: 0.65rem; left: 0.65rem; padding: 0.2rem 0.45rem; border-radius: 1rem; background: rgba(12, 16, 19, 0.55); }
.p6-reel__play { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 50%; background: rgba(12, 16, 19, 0.35); transform: translate(-50%, -50%); backdrop-filter: blur(4px); transition: transform 0.4s var(--p6-ease), background-color 0.2s; }
.p6-reel__play svg { width: 1.3rem; height: 1.3rem; fill: #fff; stroke: none; margin-left: 2px; }
.p6-reel__open:hover .p6-reel__play, .p6-reel__open:focus-visible .p6-reel__play { background: var(--p6-acc); transform: translate(-50%, -50%) scale(1.08); }
.p6-reel__title { position: absolute; z-index: 1; right: 0.75rem; bottom: 0.8rem; left: 0.75rem; font-size: 0.9rem; font-weight: 700; line-height: 1.3; }
.p6-reels .p6-wrap .p6-meter { margin-top: 0.75rem; }
.p6-reels__nav { display: flex; justify-content: center; gap: 1rem; margin-top: 1.25rem; }
@media (min-width: 48rem) {
  .p6-reels__rail { width: min(100% - 2 * var(--p6-gutter), 92rem); justify-content: center; margin-inline: auto; padding-inline: 0; overflow: visible; }
  .p6-reel { width: auto; min-width: 0; max-width: 15rem; flex: 1 1 0; }
  .p6-reels__bottom { display: none; }
}
@media (min-width: 48rem) and (max-width: 79.999rem) { .p6-reel__title { right: 0.55rem; bottom: 0.6rem; left: 0.55rem; font-size: 0.78rem; } .p6-reel__play { width: 2.6rem; height: 2.6rem; } }
@media (min-width: 48rem) and (max-width: 63.999rem) { .p6-reel__title { font-size: 0.7rem; } }

/* Vertical player: full-screen feed like Reels. */
.visual-player[hidden] { display: none; }
.visual-player { position: fixed; inset: 0; z-index: 99999; background: #050709; color: #fff; }
.a6-sales-page.a6-reels-open { overflow: hidden; }
.visual-player__dialog { position: relative; width: min(100%, 34rem); height: 100dvh; margin: 0 auto; overflow: hidden; }
.visual-player__feed { position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; scroll-snap-type: y mandatory; scrollbar-width: none; touch-action: pan-y; }
.visual-player__feed::-webkit-scrollbar { display: none; }
.visual-player__slide { position: relative; width: 100%; height: 100dvh; scroll-snap-align: start; scroll-snap-stop: always; }
.visual-player__frame { position: absolute; inset: 0; overflow: hidden; background: #000; }
.visual-player__frame video { width: 100%; height: 100%; object-fit: cover; display: block; }
.visual-player__frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.45), transparent 18%, transparent 62%, rgba(0, 0, 0, 0.8)); pointer-events: none; }
.visual-player__tap { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; color: #fff; cursor: pointer; }
.visual-player__tap svg { width: 4rem; height: 4rem; fill: rgba(255, 255, 255, 0.9); stroke: none; }
.visual-player__paused-icon, .visual-player__flash-icon { position: absolute; top: 50%; left: 50%; display: none; transform: translate(-50%, -50%); }
.visual-player__slide.is-paused .visual-player__paused-icon { display: block; }
.visual-player__slide.did-toggle .visual-player__flash-icon { display: block; animation: p6-flash 0.4s ease-out both; }
.visual-player__slide.is-paused.did-toggle .visual-player__flash-icon { display: none; }
.visual-player__close { position: absolute; z-index: 5; top: max(0.75rem, env(safe-area-inset-top)); right: 0.75rem; display: grid; width: 2.9rem; height: 2.9rem; place-items: center; border: 0; border-radius: 50%; background: rgba(12, 16, 19, 0.55); color: #fff; cursor: pointer; backdrop-filter: blur(6px); }
.visual-player__close svg { width: 1.4rem; height: 1.4rem; }
.visual-player__count { position: absolute; z-index: 2; top: max(1.4rem, calc(env(safe-area-inset-top) + 0.65rem)); left: 1rem; padding: 0.25rem 0.55rem; border-radius: 1rem; background: rgba(12, 16, 19, 0.5); font-family: var(--p6-mono); font-size: 0.72rem; }
.visual-player__progress { position: absolute; z-index: 2; top: 0; right: 0; left: 0; height: 3px; background: rgba(255, 255, 255, 0.2); }
.visual-player__progress span { display: block; width: 0; height: 100%; background: var(--p6-acc-hi); }
.visual-player__caption { position: absolute; z-index: 2; right: 4.5rem; bottom: max(1.5rem, calc(env(safe-area-inset-bottom) + 1rem)); left: 1rem; pointer-events: none; }
.visual-player__caption h3 { margin: 0 0 0.45rem; color: #fff; font-size: 1.05rem; line-height: 1.35; }
.visual-player__caption a { display: inline-flex; min-height: 2.6rem; align-items: center; padding: 0 0.9rem; border-radius: 2rem; background: var(--p6-acc); color: #fff; font-size: 0.82rem; font-weight: 700; text-decoration: none; pointer-events: auto; }
.visual-player__sound { position: absolute; z-index: 3; right: 0.9rem; bottom: max(1.6rem, calc(env(safe-area-inset-bottom) + 1.1rem)); display: grid; width: 2.9rem; height: 2.9rem; place-items: center; border: 0; border-radius: 50%; background: rgba(12, 16, 19, 0.55); color: #fff; cursor: pointer; }
.visual-player__sound svg { width: 1.35rem; height: 1.35rem; }
.visual-player .sound-on { display: none; }
.visual-player:not(.is-muted) .sound-on { display: block; }
.visual-player:not(.is-muted) .sound-off { display: none; }
.visual-player__nav { display: none; }
.visual-player :focus-visible { outline: 3px solid var(--p6-acc-text); outline-offset: -3px; }
@media (min-width: 56.25rem) {
  .visual-player__dialog { width: min(100%, calc((100dvh - 2rem) * 0.5625)); height: calc(100dvh - 2rem); margin-top: 1rem; border-radius: 1rem; }
  .visual-player__slide { height: calc(100dvh - 2rem); }
  .visual-player__nav { position: fixed; z-index: 6; top: 50%; right: max(1.5rem, calc(50% - (100dvh - 2rem) * 0.28 - 5.5rem)); display: grid; gap: 0.6rem; transform: translateY(-50%); }
  .visual-player__nav button { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 50%; background: rgba(255, 255, 255, 0.06); color: #fff; cursor: pointer; }
  .visual-player__nav button:disabled { opacity: 0.3; cursor: default; }
  .visual-player__nav svg { width: 1.4rem; height: 1.4rem; }
  .visual-player__close { position: fixed; top: 1.25rem; right: 1.5rem; }
}

/* Reviews. */
.p6-reviews { padding-block: clamp(4rem, 9vw, 7.5rem); background: var(--p6-paper-2); }
.p6-reviews__grid { display: grid; gap: 2rem; }
.p6-reviews h2 { max-width: 16ch; font-size: clamp(2rem, 4.4vw, 2.75rem); }
.p6-score { display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 0.25rem 1rem; margin: 1.5rem 0; }
.p6-score b { grid-row: span 2; font-size: clamp(4.5rem, 11vw, 7.5rem); line-height: 0.82; letter-spacing: -0.06em; }
.p6-score__stars { color: #f5a623; font-size: 1.35rem; letter-spacing: 0.1em; }
.p6-score small { color: var(--p6-muted); font-size: 0.82rem; line-height: 1.45; }
.p6-originals { margin-top: 1.75rem; }
.p6-originals .p6-mono { color: var(--p6-muted); }
.p6-originals > div { display: flex; gap: 0.5rem; margin-top: 0.6rem; }
.p6-originals a { display: block; width: 4.6rem; height: 4.6rem; overflow: hidden; border: 1px solid var(--p6-line); border-radius: 0.3rem; background: #fff; transition: transform 0.3s var(--p6-ease), border-color 0.2s; }
.p6-originals a:hover { border-color: var(--p6-acc); transform: translateY(-3px); }
.p6-originals img { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.p6-reviews__rail { display: flex; gap: 1rem; margin-inline: calc(-1 * var(--p6-gutter)); padding: 0 var(--p6-gutter) 1rem; scroll-padding-inline: var(--p6-gutter); }
.p6-review { display: flex; width: min(84vw, 25rem); flex: 0 0 auto; flex-direction: column; gap: 0.8rem; padding: 1.4rem; scroll-snap-align: start; border: 1px solid var(--p6-line); border-radius: 0.6rem; background: #fff; box-shadow: 0 18px 40px rgba(20, 24, 27, 0.06); }
.p6-review header { display: flex; align-items: center; gap: 0.75rem; }
.p6-review__avatar { display: grid; width: 2.6rem; height: 2.6rem; flex: 0 0 2.6rem; place-items: center; border-radius: 50%; background: var(--p6-ink); color: #fff; font-weight: 700; }
.p6-review:nth-child(3n + 2) .p6-review__avatar { background: var(--p6-acc); }
.p6-review:nth-child(3n) .p6-review__avatar { background: #3f6c8c; }
.p6-review header strong { display: block; font-size: 1rem; }
.p6-review header span { color: var(--p6-muted); font-size: 0.78rem; }
.p6-review__meta { margin: 0; color: var(--p6-muted); font-size: 0.78rem; line-height: 1.45; }
.p6-review__stars { color: #f5a623; letter-spacing: 0.05em; }
.p6-review blockquote { margin: 0; font-size: 1rem; line-height: 1.6; }
.p6-review__more { margin-top: auto; color: var(--p6-acc); font-size: 0.82rem; font-weight: 700; text-decoration: none; }
.p6-reviews__nav { display: flex; align-items: center; gap: 1.5rem; margin-top: 1rem; }
@media (min-width: 64rem) {
  .p6-reviews__grid { grid-template-columns: 21rem minmax(0, 1fr); gap: 3.5rem; align-items: start; }
  .p6-reviews__score { position: sticky; top: 7rem; }
  .p6-reviews__rail { margin: 0 calc(-1 * var(--p6-gutter)) 0 0; padding-left: 0; scroll-padding-inline: 0; }
  .p6-review { width: 24rem; }
}

/* Cinema. */
.p6-cinema { padding-block: clamp(4rem, 9vw, 7.5rem); background: var(--p6-ink-2); color: #fff; }
.p6-cinema__screen { position: relative; transform: scale(var(--p6-zoom, 1)); transform-origin: 50% 40%; margin-top: 2.25rem; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 0.5rem; background: #000; box-shadow: 0 40px 90px rgba(0, 0, 0, 0.45); }
.p6-cinema__screen video { width: 100%; height: 100%; object-fit: cover; display: block; }
.p6-cinema__play { position: absolute; inset: 0; z-index: 2; display: grid; width: clamp(6.5rem, 13vw, 9.5rem); height: clamp(6.5rem, 13vw, 9.5rem); margin: auto; place-items: center; border: 0; border-radius: 50%; background: rgba(12, 16, 19, 0.38); color: #fff; cursor: pointer; backdrop-filter: blur(5px); transition: transform 0.5s var(--p6-ease), opacity 0.3s; }
.p6-cinema__play:hover { transform: scale(1.06); }
.p6-cinema__ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: p6-spin 16s linear infinite; }
.p6-cinema__ring text { fill: #fff; font: 600 8.6px var(--p6-mono); letter-spacing: 0.24em; }
.p6-cinema__icon { display: grid; width: 42%; height: 42%; place-items: center; border-radius: 50%; background: var(--p6-acc); }
.p6-cinema__icon svg { width: 45%; height: 45%; margin-left: 6%; fill: #fff; stroke: none; }
.p6-cinema__screen.has-started .p6-cinema__play { opacity: 0; pointer-events: none; }
.p6-cinema__bar { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0.6rem 1rem; margin-top: 1rem; }
.p6-cinema__bar .p6-mono { color: var(--p6-acc-text); }
.p6-cinema__bar h3 { margin: 0; font-size: clamp(1rem, 1.6vw, 1.3rem); }
.p6-cinema__progress { grid-column: 1 / -1; height: 2px; background: var(--p6-line-d); }
.p6-cinema__progress span { display: block; width: 0; height: 100%; background: var(--p6-acc-hi); }
.p6-cinema__list { display: flex; gap: 0.75rem; margin: 1.25rem calc(-1 * var(--p6-gutter)) 0; padding: 0 var(--p6-gutter) 0.5rem; scroll-padding-inline: var(--p6-gutter); }
.p6-cinema__list button { display: grid; width: min(74vw, 19rem); flex: 0 0 auto; grid-template-columns: 6.5rem 1fr; align-items: center; gap: 0.8rem; padding: 0.5rem; scroll-snap-align: start; border: 1px solid var(--p6-line-d); border-radius: 0.45rem; background: rgba(255, 255, 255, 0.03); color: #fff; text-align: left; font-size: 0.85rem; font-weight: 600; line-height: 1.35; cursor: pointer; transition: border-color 0.2s, background-color 0.2s; }
.p6-cinema__list button[aria-pressed="true"] { border-color: var(--p6-acc-hi); background: rgba(255, 107, 44, 0.1); }
.p6-cinema__list img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0.25rem; }
.p6-cinema__list small { display: block; margin-bottom: 0.2rem; color: var(--p6-acc-text); }
@media (min-width: 64rem) { .p6-cinema__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); margin-inline: 0; padding-inline: 0; overflow: visible; } .p6-cinema__list button { width: auto; } }
@media (min-width: 64rem) {
  .p6-cinema__layout { display: grid; grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.6fr); grid-template-rows: auto 1fr; grid-template-areas: "head stage" "list stage"; gap: 1.75rem clamp(2rem, 4vw, 3.5rem); align-items: start; }
  .p6-cinema__layout > .p6-head { grid-area: head; }
  .p6-cinema .p6-head h2 { font-size: clamp(2rem, 3.2vw, 3.1rem); }
  .p6-cinema__stage { grid-area: stage; }
  .p6-cinema__screen { margin-top: 0; }
  .p6-cinema__list { grid-area: list; display: grid; grid-template-columns: 1fr; gap: 0.6rem; margin: 0; padding: 0; overflow: visible; }
  .p6-cinema__list button { width: 100%; grid-template-columns: 6.5rem 1fr; }
  .p6-cinema__list button:hover { border-color: rgba(255, 255, 255, 0.4); background: rgba(255, 255, 255, 0.06); }
  .p6-cinema__list button[aria-pressed="true"] { box-shadow: inset 3px 0 0 var(--p6-acc-hi); }
}

/* Estimate: price sheet and calculator. */
.p6-estimate { padding-block: clamp(4rem, 9vw, 8rem); background: radial-gradient(60% 45% at 100% 0%, rgba(194, 65, 12, 0.08), transparent 70%), var(--p6-paper); }
.p6-estimate__grid { display: grid; gap: 2rem; }
.p6-sheet h2 { max-width: 16ch; font-size: clamp(1.9rem, 4vw, 3.4rem); }
.p6-sheet__price { margin: 1.25rem 0 0.4rem; color: var(--p6-acc); font-size: clamp(2rem, 9vw, 4.8rem); font-weight: 700; line-height: 0.95; letter-spacing: -0.055em; }
.p6-nb { white-space: nowrap; }
.p6-sheet__price--text { font-size: clamp(1.9rem, 5.4vw, 3.4rem); line-height: 1.02; }
.p6-sheet__unit { max-width: 40ch; margin: 0; color: var(--p6-muted); line-height: 1.55; }
.p6-pricelist { display: grid; margin: 1.5rem 0 0.75rem; border-top: 2px solid var(--p6-text); }
.p6-pricelist > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid var(--p6-line); }
.p6-pricelist dt { font-weight: 600; }
.p6-pricelist dd { margin: 0; color: var(--p6-acc); font-size: clamp(1.3rem, 3vw, 2rem); font-weight: 700; letter-spacing: -0.03em; white-space: nowrap; }
.p6-spec { position: relative; isolation: isolate; margin: 1.75rem 0 0; padding: 0; list-style: none; border-top: 2px solid var(--p6-text); }
.p6-spec::before, .p6-spec::after { content: ""; position: absolute; top: 0; left: calc(1.2rem - 1px); width: 2px; pointer-events: none; }
.p6-spec::before { bottom: 0; background: var(--p6-line); }
.p6-spec::after { height: calc(var(--p6-fill, 0) * 100%); background: linear-gradient(180deg, var(--p6-acc), var(--p6-acc-hi)); box-shadow: 0 0 14px rgba(255, 107, 44, 0.55); }
.p6-spec li { position: relative; display: grid; grid-template-columns: 2.4rem 1fr auto; align-items: center; gap: 0.75rem; padding: 1rem 0; border-bottom: 1px solid var(--p6-line); }
.p6-spec li::before { content: ""; position: absolute; inset: 0 0 0 1.2rem; z-index: -1; background: linear-gradient(90deg, rgba(194, 65, 12, 0.09), transparent 75%); transform: scaleX(0); transform-origin: left; transition: transform 0.9s var(--p6-ease); }
.p6-spec li.is-done::before { transform: scaleX(1); }
.p6-spec li .p6-mono { position: relative; z-index: 1; display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border: 2px solid var(--p6-line); border-radius: 50%; background: var(--p6-paper); color: var(--p6-acc); font-size: 0.8rem; letter-spacing: 0; transition: background-color 0.4s, border-color 0.4s, color 0.4s, box-shadow 0.4s, transform 0.5s var(--p6-ease); }
.p6-spec li.is-done .p6-mono { border-color: var(--p6-acc); background: var(--p6-acc); color: #fff; box-shadow: 0 0 0 6px rgba(194, 65, 12, 0.12); transform: scale(1.06); }
.p6-spec h3 { margin: 0; font-size: 1.02rem; }
.p6-spec p { margin: 0.25rem 0 0; color: var(--p6-muted); font-size: 0.9rem; line-height: 1.5; }
.p6-spec a { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 1px solid var(--p6-line); border-radius: 50%; color: var(--p6-text); transition: background-color 0.2s, color 0.2s, transform 0.3s var(--p6-ease); }
.p6-spec a:hover { background: var(--p6-acc); border-color: var(--p6-acc); color: #fff; transform: rotate(-45deg); }
.p6-spec .icon { width: 1rem; height: 1rem; }
.p6-sheet__terms { margin: 1.5rem 0 0; padding: 1rem 1.1rem; border-left: 3px solid var(--p6-acc); background: rgba(194, 65, 12, 0.06); font-size: 0.95rem; line-height: 1.55; }
.p6-sheet__ip { margin: 1rem 0 0; color: var(--p6-muted); font-size: 0.66rem; line-height: 1.6; text-transform: none; letter-spacing: 0.02em; }
.p6-calc { position: relative; padding: clamp(1.25rem, 3vw, 2.25rem); border-radius: 0.7rem; background: radial-gradient(90% 55% at 100% 0%, rgba(255, 107, 44, 0.16), transparent 65%), var(--p6-ink); color: #fff; box-shadow: 0 30px 70px rgba(12, 16, 19, 0.3); }
.p6-calc::before { content: ""; position: absolute; top: 0; right: 1.5rem; left: 1.5rem; height: 2px; background: linear-gradient(90deg, transparent, var(--p6-acc-hi), transparent); pointer-events: none; }
.p6-calc { --p6-cpad: clamp(1.25rem, 3vw, 2.25rem); }
.p6-calc > * { position: relative; }
.p6-calc [hidden] { display: none !important; }
.p6-calc__title { margin: 0; padding-right: 3rem; font-size: clamp(1.35rem, 2.4vw, 1.75rem); font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; }
.p6-calc__sub { margin: 0.45rem 0 1.25rem; color: #aeb8bf; font-size: 0.88rem; line-height: 1.5; }
.p6-calc label { display: block; margin: 0 0 0.35rem; color: #c7d0d6; font-size: 0.8rem; font-weight: 600; }
.p6-calc select, .p6-calc input[type="text"], .p6-calc input[type="tel"] { width: 100%; min-height: 3rem; padding: 0.65rem 0.9rem; border: 1px solid #34424c; border-radius: 0.4rem; background: #182026; color: #fff; font: inherit; font-size: 1rem; box-shadow: none; }
.p6-calc input::placeholder { color: #75828b; }
.p6-calc select:focus, .p6-calc input:focus { border-color: var(--p6-acc-hi); outline: 2px solid rgba(255, 107, 44, 0.35); outline-offset: 1px; box-shadow: none; }
.p6-calc__fields { display: grid; gap: 0.85rem; margin-bottom: 0.85rem; }
.p6-calc .wpcf7 form { margin: 0; }
.p6-calc .a6-direct-fields p { display: flex; flex-direction: column; gap: 0.85rem; margin: 0; }
.p6-calc .a6-direct-fields br { display: none; }
.a6-sales-page .p6-calc .a6-direct-fields label { margin: 0; }
/* Contact fields on sales pages: name first, no reserved gap under the phone. */
.a6-sales-page .wpcf7-form-control-wrap[data-name="tel-1"] { padding-bottom: 0; }
.a6-sales-page .wpcf7-form-control-wrap[data-name="tel-1"] .wpcf7-not-valid-tip { position: static; }
.a6-sales-page .lead-modal .a6-direct-fields p { display: flex; flex-direction: column; gap: 0.85rem; margin: 0; }
.a6-sales-page .lead-modal .a6-direct-fields br { display: none; }
.a6-sales-page .lead-modal .a6-direct-fields label { margin: 0; }
.a6-sales-page .lead-modal .a6-direct-fields label:has([name="your-name"]) { order: -1; }
.p6-calc .a6-direct-fields .wpcf7-form-control-wrap { display: block; margin-top: 0.35rem; }
.p6-calc .a6-direct-fields label:has([name="your-name"]) { order: -1; }
.p6-calc .p6-task-auto { display: none !important; }
.p6-calc .form-consent { margin: 0.9rem 0 0; }
.p6-calc .form-consent p { margin: 0; }
.p6-calc .wpcf7-list-item { margin: 0; }
.p6-calc .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 0.6rem; margin: 0; color: #aeb8bf; font-size: 0.8rem; font-weight: 500; line-height: 1.45; cursor: pointer; }
.p6-calc .wpcf7-acceptance input { width: 1.25rem; height: 1.25rem; min-height: 0; flex: 0 0 1.25rem; margin: 0; padding: 0; accent-color: var(--p6-acc-hi); }
.p6-calc .wpcf7-acceptance a { color: var(--p6-acc-text); }
.p6-calc .p6-submitbar { margin: 1rem 0 0; }
.p6-calc .wpcf7-not-valid-tip { margin-top: 0.3rem; color: #ffb4a0; font-size: 0.78rem; }
.p6-calc .wpcf7 form .wpcf7-response-output { margin: 0.85rem 0 0; border-color: rgba(255, 255, 255, 0.25); color: #e5e9ec; }
.p6-calc__done { padding: 1.25rem; border: 1px solid rgba(255, 107, 44, 0.45); border-radius: 0.5rem; background: rgba(255, 107, 44, 0.08); outline: none; }
.p6-calc__done strong { display: block; font-size: 1.15rem; }
.p6-calc__done p { margin: 0.4rem 0 0; color: #c7d0d6; font-size: 0.9rem; line-height: 1.5; }
.p6-calc.is-sent :is(.p6-calc__fields, .p6-calc__form) { display: none; }
.p6-calc__channels { display: grid; gap: 0.5rem; margin: 1.1rem 0 0; color: #9aa6ae; font-size: 0.82rem; }
@media (min-width: 30rem) { .p6-calc__fields { grid-template-columns: 1fr 1fr; } .p6-calc__fields > div:first-child { grid-column: 1 / -1; } }
/* Contact buttons: one line, normal height, clearly inactive until consent is given. */
.p6-submitbar { position: relative; }
.p6-submitbar .wpcf7-spinner { position: absolute; top: 50%; right: 1rem; margin: -12px 0 0; }
.p6-calc .wpcf7-submit, .a6-sales-page .lead-modal .wpcf7-submit { width: 100%; min-height: 3rem; padding: 0.6rem 1rem; border: 0; border-radius: 0.5rem; background: var(--p6-acc); color: #fff; font-size: 1rem; font-weight: 700; line-height: 1.2; box-shadow: 0 10px 26px rgba(194, 65, 12, 0.3); cursor: pointer; }
.p6-calc .wpcf7-submit:hover, .a6-sales-page .lead-modal .wpcf7-submit:hover { background: #a93c13; }
.p6-calc .wpcf7-submit:disabled, .a6-sales-page .lead-modal .wpcf7-submit:disabled { opacity: 0.45; box-shadow: none; cursor: not-allowed; }
@media (min-width: 64rem) { .p6-estimate__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; } .p6-calc { position: sticky; top: 7rem; } }

/* Directions list with a cursor-following photo. */
.p6-dirs { padding-block: clamp(4rem, 9vw, 7.5rem); background: var(--p6-paper); }
.p6-dirs--related { padding-block: clamp(3rem, 7vw, 5.5rem); background: var(--p6-paper-2); }
.p6-dirs__list { margin: 2.25rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--p6-text); }
.p6-dir a { position: relative; display: grid; grid-template-columns: 5.6rem 1fr auto; grid-template-areas: "thumb title arrow" "thumb text arrow"; align-items: center; gap: 0.2rem 1rem; padding: 1rem 0; border-bottom: 1px solid var(--p6-line); color: inherit; text-decoration: none; }
.p6-dir__num { display: none; }
.p6-dir__thumb { grid-area: thumb; display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 0.25rem; }
.p6-dir__thumb img { width: 100%; height: 100%; object-fit: cover; }
.p6-dir__title { grid-area: title; align-self: end; font-size: clamp(1.05rem, 2.4vw, 2.35rem); font-weight: 700; line-height: 1.12; letter-spacing: -0.03em; transition: transform 0.45s var(--p6-ease), color 0.2s; }
.p6-dir__text { grid-area: text; align-self: start; color: var(--p6-muted); font-size: 0.85rem; line-height: 1.45; }
.p6-dir__arrow { grid-area: arrow; display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 1px solid var(--p6-line); border-radius: 50%; transition: transform 0.4s var(--p6-ease), background-color 0.2s, color 0.2s; }
.p6-dir__arrow .icon { width: 1rem; height: 1rem; }
.p6-dir a { isolation: isolate; --dx: var(--p6-gutter); --tx: 0rem; --tw: 5.6rem; --th: 4.2rem; --rr: 0; }
.p6-dir a::before { content: ""; position: absolute; top: 0; right: calc(-1 * var(--dx)); bottom: 0; left: calc(-1 * var(--dx)); z-index: -1; border-radius: var(--rr); background: linear-gradient(90deg, rgba(12, 16, 19, 0.86), rgba(12, 16, 19, 0.35)), var(--p6-dir-img, none) center / cover no-repeat, var(--p6-ink); clip-path: inset(calc(50% - var(--th) / 2) calc(100% - var(--dx) - var(--tx) - var(--tw)) calc(50% - var(--th) / 2) calc(var(--dx) + var(--tx)) round 0.25rem); opacity: 0; transition: clip-path 0.75s var(--p6-ease), opacity 0.35s; }
.p6-dir__thumb { transition: opacity 0.4s, transform 0.75s var(--p6-ease); }
.p6-dir__title, .p6-dir__text, .p6-dir__num { transition: color 0.35s, transform 0.45s var(--p6-ease); }
.p6-dir.is-focus a::before, .p6-dir a:focus-visible::before { clip-path: inset(0 0 0 0 round var(--rr)); opacity: 1; }
.p6-dir.is-focus .p6-dir__thumb, .p6-dir a:focus-visible .p6-dir__thumb { opacity: 0; transform: scale(1.25); }
.p6-dir.is-focus .p6-dir__title, .p6-dir a:focus-visible .p6-dir__title { color: #fff; }
.p6-dir.is-focus .p6-dir__text, .p6-dir a:focus-visible .p6-dir__text { color: rgba(255, 255, 255, 0.82); }
.p6-dir.is-focus .p6-dir__num, .p6-dir a:focus-visible .p6-dir__num { color: var(--p6-acc-text); }
.p6-dir.is-focus .p6-dir__arrow, .p6-dir a:focus-visible .p6-dir__arrow { border-color: var(--p6-acc); background: var(--p6-acc); color: #fff; transform: rotate(-45deg); }
@media (hover: hover) {
  .p6-dir a:hover::before { clip-path: inset(0 0 0 0 round var(--rr)); opacity: 1; }
  .p6-dir a:hover .p6-dir__thumb { opacity: 0; transform: scale(1.25); }
  .p6-dir a:hover .p6-dir__title { color: #fff; }
  .p6-dir a:hover .p6-dir__text { color: rgba(255, 255, 255, 0.82); }
  .p6-dir a:hover .p6-dir__num { color: var(--p6-acc-text); }
  .p6-dir a:hover .p6-dir__arrow { border-color: var(--p6-acc); background: var(--p6-acc); color: #fff; transform: rotate(-45deg); }
}
@media (min-width: 64rem) {
  .p6-dir a { --dx: 1.25rem; --tx: 5rem; --tw: 8rem; --th: 6rem; --rr: 0.45rem; grid-template-columns: 4rem 8rem minmax(0, 1fr) minmax(0, 0.7fr) auto; grid-template-areas: "num thumb title text arrow"; padding: 1.25rem 0; }
  .p6-dir__num { grid-area: num; display: block; color: var(--p6-acc); }
  .p6-dir__title, .p6-dir__text { align-self: center; }
  .p6-dir a:hover .p6-dir__title, .p6-dir a:focus-visible .p6-dir__title { transform: translateX(0.6rem); }
}

/* Region, scope, FAQ. */
.p6-region { padding-block: clamp(3.5rem, 8vw, 6rem); background: var(--p6-paper-2); }
.p6-region__grid { display: grid; gap: 1.75rem; align-items: center; }
.p6-region__pin { position: relative; width: min(13rem, 52vw); }
.p6-region__pin svg { width: 100%; fill: none; stroke: rgba(20, 24, 27, 0.25); }
.p6-region__pin .dot { fill: var(--p6-acc); stroke: none; animation: p6-ping 2.4s ease-out infinite; transform-origin: 100px 100px; }
.p6-region__pin span { position: absolute; right: -0.5rem; bottom: 0.5rem; padding: 0.3rem 0.5rem; background: var(--p6-ink); color: #fff; line-height: 1.5; }
.p6-region h2 { max-width: 18ch; font-size: clamp(1.8rem, 4vw, 3.2rem); }
.p6-region p { max-width: 58ch; line-height: 1.65; }
@media (min-width: 48rem) { .p6-region__grid { grid-template-columns: 15rem 1fr; gap: 3rem; } }
.p6-scope { padding-block: clamp(3.5rem, 8vw, 6.5rem); background: var(--p6-paper); }
.p6-scope__grid { display: grid; gap: 1.5rem; }
.p6-scope h2 { font-size: clamp(1.8rem, 3.6vw, 3rem); }
.p6-scope__aside .p6-mono { margin-top: 1rem; color: var(--p6-muted); }
.p6-prose { max-width: 70ch; font-size: 1rem; line-height: 1.7; }
.p6-prose h2, .p6-prose h3 { margin: 2rem 0 0.75rem; font-size: clamp(1.25rem, 2vw, 1.6rem); letter-spacing: -0.02em; line-height: 1.2; }
.p6-prose > :first-child { margin-top: 0; }
.p6-prose ul, .p6-prose ol { padding-left: 1.25rem; }
.p6-prose li + li { margin-top: 0.35rem; }
.p6-prose .project-cta, .p6-prose .a6-article-services { display: none; }
.p6-scope__body.is-collapsed .p6-prose { max-height: 30rem; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent); mask-image: linear-gradient(180deg, #000 72%, transparent); }
.p6-expand { margin-top: 1rem; min-height: 2.9rem; padding: 0.6rem 1.2rem; border: 1px solid var(--p6-text); border-radius: 2rem; background: transparent; color: var(--p6-text); font-weight: 700; cursor: pointer; }
.p6-expand:hover { background: var(--p6-text); color: #fff; }
@media (min-width: 64rem) { .p6-scope__grid { grid-template-columns: 22rem minmax(0, 1fr); gap: 4rem; } .p6-scope__aside { position: sticky; top: 7rem; align-self: start; } }
.p6-faq { padding-block: clamp(4rem, 8vw, 6.5rem); background: var(--p6-paper-2); }
.p6-faq__grid { display: grid; gap: 2rem; }
.p6-faq h2 { max-width: 13ch; font-size: clamp(2rem, 4vw, 3.4rem); margin-bottom: 1.25rem; }
.p6-faq__list { border-top: 1px solid var(--p6-text); }
.p6-faq details { border-bottom: 1px solid var(--p6-line); }
.p6-faq summary { display: grid; grid-template-columns: 2.4rem 1fr 1.5rem; align-items: center; gap: 0.75rem; min-height: 3.5rem; padding: 1.1rem 0; font-size: clamp(1rem, 1.4vw, 1.12rem); font-weight: 700; line-height: 1.35; list-style: none; cursor: pointer; }
.p6-faq summary::-webkit-details-marker { display: none; }
.p6-faq summary .p6-mono { color: var(--p6-acc); }
.p6-faq summary i { position: relative; width: 1.1rem; height: 1.1rem; }
.p6-faq summary i::before, .p6-faq summary i::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 2px; background: currentColor; transition: transform 0.35s var(--p6-ease); }
.p6-faq summary i::after { transform: rotate(90deg); }
.p6-faq details[open] summary i::after { transform: rotate(0deg); }
.p6-faq details p { margin: 0; padding: 0 2rem 1.25rem 3.15rem; color: var(--p6-muted); line-height: 1.65; }
@media (min-width: 64rem) { .p6-faq__grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 4rem; } }

/* Final call to action. */
.p6-final { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(6rem, 14vw, 11rem); background: var(--p6-ink); color: #fff; }
.p6-final__photo { position: absolute; inset: -8% 0; z-index: -2; }
.p6-final__photo img { width: 100%; height: 100%; object-fit: cover; transform: translate3d(0, var(--p6-par, 0px), 0) scale(1.05); }
.p6-final::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12, 16, 19, 0.95) 0%, rgba(12, 16, 19, 0.75) 55%, rgba(12, 16, 19, 0.45) 100%); }
.p6-final h2 { max-width: 15ch; font-size: clamp(2.3rem, 6.6vw, 6rem); }
.p6-final__lead { max-width: 40ch; margin: 1.25rem 0 0; color: rgba(255, 255, 255, 0.82); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.55; }
.p6-final__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 2rem; }
.p6-final__hours { margin: 1.5rem 0 0; color: var(--p6-muted-d); }
.p6-final__actions .p6-btn { min-height: 3.5rem; }
.p6-final__actions .p6-msg { min-height: 3.5rem; padding-inline: 1.4rem; font-size: 1rem; }
/* Phones: phone, request and MAX one under another, all the same width. */
@media (max-width: 47.999rem) {
  .p6-final__actions { flex-direction: column; align-items: stretch; gap: 0.75rem; }
  .p6-final__actions > .p6-btn, .p6-final__actions > .p6-msg { width: 100%; justify-content: center; }
}

/* Before / after. */
.p6-compare { padding-block: clamp(4rem, 9vw, 7rem); background: var(--p6-paper-2); }
.p6-compare__grid { display: grid; gap: 2rem; align-items: center; }
.p6-compare__hint { color: var(--p6-acc); }
.p6-ba { position: relative; overflow: hidden; aspect-ratio: var(--ratio, 4 / 3); max-height: 82vh; border-radius: 0.5rem; background: var(--p6-ink); touch-action: pan-y; user-select: none; }
.p6-ba .p6-ba__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p6-ba__before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.p6-ba__line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: #fff; box-shadow: 0 0 12px rgba(0, 0, 0, 0.4); pointer-events: none; }
.p6-ba__line i { position: absolute; top: 50%; left: 50%; width: 3rem; height: 3rem; border-radius: 50%; background: var(--p6-acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='m9 6-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center / 1.4rem no-repeat; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); transform: translate(-50%, -50%); }
.p6-ba__tag { position: absolute; top: 1rem; padding: 0.3rem 0.55rem; background: rgba(12, 16, 19, 0.7); color: #fff; pointer-events: none; }
.p6-ba__tag--l { left: 1rem; }
.p6-ba__tag--r { right: 1rem; background: var(--p6-acc); }
.p6-ba__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.p6-ba:has(.p6-ba__range:focus-visible) { outline: 3px solid var(--p6-acc); outline-offset: 3px; }
@media (min-width: 64rem) { .p6-compare__grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 4rem; } .p6-ba { max-width: 46rem; justify-self: end; width: 100%; } }

/* Landscaping references, clearly marked as stock. */
.p6-refs { padding-block: clamp(3.5rem, 8vw, 6rem); background: var(--p6-paper); }
.p6-refs__grid { display: grid; gap: 1rem; margin-top: 2rem; }
.p6-ref { position: relative; margin: 0; }
.p6-ref a { display: block; overflow: hidden; aspect-ratio: 3 / 2; border-radius: 0.35rem; }
.p6-ref img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85); }
.p6-ref__tag { position: absolute; top: 0.75rem; left: 0.75rem; padding: 0.3rem 0.55rem; background: #ffd23f; color: #14181b; font-weight: 700; }
.p6-ref figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; margin-top: 0.6rem; font-size: 0.85rem; }
.p6-ref figcaption a { color: var(--p6-muted); }
@media (min-width: 48rem) { .p6-refs__grid { grid-template-columns: 1fr 1fr; } }

/* "О компании": who we are, principles in a numbered column. */
.p6-about { padding-block: clamp(4rem, 9vw, 7.5rem); background: var(--p6-paper); }
.p6-about__grid { display: grid; gap: 2.5rem; }
.p6-about h2 { max-width: 16ch; margin: 0.85rem 0 0; font-size: clamp(2rem, 4.6vw, 3.8rem); font-weight: 700; line-height: 1.02; letter-spacing: -0.04em; text-wrap: balance; }
.p6-about__lead { max-width: 44ch; margin: 1.25rem 0 0; font-size: clamp(1.02rem, 1.4vw, 1.2rem); line-height: 1.6; }
.p6-about__note { max-width: 44ch; margin: 1.25rem 0 0; padding: 0.9rem 1rem; border-left: 3px solid var(--p6-acc); background: rgba(194, 65, 12, 0.06); color: var(--p6-text); font-size: 0.95rem; line-height: 1.55; }
.p6-about__list { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--p6-text); }
.p6-about__list li { display: grid; grid-template-columns: 3.4rem 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--p6-line); }
.p6-about__num { color: var(--p6-acc); font-family: var(--p6-mono); font-size: 1.6rem; font-weight: 600; line-height: 1; }
.p6-about__list h3 { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.35rem); letter-spacing: -0.015em; }
.p6-about__list p { margin: 0.4rem 0 0; color: var(--p6-muted); line-height: 1.6; }
@media (min-width: 64rem) { .p6-about__grid { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(3rem, 6vw, 6rem); align-items: start; } .p6-about__intro { position: sticky; top: 6rem; } }

/* Route from the first call to the contract. */
.p6-steps-band { padding-block: clamp(4rem, 9vw, 7rem); background: var(--p6-ink); color: #fff; }
.p6-steps-band .p6-kicker { color: var(--p6-acc-text); }
.p6-steps-band .p6-head__lead { color: var(--p6-muted-d); }
.p6-route { position: relative; display: grid; gap: 1.5rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.p6-route__step { position: relative; padding: 1.4rem 1.25rem 1.5rem; border: 1px solid var(--p6-line-d); border-radius: 0.6rem; background: rgba(255, 255, 255, 0.03); }
.p6-route__dot { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; background: var(--p6-acc); color: #fff; font-weight: 700; box-shadow: 0 0 0 6px rgba(194, 65, 12, 0.18); }
.p6-route__step h3 { margin: 1rem 0 0; font-size: 1.15rem; }
.p6-route__step p { margin: 0.45rem 0 0; color: #c2cbd1; font-size: 0.95rem; line-height: 1.55; }
@media (min-width: 48rem) { .p6-route { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) {
  .p6-route { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
  .p6-route::before { content: ""; position: absolute; top: calc(1.4rem + 1.3rem); right: 2rem; left: 2rem; height: 2px; background: linear-gradient(90deg, var(--p6-acc), rgba(255, 107, 44, 0.15)); }
  .p6-route__step { border: 0; background: none; padding: 1.4rem 0 0; }
}

/* Legal details. */
.p6-req { padding-block: clamp(3.5rem, 8vw, 6rem); background: var(--p6-paper-2); }
.p6-req__grid { display: grid; gap: 2rem; }
.p6-req h2 { max-width: 14ch; margin: 0.85rem 0 0; font-size: clamp(1.9rem, 4vw, 3.2rem); font-weight: 700; line-height: 1.05; letter-spacing: -0.04em; }
.p6-req__lead { max-width: 42ch; margin: 1rem 0 0; color: var(--p6-muted); line-height: 1.6; }
.p6-req__card { display: grid; margin: 0; padding: 0.5rem 1.5rem; border: 1px solid var(--p6-line); border-radius: 0.6rem; background: #fff; box-shadow: 0 18px 40px rgba(20, 24, 27, 0.06); }
.p6-req__card > div { display: grid; gap: 0.25rem; padding: 1rem 0; border-bottom: 1px solid var(--p6-line); }
.p6-req__card > div:last-child { border-bottom: 0; }
.p6-req__card dt { color: var(--p6-muted); font-family: var(--p6-mono); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; }
.p6-req__card dd { margin: 0; font-size: 1.05rem; font-weight: 700; }
@media (min-width: 64rem) { .p6-req__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 4rem; align-items: center; } .p6-req__card > div { grid-template-columns: 14rem 1fr; align-items: baseline; } }

/* "Контакты": contact ways next to the form, over a darkened photo. */
.p6-contact { position: relative; isolation: isolate; overflow: hidden; padding: 5.5rem 0 clamp(3rem, 6vw, 5rem); background: var(--p6-ink); color: #fff; }
.p6-contact__media { position: absolute; inset: 0; z-index: -2; }
.p6-contact__media img { width: 100%; height: 100%; object-fit: cover; opacity: 0.35; }
.p6-contact::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12, 16, 19, 0.96) 0%, rgba(12, 16, 19, 0.85) 50%, rgba(12, 16, 19, 0.7) 100%); }
.p6-contact__grid { display: grid; gap: 2.5rem; }
.p6-contact .breadcrumbs.container { width: auto; max-width: none; margin: 0 0 1.25rem; padding: 0; background: none; color: rgba(255, 255, 255, 0.68); font-size: 0.74rem; }
.p6-contact .breadcrumbs a { color: #fff; }
.p6-contact .p6-kicker { color: var(--p6-acc-text); }
.p6-contact__title { margin: 0.85rem 0 0; font-size: clamp(2.4rem, 6vw, 4.6rem); font-weight: 700; line-height: 0.98; letter-spacing: -0.05em; }
.p6-contact__lead { max-width: 40ch; margin: 1.1rem 0 0; color: rgba(255, 255, 255, 0.82); font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.6; }
.p6-contact__phone { margin-top: 1.6rem; font-size: clamp(1.1rem, 2vw, 1.35rem); }
.p6-contact__phones { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.6rem; }
.p6-contact__phones .p6-contact__phone { margin-top: 0; }
.p6-contact__phone .icon { width: 1.25rem; height: 1.25rem; }
.p6-contact__phone:hover .icon { transform: none; }
.p6-contact__msgs { margin-top: 0.9rem; }
.p6-contact__list { display: grid; gap: 0; margin: 1.75rem 0 0; border-top: 1px solid var(--p6-line-d); }
.p6-contact__list > div { display: grid; gap: 0.2rem; padding: 0.85rem 0; border-bottom: 1px solid var(--p6-line-d); }
.p6-contact__list dt { color: var(--p6-muted-d); font-family: var(--p6-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; }
.p6-contact__list dd { margin: 0; font-weight: 700; }
.p6-contact__list a { color: #fff; text-decoration: none; }
.p6-contact__list a:hover { color: var(--p6-acc-text); }
.p6-contact__note { max-width: 46ch; margin: 1.25rem 0 0; color: var(--p6-muted-d); font-size: 0.88rem; line-height: 1.55; }
.p6-contact__form .p6-calc { box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45); border: 1px solid rgba(255, 255, 255, 0.08); }
@media (min-width: 48rem) { .p6-contact__list { grid-template-columns: 1fr 1fr; column-gap: 1.5rem; } }
@media (min-width: 64rem) { .p6-contact { padding-top: 7rem; } .p6-contact__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(3rem, 5vw, 5rem); align-items: start; } }

/* District pages: open lists of links, one column per district. */

/* Mobile action dock. */
.p6-dock { position: fixed; z-index: 85; right: calc(16px + 48px + 0.5rem); bottom: max(16px, env(safe-area-inset-bottom)); left: 16px; display: flex; gap: 0.5rem; }
.p6-dock__call { display: grid; width: 3rem; height: 3rem; flex: 0 0 3rem; place-items: center; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 14px; background: var(--p6-ink); color: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); }
.p6-dock__call .icon { width: 1.25rem; height: 1.25rem; }
.p6-dock__cta { display: flex; min-height: 3rem; flex: 1; align-items: center; justify-content: center; gap: 0.5rem; padding: 0 0.75rem; border-radius: 14px; background: var(--p6-acc); color: #fff; font-size: 0.92rem; font-weight: 700; text-decoration: none; white-space: nowrap; box-shadow: 0 12px 30px rgba(194, 65, 12, 0.45); }
.p6-dock__cta .icon { width: 1.05rem; height: 1.05rem; }
@media (max-width: 63.999rem) {
  body.a6-sales-page .a6-contact-widget .a6-contact-widget__toggle { width: 48px; height: 48px; border-radius: 14px; }
  .p6-hero__inner { padding-bottom: 5rem; }
}
.a6-sales-page:is(.modal-open, .nav-open, .a6-reels-open, .p6-calc-open) .p6-dock, .a6-sales-page.p6-calc-open .a6-contact-widget, .a6-sales-page:has(.pswp--open) .p6-dock { visibility: hidden; }
@media (min-width: 64rem) { .p6-dock { display: none; } }
@media (max-width: 22.5rem) { .p6-dock__cta { gap: 0.35rem; padding: 0 0.5rem; font-size: 0.8rem; } .p6-dock__cta .icon { display: none; } }
.p6-calcpop { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 1.5rem; }
.p6-calcpop[hidden] { display: none; }
.p6-calcpop__backdrop { position: absolute; inset: 0; background: rgba(8, 10, 12, 0.62); opacity: 0; transition: opacity 0.3s ease; backdrop-filter: blur(4px); }
.p6-calcpop__panel { position: relative; display: flex; width: min(100%, 38rem); max-height: calc(100vh - 3rem); max-height: calc(100dvh - 3rem); flex-direction: column; overflow: hidden; border-radius: 1rem; background: var(--p6-ink); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45); opacity: 0; transform: translateY(2rem) scale(0.98); transition: transform 0.45s var(--p6-ease), opacity 0.3s; outline: none; }
.p6-calcpop.is-open .p6-calcpop__backdrop { opacity: 1; }
.p6-calcpop.is-open .p6-calcpop__panel { opacity: 1; transform: none; }
.p6-calcpop__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scroll-padding-block: 1rem 6rem; }
.p6-calcpop__close { position: absolute; top: 0.9rem; right: 0.9rem; z-index: 4; display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 50%; background: rgba(12, 16, 19, 0.6); color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.p6-calcpop__close:hover { border-color: var(--p6-acc-hi); background: var(--p6-acc); }
.p6-calcpop .p6-calc { position: relative; top: auto; min-height: 100%; border-radius: 0; box-shadow: none; }
.p6-calcpop .p6-submitbar { position: sticky; bottom: 0; z-index: 3; margin: 1rem calc(-1 * var(--p6-cpad)) 0; padding: 0.85rem var(--p6-cpad) max(0.85rem, env(safe-area-inset-bottom)); background: linear-gradient(rgba(12, 16, 19, 0), var(--p6-ink) 30%); }
html.p6-calc-lock, html.p6-calc-lock body { overflow: hidden; }
@media (max-width: 47.999rem) {
  .p6-calcpop { display: block; padding: 0; }
  .p6-calcpop__panel { position: absolute; top: var(--p6-vvt, 0px); left: 0; width: 100%; height: var(--p6-vvh, 100%); max-height: none; padding-top: env(safe-area-inset-top); border-radius: 0; opacity: 1; transform: translateY(100%); }
  .p6-calcpop__close { top: calc(0.75rem + env(safe-area-inset-top)); right: 0.75rem; }
}
/* The contact dialog follows the same pattern on phones. */
.a6-sales-page .sales-contact-channels .p6-msgs { flex: 0 0 100%; }
/* Contact dialog on larger screens: one compact column, no empty half. */
@media (min-width: 48rem) {
  .a6-sales-page .lead-modal__dialog { display: block; width: min(100%, 36rem); }
  .a6-sales-page .lead-modal__heading { position: static; }
  .a6-sales-page .lead-modal__heading > p:last-child { margin-bottom: 0; }
  .a6-sales-page .lead-modal__form { margin-top: 1.25rem; }
}
.a6-sales-page .lead-modal .p6-submitbar { position: sticky; bottom: 0; z-index: 2; margin: 1rem calc(-1 * clamp(1rem, 3vw, 1.5rem)) 0; padding: 0.75rem clamp(1rem, 3vw, 1.5rem); background: linear-gradient(rgba(247, 245, 242, 0), #f7f5f2 30%); }
@media (max-width: 47.999rem) {
  .a6-sales-page .lead-modal:not([hidden]) { display: block; padding: 0; }
  .a6-sales-page .lead-modal__dialog { position: absolute; top: var(--p6-vvt, 0px); left: 0; width: 100%; height: var(--p6-vvh, 100%); max-height: none; padding: calc(1rem + env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom)); border: 0; border-radius: 0; }
  .a6-sales-page .lead-modal__heading h2 { font-size: 1.45rem; }
  .a6-sales-page .lead-modal__heading > p:last-child { margin-bottom: 0; font-size: 0.84rem; line-height: 1.5; }
  .a6-sales-page .lead-modal__form { margin-top: 1rem; padding: 1rem; }
  .a6-sales-page .lead-modal__form .wpcf7-form textarea { min-height: 4.5rem; }
}
@media (max-width: 63.999rem) { .a6-sales-page .site-footer { padding-bottom: 5.5rem; } }

/* Scroll reveals (enabled by premium.js). */
.p6-ready [data-p6-fx="rise"] { opacity: 0; transform: translate3d(0, 2.2rem, 0); transition: opacity 0.8s var(--p6-ease), transform 1s var(--p6-ease); }
.p6-ready [data-p6-fx="rise"].is-in { opacity: 1; transform: none; }
.p6-ready [data-p6-fx="laser"] { -webkit-mask-image: linear-gradient(90deg, #000 46%, transparent 54%); mask-image: linear-gradient(90deg, #000 46%, transparent 54%); -webkit-mask-size: 260% 100%; mask-size: 260% 100%; -webkit-mask-position: 100% 0; mask-position: 100% 0; transition: -webkit-mask-position 1.3s var(--p6-ease), mask-position 1.3s var(--p6-ease); }
.p6-ready [data-p6-fx="laser"].is-in { -webkit-mask-position: 0 0; mask-position: 0 0; }
.p6-ready [data-p6-fx="iris"] { clip-path: circle(12% at 50% 50%); transition: clip-path 1.4s var(--p6-ease); }
.p6-ready [data-p6-fx="iris"].is-in { clip-path: circle(80% at 50% 50%); }

@keyframes p6-laser { to { -webkit-mask-position: 0 0; mask-position: 0 0; } }
@keyframes p6-laserline { 0% { left: 0; opacity: 0; } 8% { opacity: 1; } 85% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
@keyframes p6-stamp { 0% { opacity: 0; transform: scale(1.18) rotate(-2.5deg); } 60% { opacity: 1; transform: scale(0.98) rotate(0.4deg); } 100% { opacity: 1; transform: none; } }
@keyframes p6-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes p6-drift { from { transform: scale(1.08) translate3d(-1.5%, 0, 0); } to { transform: scale(1.14) translate3d(1.5%, -1%, 0); } }
@keyframes p6-swing { 0%, 100% { transform: rotate(7deg); } 50% { transform: rotate(-7deg); } }
@keyframes p6-ruler { to { background-position: -1000px 0, -1000px 100%; } }
@keyframes p6-wave { from { transform: translateX(-6px); } to { transform: translateX(6px); } }
@keyframes p6-glow { 0%, 100% { opacity: 0.45; } 50% { opacity: 0.7; } }
@keyframes p6-wipeline { 0% { opacity: 1; transform: translateX(0); } 90% { opacity: 1; } 100% { opacity: 0; transform: translateX(640px); } }
@keyframes p6-spin { to { transform: rotate(360deg); } }
@keyframes p6-blink { 50% { opacity: 0; } }
@keyframes p6-flash { from { opacity: 1; transform: translate(-50%, -50%) scale(0.8); } to { opacity: 0; transform: translate(-50%, -50%) scale(1.25); } }
@keyframes p6-ping { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(3.2); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .js .p6-hero__title { -webkit-mask-image: none !important; mask-image: none !important; animation: none !important; }
  .p6-ready [data-p6-fx] { -webkit-mask-image: none !important; mask-image: none !important; clip-path: none !important; transform: none !important; animation: none !important; opacity: 0; transition: opacity 0.6s ease !important; }
  .p6-ready [data-p6-fx].is-in { opacity: 1; }
  .p6-hero__media, .p6-hero__inner, .p6-cinema__screen { transform: none !important; opacity: 1 !important; }
  .p6-hero__media::before { display: none; }
  .js .p6-laserline, .p6-formwork, .p6-plumb { display: none !important; }
  .js .p6-stamp, .p6-hero__photo img, .p6-ruler, .p6-cinema__ring, .p6-region__pin .dot, .p6-svg .wave, .p6-svg .glow { animation: none !important; }
  .p6-calcpop__panel, .p6-calcpop__backdrop, .p6-calcpop__body, .p6-dir a::before, .p6-dir__thumb, .p6-spec li::before, .p6-spec li .p6-mono { transition: none !important; }
  .p6-svg .p6-l, .p6-crane, .p6-crane *, .p6-svg .pour, .p6-svg .water, .p6-svg .grass, .p6-wipe, .p6-svg .wall, .p6-svg .ln { transition: none !important; }
}

[data-p6-rail].is-drag { scroll-snap-type: none; cursor: grabbing; }
[data-p6-rail] img { -webkit-user-drag: none; user-select: none; }

