/* Shared navigation: selector, tabs and entry cards have distinct roles. */
header .service-navigation-stack{gap:16px}
header .service-navigation-stack .service-switch{order:0;gap:2px;padding:4px;border:1px solid #dedede;border-radius:12px;background:#fff;box-shadow:none}
header .service-switch .service-option{min-height:44px;padding:10px 16px;border:1.5px solid transparent;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.025em;transition:border-color 160ms ease,color 160ms ease}
header .service-switch .service-option[aria-current="true"]{border-color:#191919;background:#fff;box-shadow:none}
header .service-switch .service-option:hover{border-color:#999}
header .service-switch .service-option[aria-current="true"]:hover{border-color:#191919}
header .service-navigation-stack .service-submenu{order:1;gap:24px}
header .service-submenu a{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 0 12px;border:0;font-size:11px;font-weight:500;letter-spacing:.045em;color:#696969}
header .service-submenu a::after{content:"";position:absolute;bottom:3px;left:50%;width:20px;height:2px;background:#222;transform:translateX(-50%) scaleX(0);transition:transform 160ms ease}
header .service-submenu a[aria-current="page"]{color:#191919;font-weight:650;border:0}
header .service-submenu a[aria-current="page"]::after{transform:translateX(-50%) scaleX(1)}
header .service-submenu a:hover{color:#191919}
header .service-submenu a:hover::after{transform:translateX(-50%) scaleX(.6)}
header .service-submenu a[aria-current="page"]:hover::after{transform:translateX(-50%) scaleX(1)}
.service-chips{gap:16px}
.service-chips .service-chip{min-height:120px;padding:28px 32px;border:1px solid #dedede;border-radius:12px;background:#fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:border-color 160ms ease,transform 100ms ease}
.service-chips .service-chip h2{font-size:21px;line-height:1.35;letter-spacing:.015em;margin-bottom:8px;font-weight:600}
.service-chips .service-chip .chip-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:22px;color:#666;transition:transform 160ms ease,color 160ms ease}
.service-chips .service-chip:hover{border-color:#555;box-shadow:none}
.service-chips .service-chip:hover .chip-arrow,.service-chips .service-chip:focus-visible .chip-arrow{transform:translate(3px,-2px);color:#111}
.service-chips .service-chip:active{transform:translateY(1px)}
.concept .service-point .band{background:#fff;border:1px solid #cfcfcf;border-radius:9px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:border-color 160ms ease,transform 100ms ease}
.concept .service-point .band:hover,.concept .service-point .band:focus-visible{box-shadow:none;border-color:#222}
.concept .service-point .band:active{transform:translateY(1px)}
@media(max-width:850px){header .service-switch .service-option{padding:9px 12px;font-size:11px}header .service-navigation-stack{gap:12px}header .service-navigation-stack .service-submenu{gap:20px}}
@media(max-width:600px){.service-chips .service-chip{padding:22px 20px;min-height:116px;gap:16px}.service-chips .service-chip h2{font-size:18px}.service-chips .service-chip p{font-size:14px}header .service-submenu a{font-size:10px;letter-spacing:.025em}}
@media(prefers-reduced-motion:reduce){header .service-switch .service-option,header .service-submenu a::after,.service-chips .service-chip,.service-chips .service-chip .chip-arrow,.concept .service-point .band{transition:none}.service-chips .service-chip:hover .chip-arrow,.service-chips .service-chip:focus-visible .chip-arrow,.service-chips .service-chip:active,.concept .service-point .band:active{transform:none}}

.service-chips .service-chip>span:first-child{min-width:0}.service-chips .service-chip h2{overflow-wrap:anywhere}
.concept .home-submenu{display:flex;justify-content:center;align-items:center;gap:0 12px;flex-wrap:wrap;max-width:100%;margin:0 8px 12px}
.concept .home-submenu a{display:inline-flex;align-items:center;min-height:36px;padding:4px 0;border:0;color:#686868;font-size:10px;font-weight:500;letter-spacing:.025em;text-decoration:none;text-underline-offset:5px;overflow-wrap:anywhere}
.concept .home-submenu a:hover{color:#111;text-decoration:underline}.concept .home-submenu a:focus-visible{outline:2px solid #222;outline-offset:3px}
.concept .service-caption{min-height:0;margin-bottom:3px}
@media(max-width:600px){.concept .home-submenu{gap:0 10px;margin-inline:3px}.concept .home-submenu a{font-size:9px;min-height:34px;letter-spacing:0}}
.service-chips{grid-template-columns:minmax(0,1fr)}.service-chips .service-chip{min-width:0}

/* Explain the service above it; show child destinations as buttons. */
.concept .service-caption{margin:0 0 9px;min-height:0}
.concept .home-submenu{gap:8px;margin:12px 8px 18px}
.concept .home-submenu a{gap:7px;justify-content:center;min-height:40px;padding:8px 11px;border:1px solid #d3d3d3;border-radius:7px;background:#fff;color:#333;font-size:11px;line-height:1.4;text-decoration:none;transition:border-color 160ms ease,color 160ms ease}
.concept .home-submenu a::after{content:"↗";font-size:12px;color:#777}
.concept .home-submenu a:hover,.concept .home-submenu a:focus-visible{border-color:#111;color:#111;text-decoration:none}
.concept .home-submenu a:hover::after,.concept .home-submenu a:focus-visible::after{color:#111}
@media(max-width:600px){.concept .home-submenu{gap:6px;margin:10px 3px 16px}.concept .home-submenu a{min-height:40px;padding:7px 8px;font-size:10px;gap:5px}.concept .service-caption{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.concept .home-submenu a{transition:none}}

/* One card per service, with child links as full-width rows. */
.concept .home-service-card{width:220px;max-width:100%;border:1px solid #d7d7d7;border-radius:12px;background:#fff;overflow:hidden;text-align:left}
.concept .home-service-card .band{display:flex;width:100%;max-width:none;height:52px;min-height:52px;padding:16px 18px;justify-content:flex-start;border:0;border-bottom:1px solid #e8e8e8;border-radius:0;text-align:left;background:#fff}
.concept .home-service-card .band::after{right:17px}
.concept .home-service-card .band strong{font-size:13px;letter-spacing:.04em}
.concept .home-service-card .home-submenu{display:flex;flex-direction:column;align-items:stretch;margin:0;padding:5px 0;gap:0;width:100%;max-width:none}
.concept .home-service-card .home-submenu a{display:flex;justify-content:space-between;width:100%;min-height:38px;margin:0;padding:9px 18px;border:0;border-radius:0;line-height:1.4;font-size:11px;letter-spacing:.015em;background:#fff;color:#555}
.concept .home-service-card .home-submenu a::after{content:"→";font-size:13px;color:#888}
.concept .home-service-card .home-submenu a:hover,.concept .home-service-card .home-submenu a:focus-visible{background:#f7f7f7;color:#111;text-decoration:none}
.concept .home-service-card .home-submenu a:focus-visible,.concept .home-service-card .band:focus-visible{outline:2px solid #222;outline-offset:-3px}
.concept .service-caption{margin:0 0 10px}
.concept .map-row{margin-bottom:16px}
@media(max-width:600px){.concept .home-service-card{width:150px;border-radius:10px}.concept .home-service-card .band{height:46px;min-height:46px;padding:13px 11px}.concept .home-service-card .band strong{font-size:10px;letter-spacing:0}.concept .home-service-card .band::after{right:9px;font-size:11px}.concept .home-service-card .home-submenu a{min-height:38px;padding:9px 10px;font-size:9px;letter-spacing:0}.concept .home-service-card .home-submenu a::after{font-size:11px}.concept .map-row{margin-bottom:18px}}
/* Tighter desktop stair-step, with clearer type hierarchy. */
.concept .home-service-card .band strong{font-size:14px;font-weight:700;letter-spacing:.025em}
.concept .home-service-card .home-submenu a{font-size:12px;min-height:40px}
@media(min-width:1100px){.concept-map[data-view=coordinates] .map-row:not(:first-child){margin-bottom:-64px}}

@media(max-width:600px){.concept .home-service-card .band strong{font-size:11px;letter-spacing:0}.concept .home-service-card .home-submenu a{font-size:11px;min-height:42px;padding:10px;gap:8px}.concept .home-service-card .home-submenu a::after{flex-shrink:0}}

/* Shared, decorative submenu symbols; labels remain accessible text. */
.menu-label{display:inline-flex;align-items:center;gap:9px;min-width:0}
.menu-icon{display:block;width:16px;height:16px;flex:0 0 16px;color:inherit}
.service-chip h2 .menu-label{gap:12px}
.service-chip h2 .menu-icon{width:21px;height:21px;flex-basis:21px}
@media(max-width:600px){.concept .home-submenu .menu-label{gap:6px}.concept .home-submenu .menu-icon{width:13px;height:13px;flex-basis:13px}header .service-submenu .menu-label{gap:6px}header .service-submenu .menu-icon{width:14px;height:14px;flex-basis:14px}}
/* Overlapping coordinate rows must not intercept neighboring service links. */
.concept .map-row,.concept .map-row .track{pointer-events:none}
.concept .map-row .service-point{pointer-events:auto}
