/* DokaLab: readable content, deliberate section rhythm. September 2026. */
body.design-v2 {
  --ink:#13263d; --ink2:#415368; --ink3:#607086;
  --bg1:#f3f6f8; --bg2:#eaf0f4; --border:#dce4ea;
  --action:#087d99; --action-hover:#06657d;
  font-family:'DM Sans',Arial,sans-serif;
}
body.design-v2 :is(section,[id]) { scroll-margin-top:128px; }
body.design-v2 .section { padding-block:88px; }
body.design-v2 .section::before,body.design-v2 .section::after { display:none; }
body.design-v2 .section + .section:not(.section-alt):not(.section-alt2) { border-top:1px solid var(--border); }
body.design-v2 .section-alt + .section-alt { background:#fff; border-top:1px solid var(--border); }
body.design-v2 :is(.h2,.studio-h,.ap-modes-h,.pcalc-h,.cta-h,.breyn-cta-h) {
  font-weight:700; font-size:clamp(26px,2.75vw,38px); line-height:1.24;
  letter-spacing:-.025em; text-wrap:balance;
}
body.design-v2 .h2 { margin-bottom:32px; max-width:960px; }
body.design-v2 :is(.h2,.studio-h,.pcalc-h,.breyn-cta-h,.cta-h) .grad { color:inherit; }
body.design-v2 :is(.aud-h1,.breyn-h1,.cat-hero-h,.info-h1) {
  font-weight:700; font-size:clamp(29px,3.15vw,44px);line-height:1.2;text-wrap:balance;
}
body.design-v2 :is(.lead,.u-section-lead,.studio-sub,.aud-hero-sub,.cat-hero-sub,.breyn-hero-desc) {
  font-size:17px;line-height:1.75;max-width:68ch;
}
body.design-v2 :is(.eyebrow,.ap-eyebrow,.studio-tag) { font-size:12px;letter-spacing:.08em; }
body.design-v2 .eyebrow { color:var(--action);font-weight:700;margin-bottom:16px; }
body.design-v2 :is(.fw-title,.pdp-case-title,.ps-h,.efc-name,.support-name,.use-title) {
  font-family:var(--body);font-weight:700;letter-spacing:-.015em;line-height:1.3;
}
body.design-v2 :is(.fw-desc,.pc-desc,.pdp-case-meta,.trust-label,.efc-desc,.ps-item,.spec-desc) {
  font-size:15px;line-height:1.65;
}
body.design-v2 :is(.btn,.btn-nav-cta,.clf-submit,.efc-btn) {
  min-height:46px;line-height:1.3;font-weight:600;
  transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease,transform 160ms ease;
}
body.design-v2 :is(.btn-primary,.btn-nav-cta,.clf-submit,.scta-btn,.efc-btn) {
  background:var(--action);color:#fff;box-shadow:none;filter:none;
}
body.design-v2 :is(.btn-primary,.btn-nav-cta,.clf-submit,.scta-btn,.efc-btn):hover {
  background:var(--action-hover);color:#fff;filter:none;
}
body.design-v2 :is(.btn,.btn-nav-cta,.clf-submit,.efc-btn):active { transform:scale(.98); }
body.design-v2 :is(a,button,input,select,textarea):focus-visible {
  outline:3px solid #087d99;outline-offset:4px;
}
body.design-v2 :is(input,select,textarea) { font-size:16px; }
body.design-v2 .btn-outline-cyan { color:var(--action);border-color:var(--action); }
body.design-v2 :is(.product-card,.trust-card,.spec-card,.feature-card,.review-card,.event-format-card):not(a):hover {
  transform:none;box-shadow:none;
}
/* An index of audiences, distinct from the product cards that follow. */
body.design-v2 #forwhom .fw-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px; }
body.design-v2 #forwhom .fw-card {
  display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:18px;
  padding:26px 0;background:transparent;border:0;border-bottom:1px solid #ccd8e0;border-radius:0;box-shadow:none;
}
body.design-v2 #forwhom .fw-icon { grid-row:1 / span 3;margin:0;width:40px;height:40px;background:#e1eef1;color:var(--action); }
body.design-v2 #forwhom :is(.fw-title,.fw-desc,.fw-items) { grid-column:2; }
body.design-v2 #forwhom .fw-title { font-size:20px;margin-bottom:8px; }
body.design-v2 #forwhom .fw-items { margin-top:6px; }
body.design-v2 #forwhom .fw-item { background:transparent;padding:0 10px 0 0;color:var(--ink2); }
body.design-v2 .product-card { border-color:var(--border);box-shadow:none; }
body.design-v2 .pc-body { padding:26px; }
body.design-v2 .pc-footer { gap:16px;flex-wrap:wrap; }
body.design-v2 .about-grid { gap:64px;align-items:center; }
body.design-v2 .about-grid .h2 { max-width:560px; }
/* Page indexes encode actual destinations, never decoration. */
body.design-v2 .page-index { background:#fff;border-block:1px solid var(--border);padding:20px 0; }
body.design-v2 .page-index .container { display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap; }
body.design-v2 .page-index-label { font-size:13px;font-weight:700;color:var(--ink3); }
body.design-v2 .page-index a { padding:9px 0;font-size:14px;font-weight:600;color:var(--ink);border-bottom:2px solid transparent; }
body.design-v2 .page-index a:hover { color:var(--action);border-bottom-color:var(--action); }
/* Photographs sit on a neutral mat; no edge-to-edge merge into dark content. */
body.design-v2 .ap-gallery { background:#fff;padding:56px 32px; }
body.design-v2 .ap-gallery-grid {
  max-width:1136px;margin:auto;gap:12px;padding:0;
  grid-template-rows:260px 220px;
}
body.design-v2 .ap-gallery-grid > div { border-radius:16px;overflow:hidden; }
body.design-v2 .ap-gallery--cube .ap-gallery-grid { grid-template-rows:290px 240px; }
body.design-v2 .gallery-header { max-width:1136px;margin:0 auto 28px;display:flex;align-items:baseline;justify-content:space-between;gap:24px; }
body.design-v2 .gallery-header h2 { font-family:var(--display);font-weight:700;font-size:24px;line-height:1.3; }
body.design-v2 .gallery-header p { color:var(--ink2);font-size:15px; }
/* Pricing is a clear, light workspace following the visual demonstration. */
body.design-v2 .pcalc-section { background:var(--bg1);padding-block:80px;border-block:1px solid var(--border); }
body.design-v2 .pcalc-section :is(.pcalc-h,.pcalc-step-label,.pcalc-ver,.pcalc-ver-name,.pcalc-num-input) { color:var(--ink); }
body.design-v2 .pcalc-section :is(.pcalc-lead,.pcalc-ver-sub,.pcalc-slider-marks) { color:var(--ink2); }
body.design-v2 .pcalc-section .pcalc-ver { background:#fff;border:1px solid #bacad6;padding:20px; }
body.design-v2 .pcalc-section .pcalc-ver.active { background:#e5f3f7;border:2px solid var(--action);padding:19px; }
body.design-v2 .pcalc-section .pcalc-ver-sub { display:block;line-height:1.5;font-size:13px;margin-top:6px; }
body.design-v2 .pcalc-section .pcalc-num-input { background:#fff;border-color:#aebfcd; }
body.design-v2 .pcalc-step-num { background:#e0edf2;color:var(--action);box-shadow:none;font-family:var(--body);font-weight:700; }
body.design-v2 .pcalc-result { box-shadow:0 8px 32px rgba(19,38,61,.06);border:1px solid #ccd8e0;border-radius:20px; }
body.design-v2 .pcalc-total { background:none;-webkit-text-fill-color:currentColor;color:var(--ink); }
body.design-v2 .ap-grad { background:none;-webkit-text-fill-color:currentColor;color:inherit; }
body.design-v2 .pcalc-result .pcalc-total { color:var(--ink); }
body.design-v2 .pcalc-breakdown { gap:12px; }
body.design-v2 .pcalc-line { font-size:14px; }
/* FAQ: calm rows with readable answers, visibly different from primary CTAs. */
body.design-v2 .faq { background:#fff;padding-block:80px; }
body.design-v2 .faq-grid { gap:12px 28px;margin-top:32px; }
body.design-v2 .faq-item { background:#fff;border:1px solid var(--border);border-radius:12px; }
body.design-v2 .faq-q { background:#fff;color:var(--ink);font-size:16px;line-height:1.5;font-weight:600;padding:20px 22px;min-height:70px;filter:none; }
body.design-v2 .faq-q:hover,body.design-v2 .faq-item.open .faq-q { background:var(--bg1);filter:none; }
body.design-v2 .faq-icon { color:var(--action);font-size:22px; }
body.design-v2 .faq-a { font-size:16px;line-height:1.75;padding-inline:22px;color:var(--ink2); }
body.design-v2 .faq-item.open .faq-a { padding:20px 22px 24px; }
/* Mascot as an editorial aside, scaled below the main product presentation. */
body.design-v2 .mascot-section { background:#fff;padding:48px 0 64px; }
body.design-v2 .mascot-banner { border:1px solid rgba(19,38,61,.08); }
body.design-v2 .mascot-banner > img { width:62%;height:auto;margin-left:auto;mask-image:linear-gradient(to right,transparent,#000 20%); }
body.design-v2 .mascot-banner__copy { width:49%;padding:40px;gap:18px; }
body.design-v2 .mascot-banner__copy h2 { font-weight:700;font-size:clamp(24px,2.3vw,32px);line-height:1.3;text-wrap:balance; }
body.design-v2 .mascot-banner__copy p { font-size:16px;line-height:1.7; }
body.design-v2 .mascot-banner--support > img { margin-left:0;margin-right:auto;mask-image:linear-gradient(to left,transparent,#000 20%); }
body.design-v2 .mascot-banner--support .mascot-banner__copy { width:48%; }
body.design-v2 .mascot-banner--rental::before { display:none; }
/* Bright text in demonstration blocks; the content does not disappear into the photo. */
body.design-v2 :is(.studio-sub,.studio-feat-desc,.breyn-cta-desc,.breyn-cta-perks li,.breyn-cta-contact,.ap-stmt-sub,.colors-desc,.colors-note) { color:#bdcbd9; }
body.design-v2 :is(.studio-section,.ap-statement,.ap-modes,.breyn-cta-section) { background:#101e31; }
body.design-v2 .studio-section { padding-block:80px; }
body.design-v2 .studio-h { max-width:850px; }
body.design-v2 .breyn-cta-section { border-top:1px solid #304153; }
body.design-v2 .breyn-cta-h { max-width:500px; }
body.design-v2 .clf-label { color:#dce5ee; }
body.design-v2 :is(.clf-input,.clf-select,.clf-textarea) { background:#203047;border-color:#506078;color:#fff; }
body.design-v2 :is(.clf-input,.clf-textarea)::placeholder { color:#bdcbd9; }
body.design-v2 .coming-soon { background:#fff;color:var(--ink);padding-block:48px; }
body.design-v2 .coming-soon-inner { background:#eaf2f5;border:1px solid #d8e6ec;padding:36px;border-radius:20px; }
body.design-v2 :is(.coming-soon-h,.coming-soon-sub,.coming-soon-note,.coming-soon-feat) { color:var(--ink2); }
body.design-v2 .coming-soon-h { color:var(--ink);font-weight:700; }
body.design-v2 .coming-soon-rings { opacity:.08; }
body.design-v2 .coming-soon-badge { color:var(--action);border-color:#aacbd7;background:#fff; }
/* Break the repeating card matrix on rental and service pages. */
body.design-v2 .design-services .trust-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px; }
body.design-v2 .design-services .trust-card { background:transparent;border:0;border-bottom:1px solid #d6e0e7;border-radius:0;box-shadow:none;padding:24px 0;text-align:left; }
body.design-v2 .design-services .trust-val { font-family:var(--body);font-size:20px;font-weight:700;color:var(--ink);margin-bottom:8px; }
body.design-v2 .design-services .trust-label { max-width:55ch; }
body.design-v2 .design-services .trust-card:hover { transform:none;box-shadow:none; }
body.design-v2 .section[aria-label*="раздел"] .h2 { font-family:var(--body);font-size:26px;letter-spacing:-.015em; }
@media (max-width:1023px) {
  body.design-v2 .mascot-banner > img { width:100%;margin:0;mask-image:none; }
  body.design-v2 :is(.mascot-banner__copy,.mascot-banner--support .mascot-banner__copy) { position:static;width:100%;padding:28px; }
  body.design-v2 .mascot-banner__copy h2 { font-size:26px; }
  body.design-v2 .ap-gallery-grid,body.design-v2 .ap-gallery--cube .ap-gallery-grid { grid-template-rows:220px 190px; }
}
@media (max-width:767px) {
  body.design-v2 .section { padding-block:56px; }
  body.design-v2 :is(.studio-section,.pcalc-section,.faq,.breyn-cta-section) { padding-block:56px; }
  body.design-v2 :is(.h2,.studio-h,.ap-modes-h,.pcalc-h,.cta-h,.breyn-cta-h) { font-size:27px;line-height:1.3; }
  body.design-v2 .h2 { margin-bottom:24px; }
  body.design-v2 :is(.lead,.u-section-lead,.aud-hero-sub,.cat-hero-sub,.breyn-hero-desc,.studio-sub) { font-size:16px; }
  body.design-v2 #forwhom .fw-grid { grid-template-columns:1fr; }
  body.design-v2 #forwhom .fw-card { padding:22px 0;column-gap:14px; }
  body.design-v2 .page-index .container { gap:0 20px; }
  body.design-v2 .page-index-label { width:100%;margin-bottom:8px; }
  body.design-v2 .page-index a { font-size:14px;min-height:44px; }
  body.design-v2 .ap-gallery { padding:36px 18px; }
  body.design-v2 .ap-gallery-grid,body.design-v2 .ap-gallery--cube .ap-gallery-grid { grid-template-columns:1fr 1fr;grid-template-rows:240px 150px 150px;gap:10px; }
  body.design-v2 .ap-gallery-big { grid-column:1 / -1;grid-row:auto; }
  body.design-v2 .gallery-header { display:block;margin-bottom:24px; }
  body.design-v2 .gallery-header h2 { font-size:22px;margin-bottom:8px; }
  body.design-v2 .mascot-section { padding:28px 0 40px; }
  body.design-v2 .mascot-banner__copy h2 { font-size:24px; }
  body.design-v2 .faq-grid { grid-template-columns:1fr; }
  body.design-v2 .faq-q { font-size:16px;padding:18px;min-height:64px; }
  body.design-v2 .faq-a { padding-inline:18px; }
  body.design-v2 .faq-item.open .faq-a { padding:18px; }
  body.design-v2 .design-services .trust-grid { grid-template-columns:1fr; }
  body.design-v2 .coming-soon-inner { padding:24px; }
  body.design-v2 .pcalc-section .pcalc-ver { padding:16px; }
  body.design-v2 .pcalc-section .pcalc-ver.active { padding:15px; }
  body.design-v2 .pcalc-section .pcalc-ver-name { font-family:var(--body);font-size:17px;line-height:1.35; }
  body.design-v2 .pcalc-section .pcalc-ver-sub { font-size:13px; }
}
@media (hover:none) {
  body.design-v2 :is(.btn,.fw-card,.product-card,.event-format-card,.trust-card):hover { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  body.design-v2 :is(.btn,.fw-card,.product-card,.faq-q,.faq-a) { transition:none; }
  body.design-v2 .ap-fade { opacity:1;transform:none;transition:none; }
}
/* Final contrast and hierarchy checks on the rendered forms. */
body.design-v2 .pcalc-cta { background:var(--action) !important; }
body.design-v2 .pcalc-cta:hover { background:var(--action-hover) !important;transform:none; }
body.design-v2 .pcalc-result-name { font-family:var(--body);font-weight:700;font-size:25px;line-height:1.3; }
body.design-v2 .pcalc-result .pcalc-result-badge,body.design-v2 .pcalc-ver-note { color:var(--action); }
body.design-v2 #forwhom .fw-item { border:0;font-size:12px; }
body.design-v2 .coming-soon-form { align-items:stretch; }
body.design-v2 .coming-soon-form > div:first-child { color:var(--ink2) !important; }
body.design-v2 .coming-soon-input { width:100%;background:#fff;border:1px solid #aebfcd;color:var(--ink);min-height:48px; }
body.design-v2 .coming-soon-input::placeholder { color:var(--ink3); }
body.design-v2 .coming-soon .form-consent { color:var(--ink2);font-size:12px !important;line-height:1.6; }
body.design-v2 .coming-soon .form-consent a { color:var(--action); }
body.design-v2 .coming-soon-feat--dim { opacity:1;color:var(--ink3); }
body.design-v2 .nf-wrap > .container { width:100%;min-width:0; }
body.design-v2 .nf-title { font-weight:700;font-size:clamp(24px,3vw,36px);line-height:1.3;text-wrap:balance; }
