/* Shared sizing rules for every theme template. */
img, video, iframe { max-width: 100%; }
img { height: auto; }
main { overflow-wrap: break-word; }
.wrap > *, .contact-grid > *, .contact-fields > *, .footer-grid > *,
.vision-grid > *, .video-grid > *, .reality-grid > *, .case-premium-grid > *,
.prose-grid > *, .service-detail-grid > *, .industry-detail-grid > *,
.insights-grid > *, .insights-page > *, .section-title-row > * { min-width: 0; }
.brand { flex: 0 0 auto; }
.brand img { width: 252px; height: auto; }
.nav-wrap { gap: 24px; }
.desktop-nav { gap: clamp(14px, 1.6vw, 24px); }
.desktop-nav a, .nav-cta { white-space: nowrap; }
.menu-toggle { min-width: 44px; min-height: 44px; cursor: pointer; color: var(--navy); }
.mobile-nav { max-height: calc(100dvh - 76px); overflow-y: auto; }
.mobile-nav a { padding: 10px 0; min-height: 44px; }
.hero-premium { height: auto; min-height: 650px; }
.hero-inner { height: auto; min-height: 570px; padding-block: 52px; }
.hero-copy-premium { padding-top: 0; width: 60%; }
.hero-copy-premium h1 { font-size: clamp(3rem, 5.2vw, 5rem); }
.hero-benefits { height: auto; min-height: 80px; flex-wrap: wrap; gap: 12px 0; padding-block: 20px; }
.section-title-row > .arrow-link { flex-shrink: 0; }
.service-body { padding-bottom: 58px; }
.circle-arrow { width: 40px; height: 40px; }
.service-carousel { grid-auto-columns: minmax(250px, 31%); }
.industry-card h3 { line-height: 1.3; padding-right: 30px; }
.detail-card h2, .industry-detail-grid h2, .insights-page h2 { font-size: clamp(1.6rem, 2.3vw, 2.4rem); line-height: 1.15; }
.results-grid b { font-size: clamp(1rem, 1.7vw, 1.35rem); overflow-wrap: anywhere; }
.results-card p.disclaimer { color: var(--muted); }
.cta-premium { padding-block: 64px; }
.footer { padding-bottom: 100px; }
.footer-logo { display: block; width: 252px; max-width: 100%; }
.footer-bottom { gap: 16px; flex-wrap: wrap; }
.page-content { max-width: 960px; }
.page-content table { display: block; max-width: 100%; overflow-x: auto; }
.page-content pre { overflow-x: auto; }
.section { padding: 70px 0; }
.section article { padding-block: 24px; }
.contact-form input, .contact-form select, .contact-form textarea { min-width: 0; font-size: 16px; }
.contact-channel > span:last-child { min-width: 0; }
.contact-widget { bottom: max(20px, env(safe-area-inset-bottom)); }
.contact-widget-actions > * { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.chat-toggle[hidden] { display: none; }
.chat-options button { min-height: 44px; }
.chat-heading > div { min-width: 0; }
.chat-close { flex-shrink: 0; }
.admin-bar .site-header { top: 32px; }

/* Switch before the full desktop navigation becomes crowded. */
@media (max-width: 1200px) {
 .desktop-nav, .nav-cta { display: none; }
 .menu-toggle { display: block; border: 0; background: none; font-size: 1.5rem; }
 .mobile-nav.open { display: flex; position: absolute; top: 76px; left: 0; right: 0; background: #fff; padding: 16px 5vw; flex-direction: column; gap: 4px; box-shadow: 0 20px 30px #00000014; }
 .mobile-nav a { text-decoration: none; color: var(--ink); }
 .industry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .vision-grid, .video-grid, .reality-grid, .case-premium-grid, .prose-grid { gap: 40px; }
 .footer-grid { gap: 28px; }
}
@media (max-width: 1000px) {
 .hero-copy-premium { width: 80%; }
 .hero-inner { min-height: 570px; }
 .hero-quote { display: none; }
 .hero-premium { min-height: 0; }
 .section-title-row { gap: 24px; flex-wrap: wrap; }
 .industry-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .service-carousel { grid-auto-columns: 44%; }
 .carousel-btn { display: block; top: auto; bottom: -38px; width: 44px; height: 44px; }
 .carousel-btn.prev { left: auto; right: 54px; }
 .carousel-btn.next { right: 0; }
 .carousel-shell { margin-bottom: 38px; }
}
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 640px) {
 .wrap { width: calc(100% - 36px); }
 .brand img { width: 216px; }
 .nav-wrap { gap: 12px; }
 .hero-inner { min-height: 0; padding-block: 56px 48px; }
 .hero-copy-premium { width: 100%; }
 .hero-copy-premium h1 { font-size: clamp(2.65rem, 11.5vw, 4rem); line-height: 1.04; }
 .hero-copy-premium p { max-width: 100%; font-size: 1rem; }
 .hero-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
 .hero-benefits span, .hero-benefits span:first-child { padding: 0; border: 0; font-size: .73rem; }
 .eyebrow { font-size: .62rem; letter-spacing: .12em; line-height: 1.7; }
 .section-premium, .content-section { padding-block: 54px; }
 .vision-copy h2, .section-title-row h2, .reality h2, .case-premium h2, .video-section h2, .cta-inner h2 { font-size: clamp(2rem, 8.4vw, 2.8rem); line-height: 1.12; }
 .inner-hero { padding: 56px 0; }
 .inner-hero h1 { font-size: clamp(2.4rem, 11vw, 3.4rem); line-height: 1.1; }
 .inner-hero p { font-size: 1rem; }
 .vision-grid, .video-grid, .reality-grid, .case-premium-grid, .prose-grid { gap: 30px; }
 .industry-grid, .industry-detail-grid, .service-detail-grid, .insights-grid, .insights-page, .principles { grid-template-columns: minmax(0, 1fr); }
 .service-carousel { grid-auto-columns: 88%; }
 .vision-media { height: 250px; border-radius: 16px; }
 .media-caption { right: 16px; left: 16px; bottom: 18px; font-size: .75rem; text-align: center; }
 .results-card, .outcome-panel, .cases-list article, .detail-card, .industry-detail-grid article, .insights-page article { padding: 24px; }
 .results-grid { gap: 22px 12px; }
 .results-grid div { padding-left: 10px; }
 .results-grid b { font-size: 1rem; }
 .cases-list h2, .prose-grid h2 { font-size: 1.9rem; line-height: 1.15; }
 .cta-premium { min-height: 0; padding-block: 54px; }
 .btn { white-space: normal; text-align: center; min-height: 48px; }
 .contact-intro h2 { font-size: 2.6rem; }
 .contact-form-card h2 { font-size: 1.85rem; }
 .contact-widget { right: 12px; width: min(360px, calc(100vw - 24px)); bottom: max(12px, env(safe-area-inset-bottom)); }
 .contact-chat { max-height: calc(100dvh - 92px); }
 .contact-widget-actions { gap: 6px; }
 .whatsapp-float, .chat-toggle { padding-inline: 14px; font-size: .75rem; }
 .chat-content { padding: 18px; }
 .footer-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
@media (prefers-reduced-motion: reduce) { .service-carousel { scroll-behavior: auto; } }

/* Nine industry sectors, balanced across desktop rows. */
@media(min-width:1201px){.industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.industry-card img{height:180px}}
