/* 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}

/* Lexus editorial composition. Shared navigation and viewer remain unchanged. */
body.lexus-page{--lexus-ink:#172027;--lexus-paper:#f6f7f7;--lexus-blue:#164f91;--lexus-wine:#772b40;background:var(--lexus-paper);color:var(--lexus-ink)}
.lexus-page .site-header{flex-wrap:wrap}
.lexus-page .lexus-icon{display:inline-block;flex:none;width:24px;height:24px;vertical-align:middle}
.lexus-page .lexus-topic{display:flex;align-items:center;gap:12px}
.lexus-page .lexus-main{max-width:1600px;margin:auto;overflow-wrap:anywhere}
.lexus-page .lexus-main p{line-height:1.65}
.lexus-page .lexus-main h1,.lexus-page .lexus-main h2,.lexus-page .lexus-main h3{color:inherit;letter-spacing:-.035em}
.lexus-page .lexus-main h1{font:700 clamp(44px,5.2vw,78px)/1.02 Arial,sans-serif;letter-spacing:-.055em;margin:20px 0 28px}
.lexus-page .lexus-main h2{font:700 clamp(30px,3.2vw,48px)/1.12 Arial,sans-serif;letter-spacing:-.045em;margin:0 0 24px}
.lexus-page .lexus-main h3{font-size:24px;line-height:1.2;margin:0 0 16px}
.lexus-page .lexus-main a{color:inherit}
.lexus-page .lexus-kicker{font:700 12px/1.5 Arial,sans-serif;letter-spacing:.15em;margin:0 0 20px;color:var(--lexus-blue)}
.lexus-page .lexus-lead{font-size:clamp(19px,1.75vw,24px);line-height:1.55;margin:0 0 26px}
.lexus-page .lexus-nav{display:flex;flex-wrap:wrap;gap:6px 22px;padding:16px clamp(20px,4vw,64px);border-bottom:1px solid #cbd0d2;font-size:14px;background:#fff}
.lexus-page .lexus-nav a{display:flex;align-items:center;min-height:40px;text-decoration:none;border-bottom:2px solid transparent}
.lexus-page .lexus-nav a[aria-current]{border-bottom-color:var(--lexus-blue);font-weight:700}
.lexus-page .lexus-nav a:hover{border-bottom-color:currentColor}
.lexus-page .lexus-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;background:var(--lexus-ink);color:#fff!important;border:1px solid var(--lexus-ink);text-align:center;text-decoration:none;font-weight:700;font-size:15px;line-height:1.4}
.lexus-page .lexus-button:hover{background:var(--lexus-blue);border-color:var(--lexus-blue)}
.lexus-page .lexus-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.lexus-page .lexus-actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:30px}
.lexus-page .lexus-hero{display:grid;grid-template-columns:31% minmax(0,1fr);align-items:center;gap:4%;padding:50px clamp(20px,4vw,64px) 36px;background:#fff}
.lexus-page .lexus-hero-copy{grid-column:1;grid-row:1;padding-bottom:0}
.lexus-page .lexus-hero-photo{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:0}
.lexus-page .lexus-hero-actions{grid-column:1;grid-row:2;margin-top:6px;align-self:start}
.lexus-page .lexus-figure{display:block;margin:0;min-width:0}
.lexus-page .lexus-figure a{display:block}
.lexus-page .lexus-figure img,.lexus-page .lexus-model-card img,.lexus-page .lexus-model-hero img,.lexus-page .lexus-photo-grid img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;aspect-ratio:auto}
.lexus-page .lexus-figure figcaption,.lexus-page .lexus-model-hero figcaption,.lexus-page .lexus-photo-grid figcaption{font-size:13px;line-height:1.5;color:#52606a;padding-top:10px}
.lexus-page .lexus-photo-note{font-size:12px;color:#53616a;letter-spacing:.03em;margin:12px 0 0}
.lexus-page .lexus-section{padding:72px clamp(20px,5vw,80px)}
.lexus-page .lexus-section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:32px}
.lexus-page .lexus-section-heading h2{margin-bottom:0}
.lexus-page .lexus-section-heading>p{max-width:340px;font-size:15px;margin:0}
.lexus-page .lexus-origin{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:6%;align-items:center;border-top:1px solid #cbd0d2;padding-top:104px}
.lexus-page .lexus-origin-year{position:absolute;top:22px;left:clamp(20px,5vw,80px);font:700 clamp(58px,10vw,140px)/.9 Arial,sans-serif;letter-spacing:-.075em;color:#dde3e6;pointer-events:none}
.lexus-page .lexus-origin>div:not(.lexus-origin-year){position:relative;margin-top:24px}
.lexus-page .lexus-origin p:not(.lexus-kicker){max-width:550px}
.lexus-page .lexus-origin .lexus-kicker{position:relative;margin-top:18px}
.lexus-page .lexus-origin-photo{padding-top:28px}
.lexus-page .lexus-interior{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:#14171c;color:#f3f5f6;align-items:center}
.lexus-page .lexus-interior .lexus-kicker{color:#dba1ae}
.lexus-page .lexus-interior-copy{padding:48px clamp(24px,4vw,64px)}
.lexus-page .lexus-interior .lexus-button{border-color:#f2f4f4;background:#f2f4f4;color:#172027!important}
.lexus-page .lexus-interior .lexus-button:hover{background:#e7bfca;border-color:#e7bfca}
.lexus-page .lexus-model-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bcc8cf;border-left:1px solid #bcc8cf}
.lexus-page .lexus-model-directory a{padding:22px 24px;text-decoration:none;border-right:1px solid #bcc8cf;border-bottom:1px solid #bcc8cf;display:flex;flex-direction:column;justify-content:center;min-height:115px;background:#fff}
.lexus-page .lexus-model-directory a:hover{background:#e6edf5}
.lexus-page .lexus-model-directory span{font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.04em}
.lexus-page .lexus-model-directory small{font-size:12px;color:#56636c;margin-top:10px}
.lexus-page .lexus-service-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center;background:#e8eef3}
.lexus-page .lexus-service-intro p{max-width:500px}
.lexus-page .lexus-album{border:0;border-top:1px solid #b9c4cb;border-radius:0;margin:0;padding:0;background:transparent}
.lexus-page .lexus-album:last-child{border-bottom:1px solid #b9c4cb}
.lexus-page .lexus-album>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;list-style:none;font-size:20px;font-weight:700;min-height:74px}
.lexus-page .lexus-album>summary::-webkit-details-marker{display:none}
.lexus-page .lexus-album>summary::after{content:'+';font-size:30px;font-weight:400;min-width:22px;text-align:center;color:var(--lexus-blue)}
.lexus-page .lexus-album[open]>summary::after{content:'−'}
.lexus-page .lexus-album>summary span{font-size:13px;color:#52606a;font-weight:400;margin-left:auto;white-space:nowrap}
.lexus-page .lexus-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;padding:8px 0 32px}
.lexus-page .lexus-photo-grid figure{margin:0;min-width:0}
.lexus-page .lexus-photo-grid a{display:block}
.lexus-page .lexus-video-link{padding:60px clamp(20px,5vw,80px);background:#173c60;color:#fff}
.lexus-page .lexus-video-link .lexus-kicker{color:#b8d7ef}
.lexus-page .lexus-video-link h2{max-width:650px}
.lexus-page .lexus-video-link .lexus-button{background:#fff;color:#173c60!important;border-color:#fff;margin-top:10px}
.lexus-page .lexus-reading{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #bbc7cf}
.lexus-page .lexus-reading>a{display:grid;grid-template-columns:120px minmax(0,1fr) 140px;gap:20px;text-decoration:none;border-bottom:1px solid #bbc7cf;padding:24px 0}
.lexus-page .lexus-reading h3{grid-column:2;margin:0}
.lexus-page .lexus-reading p{grid-column:2;margin:0;font-size:16px;max-width:700px}
.lexus-page .lexus-reading .lexus-text-link{grid-column:3;grid-row:1 / span 2;align-self:center}
.lexus-page .lexus-reading .lexus-kicker{grid-column:1;grid-row:1;margin:4px 0 0;font-size:11px}
.lexus-page .lexus-reading>a:hover h3{text-decoration:underline;text-underline-offset:5px}
.lexus-page .lexus-visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10%;padding:68px clamp(20px,5vw,80px);background:#fff;border-top:1px solid #ccd4d9}
.lexus-page .lexus-visit p{max-width:530px}
.lexus-page .lexus-page-intro{padding:60px clamp(20px,5vw,80px) 12px;max-width:1000px}
.lexus-page .lexus-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}
.lexus-page .lexus-model-card{min-width:0;display:block;text-decoration:none;background:#fff;border-bottom:3px solid #c3ced4}
.lexus-page .lexus-model-card>div{padding:24px}
.lexus-page .lexus-model-card h3{font-size:36px}
.lexus-page .lexus-model-card p{font-size:16px}
.lexus-page .lexus-model-card .lexus-depicted{font-size:13px;color:#56636a;margin:0 0 18px}
.lexus-page .lexus-model-card:hover{border-bottom-color:var(--lexus-blue)}
.lexus-page .lexus-model-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6%;align-items:center;padding:52px clamp(20px,5vw,80px);background:#fff}
.lexus-page .lexus-model-hero figure{margin:0;min-width:0}
.lexus-page .lexus-article{max-width:940px;margin:auto;padding:28px 40px 70px}
.lexus-page .lexus-article>section{padding-top:40px}
.lexus-page .lexus-article h3{margin:28px 0 14px}
.lexus-page .lexus-article p{margin:0 0 22px}
.lexus-page .lexus-article .lexus-reading>a{grid-template-columns:1fr;gap:12px}
.lexus-page .lexus-article .lexus-reading>a>*{grid-column:1;grid-row:auto}
.lexus-page .lexus-article-intro{max-width:1020px;margin:auto;padding:60px 40px 10px}
.lexus-page .lexus-article-intro h1{font-size:clamp(40px,4.8vw,64px);line-height:1.08}
.lexus-page .lexus-date{font-size:13px;color:#56636a}
.lexus-page .lexus-toc{padding:24px 28px;margin-top:32px;border:1px solid #c4cfd7;background:#fff}
.lexus-page .lexus-toc ol{margin:0;padding-left:20px}
.lexus-page .lexus-toc a{display:inline-block;padding:8px 0}
.lexus-page .lexus-article details{border:1px solid #bdc9d0;margin:14px 0;padding:18px 20px;background:#fff}
.lexus-page .lexus-article details p{margin-top:18px}
.lexus-page .lexus-service-sections{display:grid;grid-template-columns:1fr;gap:0;padding:30px clamp(20px,5vw,80px)}
.lexus-page .lexus-service-sections>section{display:grid;grid-template-columns:1fr 1.3fr;column-gap:10%;padding:38px 0;border-bottom:1px solid #bdc9d0}
.lexus-page .lexus-service-sections h2{grid-column:1;grid-row:1 / span 2}
.lexus-page .lexus-service-sections p,.lexus-page .lexus-service-sections ul{grid-column:2;margin-top:0}
.lexus-page .lexus-service-sections li a{display:inline-block;min-height:40px;padding:6px 0}
@media(max-width:1000px){.lexus-page .lexus-hero{grid-template-columns:38% minmax(0,1fr);gap:4%;padding-top:36px}.lexus-page .lexus-main h1{font-size:clamp(44px,6vw,62px)}.lexus-page .lexus-section{padding-top:54px;padding-bottom:54px}.lexus-page .lexus-interior{grid-template-columns:1fr}.lexus-page .lexus-interior-copy{max-width:800px;padding:40px}.lexus-page .lexus-model-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.lexus-page .lexus-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lexus-page .lexus-reading>a{grid-template-columns:100px minmax(0,1fr)}.lexus-page .lexus-reading .lexus-text-link{grid-column:2;grid-row:3}.lexus-page .lexus-model-hero{gap:4%}}
@media(max-width:760px){.lexus-page .lexus-nav{gap:4px 20px;padding:8px 20px;font-size:13px}.lexus-page .lexus-hero{grid-template-columns:1fr;padding:30px 20px 28px;gap:20px}.lexus-page .lexus-hero-copy{padding-bottom:0}.lexus-page .lexus-main h1{font-size:clamp(42px,9.7vw,66px);margin:14px 0 20px;max-width:540px}.lexus-page .lexus-hero .lexus-lead{max-width:510px;font-size:20px}.lexus-page .lexus-actions{margin-top:22px}.lexus-page .lexus-hero-photo{margin-top:2px}.lexus-page .lexus-section-heading{display:block}.lexus-page .lexus-section-heading>a,.lexus-page .lexus-section-heading>p{margin-top:20px}.lexus-page .lexus-section{padding:44px 20px}.lexus-page .lexus-origin{grid-template-columns:1fr;gap:20px;padding-top:90px}.lexus-page .lexus-origin-year{top:24px;left:20px;font-size:92px}.lexus-page .lexus-origin>div:not(.lexus-origin-year){margin-top:0}.lexus-page .lexus-origin-photo{padding-top:0}.lexus-page .lexus-interior-copy{padding:32px 20px 38px}.lexus-page .lexus-service-intro{grid-template-columns:1fr;gap:30px}.lexus-page .lexus-model-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.lexus-page .lexus-model-directory a{padding:20px;min-height:112px}.lexus-page .lexus-model-directory small{max-width:120px}.lexus-page .lexus-reading>a{grid-template-columns:1fr;padding:24px 0;gap:13px}.lexus-page .lexus-reading>a>*{grid-column:1!important;grid-row:auto!important}.lexus-page .lexus-reading .lexus-text-link{min-height:44px}.lexus-page .lexus-visit{grid-template-columns:1fr;gap:20px;padding:42px 20px}.lexus-page .lexus-page-intro{padding:36px 20px 8px}.lexus-page .lexus-model-grid{grid-template-columns:1fr;gap:28px}.lexus-page .lexus-model-card>div{padding:22px}.lexus-page .lexus-model-hero{grid-template-columns:1fr;gap:28px;padding:32px 20px}.lexus-page .lexus-article,.lexus-page .lexus-article-intro{padding-left:20px;padding-right:20px}.lexus-page .lexus-article-intro{padding-top:34px}.lexus-page .lexus-article-intro h1{font-size:clamp(36px,8vw,54px)}.lexus-page .lexus-article>section{padding-top:32px}.lexus-page .lexus-toc{padding:20px}.lexus-page .lexus-service-sections{padding:20px}.lexus-page .lexus-service-sections>section{display:block;padding:28px 0}.lexus-page .lexus-album>summary{font-size:18px;padding:20px 0}.lexus-page .lexus-video-link{padding:42px 20px}}
@media(max-width:480px){.lexus-page .lexus-photo-grid{grid-template-columns:1fr}.lexus-page .lexus-main h1{font-size:42px}.lexus-page .lexus-actions{display:grid;gap:10px;justify-items:start}.lexus-page .lexus-hero .lexus-kicker{font-size:10px}.lexus-page .lexus-model-directory small{font-size:11px}.lexus-page .lexus-album>summary{gap:10px}.lexus-page .lexus-album>summary span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.lexus-page *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:760px){.lexus-page .lexus-hero-copy{grid-column:1;grid-row:1}.lexus-page .lexus-hero-photo{grid-column:1;grid-row:2}.lexus-page .lexus-hero-actions{grid-column:1;grid-row:3;margin-top:0}.lexus-page .lexus-hero{gap:20px}}

/* 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}
