/* October 2026 photography and product navigation refresh. */
.primary-nav .dropdown-wide { width: 360px; max-width: calc(100vw - 32px); max-height: min(650px, calc(100dvh - 110px)); overflow-y: auto; border-radius: 12px; }
.primary-nav .dropdown a.visual-menu-link { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: center; column-gap: 13px; padding: 11px; min-height: 70px; }
.nav-link-copy { display: grid; gap: 4px; min-width: 0; }
.nav-visual { display: flex; align-items: center; justify-content: center; width: 64px; height: 44px; padding: 6px; background: #fff; border: 1px solid #d6e4ec; border-radius: 7px; overflow: hidden; }
.nav-visual.dark { background: #041321; border-color: #34556d; }
.nav-visual img { width: 100%; height: 100%; object-fit: contain; }
.nav-visual.photo { padding: 0; }
.nav-visual.photo img { object-fit: cover; }
.primary-nav .smarter-menu-link { margin-top: 6px; border-radius: 7px; background: #e7f2f6; border-left: 3px solid #076575; }
.primary-nav .smarter-menu-link strong { color: #123f60; }
.primary-nav .dropdown small { line-height: 1.5; }
.primary-nav .dropdown strong { line-height: 1.4; }
.home-page .hero-visual > img { width: 100%; height: auto; min-height: 0; aspect-ratio: 3 / 2; object-fit: contain; border-radius: 14px; }
.home-page .hero-image-title { position: static; margin-top: 14px; padding: 20px; background: #123f60; }
.home-page .workflow-card { position: static; margin-top: 14px; left: auto; right: auto; bottom: auto; width: 100%; backdrop-filter: none; }
.home-page .hero-visual { margin-bottom: 0; }
.home-page .product-card > .product-scene { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: 10px; margin: 0 0 24px; }
.home-page .smartbank-people-photo { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; border-radius: 10px; margin: 18px 0; }
.sister-cta { margin-top: 18px; }
.home-page .advisory-copy .sister-cta { display: inline-flex; }
.service-page .product-enquiry-note { color: #e0f0f8; font-size: .94rem; line-height: 1.7; margin-top: 22px; padding-top: 18px; border-top: 1px solid #ffffff30; }
.service-page .service-hero-picture > img[src*="tas-david-"] { max-height: none; aspect-ratio: 3 / 2; height: auto; object-fit: contain; }
.topic-picture img[src*="tas-david-"] { max-height: none; aspect-ratio: 3 / 2; height: auto; object-fit: contain; }
@media (max-width: 820px) {
 .primary-nav .dropdown-wide { width: 100%; max-width: none; max-height: none; overflow: visible; border-radius: 0; }
 .primary-nav .dropdown a.visual-menu-link { grid-template-columns: 56px minmax(0,1fr); min-height: 66px; column-gap: 11px; }
 .nav-visual { width: 56px; height: 42px; }
 .home-page .hero-visual > img { min-height: 0; }
 .home-page .workflow-card > span, .home-page .workflow-card > strong { flex-basis: 40%; }
}
@media (prefers-reduced-motion: reduce) { .home-page .product-card { transition: none; } }

/* Consistent, readable statement cards across product and service pages. */
.page-body .service-checks {
 background: transparent;
 border: 0;
 gap: 14px;
 grid-template-columns: repeat(2, minmax(0, 1fr));
}
.page-body .service-checks li {
 color: #123047;
 background: #e3f2fc;
 border: 2px solid #23698a;
 border-left-width: 6px;
 border-radius: 10px;
 box-shadow: 0 3px 8px #071a2b18;
 font-size: 1.25rem;
 font-weight: 800;
 line-height: 1.5;
 padding: 24px 20px 24px 50px;
 min-width: 0;
 overflow-wrap: break-word;
}
.page-body .service-checks li:nth-child(odd) { background: #e3f2fc; border-color: #23698a; }
.page-body .service-checks li:nth-child(even) { background: #ddf4ec; border-color: #087264; }
.page-body .service-checks li::before { color: #075a54; font-size: 1.5rem; font-weight: 900; left: 18px; }
@media (max-width: 560px) {
 .page-body .service-checks { grid-template-columns: minmax(0, 1fr); }
}

/* Shared section headings and process cards, based on the approved Pastel support path. */
.service-page .related-heading { padding: 32px; gap: 28px; }
.service-page .related-heading .eyebrow { font-size: 1.125rem; font-weight: 850; letter-spacing: .08em; line-height: 1.5; color: #d7edf5; }
.service-page .related-heading h2 { font-size: clamp(2.1rem, 3.2vw, 3rem); line-height: 1.2; }
.service-page .related-heading > p { font-size: 1.2rem; font-weight: 750; line-height: 1.65; color: #fff; }
.service-page .step-grid { margin-top: 24px; align-items: stretch; }
.service-page .step-card { padding: 30px; min-height: 0; border: 2px solid #ffffff50; }
.service-page .step-card h3 { margin: 0 0 18px; font-size: clamp(1.6rem, 2.2vw, 1.9rem); font-weight: 850; line-height: 1.2; }
.service-page .step-card p { font-size: 1.125rem; font-weight: 650; line-height: 1.7; color: #fff; margin: 0; overflow-wrap: break-word; }
@media (max-width: 1100px) {
 .service-page .step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .service-page .related-heading { flex-direction: column; align-items: stretch; }
}
@media (max-width: 560px) {
 .service-page .step-grid { grid-template-columns: minmax(0, 1fr); }
 .service-page .step-card, .service-page .related-heading { padding: 24px; }
}

/* Matching related-service and product-route boxes use the same readable scale. */
.service-page .seo-card,
.service-page .smartbank-route {
 padding: 30px;
 border: 2px solid #ffffff50;
 min-width: 0;
}
.service-page .seo-card h3,
.service-page .smartbank-route h3 {
 font-size: clamp(1.6rem, 2.2vw, 1.9rem);
 font-weight: 850;
 line-height: 1.25;
 margin-block: 18px;
 overflow-wrap: break-word;
}
.service-page .seo-card p,
.service-page .smartbank-route p {
 font-size: 1.125rem;
 font-weight: 650;
 line-height: 1.7;
 color: #fff;
}
.service-page .seo-card > span,
.service-page .smartbank-route .product-tag {
 font-size: 1rem;
 font-weight: 800;
 line-height: 1.5;
 color: #d7edf5;
}
.service-page .seo-card a,
.service-page .smartbank-route a {
 font-size: 1.0625rem;
 font-weight: 800;
 line-height: 1.6;
 overflow-wrap: break-word;
}
.home-page .conversion-process > h3 {
 font-size: clamp(1.6rem, 2.2vw, 1.9rem);
 font-weight: 850;
 line-height: 1.3;
}
.home-page .process-list li {
 grid-template-columns: minmax(0, 1fr);
 padding: 30px;
 border: 2px solid #ffffff50;
 min-width: 0;
}
.home-page .process-list strong {
 display: block;
 font-size: clamp(1.6rem, 2.2vw, 1.9rem);
 font-weight: 850;
 line-height: 1.25;
}
.home-page .process-list p {
 font-size: 1.125rem;
 font-weight: 650;
 line-height: 1.7;
 color: #fff;
 overflow-wrap: break-word;
}
@media (max-width: 1100px) {
 .service-page .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
 .service-page .related-grid { grid-template-columns: minmax(0, 1fr); }
 .service-page .seo-card, .service-page .smartbank-route, .home-page .process-list li { padding: 24px; }
}

/* Prominent WhatsApp links and a clear destination for contact buttons. */
.button.button-whatsapp {
 background: #127547;
 border: 2px solid #6be0ae;
 color: #fff;
 font-weight: 800;
 min-height: 50px;
}
.button.button-whatsapp:hover,
.button.button-whatsapp:focus-visible {
 background: #0b5835;
 border-color: #fff;
 color: #fff;
}
.button.button-whatsapp:focus-visible { outline: 3px solid #f4c95d; outline-offset: 3px; }
#enquiry-form { scroll-margin-top: 24px; }
#enquiry-form:target { outline: 3px solid #e5b94e; outline-offset: 6px; }

/* Pastel hero shortcuts are real links with visible interaction cues. */
.service-page .mini-proof-links > a {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 padding: 22px;
 border: 2px solid transparent;
 border-radius: 12px;
 background: #17496f;
 color: #fff;
 font-size: 1.0625rem;
 font-weight: 650;
 line-height: 1.6;
 min-width: 0;
 text-decoration: none;
}
.service-page .mini-proof-links > a:nth-child(2) { background: #076575; }
.service-page .mini-proof-links > a:nth-child(3) { background: #514274; }
.mini-proof-links .shortcut-arrow { flex-shrink: 0; color: #fff1c0; font-size: 1.5rem; font-weight: 800; }
.service-page .mini-proof-links > a:hover,
.service-page .mini-proof-links > a:focus-visible {
 border-color: #f4c95d;
 text-decoration: underline;
 text-underline-offset: 4px;
}
.service-page .mini-proof-links > a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
#partner-support:target, #experience:target { outline: 3px solid #e5b94e; outline-offset: 5px; }
