/* Shared standalone-site styles. */
/* Shared access rules retain the existing Tilda class-based layout. */
.local-article-record { background: #fff; color: #171717; }
.local-seo-article { box-sizing: border-box; width: min(100%,920px); margin: 0 auto; padding: 56px 28px; font: 18px/1.7 Arial,sans-serif; overflow-wrap: break-word; }
.local-seo-article h2 { font: 700 clamp(27px,3vw,38px)/1.2 Arial,sans-serif; margin: 0 0 25px; }
.local-seo-article h3 { font: 700 23px/1.3 Arial,sans-serif; margin: 32px 0 12px; }
.local-seo-article p { margin: 0 0 18px; }
.local-seo-article a { color: #164e73 !important; text-decoration: underline; text-underline-offset: 3px; }
.local-seo-article details { border-top: 1px solid #ccc; padding: 16px 0; }
.local-seo-article summary { cursor: pointer; font-weight: 700; min-height: 28px; }
.local-seo-article details p { margin: 12px 0 0; }
.local-preserved-anchor { height: 0; }
.local-floating-contact { position:fixed; right:20px; bottom:20px; z-index:990; background:#17577b; color:#fff!important; padding:12px 18px; border:2px solid white; border-radius:28px; box-shadow:0 3px 15px #0003; font:700 16px/1.3 Arial,sans-serif; text-decoration:none; }
.local-floating-contact:hover { background:#103c57; }
@media (max-width: 640px) { .local-seo-article { padding: 38px 20px; font-size: 17px; line-height: 1.65; } .local-seo-article h3 { font-size: 21px; } }
h1.t-title, h2.t-title, h1.tn-atom { margin-block: 0; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #f6d546 !important; outline-offset: 4px; box-shadow: 0 0 0 6px #171717; }
.local-skip-link { position: fixed; top: -100px; left: 16px; z-index: 100000; background: #fff; color: #111 !important; padding: 16px 20px; font: 700 16px/1.4 Arial,sans-serif; }
.local-skip-link:focus { top: 16px; }
.local-nojs-navigation { position: relative; z-index: 10000; background: #111; display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; padding: 20px; }
.local-nojs-navigation a { color: white !important; font: 700 16px Arial,sans-serif; }
.local-page-heading { background: #111; color: white; padding: 150px 20px 45px; text-align: center; }
.local-page-heading h1 { font: 700 clamp(30px,5vw,60px)/1.12 Arial,sans-serif; margin: 0; }
.local-address-card { box-sizing: border-box; background: #171717; color: white; padding: clamp(35px,6vw,80px) 24px; min-height: 320px; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; font: 18px/1.5 Arial,sans-serif; }
.local-address-card h2 { font-size: 30px; margin: 0 0 20px; }
.local-address-card p { max-width: 520px; margin: 0 0 14px; }
.local-address-card > a { background: white; color: #111 !important; padding: 13px 18px; margin: 8px 0 20px; font-weight: 700; }
.local-address-card__note { font-size: 15px; }
.local-address-card__note a { color: white !important; text-decoration: underline; }
.local-work-gallery { max-width: 1200px; margin: auto; padding: 35px 24px 60px; box-sizing: border-box; font: 17px/1.5 Arial,sans-serif; color: #171717; }
.local-work-gallery h2 { font-size: clamp(28px,4vw,42px); margin: 10px 0; }
.local-work-gallery__eyebrow { font-size: 13px; text-transform: uppercase; letter-spacing: .1em; }
.local-work-gallery__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 25px 0; }
.local-work-gallery__grid a { display: block; color: #111 !important; border: 1px solid #ddd; text-decoration: none; }
.local-work-gallery__grid img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.local-work-gallery__grid span { display: block; padding: 15px; }
.local-work-gallery__links { display: flex; flex-wrap: wrap; gap: 12px 25px; }
.local-work-gallery__links a { color: #111 !important; text-decoration: underline; text-underline-offset: 4px; }
.local-gallery-open { overflow: hidden; }
.local-gallery-dialog { box-sizing: border-box; width: min(1080px,94vw); max-height: 94dvh; padding: 20px; border: 1px solid #666; background: #111; color: white; font: 16px/1.4 Arial,sans-serif; }
.local-gallery-dialog::backdrop { background: rgb(0 0 0 / .85); }
.local-gallery-dialog figure { margin: 16px 0; }
.local-gallery-dialog img { display: block; max-width: 100%; height: auto; max-height: 62dvh; margin: auto; object-fit: contain; }
.local-gallery-dialog figcaption { margin-top: 12px; }
.local-gallery-dialog button { min-height: 44px; padding: 10px 16px; color: white; background: #222; border: 1px solid white; cursor: pointer; font: inherit; }
.local-gallery-dialog__close { display: block; margin-left: auto; }
.local-gallery-dialog__controls { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; }
@media (max-width: 640px) { .local-work-gallery__grid { grid-template-columns: 1fr; } .local-page-heading { padding-top: 110px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } .t-animate { opacity: 1 !important; transform: none !important; } }

/* W01: newly linked service names remain visibly interactive and keyboard-accessible. */
#rec160168869 .t-card__title .t-card__link {
  display: inline-block;
}

#rec160168869 .t-card__title .t-card__link:focus-visible,
#rec520546632 .t976__menu-link:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
}

/* P0: a clear conversion path on the opening screen, without a popup form. */
.local-home-hero__eyebrow {
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.local-home-hero__heading { margin: 0; }

.local-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 24px;
}

.local-home-hero__cta {
  border: 2px solid #ffffff;
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  padding: 13px 20px;
  text-decoration: none;
}

.local-home-hero__cta_primary {
  background: #ffffff;
  color: #111111 !important;
}

.local-home-hero__cta:hover { background: #ffffff; color: #111111; }
.local-home-hero__cta:focus-visible { outline: 3px solid #f6d546; outline-offset: 4px; }

/* P1: the contact page provides a direct, no-form route to the team. */
.local-contact-actions {
  background: #111111;
  box-sizing: border-box;
  color: #ffffff;
  margin: 0;
  padding: 48px clamp(20px, 7vw, 120px);
  text-align: center;
}

.local-contact-actions h1 { font-family: Arial, sans-serif; font-size: clamp(30px, 4vw, 48px); margin: 0 0 12px; }
.local-contact-actions p { font: 18px/1.5 Arial, sans-serif; margin: 0 auto 24px; max-width: 620px; }
.local-contact-actions a { display: inline-block; font: 700 16px/1.2 Arial, sans-serif; margin: 5px; padding: 13px 18px; text-decoration: none; }
.local-contact-actions__primary { background: #ffffff; border: 2px solid #ffffff; color: #111111 !important; }
.local-contact-actions__secondary { border: 2px solid #ffffff; color: #ffffff; }
.local-contact-actions a:hover { background: #ffffff; color: #111111; }
.local-contact-actions a:focus-visible { outline: 3px solid #f6d546; outline-offset: 4px; }

/* W03: the shared white-on-dark header needs a light-page variant on /portfolio. */
html.local-page-portfolio #rec162904464 .t-menu__link-item,
html.local-page-portfolio #rec162904465 .t-menu__link-item,
html.local-page-portfolio #rec162904464 .t-btnflex,
html.local-page-portfolio #rec162904464 .t-btnflex__text {
  color: #111111 !important;
}

html.local-page-portfolio #rec162904464 .t-btnflex {
  border-color: #111111 !important;
}

html.local-page-portfolio #rec162904464 .t228__imglogo,
html.local-page-portfolio #rec162904465 .t451__logo__img,
html.local-page-portfolio #rec162904464 .t-sociallinks__svg {
  filter: invert(1);
}

html.local-page-portfolio #rec162904465 .t-menuburger span {
  background-color: #111111 !important;
}

html.local-page-portfolio #rec162904464 .t-menu__link-item:focus-visible,
html.local-page-portfolio #rec162904465 .t-menu__link-item:focus-visible,
html.local-page-portfolio #rec162904465 .t-menuburger:focus-visible {
  outline: 3px solid #111111;
  outline-offset: 4px;
}

/* W04: local navigation and conversion endpoint for /about_illskill. */
.local-about-navigation {
  font: 600 16px/1.4 Arial,sans-serif;
  align-items: center;
  box-sizing: border-box;
  color: #ffffff;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  left: 0;
  padding: 24px clamp(20px, 7vw, 120px);
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1000;
}

.local-about-navigation a,
.local-about-contact a {
  color: inherit;
  text-decoration: none;
}

.local-about-navigation__brand {
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .08em;
}

.local-about-navigation nav {
  display: flex;
  gap: 28px;
}

.local-about-navigation__cta {
  border: 2px solid currentColor;
  padding: 10px 18px;
}

.local-about-navigation a:focus-visible,
.local-about-contact a:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}

.local-about-contact {
  font-family: Arial,sans-serif;
  background: #111111;
  color: #ffffff;
  padding: 56px 20px;
  text-align: center;
}

.local-about-contact p {
  font-size: 24px;
  margin: 0 0 18px;
}

.local-about-contact a {
  border-bottom: 2px solid currentColor;
  font-weight: 700;
}

/* W06: replacement for the published disk-price block pending price approval. */
.local-price-request {
  background: #f5f5f5;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 960px;
  padding: 56px clamp(20px, 6vw, 80px);
  text-align: center;
}

.local-price-request h2 {
  font-size: clamp(28px, 4vw, 46px);
  margin: 0 0 18px;
}

.local-price-request p {
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
}

.local-price-request a {
  color: inherit;
  font-weight: 700;
}

@media (max-width: 640px) {
  .local-home-hero__actions { gap: 10px; margin-top: 18px; }
  .local-home-hero__cta { min-width: 190px; padding: 13px 16px; }
  .local-contact-actions { padding: 38px 20px; }
  .local-contact-actions a { display: block; margin: 10px auto; max-width: 320px; }

  .local-about-navigation {
    gap: 12px;
    padding: 18px 20px;
  }

  .local-about-navigation nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
    order: 3;
    width: 100%;
  }
  .local-about-navigation { flex-wrap: wrap; }
  .local-about-navigation nav a { display:inline-flex; align-items:center; min-height:44px; }

  .local-about-navigation__brand {
    font-size: 18px;
  }

  .local-about-navigation__cta {
    padding: 8px 12px;
  }
}

/* Service and editorial indexes: native links, usable without JavaScript. */
.editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:24px 0 36px; }
.editorial-card { display:flex; flex-direction:column; gap:12px; min-width:0; padding:24px; border:1px solid #cbd5df; background:#f6f8fa; color:#20252b !important; text-decoration:none !important; text-align:left; box-sizing:border-box; }
.editorial-card strong { font:700 21px/1.3 Arial,sans-serif; }
.editorial-card span { font:16px/1.55 Arial,sans-serif; }
.editorial-card .editorial-card-action { color:#164e73; font-weight:700; margin-top:auto; padding-top:8px; }
.editorial-card:hover { background:#eaf2f7; border-color:#608da5; }
.editorial-card:focus-visible { outline:3px solid #e2a600; outline-offset:4px; }
.editorial-sources { font-size:15px; color:#45535f; border-top:1px solid #d7dfe5; padding-top:20px; }
.mini-discovery { color:#20252b; background:#fff; font:18px/1.6 Arial,sans-serif; padding:48px 24px; }
.mini-discovery > div { max-width:1160px; margin:auto; }
.mini-discovery-label { font-size:13px; letter-spacing:.14em; color:#315a71; }
.mini-discovery h2 { font:700 clamp(28px,3.5vw,42px)/1.15 Arial,sans-serif; margin:12px 0 20px; }
.mini-discovery-more { display:flex; flex-wrap:wrap; gap:20px 32px; }
.mini-discovery-more a { color:#164e73 !important; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:640px) { .editorial-grid { grid-template-columns:1fr; } .editorial-card { padding:20px; } .mini-discovery { padding:32px 20px; } }
@media(min-width:801px) and (max-width:1100px) { .service-header { gap:18px; } .service-desktop-nav { gap:16px; font-size:15px; } }
.mini-bottom-nav { display:none; }
@media(max-width:980px) {
  .mini-legacy { padding-bottom:calc(64px + env(safe-area-inset-bottom,0px)); }
  .mini-bottom-nav { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:990; background:#fff; border-top:1px solid #cbd5df; padding:4px 8px calc(4px + env(safe-area-inset-bottom,0px)); justify-content:space-around; gap:4px; box-sizing:border-box; }
  .mini-bottom-nav a { display:flex; align-items:center; justify-content:center; min-height:48px; padding:0 8px; font:700 14px/1.2 Arial,sans-serif; color:#164e73 !important; text-decoration:none; }
  .mini-bottom-nav a:focus-visible { outline:3px solid #e2a600; outline-offset:0; }
  .mini-legacy .local-floating-contact { display:none; }
}

/* Detailed MINI service catalog. */
.mini-catalog-jumps { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.mini-catalog-jumps a { display:flex; align-items:center; min-height:44px; border:1px solid #71899b; padding:9px 14px; color:#e7f3fa; text-decoration:none; font:15px/1.4 Arial,sans-serif; }
.mini-catalog-jumps a:hover { background:#28485a; }
.mini-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:20px 0 48px; }
.mini-service-entry { display:flex; flex-direction:column; min-width:0; border:1px solid #cbd5df; padding:24px; background:#f7f9fb; }
.service-page .local-seo-article .mini-service-entry h3 { font:700 23px/1.3 Arial,sans-serif; margin:0 0 16px; }
.local-seo-article .mini-service-entry p { font-size:16px; line-height:1.55; }
.mini-service-entry ul { margin:0 0 24px; padding-left:20px; font-size:16px; line-height:1.55; }
.mini-service-more { display:block; margin-top:auto; padding-top:14px; font-weight:700; }
.mini-catalog-entry { border-left:4px solid #589ab9; padding:15px 20px; background:#eff5f8; }
@media(max-width:640px) { .mini-service-grid { grid-template-columns:1fr; } .mini-service-entry { padding:20px; } .mini-catalog-jumps a { max-width:100%; box-sizing:border-box; } }

.illskill-cookie-banner {
  position: fixed;
  z-index: 2147483647;
  right: 16px;
  bottom: 16px;
  left: 16px;
  box-sizing: border-box;
  max-width: 440px;
  margin: 0;
  padding: 12px 14px;
  color: #fff;
  background: #171717;
  border: 1px solid #505050;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .16);
  font: 14px/1.4 Arial, sans-serif;
}

.illskill-cookie-banner p { margin: 0 0 8px; }
.illskill-cookie-banner { max-height: 80vh; overflow-y: auto; }
.illskill-cookie-banner a { color: #fff; text-decoration: underline; }
.illskill-cookie-banner__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.illskill-cookie-banner button {
  flex: 1 1 110px;
  min-height: 44px;
  padding: 8px 12px;
  color: #171717;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 4px;
  cursor: pointer;
  font: inherit;
}
.illskill-cookie-banner button:last-child { color: #171717; background: #fff; }
.illskill-cookie-banner button:focus-visible,
.illskill-cookie-banner a:focus-visible { outline: 3px solid #f6d546; outline-offset: 3px; }

@media (max-width: 480px) {
  .illskill-cookie-banner { right: 8px; bottom: 8px; left: 8px; padding: 12px; }
}

/* Keep the existing quick navigation available before a consent choice. */
@media (max-width: 639px) and (min-height: 501px) {
  body:has(.visual-contact-nav) .illskill-cookie-banner {
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 180px);
  }
  body:has(.visual-mini-nav) .illskill-cookie-banner {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 168px);
  }
}

.service-page{margin:0;color:#20252b;background:#fff;font:17px/1.65 Arial,sans-serif}.service-page *{box-sizing:border-box}.service-page a{color:inherit;text-underline-offset:4px}.service-header{padding:16px max(24px,calc((100vw - 1200px)/2));background:#080a0d;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}.service-header img{display:block;width:140px;height:56px;object-fit:contain}.service-desktop-nav{display:flex;gap:28px}.service-header nav a{text-decoration:none}.service-header nav a:hover{text-decoration:underline}.service-mobile-nav{display:none}.service-hero{background:#14191f;color:#fff;padding:28px max(24px,calc((100vw - 1200px)/2)) 64px;border-bottom:5px solid #59aed2}.service-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:#c5d4df}.service-breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:10px;margin:0}.service-breadcrumbs li+li:before{content:"/";margin-right:10px;color:#7194a9}.service-eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#8bcae6;margin:40px 0 12px}.service-page .service-hero h1{font-size:clamp(34px,4.6vw,64px);line-height:1.08;max-width:950px;letter-spacing:-.025em;margin:0 0 24px}.service-intro{max-width:760px;font-size:20px;color:#e0e5eb;line-height:1.6}.service-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.service-actions a,.service-cta{display:inline-block;padding:12px 22px;font-weight:bold;text-decoration:none;border:1px solid #84929e;border-radius:3px}.service-actions a:first-child,.service-cta{background:#fff;color:#161b20;border-color:#fff}.service-actions a:hover{background:#367696;color:white}.service-layout{display:grid;grid-template-columns:minmax(0,820px) 280px;gap:64px;max-width:1248px;margin:auto;padding:56px 24px}.service-page .local-seo-article{font:inherit;max-width:none;padding:0;margin:0}.service-page .local-seo-article h2{font-size:30px;line-height:1.25;margin:42px 0 18px}.service-page .local-seo-article h2:first-child{margin-top:0}.service-page .local-seo-article h3{font-size:22px;line-height:1.3;margin:30px 0 12px}.service-page .local-seo-article p{margin:0 0 20px}.service-page .local-seo-article li{margin-bottom:8px}.service-page .local-seo-article details{border:1px solid #d8dfe4;padding:16px 18px;margin:12px 0;border-radius:3px}.service-page summary{cursor:pointer;font-weight:bold}.service-page details p{margin:16px 0 0}.service-aside{align-self:start;position:sticky;top:24px;border:1px solid #d6dfe5;background:#f4f7f9;padding:24px}.service-aside h2{font-size:21px;margin:0 0 14px;line-height:1.3}.service-aside ol{padding-left:20px;font-size:15px}.service-aside a{color:#23536e}.service-aside .service-cta{background:#171c22;color:#fff;border-color:#171c22;font-size:15px}.service-related{max-width:1248px;padding:8px 24px 64px;margin:auto}.service-related h2{font-size:28px}.service-related-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-related-list a{border:1px solid #d6dfe5;padding:24px;text-decoration:none;font-weight:bold;display:flex;align-items:center;justify-content:space-between;gap:12px}.service-related-list a:after{content:"↗";color:#367696}.service-related-list a:hover{background:#eff7fb}.service-footer{padding:42px max(24px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px;background:#0b0d10;color:#e0e5eb;font-size:15px}.service-footer nav{display:flex;flex-direction:column;gap:10px}.service-wordmark{font-size:26px;font-weight:800;letter-spacing:.06em;text-decoration:none}.service-page [id]{scroll-margin-top:24px}.service-page .local-nojs-navigation{margin:0}.service-page :focus-visible{outline:3px solid #f1be3a;outline-offset:4px}
@media(max-width:800px){.service-header{padding:10px 20px}.service-header img{width:120px;height:48px}.service-desktop-nav{display:none}.service-mobile-nav{display:block;position:relative}.service-mobile-nav summary{padding:10px}.service-mobile-nav nav{position:absolute;right:0;top:100%;width:220px;background:#080a0d;border:1px solid #536776;z-index:5;padding:12px;display:grid;gap:4px;box-shadow:0 10px 25px #0006}.service-mobile-nav nav a{padding:10px}.service-hero{padding:24px 20px 36px}.service-eyebrow{margin-top:28px}.service-intro{font-size:18px}.service-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding:36px 20px}.service-aside{position:static}.service-related{padding:0 20px 36px}.service-related-list{grid-template-columns:1fr}.service-footer{grid-template-columns:1fr;gap:20px;padding:30px 20px}.service-footer p{margin:10px 0}.service-page .local-seo-article h2{font-size:27px}.service-actions a{width:100%;text-align:center}}
.editorial-topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:24px 0 36px}
.editorial-topic-grid a{display:flex;flex-direction:column;gap:8px;border:1px solid #d2dee5;border-radius:8px;padding:12px;text-decoration:none;background:#fff}
.editorial-topic-grid a:hover,.editorial-topic-grid a:focus-visible{background:#eef7fb;border-color:#79b5d1}
.editorial-topic-grid img{display:block;width:100%;height:150px;object-fit:contain;background:#f4f8fa;border-radius:5px}
.editorial-topic-grid strong{font-size:18px;line-height:1.35}
.editorial-topic-grid span{font-size:15px;line-height:1.45;color:#52616b}

@media(max-width:650px){.service-page .service-header{padding-inline:10px;gap:4px}.service-page .service-header>a:first-child{min-width:0}.service-page .service-header>a:first-child img{max-width:100%}}
.service-page .local-skip-link:not(:focus){top:-1000px}

/* Dedicated layout for workshop services. Shared navigation remains unchanged. */
.visual-system.workshop-page .service-hero{border:0;padding-bottom:44px}
.visual-system.workshop-page .service-hero .visual-service-opening{gap:clamp(24px,4vw,64px);align-items:center}
.visual-system.workshop-page .service-hero h1{font-size:clamp(34px,4.3vw,58px);line-height:1.08;max-width:14ch}
.visual-system.workshop-page .service-intro{font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:38em}
.visual-system.workshop-page .service-eyebrow{margin-top:16px}
.visual-system.workshop-page .visual-service-photo{margin:0;min-width:0}
.visual-system.workshop-page .visual-service-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.visual-system.workshop-page .visual-service-photo figcaption{font-size:13px;line-height:1.5;opacity:.8;margin-top:10px}
.visual-system.workshop-page .ws-jumps{display:flex;flex-wrap:wrap;gap:8px;padding:20px max(20px,calc((100vw - 1200px)/2));background:#eef3f6;border-bottom:1px solid #d8e1e7}
.visual-system.workshop-page .ws-jumps a{padding:8px 14px;background:white;border:1px solid #d3dde3;border-radius:24px;font-size:15px;text-decoration:none}
.visual-system.workshop-page .ws-jumps a:hover{background:#dceef5}
.visual-system.workshop-page .local-seo-article{max-width:none;width:auto;padding:0;margin:0}
.visual-system.workshop-page .ws-section{max-width:1248px;margin:0 auto;padding:clamp(36px,5vw,68px) 24px}
.visual-system.workshop-page .ws-section+.ws-section{border-top:1px solid #e1e6e9}
.visual-system.workshop-page .local-seo-article h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.02em;margin:0 0 24px;max-width:26ch}
.visual-system.workshop-page .local-seo-article h3{font-size:22px;line-height:1.3;margin:0 0 12px}
.visual-system.workshop-page .ws-lead{max-width:760px;font-size:19px;line-height:1.65;margin:0 0 28px}
.visual-system.workshop-page .ws-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.visual-system.workshop-page .ws-card{min-width:0;padding:26px;border:1px solid #d9e1e7;border-radius:10px;background:#f6f8fa}
.visual-system.workshop-page .ws-card p:last-child{margin-bottom:0}
.visual-system.workshop-page .ws-card a{color:#1d5879}
.visual-system.workshop-page .ws-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.visual-system.workshop-page .ws-split>*{min-width:0}
.visual-system.workshop-page .ws-photo{margin:0;min-width:0}
.visual-system.workshop-page .ws-photo img{width:100%;height:auto;display:block;border-radius:10px}
.visual-system.workshop-page .ws-photo figcaption{font-size:14px;line-height:1.5;color:#52606a;margin-top:12px}
.visual-system.workshop-page .ws-steps{list-style:none;counter-reset:steps;margin:0;padding:0}
.visual-system.workshop-page .ws-steps li{counter-increment:steps;position:relative;padding:0 0 28px 50px;margin:0}
.visual-system.workshop-page .ws-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:1px;color:#286383;font-size:16px;font-weight:bold}
.visual-system.workshop-page .ws-steps li:last-child{padding-bottom:0}
.visual-system.workshop-page .ws-steps strong{display:block;font-size:20px;margin-bottom:6px}
.visual-system.workshop-page .ws-note{border-left:3px solid #57b5d7;padding:18px 22px;background:#edf5f8;border-radius:0 8px 8px 0;margin-top:28px}
.visual-system.workshop-page .ws-note p:last-child{margin-bottom:0}
.visual-system.workshop-page .ws-faq{max-width:880px}
.visual-system.workshop-page .ws-faq details{background:#f6f8fa;border:1px solid #d9e1e7;border-radius:8px;padding:18px 22px}
.visual-system.workshop-page .ws-faq summary{line-height:1.45;font-size:18px;min-height:26px}
.visual-system.workshop-page .ws-faq details p{margin:16px 0 0}
.visual-system.workshop-page .ws-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.visual-system.workshop-page .ws-reading li{margin:0}
.visual-system.workshop-page .ws-reading a{display:block;border:1px solid #d9e1e7;padding:20px;border-radius:8px;line-height:1.5;text-decoration:none;color:#1d5879;height:100%}
.visual-system.workshop-page .ws-reading a:hover{background:#edf5f8}
.visual-system.workshop-page .ws-visit{background:#171e24;color:#fff;border-radius:12px;padding:clamp(24px,4vw,44px)}
.visual-system.workshop-page .ws-visit p{color:#dce4ea}
.visual-system.workshop-page .ws-visit .service-actions a{color:#fff}
.visual-system.workshop-page .ws-visit .service-actions a:first-child{color:#171e24}
.visual-system.workshop-page .ws-visit .service-actions a:hover{color:#fff}
.visual-system.workshop-page .ws-meta{font-size:14px;color:#596b77}
.visual-system.workshop-page [id]{scroll-margin-top:110px}
@media(max-width:760px){.visual-system.workshop-page .service-hero{padding:22px 20px 32px}.visual-system.workshop-page .service-hero h1{max-width:18ch}.visual-system.workshop-page .ws-grid,.visual-system.workshop-page .ws-split,.visual-system.workshop-page .ws-reading{grid-template-columns:1fr}.visual-system.workshop-page .ws-section{padding:36px 20px}.visual-system.workshop-page .ws-grid{gap:12px}.visual-system.workshop-page .ws-card{padding:22px}.visual-system.workshop-page .ws-jumps{padding:16px 20px;gap:6px}.visual-system.workshop-page .ws-jumps a{font-size:14px;padding:8px 12px}.visual-system.workshop-page .ws-split{gap:26px}.visual-system.workshop-page .service-actions{gap:10px}.visual-system.workshop-page .visual-service-photo img{max-height:360px}.visual-system.workshop-page .ws-steps li{padding-left:42px}.visual-system.workshop-page .ws-visit .service-actions a{padding:12px}.visual-system.workshop-page [id]{scroll-margin-top:90px}}
/* Keep Russian words intact; long service headings wrap between words. */
.visual-system.workshop-page .service-hero h1{max-width:none;hyphens:none;word-break:normal;overflow-wrap:normal}
.visual-system.workshop-page .visual-service-photo img{aspect-ratio:auto;object-fit:contain}

/* Refreshed archive pages: fluid content, finite galleries, native disclosure. */
.visual-system.workshop-refreshed .ws-prose>p,.visual-system.workshop-refreshed .ws-prose>ul,.visual-system.workshop-refreshed .ws-prose>ol,.visual-system.workshop-refreshed .ws-prose>h3{max-width:820px}
.visual-system.workshop-refreshed .ws-prose>h3{margin-top:30px}
.visual-system.workshop-refreshed .ws-prose>h3:first-child{margin-top:0}
.visual-system.workshop-refreshed .ws-prose>p:last-child{margin-bottom:0}
.visual-system.workshop-refreshed .ws-question{max-width:850px;padding:18px 22px;background:#f5f8fa;border:1px solid #d9e1e7;border-radius:8px}
.visual-system.workshop-refreshed .ws-question summary{font-size:18px;line-height:1.45}
.visual-system.workshop-refreshed .ws-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.visual-system.workshop-refreshed .ws-archive-grid a{display:block;min-width:0;border-radius:10px;overflow:hidden;background:#e9eef1;outline-offset:4px}
.visual-system.workshop-refreshed .ws-archive-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:filter .15s}
.visual-system.workshop-refreshed .ws-archive-grid a:hover img{filter:brightness(.9)}
.visual-system.workshop-refreshed .ws-archive-more{margin-top:20px;border:1px solid #d2dce3;border-radius:10px;padding:18px 22px}
.visual-system.workshop-refreshed .ws-archive-more summary{font-size:18px;font-weight:600;padding:4px 0;cursor:pointer}
.visual-system.workshop-refreshed .ws-archive-more[open] summary{margin-bottom:22px}
.visual-system.workshop-refreshed .detailing-library{max-width:1248px;background:transparent;border-radius:0}
.visual-system.workshop-refreshed .editorial-links ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;padding:0;max-width:none}
.visual-system.workshop-refreshed .editorial-links li{margin:0;border:1px solid #d9e1e7;border-radius:8px}
.visual-system.workshop-refreshed .editorial-links li a{display:block;padding:18px;text-decoration:none}
.visual-system.workshop-refreshed .service-hero h1{font-size:clamp(32px,4vw,54px)}
/* Compact service navigation: labels have no imported card descriptions. */
.visual-system .ws-compact-catalog{max-width:1248px;padding:48px 24px;margin:auto;color:#232b31}
.visual-system .ws-compact-catalog h2{font-size:clamp(28px,3vw,36px);line-height:1.2;margin:0 0 24px}
.visual-system .ws-compact-catalog .ws-catalog-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.visual-system .ws-compact-catalog .ws-catalog-group{min-width:0;padding:24px;border:1px solid #d3dce3;border-radius:12px;background:#f5f7f9}
.visual-system .ws-compact-catalog h3{font-size:20px;line-height:1.35;margin:0 0 16px;color:#232b31}
.visual-system .ws-compact-catalog nav{display:grid;gap:2px}
.visual-system .ws-compact-catalog nav a{display:flex;align-items:center;min-height:44px;padding:9px 10px;margin:0 -10px;color:#244f65!important;text-decoration:none;font-size:16px;line-height:1.45;border-radius:6px;overflow-wrap:anywhere}
.visual-system .ws-compact-catalog nav a:hover{background:#e3edf2;color:#173747!important;text-decoration:underline;text-underline-offset:3px}
.visual-system .ws-compact-catalog a:focus-visible{outline:2px solid #246884;outline-offset:3px}
.visual-system .ws-compact-catalog .ws-catalog-all{margin:24px 0 0}
.visual-system .ws-compact-catalog .ws-catalog-all a{display:inline-flex;gap:16px;align-items:center;min-height:48px;padding:10px 18px;background:#17242c;border:1px solid #17242c;border-radius:8px;color:#fff!important;font-size:16px;font-weight:600;text-decoration:none}
.visual-system .ws-compact-catalog .ws-catalog-all a:hover{background:#2b4657}
@media(max-width:900px){.visual-system .ws-compact-catalog .ws-catalog-groups{grid-template-columns:1fr}.visual-system .ws-compact-catalog nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.visual-system .ws-compact-catalog .ws-catalog-group{padding:20px}}
@media(max-width:380px){.visual-system .ws-compact-catalog nav{grid-template-columns:1fr}}
@media(max-width:760px){.visual-system.workshop-refreshed .ws-archive-grid{grid-template-columns:1fr 1fr;gap:10px}.visual-system.workshop-refreshed .ws-archive-grid>a:first-child:nth-last-child(3){grid-column:1/-1}.visual-system.workshop-refreshed .editorial-links ul{grid-template-columns:1fr}.visual-system.workshop-refreshed .ws-archive-more{padding:16px}.visual-system .ws-compact-catalog{padding:36px 20px}.visual-system .ws-compact-catalog h2{font-size:28px}}

/* Shared visual language for the standalone website. Loaded after legacy CSS. */
.visual-system {
  --ink:#20252b; --muted:#52606b; --paper:#fff; --surface:#f4f6f8;
  --dark:#101216; --border:#cbd4dc; --link:#164e73; --content:1160px;
  margin:0; color:var(--ink); background:var(--paper); font:18px/1.6 Arial,sans-serif;
}
.visual-system *, .visual-system *::before, .visual-system *::after { box-sizing:border-box; }
.visual-system [id] { scroll-margin-top:110px; }
.visual-preserved-anchor { display:block; height:0; padding:0; margin:0; overflow:hidden; }
.visual-system a { text-underline-offset:4px; }
.visual-system a:focus-visible, .visual-system button:focus-visible, .visual-system summary:focus-visible { outline:3px solid #d9a900!important; outline-offset:4px; box-shadow:0 0 0 6px #fff; }
.visual-system .site-header { position:sticky; top:0; z-index:1000; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px; padding:12px max(24px,calc((100% - var(--content))/2)); background:var(--dark); color:#fff; font:16px/1.4 Arial,sans-serif; }
.visual-system .site-header img { display:block; width:140px; height:56px; object-fit:contain; filter:none; }
.visual-system .site-header a { color:#fff!important; text-decoration:none; }
.visual-system .service-desktop-nav { display:flex; align-items:center; gap:24px; }
.visual-system .service-desktop-nav a { display:flex; align-items:center; min-height:44px; border-bottom:2px solid transparent; padding:8px 0; }
.visual-system .site-header a[aria-current] { border-bottom-color:#8bcae6; }
.visual-system .site-header a:hover { color:#b6def0!important; }
.visual-system .service-mobile-nav { display:none; font-weight:600; }
.visual-system .service-mobile-nav summary { padding:12px; min-height:48px; cursor:pointer; list-style:none; }
.visual-system .service-mobile-nav summary::-webkit-details-marker { display:none; }
.visual-system .service-mobile-nav summary::before { content:'☰'; margin-right:10px; font-size:20px; vertical-align:-1px; }
.visual-system .service-mobile-nav[open] summary::before { content:'×'; }
.visual-system .service-mobile-nav nav { position:absolute; top:100%; right:20px; width:min(340px,calc(100vw - 40px)); max-height:calc(100dvh - 150px); overflow:auto; background:var(--dark); border:1px solid #52606b; box-shadow:0 16px 32px #0004; padding:12px; display:grid; gap:0; z-index:1001; }
.visual-system .service-mobile-nav nav a { display:flex; align-items:center; min-height:48px; padding:10px 12px; border-bottom:1px solid #343a42; }
.visual-system .site-footer { display:grid; grid-template-columns:1.35fr 1.1fr .9fr .8fr; gap:40px; padding:48px max(24px,calc((100% - var(--content))/2)); background:var(--dark); color:#e4e9ed; font:16px/1.6 Arial,sans-serif; }
.visual-system .site-footer a { color:#fff!important; display:block; width:fit-content; padding:5px 0; }
.visual-system .site-footer p { margin:16px 0; }
.visual-system .site-footer .site-footer-label { color:#b9c6d0; font:700 14px/1.5 Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; margin:0 0 16px; }
.visual-system .site-footer nav { display:block; }
.visual-system .service-wordmark img { display:block; width:140px; height:56px; object-fit:contain; }
.visual-system .visual-button,.visual-system .service-actions a,.visual-system .service-cta { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 22px; border:1px solid #fff; border-radius:4px; background:#fff; color:#161b20!important; text-decoration:none; font:700 16px/1.4 Arial,sans-serif; text-align:center; }
.visual-system .visual-button--secondary,.visual-system .service-actions a+a { background:transparent; color:#fff!important; border-color:#a2b2c0; }
.visual-system .visual-button:hover,.visual-system .service-actions a:hover { background:#cde6f1; color:#101216!important; border-color:#cde6f1; }
.visual-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:28px; }
.visual-system .visual-brand-hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:600px; height:min(740px,calc(90svh - 88px)); padding:64px max(24px,calc((100% - var(--content))/2)); background:#15191d; color:#fff; }
.visual-brand-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#000c,#0005); }
.visual-brand-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.visual-system .visual-brand-hero__copy { max-width:850px; }
.visual-system .visual-brand-hero h1 { font:700 clamp(52px,5vw,72px)/1.08 ReformaGrotesk,Arial,sans-serif; letter-spacing:.01em; text-transform:uppercase; margin:0 0 24px; color:#fff; }
.visual-system .visual-brand-hero p { font:20px/1.6 Arial,sans-serif; max-width:580px; margin:0 0 16px; }
.visual-system .visual-brand-hero .visual-eyebrow { font:700 13px/1.5 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; margin-bottom:20px; }
.visual-system .service-hero { background:#191e24; padding:28px max(24px,calc((100% - var(--content))/2)) 64px; border-bottom:0; }
.visual-system .service-eyebrow { margin:32px 0 12px; }
.visual-system .service-hero h1 { font:700 clamp(34px,4.2vw,56px)/1.1 Arial,sans-serif; letter-spacing:-.025em; margin:0 0 24px; max-width:950px; }
.visual-system .service-intro { font:20px/1.6 Arial,sans-serif; max-width:720px; margin:0 0 24px; }
.visual-system .service-breadcrumbs { font:14px/1.5 Arial,sans-serif; }
.visual-system .service-breadcrumbs ol { gap:8px; }
.visual-system .service-layout { max-width:1208px; padding:64px 24px; display:grid; grid-template-columns:minmax(0,1fr) 264px; gap:48px; margin:auto; align-items:start; }
.visual-system .service-layout > .service-aside { grid-column:2; grid-row:1; width:100%; position:sticky; top:112px; padding:20px; border:1px solid var(--border); background:var(--surface); }
.visual-system .service-layout > .local-article-record { grid-column:1; grid-row:1; min-width:0; }
.visual-system .visual-toc > summary { font:700 18px/1.4 Arial,sans-serif; cursor:pointer; padding:4px 0; }
.visual-system .visual-toc > div { padding-top:8px; }
.visual-system .visual-toc ol { margin:8px 0 20px; padding-left:20px; font:15px/1.55 Arial,sans-serif; }
.visual-system .visual-toc li { margin:8px 0; }
.visual-system .visual-toc a { color:var(--link); }
.visual-system .visual-toc p { font-size:15px; }
.visual-system .local-seo-article { font:18px/1.65 Arial,sans-serif; max-width:800px; width:100%; padding:64px 24px; margin:auto; color:var(--ink); }
.visual-system.service-page .service-layout .local-seo-article { max-width:none; padding:0; }
.visual-system .local-seo-article > p { max-width:740px; }
.visual-system .local-seo-article h2 { font:700 34px/1.2 Arial,sans-serif; letter-spacing:-.02em; margin:48px 0 20px; }
.visual-system .local-seo-article h2:first-child { margin-top:0; }
.visual-system .local-seo-article h3 { font:700 24px/1.3 Arial,sans-serif; margin:32px 0 12px; }
.visual-system .local-seo-article p { margin:0 0 20px; }
.visual-system .local-seo-article li { margin-bottom:8px; }
.visual-system .local-seo-article details { border:1px solid var(--border); border-radius:4px; padding:16px 20px; margin:12px 0; }
.visual-system .local-seo-article details summary { font:700 17px/1.5 Arial,sans-serif; min-height:28px; cursor:pointer; }
.visual-system .local-seo-article details p { margin:16px 0 0; }
.visual-system .visual-context { border-left:3px solid #8eacbc; padding-left:20px; color:var(--muted); }
.visual-system .service-related { max-width:1208px; padding:0 24px 64px; }
.visual-system .service-related h2 { font:700 34px/1.2 Arial,sans-serif; margin:0 0 24px; }
.visual-system .service-related-list { gap:24px; }
.visual-system .service-related-list a { border-color:var(--border); padding:24px; font:700 18px/1.4 Arial,sans-serif; border-radius:4px; }
.visual-system .mini-discovery { padding:64px 24px; }
.visual-system .mini-discovery > div { max-width:1160px; }
.visual-system .mini-discovery h2 { font:700 36px/1.2 Arial,sans-serif; }
.visual-system .visual-grid-heading { padding-top:40px; padding-bottom:32px; }
.visual-system .visual-grid-heading a { color:var(--link)!important; text-decoration:underline!important; }
.visual-system .editorial-grid { gap:24px; }
.visual-system .editorial-card { padding:24px; border-radius:4px; background:var(--surface); }
.visual-system .editorial-card strong { font:700 23px/1.3 Arial,sans-serif; }
.visual-system .editorial-card span { font:17px/1.55 Arial,sans-serif; }
.visual-system .mini-catalog-jumps { gap:12px; margin-top:24px; }
.visual-system .mini-catalog-jumps a { border-radius:4px; min-height:44px; }
.visual-system .mini-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0 48px; }
.visual-system .mini-service-entry { padding:24px; border-radius:4px; background:var(--surface); }
.visual-system .local-seo-article .mini-service-entry h3 { font:700 23px/1.3 Arial,sans-serif; margin:0 0 16px; }
.visual-system .mini-service-entry p { font-size:16px; line-height:1.55; }
.visual-system .mini-service-entry .mini-service-scope { padding:12px 0; border:0; border-top:1px solid var(--border); border-radius:0; margin:0 0 12px; }
.visual-system .mini-service-scope summary { color:var(--link); }
.visual-system .mini-service-scope ul { margin:16px 0 0; }
.visual-system .mini-service-more { padding-top:8px; font-size:16px; }
.visual-service-opening { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:48px; align-items:center; }
.visual-system .visual-service-opening h1 { font-size:clamp(34px,3.6vw,52px); }
.visual-service-photo { margin:32px 0 0; }
.visual-service-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:4px; }
.visual-service-photo figcaption { color:#c4d0d8; font:14px/1.5 Arial,sans-serif; padding-top:12px; }
.visual-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:40px; }
.visual-system .visual-contact-grid h2 { font:700 24px/1.3 Arial,sans-serif; margin:0 0 20px; }
.visual-system .visual-contact-grid p { font:18px/1.6 Arial,sans-serif; margin:0 0 20px; }
.visual-contact-phone { display:block; width:fit-content; font:700 clamp(24px,3vw,32px)/1.5 Arial,sans-serif; margin:8px 0; }
.visual-contact-email { display:inline-block; margin:12px 0; font-size:18px; }
.visual-system .visual-contact-grid .visual-contact-note { font-size:15px; color:#c4d0d8; margin-top:16px; }
/* Keep the brand face for large display headings, use the reading face for UI. */
.visual-system #allrecords .t-text,.visual-system #allrecords .t-descr { font-family:Arial,sans-serif!important; font-size:clamp(17px,1.3vw,18px)!important; font-weight:400!important; line-height:1.65!important; }
.visual-system #allrecords .t-name,.visual-system #allrecords .t-heading,.visual-system #allrecords .t-card__title { font-family:Arial,sans-serif!important; font-weight:700!important; line-height:1.3!important; }
.visual-system #allrecords .t-card__title { font-size:20px!important; }
.visual-system #allrecords .t-card__descr { font:16px/1.5 Arial,sans-serif!important; }
.visual-system #allrecords .t-title:not(h1) { font:700 clamp(28px,3vw,40px)/1.2 Arial,sans-serif!important; }
.visual-system #allrecords h1.t-title { font-size:clamp(38px,5vw,64px)!important; line-height:1.12!important; }
html.local-page-portfolio .visual-system #allrecords h1.t-title { font-family:Arial,sans-serif!important; font-size:clamp(34px,4vw,56px)!important; }
.visual-system #allrecords .t-btnflex__text { font:700 16px/1.4 Arial,sans-serif!important; }
.visual-system #allrecords .t-btnflex { min-height:48px!important; border-radius:4px!important; }
.visual-system .local-page-heading { padding:56px 24px; }
.visual-system #allrecords .t694__textwrapper__content { padding:24px; }
.visual-system #allrecords .t694__img { display:none; }
.visual-system #allrecords .t694__overlay { background:linear-gradient(0deg,#000b,#0003)!important; }
.visual-system #allrecords .t694__inner-wrapper { max-width:360px; margin:auto; }
.visual-system #allrecords .t694__cell { position:relative; }
.visual-system #allrecords .t694__textwrapper { position:absolute; inset:0; display:flex; align-items:flex-end; height:100%; }
.visual-system #allrecords .t694__textwrapper__content { width:100%; }
.visual-system .local-work-gallery { max-width:1208px; padding:40px 24px 64px; }
.visual-system .local-work-gallery h2 { font:700 34px/1.2 Arial,sans-serif; }
.visual-system .local-work-gallery__grid { gap:24px; }
.visual-system .t-animate, .visual-system .r_hidden { opacity:1!important; transform:none!important; }
.visual-system .t-zoomer__ui-item { opacity:1!important; }
.visual-system .t-zoomer__close { min-width:44px; min-height:44px; }
.visual-system .visual-mini-nav { display:none; }
.visual-system .t-rec_pt_15 { padding-top:16px!important; }
.visual-system .t-rec_pb_15 { padding-bottom:16px!important; }
.visual-system .t-rec_pt_30 { padding-top:32px!important; }
.visual-system .t-rec_pb_30 { padding-bottom:32px!important; }
.visual-system .t-rec_pt_45 { padding-top:48px!important; }
.visual-system .t-rec_pb_45 { padding-bottom:48px!important; }
.visual-system .t-rec_pt_60 { padding-top:64px!important; }
.visual-system .t-rec_pb_60 { padding-bottom:64px!important; }
@media(max-width:1099px) {
  .visual-system .service-desktop-nav { display:none; }
  .visual-system .service-mobile-nav { display:block; position:static; }
  .visual-system .site-header { min-height:72px; padding:10px 20px; }
  .visual-system .site-header img { width:120px; height:48px; }
  .visual-system .service-layout { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:40px; }
  .visual-system .service-layout > .service-aside,.visual-system .service-layout > .local-article-record { grid-column:1; grid-row:auto; }
  .visual-system .service-layout > .service-aside { position:static; padding:16px 20px; }
  .visual-system .visual-toc ol { columns:2; column-gap:32px; }
  .visual-system .visual-toc li { break-inside:avoid; }
  .visual-service-opening { gap:32px; }
  .visual-system .visual-brand-hero { min-height:520px; }
}
@media(min-width:640px) and (max-width:980px) {
  .visual-system #allrecords .t694__container { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:2px; }
  .visual-system #allrecords .t694__row { display:contents!important; }
  .visual-system #allrecords .t694__col { display:block!important; width:auto!important; padding:0!important; margin:0!important; border:0!important; }
  .visual-system #allrecords .t694__table { display:block!important; width:100%; height:100%!important; }
  .visual-system #allrecords .t694__cell { display:block!important; position:relative; width:100%!important; height:auto!important; margin:0!important; aspect-ratio:4/3; }
  .visual-system #allrecords .t694__textwrapper { height:100%!important; }
}
@media(max-width:800px) {
  .visual-service-opening { grid-template-columns:1fr; }
  .visual-service-photo { margin:0; max-width:640px; }
  .visual-service-photo img { max-height:320px; }
  .visual-system .service-actions a { width:auto; }
  .visual-contact-grid { gap:32px; }
  .visual-system .site-footer { gap:32px; grid-template-columns:1fr 1fr; }
}
@media(max-width:639px) {
  .visual-system { font-size:17px; }
  .visual-system [id] { scroll-margin-top:92px; }
  .visual-system .visual-brand-hero { min-height:500px; height:auto; padding:56px 20px; }
  .visual-system .visual-brand-hero h1 { font-size:44px; }
  .visual-system .visual-brand-hero p { font-size:18px; }
  .visual-brand-hero__image { object-position:58% center; }
  .visual-system .visual-brand-hero::after { background:linear-gradient(0deg,#000b,#0006); }
  .visual-actions { gap:12px; }
  .visual-actions .visual-button { width:100%; }
  .visual-system .service-hero { padding:24px 20px 40px; }
  .visual-system .service-hero h1,.visual-system .visual-service-opening h1 { font-size:34px; line-height:1.12; }
  .visual-system .service-intro { font-size:18px; }
  .visual-system .service-actions { gap:12px; margin-top:24px; }
  .visual-system .service-actions a { width:100%; }
  .visual-system .service-layout { padding:32px 20px 40px; gap:28px; }
  .visual-system .local-seo-article { padding:40px 20px; font-size:17px; }
  .visual-system .local-seo-article h2 { font-size:28px; margin:36px 0 16px; }
  .visual-system .local-seo-article h3 { font-size:22px; }
  .visual-system .local-seo-article details { padding:16px; }
  .visual-system .service-related { padding:0 20px 40px; }
  .visual-system .service-related h2 { font-size:28px; }
  .visual-system .service-related-list { gap:16px; }
  .visual-system .service-related-list a { padding:20px; }
  .visual-system .mini-discovery { padding:40px 20px; }
  .visual-system .mini-discovery h2 { font-size:28px; }
  .visual-system .editorial-grid,.visual-system .mini-service-grid { grid-template-columns:1fr; gap:16px; }
  .visual-system .editorial-card,.visual-system .mini-service-entry { padding:20px; }
  .visual-system .visual-toc ol { columns:1; }
  .visual-system #allrecords .t694__cell { height:270px!important; }
  .visual-system #allrecords .t694__textwrapper { height:100%!important; }
  .visual-system #allrecords .t694__textwrapper__content { padding:20px; }
  .visual-system .local-work-gallery { padding:32px 20px 40px; }
  .visual-system .local-work-gallery h2 { font-size:28px; }
  .visual-system .site-footer { grid-template-columns:repeat(2,minmax(0,1fr)); padding:36px 20px; gap:24px 20px; }
  .visual-contact-grid { grid-template-columns:1fr; gap:32px; margin-top:32px; }
  .visual-system .t-rec_pt_60,.visual-system .t-rec_pt_45 { padding-top:40px!important; }
  .visual-system .t-rec_pb_60,.visual-system .t-rec_pb_45 { padding-bottom:40px!important; }
}
@media(max-width:1099px) {
  .visual-system.visual-mini { padding-bottom:calc(64px + env(safe-area-inset-bottom,0px)); }
  .visual-system .visual-mini-nav { display:flex; position:fixed; z-index:990; bottom:0; left:0; right:0; padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid var(--border); gap:4px; justify-content:space-around; }
  .visual-system .visual-mini-nav a { display:flex; justify-content:center; align-items:center; min-height:48px; padding:8px; color:var(--link)!important; font:700 14px/1.4 Arial,sans-serif; text-decoration:none; border-radius:4px; }
  .visual-system .visual-mini-nav a[aria-current] { background:#e7f0f5; }
}

/* Editorial photos retain their full subject and captions on narrow screens. */
.editorial-page-photo{max-width:960px;margin:32px auto 48px;padding:0 24px;box-sizing:border-box}
.editorial-page-photo img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:16px;background:#f4f4f4}
.editorial-page-photo figcaption{font-size:14px;line-height:1.55;color:#626262;margin-top:12px}
@media(max-width:760px){.editorial-page-photo{margin:24px auto 32px;padding:0 16px}}

/* Editorial system: consistent reading rhythm and task-led pilot pages. */
.visual-system { --reading:70ch; --accent:#a72f27; }
.visual-system .local-seo-article p,.visual-system .local-seo-article li { overflow-wrap:break-word; }
.visual-system .local-seo-article > p { max-width:var(--reading); }
.visual-system .local-seo-article h2,.visual-system .local-seo-article h3 { text-wrap:balance; }
.visual-system .editorial-card { border-radius:8px; border:1px solid var(--border); transition:border-color .15s ease,background-color .15s ease; }
.visual-system .editorial-card:hover { border-color:var(--accent); background:#fff; }
.visual-system .editorial-card strong { line-height:1.3; }
.visual-system .editorial-next { margin:40px 0; padding:24px; border-left:3px solid var(--accent); background:var(--surface); }
.visual-system .editorial-next h3 { margin:0 0 12px; }
.visual-system .editorial-next p { margin-bottom:16px; }
.visual-system .editorial-next > a { display:inline-flex; align-items:center; min-height:44px; font-weight:700; }
.visual-system .editorial-discovery { padding:48px max(24px,calc((100% - var(--content))/2)); background:#f4f6f8; }
.visual-system .editorial-discovery h2 { font:700 clamp(26px,3vw,36px)/1.2 Arial,sans-serif; margin:0 0 24px; letter-spacing:-.02em; }
.visual-system .editorial-discovery .editorial-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.visual-system .editorial-discovery .editorial-card { display:flex; flex-direction:column; padding:24px; gap:12px; background:#fff; text-decoration:none; color:var(--ink)!important; }
.visual-system .editorial-discovery .editorial-card strong { font-size:20px; }
.visual-system .editorial-discovery .editorial-card span { color:var(--muted); font-size:16px; line-height:1.55; }
.visual-system.editorial-pilot .visual-brand-hero { height:auto; min-height:540px; }
.visual-system.editorial-pilot .visual-brand-hero__copy { max-width:840px; }
.visual-system.editorial-pilot .visual-brand-hero h1 { text-wrap:balance; font-size:clamp(42px,5vw,68px); }
.visual-system .editorial-service-hero { background:var(--dark); color:#fff; padding:64px max(24px,calc((100% - var(--content))/2)); }
.visual-system .editorial-service-hero > div { max-width:860px; }
.visual-system .editorial-service-hero h1 { color:#fff; font:700 clamp(36px,5vw,60px)/1.08 ReformaGrotesk,Arial,sans-serif; text-transform:uppercase; margin:12px 0 24px; text-wrap:balance; }
.visual-system .editorial-service-hero p { max-width:65ch; font:20px/1.6 Arial,sans-serif; }
.visual-system .editorial-service-hero .editorial-kicker { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#d5dbe0; }
.visual-system .editorial-table-wrap { margin:24px 0 32px; overflow-x:auto; border:1px solid var(--border); border-radius:8px; }
.visual-system .editorial-table { width:100%; border-collapse:collapse; font-size:16px; line-height:1.55; text-align:left; }
.visual-system .editorial-table caption { padding:16px; font-weight:700; text-align:left; background:var(--surface); }
.visual-system .editorial-table th,.visual-system .editorial-table td { padding:16px; vertical-align:top; border-top:1px solid var(--border); }
.visual-system .editorial-table th { font-weight:700; }
.visual-system .editorial-table thead { background:var(--surface); }
.visual-system .editorial-table-wrap:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
@media(max-width:1000px) { .visual-system .editorial-discovery .editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) {
 .visual-system.editorial-pilot .visual-brand-hero { min-height:0; padding:44px 20px; }
 .visual-system.editorial-pilot .visual-brand-hero h1 { font-size:42px; }
 .visual-system .editorial-discovery { padding:32px 20px; }
 .visual-system .editorial-discovery .editorial-grid { grid-template-columns:1fr; gap:12px; }
 .visual-system .editorial-discovery .editorial-card { padding:20px; gap:8px; }
 .visual-system .editorial-service-hero { padding:40px 20px; }
 .visual-system .editorial-service-hero p { font-size:18px; }
 .visual-system .editorial-next { padding:20px; margin:32px 0; }
 .visual-system .editorial-table th,.visual-system .editorial-table td { padding:10px 8px; overflow-wrap:break-word; }
 .visual-system .editorial-table { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .visual-system .editorial-card { transition:none; } }

/* Task lookup stays a semantic list without JavaScript. */
.visual-system .service-finder { max-width:1208px; margin:0 auto; padding:48px 24px; color:var(--ink); background:var(--paper); }
.visual-system .service-finder h2 { font:700 clamp(26px,3vw,36px)/1.2 Arial,sans-serif; margin:0 0 16px; }
.visual-system .service-finder p { margin:0 0 20px; max-width:72ch; }
.visual-system .service-finder-controls { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto; gap:16px; align-items:end; margin:24px 0 12px; }
.visual-system .service-finder-controls[hidden],.visual-system .service-finder [hidden] { display:none!important; }
.visual-system .service-finder label { display:block; font:700 16px/1.5 Arial,sans-serif; margin-bottom:8px; }
.visual-system .service-finder input,.visual-system .service-finder select { width:100%; min-height:48px; border:1px solid #71808c; border-radius:6px; padding:10px 12px; background:#fff; color:#20252b; font:18px/1.4 Arial,sans-serif; }
.visual-system .service-finder button { min-height:48px; padding:10px 18px; background:#20252b; color:#fff; border:1px solid #20252b; border-radius:6px; font:700 16px/1.4 Arial,sans-serif; cursor:pointer; }
.visual-system .service-finder input:focus-visible,.visual-system .service-finder select:focus-visible { outline:3px solid #a72f27; outline-offset:3px; }
.visual-system .service-finder .service-finder-note { font-size:14px; color:var(--muted); }
.visual-system .service-finder-status { min-height:26px; font-size:16px; }
.visual-system .service-finder-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; margin:16px 0 24px; list-style:none; }
.visual-system .service-finder-results li { margin:0; min-width:0; }
.visual-system .service-finder-results a { display:flex; height:100%; flex-direction:column; gap:8px; padding:20px; border:1px solid var(--border); border-radius:8px; color:var(--ink)!important; text-decoration:none; }
.visual-system .service-finder-results a:hover { border-color:var(--accent); background:var(--surface); }
.visual-system .service-finder-results strong { font:700 18px/1.4 Arial,sans-serif; }
.visual-system .service-finder-results span { font:14px/1.5 Arial,sans-serif; color:var(--muted); }
.visual-system .service-finder .service-finder-help { margin-top:24px; }
.visual-system .visual-contact-nav { display:none; }
/* Focus and in-page destinations remain clear of persistent header/footer controls. */
.visual-system :is(a,button,input,select,summary,[tabindex]) { scroll-margin-block:110px 90px; }
@media(max-width:800px) {
 .visual-system .service-finder-controls { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .visual-system .service-finder-controls > div:first-child { grid-column:1/-1; }
 .visual-system .service-finder-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:639px) {
 .visual-system .service-finder { padding:32px 20px; }
 .visual-system .service-finder-results { grid-template-columns:1fr; }
 .visual-system .service-finder-controls { grid-template-columns:minmax(0,1fr); gap:12px; }
 .visual-system .service-finder-results a { padding:16px; }
 .visual-system:has(.visual-contact-nav) { padding-bottom:calc(70px + env(safe-area-inset-bottom,0px)); }
 .visual-system .visual-contact-nav { display:flex; position:fixed; z-index:990; bottom:0; left:0; right:0; gap:8px; padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid var(--border); }
 .visual-system .visual-contact-nav a { flex:1; display:flex; align-items:center; justify-content:center; min-height:48px; padding:8px; color:var(--ink)!important; font:700 16px/1.4 Arial,sans-serif; border:1px solid var(--border); border-radius:6px; text-decoration:none; }
 .visual-system .visual-contact-nav a:first-child { background:var(--dark); color:#fff!important; }
}
/* Free the viewport in landscape and when zoom leaves little vertical room. */
@media(max-height:500px) {
 .visual-system .site-header { position:relative; }
 .visual-system .visual-contact-nav,.visual-system .visual-mini-nav { display:none!important; }
 .visual-system.visual-mini,.visual-system:has(.visual-contact-nav) { padding-bottom:0; }
}

/* Search remains visible independently of the collapsed mobile menu. */
.visual-system .service-desktop-nav { margin-left:auto; }
.visual-system .header-search-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; min-height:48px; padding:10px 12px; border:1px solid #6c7782; border-radius:6px; font-weight:600; }
.visual-system .header-search-link svg { flex-shrink:0; }
@media(max-width:1099px) {
 .visual-system .header-search-link { margin-left:auto; }
 .visual-system .site-header { gap:12px; }
}
@media(max-width:399px) {
 .visual-system .site-header { gap:8px; padding-inline:12px; }
 .visual-system .site-header img { width:100px; height:44px; }
 .visual-system .header-search-link { gap:6px; padding-inline:8px; }
 .visual-system .service-mobile-nav summary { padding-inline:6px; }
 .visual-system .service-mobile-nav summary::before { margin-right:6px; }
}

/* Owner tools use native disclosures and ordinary links; no widget dependencies. */
.visual-system .owner-panel { max-width:1208px; margin:0 auto; padding:56px 24px; color:var(--ink); background:#fff; font:18px/1.6 Arial,sans-serif; }
.visual-system .owner-panel h2 { font:700 clamp(28px,3vw,38px)/1.2 Arial,sans-serif; margin:0 0 20px; }
.visual-system .owner-panel p { margin:16px 0; max-width:850px; }
.visual-system .owner-panel a { color:var(--link)!important; }
.visual-system .owner-panel details { border:1px solid var(--border); border-radius:8px; padding:16px 20px; margin-bottom:12px; }
.visual-system .owner-panel summary { cursor:pointer; font-weight:700; min-height:44px; padding:8px 0; }
.visual-system .owner-panel li { margin-bottom:12px; }
.visual-system .owner-task-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
.visual-system .owner-task-grid details { margin:0; }
.visual-system .owner-panel select { display:block; width:100%; max-width:800px; min-height:52px; margin-top:8px; font:16px Arial,sans-serif; padding:12px; color:var(--ink); background:white; border:1px solid #687681; border-radius:6px; }
.visual-system .owner-panel label { font-weight:700; }
.visual-system .owner-mini-controls { margin:24px 0; }
.visual-system .owner-model-services { display:grid; grid-template-columns:1fr 1fr; gap:12px 32px; padding-left:24px; }
.visual-system .owner-model-services p { font-size:16px; margin:6px 0; }
.visual-system .owner-table-wrap { overflow-x:auto; }
.visual-system .owner-panel table { width:100%; border-collapse:collapse; font-size:16px; text-align:left; }
.visual-system .owner-panel caption { text-align:left; font-weight:700; padding:12px 0; }
.visual-system .owner-panel th,.visual-system .owner-panel td { border-bottom:1px solid var(--border); vertical-align:top; padding:14px 12px; min-width:140px; }
.visual-system .owner-panel thead { background:var(--surface); }
.visual-system .owner-actions,.visual-system .owner-photo-controls,.visual-system .service-suggestions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; }
.visual-system .owner-panel button,.visual-system .owner-actions a,.visual-system .service-suggestions button { min-height:48px; padding:10px 16px; font:700 16px/1.4 Arial,sans-serif; border:1px solid #687681; border-radius:6px; color:var(--ink)!important; background:#fff; cursor:pointer; }
.visual-system .owner-panel button[aria-pressed=true] { background:var(--dark); color:white!important; }
.visual-system .owner-photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.visual-system .owner-photo-pair.is-single { grid-template-columns:1fr; }
.visual-system .owner-photo-pair figure { margin:0; }
.visual-system .owner-photo-pair img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.visual-system .owner-photo-pair figcaption { margin-top:8px; font-weight:700; }
.visual-system .owner-panel [hidden],.visual-system .service-suggestions[hidden] { display:none!important; }
.visual-system .owner-panel :focus-visible { outline:3px solid #a33925; outline-offset:3px; }
@media(max-width:639px) {
 .visual-system .owner-panel { padding:36px 20px; }
 .visual-system .owner-task-grid,.visual-system .owner-model-services,.visual-system .owner-photo-pair { grid-template-columns:1fr; }
 .visual-system .owner-panel details { padding:12px 16px; }
 .visual-system .owner-panel table { font-size:15px; }
}

/* Compact navigation panels anchored to their own triggers. */
.visual-system .service-desktop-nav { gap:20px; }
.visual-system .nav-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; list-style:none; min-height:48px; font-weight:600; }
.visual-system .nav-disclosure > summary::-webkit-details-marker { display:none; }
.visual-system .nav-chevron { display:block; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:0 2px 4px; flex-shrink:0; }
.visual-system .nav-disclosure[open] > summary .nav-chevron { transform:rotate(225deg); margin-block:4px 0; }
.visual-system .service-desktop-nav > a { font-weight:500; white-space:nowrap; }
.visual-system .service-desktop-nav .nav-disclosure { position:relative; }
.visual-system .service-desktop-nav .nav-disclosure > summary { padding:8px 10px; border-radius:6px; color:#fff; }
.visual-system .service-desktop-nav .nav-disclosure > summary:hover,.visual-system .service-desktop-nav .nav-disclosure[open] > summary { background:#252c33; }
.visual-system .service-desktop-nav .nav-submenu { position:absolute; left:0; top:calc(100% + 12px); width:360px; max-height:calc(100dvh - 116px); overflow:auto; padding:12px; background:#f7f8f9; color:#20272e; border:1px solid #d3d9df; border-radius:12px; box-shadow:0 16px 36px #0004; }
.visual-system .site-header .nav-submenu a { color:#20272e!important; border:0; border-radius:6px; padding:10px 12px; min-height:44px; }
.visual-system .site-header .nav-submenu a:hover { background:#e6edf1; color:#164e73!important; }
.visual-system .service-desktop-nav .nav-services .nav-submenu { width:560px; }
.visual-system .nav-service-links { display:grid; grid-template-columns:1fr 1fr; gap:4px 8px; }
.visual-system .nav-service-links a { font-size:15px; line-height:1.4; }
.visual-system .nav-panel-footer { border-top:1px solid #d3d9df; padding-top:8px; margin-top:8px; }
.visual-system .nav-panel-footer a { font-weight:700; justify-content:space-between; }
.visual-system .nav-panel-footer a::after { content:'↗'; font-size:18px; font-weight:400; }
/* One clear destination per brand; section links remain inside the brand hub. */
.visual-system .service-desktop-nav .nav-brands .nav-submenu { width:320px; padding:8px; }
.visual-system .nav-brand-card { padding:0; }
.visual-system .nav-brand-title a { display:flex; align-items:center; min-height:44px; font-size:16px; line-height:1.4; font-weight:500; letter-spacing:0; }
.visual-system .site-header .nav-submenu a[aria-current] { background:#e0edf3; color:#164e73!important; }
.visual-system .site-header a[aria-current],.visual-system .nav-disclosure > summary.is-current { color:#b6def0!important; }
.visual-system .service-mobile-nav > summary { display:flex; align-items:center; gap:8px; border:1px solid #6c7782; border-radius:6px; }
.visual-system .service-mobile-nav > summary::before { margin:0; width:18px; text-align:center; }
.visual-system .service-mobile-nav > nav { right:12px; padding:12px; width:min(400px,calc(100vw - 24px)); border-radius:12px; overscroll-behavior:contain; max-height:calc(100dvh - 100px); font-weight:400; }
.visual-system .service-mobile-nav .nav-disclosure > summary { padding:10px 12px; font-size:18px; }
.visual-system .service-mobile-nav .nav-disclosure > summary::before { content:none; }
.visual-system .service-mobile-nav nav .nav-submenu { position:static; width:auto; max-height:none; overflow:visible; padding:8px; margin-bottom:8px; background:#f7f8f9; border:0; border-radius:8px; box-shadow:none; }
.visual-system .service-mobile-nav .nav-service-links { grid-template-columns:1fr; }
.visual-system .service-mobile-nav nav a { border:0; }
.visual-system .mobile-nav-primary { display:grid; grid-template-columns:1fr 1fr; gap:2px 4px; padding-block:8px; border-top:1px solid #343e47; }
.visual-system .mobile-nav-primary a { font-size:16px; border-radius:6px; }
.visual-system .mobile-nav-primary a:hover { background:#252c33; }
.visual-system .mobile-nav-brands { background:#20272e; padding:4px 8px; border-radius:8px; }
.visual-system .mobile-nav-brands .nav-brand-title a { min-height:44px; padding:10px 12px; font-size:16px; }
.visual-system .mobile-nav-brands a { border-radius:6px; }
.visual-system .mobile-nav-brands a:hover { background:#303d46; }
.visual-system .mobile-nav-contact { display:flex; flex-direction:column; align-items:flex-start; padding:8px 12px 4px; }
.visual-system .service-mobile-nav .mobile-nav-contact a { padding:8px 0; font-weight:600; }
.visual-system .mobile-nav-contact span { color:#c8d3dc; font-size:13px; }
.visual-system .site-breadcrumbs { background:var(--surface); color:var(--muted); padding:12px max(24px,calc((100% - var(--content))/2)); font:14px/1.5 Arial,sans-serif; }
.visual-system .site-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:4px 8px; list-style:none; padding:0; margin:0; }
.visual-system .site-breadcrumbs li { display:flex; align-items:baseline; gap:8px; min-width:0; }
.visual-system .site-breadcrumbs li+li::before { content:'/'; color:#697987; }
.visual-system .site-breadcrumbs a { color:var(--link)!important; padding-block:8px; }
.visual-system .site-breadcrumbs [aria-current] { color:var(--ink); }
.visual-system .mini-section-nav { display:flex; flex-wrap:wrap; gap:8px 20px; padding:8px max(24px,calc((100% - var(--content))/2)); background:#eaf0f4; }
.visual-system .mini-section-nav a { color:var(--link)!important; padding:8px 4px; font:600 15px/1.5 Arial,sans-serif; text-decoration:none; border-bottom:2px solid transparent; }
.visual-system .mini-section-nav a[aria-current] { border-color:var(--link); }
.visual-system .service-directory { max-width:1208px; margin:auto; padding:48px 24px; font:18px/1.6 Arial,sans-serif; color:var(--ink); }
.visual-system .service-directory h2 { font:700 clamp(28px,3vw,38px)/1.2 Arial,sans-serif; margin:0 0 16px; }
.visual-system .service-directory h3 { font:700 23px/1.3 Arial,sans-serif; margin:0 0 16px; }
.visual-system .directory-jumps { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 32px; }
.visual-system .directory-jumps a { display:flex; align-items:center; min-height:44px; padding:8px 12px; border:1px solid #9daebd; border-radius:4px; color:var(--link)!important; text-decoration:none; font-size:16px; }
.visual-system .directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.visual-system .directory-grid section { padding:24px; background:var(--surface); border:1px solid var(--border); border-radius:6px; }
.visual-system .directory-grid section:target { border-color:var(--link); box-shadow:0 0 0 2px var(--link); }
.visual-system .directory-grid ul { list-style:none; margin:0; padding:0; }
.visual-system .directory-grid li { border-top:1px solid var(--border); }
.visual-system .directory-grid a { display:block; min-height:44px; padding:10px 0; color:var(--link)!important; font-size:17px; }
.visual-system .directory-mini { margin:28px 0 0; }
@media(max-width:1099px) {
 .visual-system .service-desktop-nav { display:none; }
 .visual-system .mini-section-nav { display:none; }
 .visual-system .service-mobile-nav > nav { width:min(420px,calc(100vw - 24px)); right:12px; }
}
@media(max-width:639px) {
 .visual-system .site-breadcrumbs { padding:8px 20px; font-size:13px; }
 .visual-system .service-directory { padding:32px 20px; }
 .visual-system .directory-grid { grid-template-columns:1fr; gap:16px; }
 .visual-system .directory-grid section { padding:20px; }
}
@media(max-width:359px) {
 .visual-system .header-search-link span { display:none; }
 .visual-system .header-search-link { width:44px; }
}
@media(max-height:500px) {
 .visual-system .service-mobile-nav > nav,.visual-system .service-desktop-nav .nav-submenu { max-height:65dvh; }
}

.visual-system .site-breadcrumbs [aria-current] { padding-block:8px; }

.visual-system .catalog-jumpbar { display:flex; flex-wrap:wrap; gap:8px 24px; max-width:1208px; margin:auto; padding:16px 24px; border-bottom:1px solid var(--border); }
.visual-system .catalog-jumpbar a { display:flex; align-items:center; min-height:44px; color:var(--link)!important; font:600 16px/1.4 Arial,sans-serif; }

/* Owner-oriented detailing library: native accessible groups, no new runtime. */
.visual-system .detailing-library {margin:32px 0 44px;}
.visual-system .detailing-topic {border:1px solid #d7dce0;border-radius:12px;margin:12px 0;background:#fff;color:#171b20;overflow:hidden;}
.visual-system .detailing-topic>summary {cursor:pointer;padding:18px 20px;font-size:18px;font-weight:650;line-height:1.45;}
.visual-system .detailing-topic>summary span {font-size:14px;font-weight:400;color:#59636d;}
.visual-system .detailing-topic ul {margin:0;padding:0 20px 16px 42px;}
.visual-system .detailing-topic li {padding:6px 0;line-height:1.5;}
.visual-system .detailing-topic a {text-underline-offset:3px;}
.visual-system .detailing-topic summary:focus-visible {outline:3px solid #087a93;outline-offset:-4px;}
.visual-system .article-byline,.visual-system .article-source-note {font-size:14px;line-height:1.6;color:#56616c;}
.visual-system .article-source-note {border-top:1px solid #d7dce0;margin-top:28px;padding-top:18px;}
@media(max-width:600px){.visual-system .detailing-topic>summary{padding:16px;font-size:17px;}.visual-system .detailing-topic ul{padding-left:34px;padding-right:16px;}}
.visual-system .service-hero .article-byline {color:#bcc6cf;}

/* Long Russian article headings must not expand the hero grid on narrow screens. */
.visual-system .service-hero h1 { overflow-wrap:anywhere; hyphens:auto; }
.visual-system.service-advice-page .service-hero h1 { overflow-wrap:break-word; hyphens:none; }

/* Footer: short navigation groups and a separate legal row. */
.visual-system .site-footer > * { min-width:0; }
.visual-system .site-footer a { max-width:100%; overflow-wrap:break-word; text-underline-offset:4px; }
.visual-system .site-footer nav a { text-decoration:none; }
.visual-system .site-footer nav a:hover { text-decoration:underline; }
.visual-system .site-footer .site-footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; align-items:baseline; gap:12px 24px; flex-wrap:wrap; border-top:1px solid #38424b; padding-top:20px; color:#b9c6d0; font-size:14px; }
.visual-system .site-footer .site-footer-legal { display:flex; flex-wrap:wrap; gap:8px 24px; }
.visual-system .site-footer .site-footer-bottom a { padding:5px 0; }
@media(max-width:1100px) {
 .visual-system .site-footer { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 40px; }
}
@media(max-width:600px) {
 .visual-system .site-footer { gap:24px 20px; }
 .visual-system .site-footer .site-footer-identity,.visual-system .site-footer .site-footer-contact { grid-column:1/-1; }
 .visual-system .site-footer .site-footer-identity p { margin:12px 0; }
 .visual-system .site-footer .site-footer-contact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 .visual-system .site-footer .site-footer-contact .site-footer-label { grid-column:1/-1; }
 .visual-system .site-footer .site-footer-label { margin-bottom:8px; }
 .visual-system .site-footer a { min-height:40px; display:flex; align-items:center; }
 .visual-system .site-footer .site-footer-bottom { gap:12px; }
 .visual-system .site-footer .site-footer-legal { display:grid; gap:0; }
}

/* Text links must remain distinguishable against light legacy page sections. */
#allrecords .owner-panel p a,
#allrecords .service-finder p a,
#allrecords .service-directory p a,
#allrecords #services-directory p a,
#allrecords .portfolio-intro a,
#allrecords .t004 .t-text a {color:#225a74;text-decoration:underline;text-underline-offset:.16em;}

/* Brand destinations in the footer: local vector marks, accessible link names. */
.visual-system .site-footer{grid-template-columns:1.35fr 1fr 1fr}
.visual-system .site-footer .footer-brand-strip{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 36px;border-top:1px solid #38424b;padding:30px 0 4px;overflow:visible}
.visual-system .site-footer .footer-brand-link{position:relative;display:flex;align-items:center;justify-content:center;width:100px;height:76px;padding:8px;border-radius:12px;text-decoration:none;background:transparent;transition:background .16s ease,transform .16s ease;overflow:visible}
.visual-system .site-footer .footer-brand-link img{width:80px;height:60px;object-fit:contain;filter:brightness(0) invert(1);opacity:.78;transition:opacity .16s ease}
.visual-system .site-footer .footer-brand-link:hover,.visual-system .site-footer .footer-brand-link:focus-visible{background:#ffffff0d;transform:translateY(-2px);text-decoration:none}
.visual-system .site-footer .footer-brand-link:hover img,.visual-system .site-footer .footer-brand-link:focus-visible img{opacity:1}
.visual-system .site-footer .footer-brand-link:focus-visible{outline:2px solid #86c9e5;outline-offset:4px}
.visual-system .site-footer .footer-brand-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,5px);padding:9px 14px;border:1px solid #52616c;border-radius:9px;background:#202a32;color:#fff;font-size:14px;font-weight:600;line-height:1.35;white-space:nowrap;box-shadow:0 8px 24px #0005;opacity:0;visibility:hidden;transition:opacity .16s,transform .16s;z-index:5}
.visual-system .site-footer .footer-brand-tooltip:after{content:"";position:absolute;left:calc(50% - 5px);top:100%;width:9px;height:9px;background:#202a32;border-right:1px solid #52616c;border-bottom:1px solid #52616c;transform:translateY(-4px) rotate(45deg)}
.visual-system .site-footer .footer-brand-link:hover .footer-brand-tooltip,.visual-system .site-footer .footer-brand-link:focus-visible .footer-brand-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:1100px){.visual-system .site-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-system .site-footer .footer-brand-strip{gap:14px 24px}.visual-system .site-footer .footer-brand-tooltip{box-sizing:border-box;width:max-content;max-width:140px;white-space:normal;text-align:center}}
@media(max-width:600px){.visual-system .site-footer .footer-brand-strip{justify-content:flex-start;gap:16px 12px;padding-top:24px}.visual-system .site-footer .footer-brand-link{width:calc((100% - 36px)/4);height:68px;padding:8px}.visual-system .site-footer .footer-brand-link img{width:100%;height:50px}.visual-system .site-footer .footer-brand-tooltip{font-size:12px;white-space:normal;min-width:85px;text-align:center;max-width:170px}.visual-system .site-footer .footer-brand-link:nth-child(4n+1) .footer-brand-tooltip{left:0;transform:translate(0,5px)}.visual-system .site-footer .footer-brand-link:nth-child(4n+1):focus-visible .footer-brand-tooltip,.visual-system .site-footer .footer-brand-link:nth-child(4n+1):hover .footer-brand-tooltip{transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.visual-system .site-footer .footer-brand-link,.visual-system .site-footer .footer-brand-link img,.visual-system .site-footer .footer-brand-tooltip{transition:none}}

/* Native language selection: no script, no automatic redirect. */
.visual-system .site-footer-languages { position:relative; font-size:14px; }
.visual-system .site-footer-languages summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:10px; color:#fff; border:1px solid #52616d; border-radius:8px; padding:0 14px; list-style:none; }
.visual-system .site-footer-languages summary::-webkit-details-marker { display:none; }
.visual-system .site-footer-languages summary::after { content:'⌃'; }
.visual-system .site-footer-languages[open] summary::after { content:'⌄'; }
.visual-system .site-footer-languages > nav { position:absolute; z-index:20; bottom:calc(100% + 8px); right:0; width:300px; max-width:calc(100vw - 40px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:12px; background:#192229; border:1px solid #52616d; border-radius:12px; box-shadow:0 12px 32px #0006; }
.visual-system .site-footer .site-footer-languages a { min-height:44px; display:flex; align-items:center; padding:8px 12px; border-radius:6px; text-decoration:none; }
.visual-system .site-footer-languages a:hover { background:#293e4b; color:#fff; }
.visual-system .site-footer-languages :focus-visible { outline:2px solid #8ddaff; outline-offset:3px; }
@media(max-width:640px) { .visual-system .site-footer-languages > nav { left:0; right:auto; } }

/* Keep every quick-navigation destination within a narrow phone viewport. */
@media (max-width: 359px) {
 .visual-system .visual-mini-nav { gap:2px; padding-left:4px; padding-right:4px; }
 .visual-system .visual-mini-nav a { flex:1; min-width:0; padding:8px 2px; font-size:12px; overflow-wrap:anywhere; }
}

/* Keep wrapped table-of-contents links clickable between their text lines. */
.visual-system .visual-toc li > a{display:inline-block}

.native-comparison{width:100%;color:#fff}
.native-comparison__photos{position:relative}
.native-comparison__photos img{display:block;width:100%;height:auto}
.native-comparison.is-interactive .native-comparison__photos{aspect-ratio:16/9;overflow:hidden}
.native-comparison.is-interactive img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.native-comparison.is-interactive .native-comparison__first{z-index:1;clip-path:inset(0 calc(100% - var(--comparison-position,50%)) 0 0)}
.native-comparison.is-interactive .native-comparison__photos::after{content:'';position:absolute;z-index:2;left:var(--comparison-position,50%);top:0;bottom:0;width:2px;background:#fff;pointer-events:none}
.native-comparison__control{display:flex;align-items:center;gap:16px;font:400 14px/1.4 Arial,sans-serif;padding:8px 0}
.native-comparison__control[hidden]{display:none}
.native-comparison__control input{flex:1;min-width:80px;min-height:44px;accent-color:#fff;cursor:ew-resize}
.native-comparison__control input:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Static cards and image mosaics, independent of Tilda JavaScript. */
.native-card-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));width:100%;gap:0}
.native-components .native-card{grid-column:span var(--span,3);position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:center;min-width:0;height:var(--card-height);overflow:hidden;text-align:center;background:#16191d;color:#fff!important;text-decoration:none!important}
.native-card__image{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .25s ease}
.native-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000b,#0003)}
.native-card__copy{display:block;box-sizing:border-box;width:100%;padding:24px}
.native-card__copy strong{display:block;max-width:360px;margin:auto;font:700 20px/1.3 Arial,sans-serif;padding:3px 0;color:inherit}
.native-card__copy>span{display:block;max-width:360px;margin:auto;font:400 16px/1.5 Arial,sans-serif}
.native-card:hover .native-card__image{transform:scale(1.03)}
.native-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.native-photo-grid a{display:block;min-width:0;overflow:hidden;aspect-ratio:4/3}
.native-photo-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .15s ease}
.native-photo-grid a:hover img{transform:scale(1.02)}
.native-marquee{height:var(--marquee-height,70px);overflow:hidden;background:#000;color:#fff;opacity:.6;font:400 18px/var(--marquee-height,70px) Arial,sans-serif}
.native-marquee__track{display:flex;width:max-content;animation:native-ticker 40s linear infinite}
.native-marquee__group{display:flex;flex:none;gap:32px;padding-right:32px}
@keyframes native-ticker{to{transform:translateX(-50%)}}
.native-marquee:hover .native-marquee__track{animation-play-state:paused}
@media(min-width:640px) and (max-width:980px){.native-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.native-components .native-card{grid-column:auto;height:auto;aspect-ratio:4/3}}
@media(max-width:639px){.native-card-grid{grid-template-columns:1fr}.native-components .native-card{grid-column:auto;height:max(270px,calc(var(--card-height) * 4))}.native-card__copy{padding:20px}.native-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.native-card__image,.native-photo-grid img{transition:none}.native-marquee__track{animation:none}}

/* Layout and controls owned by ILLSKILL; all assets are served locally. */
.site-slider{max-width:1160px;margin:auto;position:relative;color:inherit}
.site-slider__slides{position:relative;touch-action:pan-y}
.site-slide{margin:0;position:relative}
.site-slide[hidden]{display:none!important}
.site-slide>a{display:block}
.site-slide img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.site-slide figcaption{padding:20px;line-height:1.5}
.site-slider--675{max-width:none;background:#222;color:#fff}
.site-slider--675 .site-slide>a img{height:80vh;min-height:400px;aspect-ratio:auto}
.site-slider--675 .site-slide figcaption{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);width:min(580px,90%);box-sizing:border-box;text-align:center;background:#0008;border-radius:4px;pointer-events:none}
.site-slider--675 .site-slide figcaption>div{color:#fff}
.site-slider--604{max-width:960px}
.site-slider--764{width:100%}
.site-slider__controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:10px}
.site-slider__controls[hidden],.site-slider__dots[hidden]{display:none}
.site-slider__controls button,.site-slider__dots button{border:1px solid currentColor;background:transparent;color:inherit;min-width:44px;min-height:44px;border-radius:4px;cursor:pointer;font:600 15px Arial,sans-serif}
.site-slider__controls button:focus-visible,.site-slider__dots button:focus-visible{outline:3px solid #df2c38;outline-offset:3px}
.site-slider__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:0 10px 10px}
.site-slider__dots button{min-width:28px;min-height:28px;font-size:12px}
.site-slider__dots button[aria-current=true]{background:#da2935;color:#fff;border-color:#da2935}
.site-photo-wall{gap:4px}
.site-pin{position:relative;font:14px/1.5 Arial,sans-serif;color:#111}
.site-pin summary{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#111;box-shadow:0 0 0 2px #111;cursor:pointer;list-style:none;font-size:26px}
.site-pin summary::-webkit-details-marker{display:none}
.site-pin>div{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);width:180px;max-width:65vw;background:#fff;padding:12px;border-radius:5px;box-shadow:0 2px 18px #0005;box-sizing:border-box}
.site-pin summary:focus-visible{outline:3px solid #df2c38;outline-offset:4px}
.t396__elem{visibility:visible!important}
.t396__artboard{opacity:1!important}
.t396__elem[data-elem-type=tooltip]{overflow:visible!important}
.t905__card{display:flex;align-items:stretch}
.t905__content,.t905__image_wrapper{min-width:0}
.t688__columns{display:flex;flex-wrap:wrap}
@media(max-width:639px){.site-slider--675 .site-slide figcaption{bottom:16px}.site-slide figcaption{padding:16px}.site-slider__dots button{min-width:32px;min-height:32px}.site-pin>div{width:150px}}

.native-components{overflow-x:clip}
.site-slider--675 .site-slider__controls{position:absolute;bottom:32px;left:0;right:0;z-index:2}
.site-slider--675 .site-slider__dots{position:absolute;bottom:0;left:0;right:0;z-index:2}
.site-slider--675 .site-slide figcaption{bottom:105px}
@media(max-width:980px){.site-slider--604{max-width:calc(100% - 40px)}}

.site-photo-wall{display:flex;flex-wrap:wrap;gap:10px;padding:0 10px}
.site-photo-wall a{flex:var(--photo-ratio,1.33) 1 calc(150px * var(--photo-ratio,1.33));height:150px;aspect-ratio:auto}
.site-photo-wall img{height:100%;width:100%;object-fit:cover}
@media(max-width:639px){.site-photo-wall a{flex-basis:calc(130px * var(--photo-ratio,1.33));height:130px}}
.site-slider--604{color:#fff}
.site-slider--604 figcaption *{color:inherit!important}
/* Keep intentionally off-canvas decoration from widening the document. */
.t396{overflow-x:clip}

/* Individual full-frame photographs; no collection, carousel, or crop. */
.site-photo-accent{box-sizing:border-box;display:block;width:calc(100% - 40px);max-width:960px;margin:52px auto;color:#eee;font-family:Arial,sans-serif;clear:both;padding:16px;background:#121417;border-radius:16px}
.site-photo-accent .site-photo-accent__image{background:#101114;border-radius:12px;overflow:hidden;line-height:0}
.site-photo-accent .site-photo-accent__image img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0!important;border:0!important;border-radius:0!important}
.site-photo-accent figcaption{display:block;margin:13px 0 0;font-size:14px;line-height:1.5;color:#bbb;text-align:left}
.site-photo-accent--portrait{max-width:min(432px,calc(680px * var(--site-photo-ratio) + 32px))}
.site-photo-accent--brand{max-width:960px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;padding:28px;background:#121417;border:1px solid #282c31;border-radius:16px}
.site-photo-accent--brand figcaption{font-size:clamp(20px,2.4vw,30px);line-height:1.25;color:#eee;margin:0;grid-column:1;grid-row:1}
.site-photo-accent--brand .site-photo-accent__image{grid-column:2;grid-row:1;max-width:min(420px,calc(600px * var(--site-photo-ratio)));justify-self:center;width:100%}
.site-photo-accent__label{display:block;color:#38c3d6;font-size:11px;line-height:1.4;letter-spacing:2px;margin-bottom:16px}
#illskill-style .ig-figure{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
#illskill-style [data-site-photo] img{height:auto!important;width:100%!important;object-fit:contain!important;aspect-ratio:auto!important}
@media(max-width:650px){.site-photo-accent{margin-top:34px;margin-bottom:34px}.site-photo-accent--brand{display:flex;flex-direction:column;padding:18px;gap:20px}.site-photo-accent--brand .site-photo-accent__image{max-width:400px}.site-photo-accent--brand figcaption{font-size:22px;width:100%}.site-photo-accent__label{margin-bottom:8px}}

/* Local original vector motifs. No gallery selectors, scripts, fonts or remote assets. */
main[data-service-theme]{--st-bg:#18292d;--st-ink:#f3f7f7;--st-muted:#bed0d3;--st-accent:#83dce6;--st-line:#436068;--st-paper:#eff7f7;--st-dark:#24616a}
main[data-service-theme] .service-hero{background:var(--st-bg);color:var(--st-ink);position:relative;padding-top:32px;padding-bottom:42px;border-bottom:1px solid var(--st-line)}
main[data-service-theme] .service-hero h1{color:var(--st-ink);letter-spacing:-.035em;text-wrap:balance}
main[data-service-theme] .service-hero .service-intro,main[data-service-theme] .service-hero .service-eyebrow,main[data-service-theme] .service-hero figcaption{color:var(--st-muted)}
main[data-service-theme] .service-hero .service-actions a:first-child{background:var(--st-accent);border-color:var(--st-accent);color:var(--st-bg)!important}
main[data-service-theme] .service-hero .service-actions a:not(:first-child){color:var(--st-ink)!important;border-color:var(--st-line)}
main[data-service-theme] .st-icon{display:block;flex:0 0 auto;width:40px;height:40px;color:currentColor}
main[data-service-theme] .st-accent{stroke:var(--st-accent)}
main[data-service-theme] .st-emblem{display:flex;align-items:center;gap:24px;color:var(--st-accent);margin:18px 0 24px;height:70px}
main[data-service-theme] .st-emblem>.st-icon{width:68px;height:68px}
main[data-service-theme] .st-motif{width:150px;height:48px;position:relative;display:block;color:var(--st-accent);opacity:.8}
main[data-service-theme] .st-motif i{position:absolute;display:block}
main[data-service-theme] .st-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0 max(24px,calc((100% - 1160px)/2));background:var(--st-bg);color:var(--st-ink);border-bottom:4px solid var(--st-accent)}
main[data-service-theme] .st-topics a{display:flex;align-items:center;gap:12px;padding:24px 16px;min-width:0;min-height:92px;box-sizing:border-box;color:var(--st-ink);font:600 16px/1.4 Arial,sans-serif;text-decoration:none;border-right:1px solid var(--st-line)}
main[data-service-theme] .st-topics a:last-child{border-right:0}
main[data-service-theme] .st-topics a:hover{background:color-mix(in srgb,var(--st-accent) 12%,var(--st-bg));text-decoration:underline;text-underline-offset:5px}
main[data-service-theme] .st-topics .st-arrow{margin-left:auto;font-size:20px;color:var(--st-accent)}
main[data-service-theme] .st-topics a>span:not(.st-arrow){overflow-wrap:anywhere}
main[data-service-theme] a:focus-visible,main[data-service-theme] summary:focus-visible{outline:3px solid var(--st-dark);outline-offset:4px}
main[data-service-theme] .service-hero a:focus-visible{outline:3px solid var(--st-ink)!important;outline-offset:4px!important}
main[data-service-theme] .st-topics a:focus-visible{outline:3px solid var(--st-accent)!important;outline-offset:-4px!important}
main[data-service-theme] h2>.st-icon{display:inline-block;width:42px;height:42px;margin:0 14px 8px 0;vertical-align:middle;color:var(--st-dark)}
main[data-service-theme] h2>.st-icon .st-accent{stroke:var(--st-dark)}
main[data-service-theme] .service-aside{border-top:3px solid var(--st-dark)}
main[data-service-theme] .service-aside summary{color:var(--st-dark)}
/* PPF: translucent overlapping layers. */
main[data-service-theme="ppf"]{--st-bg:#171e23;--st-accent:#cedde4;--st-muted:#c4cdd2;--st-line:#54636b;--st-dark:#3b5968}
.st-emblem--layers .st-motif i{width:80px;height:34px;border:1px solid currentColor;transform:skewY(-10deg);left:18px;top:0;background:color-mix(in srgb,currentColor 8%,transparent)}
.st-emblem--layers .st-motif i:nth-child(2){left:34px;top:7px}.st-emblem--layers .st-motif i:nth-child(3){left:50px;top:14px}.st-emblem--layers .st-motif i:nth-child(n+4){display:none}
/* Anti-chrome: metallic lines fade into graphite. */
main[data-service-theme="trim"]{--st-bg:#191b1f;--st-accent:#e2cfad;--st-muted:#cacbd0;--st-line:#505359;--st-dark:#675239}
.st-emblem--metal .st-motif{background:linear-gradient(90deg,#eee 0,#92979c 29%,#30343a 51%,#17191c 100%);height:12px;border:1px solid #777;border-radius:20px}
/* Upholstery: red leather and warm neutral palette and an actual drawn stitch rhythm. */
main[data-service-theme="salon"]{--st-bg:#f1ece8;--st-ink:#332829;--st-muted:#655052;--st-accent:#883c43;--st-line:#c8b4b3;--st-dark:#883c43}
.st-emblem--stitch .st-motif{border-top:2px dashed currentColor;border-bottom:2px dashed currentColor;height:18px;transform:rotate(-8deg)}
/* Carbon: small abstract weave, never placed over a documentary photo. */
main[data-service-theme="carbon"]{--st-bg:#1e1e20;--st-ink:#f4f3f2;--st-muted:#d0c7c5;--st-accent:#e5a299;--st-line:#715954;--st-dark:#97483e}
.st-emblem--weave .st-motif{background:repeating-linear-gradient(45deg,transparent 0 7px,color-mix(in srgb,currentColor 31%,transparent) 7px 9px,transparent 9px 16px),repeating-linear-gradient(-45deg,transparent 0 7px,color-mix(in srgb,currentColor 21%,transparent) 7px 9px,transparent 9px 16px);border-left:3px solid currentColor}
/* Vinyl: a print registration mark and offset colour planes. */
main[data-service-theme="vinyl"]{--st-bg:#28231e;--st-accent:#efb668;--st-muted:#d8cfc3;--st-line:#70604e;--st-dark:#875413}
.st-emblem--print .st-motif{border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.st-emblem--print .st-motif i{width:34px;height:34px;top:6px;background:currentColor;transform:skew(-16deg)}
.st-emblem--print .st-motif i:nth-child(1){left:13px;opacity:.35}.st-emblem--print .st-motif i:nth-child(2){left:49px;opacity:.65}.st-emblem--print .st-motif i:nth-child(3){left:85px}.st-emblem--print .st-motif i:nth-child(n+4){display:none}
/* Calipers: yellow brake finish and deep blue, with disc ventilation dots. */
main[data-service-theme="caliper"]{--st-bg:#1c2635;--st-accent:#efd074;--st-muted:#c9d0da;--st-line:#52647d;--st-dark:#785e17}
.st-emblem--rotor .st-motif{background:radial-gradient(circle,currentColor 1.5px,transparent 2px) 0 0/14px 14px;border-left:4px solid currentColor}
/* Audio: static wave contours, not a claimed measurement. */
main[data-service-theme="sound"]{--st-bg:#222629;--st-accent:#ccd3d8;--st-muted:#c6cdd1;--st-line:#59656d;--st-dark:#4d5d68}
.st-emblem--waves .st-motif i{width:18px;top:16px;bottom:16px;border-radius:10px;background:currentColor;left:4px}.st-emblem--waves .st-motif i:nth-child(2){left:32px;top:7px;bottom:7px}.st-emblem--waves .st-motif i:nth-child(3){left:60px;top:0;bottom:0}.st-emblem--waves .st-motif i:nth-child(4){left:88px;top:7px;bottom:7px}.st-emblem--waves .st-motif i:nth-child(5){left:116px}
/* Steering: graphite leather, silver trim and perforation. */
main[data-service-theme="steering"]{--st-bg:#222427;--st-accent:#d0d5da;--st-muted:#c9cdd1;--st-line:#5a626b;--st-dark:#4c5865}
.st-emblem--grip .st-motif{background:radial-gradient(circle,color-mix(in srgb,currentColor 50%,transparent) 1px,transparent 1.5px) 0 0/8px 8px;border-top:2px dashed currentColor;border-bottom:2px dashed currentColor;height:22px}
/* Detailing: warm leather-toned paper, brown drop and a clear reflected line. */
main[data-service-theme="care"]{--st-bg:#f1ebe3;--st-ink:#3b2c25;--st-muted:#655346;--st-accent:#805438;--st-line:#c9b59f;--st-dark:#805438}
.st-emblem--clean .st-motif{height:36px;border-top:2px solid currentColor;border-bottom:1px solid currentColor;transform:skewY(-9deg);background:linear-gradient(180deg,#ffffffbb,transparent)}
@media(max-width:1000px){main[data-service-theme] .st-topics{grid-template-columns:repeat(2,minmax(0,1fr))}main[data-service-theme] .st-topics a:nth-child(2){border-right:0}main[data-service-theme] .st-topics a:nth-child(-n+2){border-bottom:1px solid var(--st-line)}}
@media(max-width:760px){main[data-service-theme] .service-hero{padding-top:24px;padding-bottom:32px}main[data-service-theme] .st-emblem{height:52px;margin:12px 0 20px}main[data-service-theme] .st-emblem>.st-icon{width:52px;height:52px}main[data-service-theme] .st-motif{width:128px}main[data-service-theme] .st-topics{padding:0 20px}main[data-service-theme] .st-topics a{gap:9px;padding:16px 8px;min-height:92px;font-size:14px}main[data-service-theme] .st-topics .st-icon{width:30px;height:30px}main[data-service-theme] .st-topics .st-arrow{display:none}main[data-service-theme] h2>.st-icon{width:32px;height:32px;margin-right:10px}}
@media(prefers-reduced-motion:reduce){main[data-service-theme] .st-topics a{transition:none;animation:none}}

main[data-service-theme] .service-hero .service-actions a:hover{background:var(--st-ink);border-color:var(--st-ink);color:var(--st-bg)!important}

